/* ApplePoint CRM V53 — Apple Signature Refinement
   Final visual layer: quieter palette, stronger responsive rules, clearer inventory. */

:root{
  --ap53-bg:#f5f5f7;
  --ap53-surface:#ffffff;
  --ap53-soft:#fbfbfd;
  --ap53-soft-2:#f2f2f4;
  --ap53-text:#1d1d1f;
  --ap53-secondary:#6e6e73;
  --ap53-tertiary:#86868b;
  --ap53-line:rgba(0,0,0,.075);
  --ap53-line-strong:rgba(0,0,0,.11);
  --ap53-blue:#0071e3;
  --ap53-blue-hover:#0066cc;
  --ap53-green:#248a3d;
  --ap53-green-soft:#edf8f0;
  --ap53-amber:#9a5a00;
  --ap53-amber-soft:#fff7e8;
  --ap53-red:#d70015;
  --ap53-radius:22px;
  --ap53-radius-sm:14px;
  --ap53-content:1720px;
}

html,body{background:var(--ap53-bg)!important}
body{color:var(--ap53-text)!important;letter-spacing:-.014em!important}
.main{background:var(--ap53-bg)!important;padding-top:38px!important}
.main>*{max-width:var(--ap53-content)!important}
.card,.v50-focus-card,.v50-finance-card,.v50-order-card,.v50-client-card,.v50-pipeline .workflow-pipeline{
  background:var(--ap53-surface)!important;
  border-color:var(--ap53-line)!important;
  box-shadow:none!important;
}

/* Sidebar — one restrained accent, macOS-like selection. */
.side{background:#0a0a0b!important;border-right-color:rgba(255,255,255,.065)!important}
.side .nav button{color:#9f9fa6!important;border-radius:11px!important}
.side .nav button:hover{background:#151517!important;color:#f5f5f7!important}
.side .nav button.active{background:#1c1c1e!important;color:#fff!important;box-shadow:inset 2px 0 0 #0a84ff!important}
.side .brand span{color:#2997ff!important}
.side-caption{color:#5d5d63!important}

/* Core controls */
button.primary,a.primary,.v50-primary{background:var(--ap53-blue)!important;border-radius:12px!important}
button.primary:hover,a.primary:hover,.v50-primary:hover{background:var(--ap53-blue-hover)!important}
input,select,textarea{border-color:var(--ap53-line-strong)!important;background:#fff!important}
input:focus,select:focus,textarea:focus{border-color:#6eaff0!important;box-shadow:0 0 0 4px rgba(0,113,227,.09)!important}

/* Dashboard: less colour, more hierarchy. */
.v50-hero{margin-bottom:26px!important}
.v50-hero h1{font-size:48px!important;letter-spacing:-.058em!important}
.v50-overline{color:#8e8e93!important;letter-spacing:.145em!important}
.v50-kpis{gap:12px!important;margin-bottom:12px!important}
.v50-kpis button,.v50-kpis .v50-kpi-ready{
  min-height:126px!important;
  padding:20px!important;
  background:#fff!important;
  border:1px solid var(--ap53-line)!important;
  border-radius:21px!important;
}
.v50-kpis button:hover{border-color:var(--ap53-line-strong)!important;box-shadow:0 12px 36px rgba(0,0,0,.045)!important}
.v50-kpis b,.v50-kpi-ready b{color:var(--ap53-text)!important}
.v50-kpi-label,.v50-kpi-ready .v50-kpi-label{color:var(--ap53-secondary)!important}
.v50-kpis small,.v50-kpi-ready small{color:var(--ap53-tertiary)!important}
.v50-kpis .v50-kpi-ready::before{content:"";position:absolute;left:20px;top:18px;width:7px;height:7px;border-radius:50%;background:#34c759}
.v50-kpis .v50-kpi-ready .v50-kpi-label{padding-left:14px}
.v50-dashboard-grid{gap:12px!important;margin-bottom:12px!important}
.v50-focus-card,.v50-finance-card{border-radius:22px!important;padding:21px!important}
.v50-focus-row{background:#f7f7f9!important;border:1px solid transparent!important}
.v50-focus-row:hover{background:#f2f2f4!important;border-color:#e7e7eb!important}
.v50-focus-icon{background:#edf5ff!important;color:var(--ap53-blue)!important}
.v50-quick-actions{gap:12px!important;margin-bottom:12px!important}
.v50-quick-actions button{border-radius:18px!important;min-height:74px!important;background:#fff!important}
.v50-quick-actions button>span{background:#f2f2f4!important;color:#3a3a3c!important}
.v50-pipeline .workflow-pipeline{border-radius:22px!important;padding:20px!important}
.v50-pipeline .workflow-step{background:#f7f7f9!important;border:1px solid transparent!important}

/* Statuses: Apple-like semantic tints instead of loud pills. */
.badge,.status-chip,.priority-chip,.sms-chip,.age-chip,.overdue-chip,.problem-chip{
  border:0!important;
  box-shadow:none!important;
  font-weight:720!important;
}
.badge.neutral,.status-chip.neutral{background:#f0f0f2!important;color:#5a5a60!important}
.badge.amber,.status-chip.amber{background:var(--ap53-amber-soft)!important;color:var(--ap53-amber)!important}
.badge.green,.status-chip.green,.sms-ok,.age-green{background:var(--ap53-green-soft)!important;color:var(--ap53-green)!important}
.badge.blue,.badge.cyan,.status-chip.blue,.status-chip.cyan,.sms-wait{background:#edf5ff!important;color:#1265b0!important}
.badge.gray,.badge.slate{background:#f0f0f2!important;color:#626268!important}
.age-amber{background:#fff5e6!important;color:#975500!important}.age-red{background:#fff0f1!important;color:#c21324!important}

/* Orders: stronger typography on large screens, neutral finance card, no accidental wrapping. */
.v50-page-head{margin-bottom:22px!important}
.v50-page-head h1{font-size:44px!important;letter-spacing:-.058em!important}
.v50-page-head p{font-size:12.5px!important;color:var(--ap53-secondary)!important}
.v50-orders-list{gap:10px!important}
.v50-order-card{padding:20px!important;border-radius:21px!important;gap:20px!important}
.v50-order-card:hover{transform:translateY(-1px)!important;border-color:var(--ap53-line-strong)!important;box-shadow:0 14px 38px rgba(0,0,0,.04)!important}
.v50-order-number{font-size:14px!important;font-weight:760!important}
.v50-order-main h3{font-size:20px!important;line-height:1.16!important;margin:10px 0 6px!important;overflow-wrap:break-word!important;word-break:normal!important;hyphens:none!important}
.v50-order-client,.v50-order-client b{font-size:12px!important}
.v50-order-ident{font-size:10.5px!important;color:#9a9aa0!important}
.v50-order-badges{display:flex!important;flex-wrap:wrap!important;gap:7px!important;min-width:0!important}
.v50-order-time{grid-template-columns:max-content minmax(0,1fr)!important;gap:8px 12px!important;font-size:10.5px!important;min-width:0!important}
.v50-order-time .age-chip{max-width:100%!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.v50-order-note{
  grid-template-columns:76px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  gap:3px 10px!important;
  min-width:0!important;
  min-height:58px!important;
  padding:11px 13px!important;
  background:#f7f7f9!important;
  border-color:#e9e9ed!important;
  border-radius:14px!important;
}
.v50-order-note span{grid-row:1/3!important;align-self:center!important;font-size:9px!important;white-space:nowrap!important}
.v50-order-note b{font-size:11.5px!important;line-height:1.28!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important}
.v50-order-note small{font-size:9.5px!important;word-break:normal!important;overflow-wrap:break-word!important}
.v50-order-finance{background:#fbfbfd!important;border-color:#e8e8ec!important;border-radius:15px!important;padding:16px!important}
.v50-order-finance>span{color:#7d7d82!important}
.v50-order-finance>b{color:var(--ap53-green)!important;font-size:22px!important}
.v50-order-finance>div{border-color:#ececef!important}
.v50-order-finance small{color:#86868b!important}.v50-order-finance strong{color:#3a3a3c!important}

/* Clients: unpaid profiles are intentionally first; badges remain small and clear. */
.v50-client-grid{gap:11px!important}
.v50-client-card{min-height:82px!important;padding:14px 16px!important;border-radius:19px!important}
.v50-client-card:hover{background:#fff!important;box-shadow:0 10px 30px rgba(0,0,0,.035)!important}
.v50-client-avatar{background:#1d1d1f!important}
.ap-settlement.is-open{background:var(--ap53-amber-soft)!important;color:var(--ap53-amber)!important}
.ap-settlement.is-paid{background:var(--ap53-green-soft)!important;color:var(--ap53-green)!important}

/* Inventory: only physically available stock is shown. */
.ap-inventory-card{padding:4px 22px 8px!important;border-radius:22px!important;overflow:hidden!important}
.ap-inventory-card table{table-layout:fixed!important}
.ap-inventory-card th{font-size:10.5px!important;color:#6e6e73!important;letter-spacing:.08em!important}
.ap-inventory-card td{font-size:12px!important;color:#2c2c2e!important;padding-top:17px!important;padding-bottom:17px!important;overflow-wrap:break-word!important;word-break:normal!important}
.ap-inventory-card th:nth-child(1){width:16%}.ap-inventory-card th:nth-child(2){width:18%}.ap-inventory-card th:nth-child(3){width:11%}.ap-inventory-card th:nth-child(4){width:8%}.ap-inventory-card th:nth-child(5){width:19%}.ap-inventory-card th:nth-child(6){width:15%}.ap-inventory-card th:nth-child(7){width:10%}
.ap-inventory-card td button{min-height:38px!important;border-radius:11px!important;background:#f2f2f4!important;box-shadow:none!important}
.ap-part-form{max-width:980px!important;padding:22px!important}

/* Calendar no explainer banner; keep the page breathing. */
.calendar{gap:12px!important}.day{border-color:var(--ap53-line)!important;border-radius:18px!important}

/* Settings/SMS pages: content is the interface, not explanatory copy. */
.settings-grid,.template-card{border-color:var(--ap53-line)!important}

/* Login copy and visual remain editorial, with less glow. */
.login-shell{box-shadow:0 40px 120px rgba(0,0,0,.32)!important}
.login-subtitle{max-width:350px!important;color:#a1a1a6!important;line-height:1.55!important}

/* Tablet */
@media(max-width:1180px){
  .main{padding:30px 26px 64px!important}
  .v50-hero h1{font-size:44px!important}
  .v50-order-card{grid-template-columns:minmax(0,1fr) minmax(215px,.78fr)!important}
  .v50-order-main,.v50-order-progress{grid-column:1!important}
  .v50-order-finance{grid-column:2!important;grid-row:1/3!important}
  .v50-order-actions{grid-column:1/-1!important}
  .v50-order-note{grid-template-columns:82px minmax(0,1fr)!important}
}

/* Mobile/tablet navigation and cards */
@media(max-width:760px){
  .main{padding:22px 14px 94px!important}
  .v50-page-head{align-items:flex-start!important;gap:14px!important}
  .v50-page-head h1{font-size:35px!important}
  .v50-hero{align-items:flex-start!important}.v50-hero h1{font-size:37px!important;line-height:1.03!important}
  .v50-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .v50-kpis button,.v50-kpis .v50-kpi-ready{min-height:112px!important;padding:16px!important;border-radius:18px!important}
  .v50-kpis b{font-size:32px!important}
  .v50-order-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;padding:16px!important;border-radius:19px!important;overflow:hidden!important}
  .v50-order-main,.v50-order-progress,.v50-order-finance,.v50-order-actions{grid-column:1!important;grid-row:auto!important;width:100%!important;min-width:0!important}
  .v50-order-top{align-items:flex-start!important;flex-wrap:wrap!important}.v50-order-top>span{white-space:normal!important}
  .v50-order-main h3{font-size:18px!important;line-height:1.17!important}
  .v50-order-badges{max-width:100%!important}
  .v50-order-badges>*{max-width:100%!important;white-space:normal!important;line-height:1.2!important}
  .v50-order-time{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px 9px!important;width:100%!important}
  .v50-order-time>span{flex:0 1 auto!important;max-width:100%!important}
  .v50-order-time .age-chip{flex:0 1 auto!important;max-width:100%!important;white-space:nowrap!important;padding:6px 9px!important}
  .v50-order-note{grid-template-columns:74px minmax(0,1fr)!important;width:100%!important;min-height:64px!important;padding:12px!important}
  .v50-order-note span{font-size:8.5px!important}.v50-order-note b{font-size:12px!important;line-height:1.3!important}
  .v50-order-finance{padding:14px!important}.v50-order-finance>div{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .v50-order-actions{display:grid!important;grid-template-columns:1fr 1fr 44px!important;min-width:0!important}
  .v50-order-actions .v50-secondary,.v50-order-actions .v50-primary,.v50-order-actions .v50-edit-link{width:100%!important;min-width:0!important}
  .v50-client-grid{grid-template-columns:1fr!important}
  .ap-inventory-card{padding:8px!important;border:0!important;background:transparent!important}
  .mobile-data-card{border-radius:18px!important;border:1px solid var(--ap53-line)!important;background:#fff!important;box-shadow:none!important}
}

@media(max-width:430px){
  .main{padding-left:12px!important;padding-right:12px!important}
  .v50-kpis{grid-template-columns:1fr 1fr!important}
  .v50-kpis button,.v50-kpis .v50-kpi-ready{min-height:104px!important;padding:14px!important}
  .v50-kpis b{font-size:29px!important}
  .v50-kpis small{font-size:9px!important}
  .v50-order-card{padding:14px!important}
  .v50-order-client{display:grid!important;gap:2px!important}.v50-order-client span{min-width:0!important;overflow-wrap:anywhere!important}
  .v50-order-note{grid-template-columns:68px minmax(0,1fr)!important}
  .v50-order-finance>div{grid-template-columns:1fr 1fr!important}.v50-order-finance>div small:last-child{grid-column:1/-1!important}
  .v50-order-actions{grid-template-columns:1fr 1fr 42px!important}
  .age-chip{font-size:9px!important}
}

.dark-theme{--ap53-bg:#111113;--ap53-surface:#1c1c1e;--ap53-soft:#202023;--ap53-line:rgba(255,255,255,.09);--ap53-line-strong:rgba(255,255,255,.14);--ap53-text:#f5f5f7;--ap53-secondary:#a1a1a6;--ap53-tertiary:#8e8e93}
.dark-theme .main,.dark-theme body{background:#111113!important}.dark-theme .card,.dark-theme .v50-order-card,.dark-theme .v50-client-card,.dark-theme .v50-focus-card,.dark-theme .v50-finance-card,.dark-theme .v50-kpis button,.dark-theme .v50-kpis .v50-kpi-ready,.dark-theme .v50-quick-actions button,.dark-theme .v50-pipeline .workflow-pipeline{background:#1c1c1e!important;border-color:rgba(255,255,255,.09)!important}.dark-theme .v50-kpis b,.dark-theme .v50-kpi-ready b{color:#f5f5f7!important}.dark-theme .v50-order-finance,.dark-theme .v50-order-note,.dark-theme .v50-focus-row{background:#232326!important;border-color:#333336!important}.dark-theme .v50-order-finance strong,.dark-theme .v50-order-main h3,.dark-theme .v50-order-number{color:#f5f5f7!important}

.ap-calendar-actions{display:flex;justify-content:flex-end;margin:-8px 0 14px!important}.ap-calendar-actions button{min-height:40px!important;padding:0 14px!important;border:1px solid var(--ap53-line)!important;border-radius:12px!important;background:#fff!important;color:#1d1d1f!important;box-shadow:none!important}.ap-calendar-actions button:hover{background:#f2f2f4!important;transform:none!important}
.ap-sms-card{padding:20px!important}.ap-sms-card>p{padding:14px 0!important;margin:0!important;border-bottom:1px solid var(--ap53-line)!important}.ap-sms-card>p:last-child{border-bottom:0!important}
@media(max-width:760px){.ap-calendar-actions{justify-content:stretch!important}.ap-calendar-actions button{width:100%!important}}

/* V54 PRO refinements */
.ap-settlement{font-size:9px!important;padding:5px 8px!important;min-height:22px!important}
.v50-order-badges,.apple-drawer-status{align-items:center!important}
.v50-order-badges>*,.apple-drawer-status>*{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  line-height:1!important;
  vertical-align:middle!important;
}
.v50-order-time>span{display:inline-flex!important;align-items:center!important;gap:4px!important;min-height:24px!important}
.v50-order-note{
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  grid-auto-rows:minmax(18px,auto)!important;
  gap:6px 12px!important;
  min-height:72px!important;
  align-items:center!important;
}
.v50-order-note .note-label{
  grid-column:1!important;
  align-self:center!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:#8e8e93!important;
  white-space:nowrap!important;
}
.v50-order-note .note-value{grid-column:2!important;align-self:center!important}
.v50-order-note b.note-value{font-size:12px!important;line-height:1.28!important;word-break:normal!important;overflow-wrap:break-word!important}
.v50-order-note small.note-value{font-size:10px!important;line-height:1.28!important;color:#6e6e73!important}
.v50-order-note.single-line{min-height:64px!important}
.v50-order-note.single-line .note-label,.v50-order-note.single-line .note-value{grid-row:1!important}

.status-preview-box{display:grid!important;gap:10px!important;padding:2px 0!important}
.status-preview-box>.mono.status-link-url{
  display:block!important;
  max-width:100%!important;
  padding-right:2px!important;
  font-size:9.2px!important;
  line-height:1.42!important;
  color:#3a3a3c!important;
  text-decoration:none!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.status-preview-layout{display:grid!important;grid-template-columns:86px minmax(0,1fr)!important;gap:10px!important;align-items:start!important}
.status-preview-actions{display:grid!important;gap:9px!important;min-width:0!important}
.status-preview-actions button{width:100%!important;min-height:40px!important;white-space:normal!important;line-height:1.2!important}
.status-preview-box .qr-big{width:86px!important;height:86px!important;max-width:86px!important;border-radius:10px!important;background:#fff!important}

.page-heading,.page-heading--form,.form-header-actions,.page-actions-menu,.intake-layout,.intake-main,.intake-side,.intake-side>.card{overflow:visible!important}
.page-actions-menu,.action-menu{z-index:120!important}
.page-actions-menu>div,.action-menu-list{z-index:9999!important}

.apple-detail-grid p{display:grid!important;align-content:start!important}
.apple-detail-grid p b{margin-top:6px!important}
.apple-detail-grid p small{margin-top:5px!important}
.apple-drawer-status{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.apple-drawer-status .badge,.apple-drawer-status .priority-chip,.apple-drawer-status .sms-chip{margin:0!important}

@media(max-width:760px){
  .status-preview-layout{grid-template-columns:76px minmax(0,1fr)!important}
  .status-preview-box .qr-big{width:76px!important;height:76px!important;max-width:76px!important}
  .v50-order-note{grid-template-columns:82px minmax(0,1fr)!important;min-height:74px!important}
}
@media(max-width:430px){
  .v50-order-note{grid-template-columns:78px minmax(0,1fr)!important;gap:5px 10px!important}
  .v50-order-note b.note-value{font-size:11.5px!important}
}
