/* Shared app experience. Printable documents deliberately do not load this file. */
:root{--surface:#fff;--canvas:#f4f5f7;--ink:#1e2632;--muted:#626b78;--line:#e1e5eb;--focus:#315b91;--ease:cubic-bezier(.2,.7,.2,1)}
body{background:var(--canvas);color:var(--ink)}
.shell main>header{background:rgba(255,255,255,.85);border-bottom:1px solid var(--line);font-size:12px}
.page-title h1{font-size:32px;letter-spacing:-1.2px;font-weight:650;color:var(--ink)}
.page-title .eyebrow{color:#6f7783;letter-spacing:2px}.page-title p{color:var(--muted);line-height:1.6}
.shell aside{border-right:1px solid #e4e7ec;background:#fff}
#app-navigation button{transition:background .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}
#app-navigation button.active{background:#202731;color:#fff;box-shadow:none}
#app-navigation button.active>span{background:#ffffff16;color:#fff}
#app-navigation button.active em{background:#ffffff21;color:#fff}
.workspace{background:#f5f6f8;border:1px solid #eceef2}.workspace-icon{border-radius:10px;background:#e7ecf2;color:#34465d}
.workspace-search{border:1px solid #e2e6ed;background:#fff;box-shadow:0 2px 4px #18233504;border-radius:12px;color:#626b78}
.workspace-search:hover{background:#f2f5fa;border-color:#b8c8dd}
.primary{background:#202731;border:1px solid #202731;border-radius:11px;box-shadow:0 3px 7px #16223512}
.primary:hover{background:#334156;border-color:#334156}
.secondary{background:white;border:1px solid #dce2ea;border-radius:10px;color:#35465b}
.secondary:hover{background:#f3f6fa;border-color:#b9c6d7}
button,a{ -webkit-tap-highlight-color:transparent}
:is(button,.primary,.secondary){transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}
:is(button,.primary,.secondary):active:not(:disabled){transform:translateY(1px)}
input,select,textarea{background:#fff;border:1px solid #dce2ea;border-radius:10px;transition:border-color .18s,box-shadow .18s}
:is(input,select,textarea):focus-visible{outline:2px solid #4873a8;outline-offset:2px;box-shadow:0 0 0 5px #3e6a9c0b}
:is(button,a,summary):focus-visible{outline:3px solid #4873a8;outline-offset:3px}
.panel,.stat,.person,.goal-card,.customer-card,.sale-line,.book-sheet,.catalog-product,.buy-record,.commission-card,.accessory-card,.plan-card{border-color:var(--line);border-radius:16px;box-shadow:0 3px 13px #1d2b4205}
.workspace-shortcuts button{border-radius:16px;background:white;padding:20px;box-shadow:0 3px 13px #1d2b4205;transition:box-shadow .2s,border-color .2s,transform .2s}
.workspace-shortcuts button small{font-size:12px;line-height:1.5}.shortcut-icon{border-radius:12px;width:40px;height:40px}
.business-tabs{gap:7px;border:0;margin-bottom:20px;padding:6px;background:#e9edf2;border-radius:14px;width:fit-content;max-width:100%}
.business-tabs button{border-radius:10px;color:#4e5b6d;padding:11px 17px;background:transparent}
.business-tabs button[aria-pressed=true]{background:#fff;color:#202e42;border-color:#dce3eb;box-shadow:0 2px 6px #17253c0b}
.business-tabs button:hover:not([aria-pressed=true]){background:#f6f8fa;color:#202e42}
#sales-host>.business-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;align-items:start}
.sales-more-tools{grid-column:1/-1;border-top:1px solid #dce2ea;margin-top:2px;padding-top:2px}
.sales-more-tools>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;min-height:40px;padding:5px 12px;box-sizing:border-box;font-size:12px;color:#5e6c7f}
.sales-more-tools>summary::-webkit-details-marker{display:none}.sales-more-tools>summary::after{content:'＋';font-size:17px;transition:transform .18s}.sales-more-tools[open]>summary::after{transform:rotate(45deg)}
.sales-more-tools>div{display:flex;gap:6px;flex-wrap:wrap;padding:6px}.sales-more-tools>div>a{align-self:center;min-height:44px;display:flex;align-items:center}
.sales-more-tools[open]>div{animation:oa-reveal .2s var(--ease)}
.business-tabs.accessory-tabs button[aria-pressed=true]{background:#fff;color:#202e42!important;border-color:#dce3eb}
.buy-filters>label{min-width:0}.buy-filters :is(input,select){width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.inventory-tools,.catalog-tools,.accessory-filters,.buy-filters,.business-tools{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;gap:14px;margin-bottom:16px}
.inventory-tools label,.catalog-tools label,.buy-filters label{color:#5c6879;font-size:12px}
.inventory-sections{gap:8px;padding:4px 0 12px}
.inventory-sections button{border-radius:10px;min-height:42px;background:#fff;color:#536174;border-color:#e0e6ed}
.inventory-sections button[aria-selected=true]{background:#243449;color:#fff;border-color:#243449;box-shadow:0 3px 8px #172a4017}
.inventory-sections button span{border-radius:5px;background:#e9edf2;color:#526278}
.inventory-sections button[aria-selected=true] span{background:#ffffff24;color:#fff}
.workspace-help{font-size:12px;margin:8px 0 18px;color:#606d7f}.workspace-help summary{padding:9px 0;width:fit-content}.workspace-help p{max-width:900px;margin:4px 0 10px;line-height:1.8}
.inventory-summary{line-height:1.7;color:#596779}.inventory-section-title{font-size:19px;letter-spacing:-.3px}
.inventory-sheet th,.catalog-sheet th,.book-sheet th{background:#f2f5f9;color:#526174;font-size:11px;letter-spacing:.15px}
.inventory-sheet tr.inventory-dirty{background:#fff8e8}.inventory-sheet td input:focus{background:#f0f5fd}
.inventory-actions .sell-row{border-radius:9px;background:#eaf2fa;border-color:#d6e4f3;color:#295780}.inventory-actions .sell-row:hover{background:#dfeefa}
.subtle-danger,.book-cancel-button,.purchase-cancel-button{background:#fff3f0!important;border:1px solid #efd7ce!important;color:#9a4938!important;border-radius:9px!important;min-height:40px;padding:9px 12px;font:inherit;font-size:12px;cursor:pointer}
.subtle-danger:hover,.book-cancel-button:hover,.purchase-cancel-button:hover{background:#fae7e0!important}
.buy-hero{background:linear-gradient(115deg,#edf3f9,#f8fafc);border:1px solid #dce5ef;border-radius:18px}.buy-hero h2{color:#253952;letter-spacing:-.6px}.buy-symbol{background:#e0ebf7;color:#3d658f}
.buy-hero p{color:#61758d}.buy-chip{background:#ecf4f0;color:#316348}.buy-record h3{letter-spacing:-.4px}.buy-record .buy-voided{background:#faeae5;color:#954c3a}
.buy-record a.secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;min-height:42px;box-sizing:border-box;font-size:12px}
.task-success{border:1px solid #dcebe3;background:#f0f8f3;border-radius:16px}.task-success>span{border-radius:12px;background:#dceee3;color:#347253}
.stat strong,.business-stats strong,.book-totals strong{color:#26364b;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.product-price>strong{color:#243750}.product-stock.available{background:#eaf5ef;color:#31704f}
.catalog-product .product-highlights .product-imei{background:#f2f5f9;border:1px solid #e6ecf2;border-radius:10px}
dialog{border:1px solid #e1e6ed;border-radius:20px;box-shadow:0 28px 90px #1522362b}
dialog::backdrop{background:#15223666;backdrop-filter:blur(7px)}
.buy-steps li.current span{background:#263c59;color:white}.buy-form>footer{background:#fff;border-top:1px solid #e5eaf0}
.empty,.buy-empty{padding:36px 22px;border:1px dashed #d7dfe9;border-radius:16px;background:#fafbfd;line-height:1.8;color:#68788c}
[aria-busy=true]{cursor:progress}
#toast{background:#223349;box-shadow:0 8px 32px #152b4829;border:1px solid #ffffff1c;border-radius:13px;max-width:min(460px,90vw);line-height:1.5}
.content>.page-title{animation:oa-reveal .3s var(--ease) both}
.workspace-shortcuts>button,.stats>.stat,.catalog-product,.buy-record,.goal-card,.customer-card,.commission-card{animation:oa-reveal .34s var(--ease) both}
.workspace-shortcuts>button:nth-child(2),.stats>.stat:nth-child(2){animation-delay:.04s}.workspace-shortcuts>button:nth-child(3),.stats>.stat:nth-child(3){animation-delay:.08s}.workspace-shortcuts>button:nth-child(4),.stats>.stat:nth-child(4){animation-delay:.12s}
dialog[open]{animation:oa-dialog .22s var(--ease)}dialog[open]::backdrop{animation:oa-fade .2s ease}
.buy-pages>section:not([hidden]),.sale-flow-step:not([hidden]){animation:oa-reveal .2s var(--ease)}
details[open]>.report-note,details[open]>form{animation:oa-fade .2s ease}
@keyframes oa-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes oa-dialog{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
@keyframes oa-fade{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (pointer:fine){.workspace-shortcuts button:hover{transform:translateY(-3px);box-shadow:0 10px 20px #1f355410}.catalog-product:hover{border-color:#becbdd;box-shadow:0 7px 22px #1d2b420a}.catalog-product{transition:box-shadow .2s,border-color .2s}}
@media(min-width:761px) and (max-width:1100px){.buy-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.buy-filters label:has([name=search]){grid-row:1;grid-column:1/-1}.buy-hero{flex-wrap:wrap;padding:22px}.buy-hero>div:nth-child(2){flex:1}.buy-hero>.primary{width:100%;margin:4px 0 0}.buy-record{flex-direction:column;gap:14px}.buy-record>div:last-child{align-items:flex-start;flex-direction:row;flex-wrap:wrap}}
@media(max-width:760px){
 .shell aside{border-right:0;border-bottom:1px solid #e2e7ed;background:#fff;padding:12px 16px}.page-title h1{font-size:28px}.content{padding:20px 14px}.shell main>header{height:40px;font-size:11px;padding:0 16px}.page-title{margin-bottom:18px}
 .business-tabs{width:100%;box-sizing:border-box;border-radius:12px;padding:5px;gap:5px}.business-tabs button{font-size:12px;min-height:44px;padding:10px 12px}
 #sales-host>.business-tabs button{background:transparent}#sales-host>.business-tabs button[aria-pressed=true]{background:#fff;color:#25364c;border:1px solid #dce3eb}
 #sales-host>.business-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}#sales-host>.business-tabs>button{padding:10px 5px;font-size:11px;line-height:1.4;min-height:50px}.sales-more-tools>div{display:grid;grid-template-columns:1fr 1fr}.sales-more-tools>div button{font-size:12px!important}.sales-more-tools>summary{min-height:42px}
 .message-shortcut{padding:12px 14px;min-height:64px}.message-shortcut .message-shortcut-icon{width:34px;height:34px}
 .accessory-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.accessory-tabs button{white-space:normal;padding:10px 6px;font-size:11px;line-height:1.4}
 .inventory-tools,.catalog-tools,.buy-filters,.accessory-filters{padding:14px;border-radius:14px;gap:12px}.inventory-tools input,.inventory-tools select{min-width:0;width:100%;font-size:16px}.inventory-tools label{min-width:0;flex:1 1 42%}.inventory-tools label:has(#inventory-search){flex-basis:100%}.inventory-create-actions{width:100%}.inventory-create-actions button{flex:1;min-height:44px;font-size:12px}
 .inventory-tools>.text-button,.inventory-tools>.trade-in-button{min-height:44px;padding:9px;font-size:11px}.inventory-navigation{gap:10px}.workspace-help{margin-bottom:14px}
 .buy-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.buy-filters button{min-height:44px}.buy-filters label:has([name=search]){grid-row:1;grid-column:1/-1}.buy-record{gap:18px;border-radius:16px}.buy-record a,.buy-record button{min-height:44px}
 .mobile-bottom-nav{background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid #dae2ed;box-shadow:0 -5px 20px #1b2b4406}.mobile-bottom-nav button{border-radius:11px;min-height:48px}.mobile-bottom-nav button[aria-current=page]{background:#edf2f9;color:#2b527e}
 .workspace-shortcuts{gap:10px}.workspace-shortcuts button{padding:15px}.workspace-shortcuts button small{font-size:11px}.workspace-shortcuts .shortcut-icon{width:34px;height:34px}
 .catalog-product{padding:19px;border-radius:16px}.buy-hero{padding:18px}.buy-hero h2{font-size:22px;line-height:1.2}.buy-hero p{font-size:12px;line-height:1.6}
 .purchase-cancel-dialog textarea{font-size:16px}.purchase-cancel-dialog footer button{font-size:14px}
 .inventory-sheet td.inventory-actions button{min-height:44px}.workspace-search{min-height:46px}#toast{bottom:calc(80px + env(safe-area-inset-bottom));padding:12px 16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Inventory: a continuous list with search directly below the view switch. */
.inventory-find{display:grid;grid-template-columns:minmax(200px,1fr) minmax(160px,230px) auto;align-items:end;gap:12px;margin:14px 0;padding:16px;background:#fff;border:1px solid #e0e6ed;border-radius:14px}.inventory-find label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#536174}.inventory-find input,.inventory-find select{width:100%;min-width:0;box-sizing:border-box}.inventory-find button{min-height:44px}.inventory-sections{display:flex;flex-wrap:nowrap;overflow-x:auto}.inventory-sections button{flex:0 0 auto}.inventory-sheet{max-height:none!important}.inventory-sheet thead{position:sticky;top:0;z-index:3}.inventory-sheet tr{content-visibility:visible}#inventory-page{margin:10px 0}.inventory-find input[type=search]{font-size:16px;min-height:46px}
@media(max-width:760px){.inventory-find{grid-template-columns:1fr 1fr;padding:13px}.inventory-find label:first-child{grid-column:1/-1}.inventory-find select{font-size:16px}.inventory-find button{padding:10px}.inventory-sections{scroll-snap-type:x proximity}.inventory-sections button{scroll-snap-align:start}}

.sale-transfers{margin:16px 0;padding:16px;border:1px solid #dce5ef;border-radius:14px;background:#f8fafd}.transfer-heading,.transfer-row-title,.transfer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.transfer-heading h4{margin:0}.transfer-heading span{font-weight:700}.transfer-row{padding:12px 0;border-bottom:1px solid #e2e8f0}.transfer-row-title{font-size:12px;margin-bottom:6px}.transfer-actions{margin-top:12px;flex-wrap:wrap}.payment-card .other-payment-detail{margin:8px 0}.payment-card input,.transfer-row input{min-width:0;width:100%;box-sizing:border-box}.transfer-row{animation:oa-reveal .2s ease}.sale-transfers button{min-height:42px}.payment-cards{align-items:start}@media(max-width:760px){.transfer-row .form-row{display:grid;grid-template-columns:1fr;gap:9px}.sale-transfers{padding:12px}.transfer-actions>button{flex:1}.transfer-row input{font-size:16px}}
:root{--task-blue:#235d9f;--task-red:#a33236}
.task-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.task-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 13px;border:1px solid #e2e5e9;border-radius:12px;background:#fff;color:#3d424b;font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:background .18s,transform .18s,box-shadow .18s}
.task-action svg{width:17px;height:17px;flex-shrink:0}
.task-action.edit{background:#eff6ff;color:var(--task-blue);border-color:#d9e7f8}
.task-action.danger{background:#fff3f3;color:var(--task-red);border-color:#f3dcdc}
.task-action:hover{transform:translateY(-2px);box-shadow:0 4px 12px #17202b12}
.task-action:active{transform:translateY(0) scale(.97)}
.task-action:focus-visible{outline:3px solid #7bb2e8;outline-offset:3px}
.task-action:disabled{opacity:.55;cursor:wait;transform:none}
.task-detail-actions{margin:18px 0}
.task-dialog-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;font-size:26px;background:#fff0f0;color:var(--task-red);margin-bottom:12px}
.task-trash-card{padding:18px;border:1px solid #e5e7eb;border-radius:16px;margin:14px 0;background:#fafbfc}
.task-trash-card>small{display:block;color:#647080;margin-top:8px}
.task-trash-card summary{cursor:pointer;padding:8px 0;font-weight:600}
.task-trash-empty{text-align:center;padding:28px 16px;color:#606b76}
.task-trash-empty>span{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#edf7f0;color:#2e6b43;font-size:26px}
@media(max-width:700px){.task-table .task-actions{justify-content:flex-start}.task-action{min-height:44px;padding:10px 13px}.task-detail-actions .task-action{flex:1}.task-trash-card{padding:14px}}
@media(prefers-reduced-motion:reduce){.task-action{transition:none}.task-action:hover,.task-action:active{transform:none}}

/* Keep complete product names readable without widening the inventory. */
.inventory-sheet td.inventory-model{width:230px;min-width:230px;max-width:230px;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
.inventory-model-name{display:block;padding:12px;line-height:1.5;font-size:13px;font-weight:600;white-space:normal;overflow-wrap:anywhere}
.inventory-model-editor{display:grid;width:100%;min-width:0}
.inventory-model-editor::after,.inventory-sheet .inventory-model-editor textarea{grid-area:1/1;width:100%;min-width:0;max-width:100%;padding:12px;box-sizing:border-box;font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:normal;white-space:pre-wrap;overflow-wrap:anywhere;border:0;border-radius:0;margin:0;background:transparent}
.inventory-model-editor::after{content:attr(data-value) ' ';visibility:hidden}
.inventory-sheet .inventory-model-editor textarea{resize:none;height:100%;min-height:44px;overflow:hidden}
.inventory-model-editor textarea:focus{outline-offset:-2px}
.catalog-sheet tbody td[data-col="name"]{width:220px;min-width:220px;max-width:220px;font-size:13px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.catalog-product h3{white-space:normal;overflow-wrap:anywhere;font-size:20px;line-height:1.35;letter-spacing:-.3px;height:auto;max-height:none}
.sale-flow-context>div{min-width:0}.sale-flow-context strong,.sale-model-name{white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.sale-model-name{display:block;margin-top:8px;padding:12px;border:1px solid #e4e4eb;border-radius:8px;background:#f7f7f9;font-size:14px}
@media(max-width:760px){
 .inventory-sheet td.inventory-model{width:170px;min-width:170px;max-width:170px}
 .inventory-model-editor::after,.inventory-sheet .inventory-model-editor textarea{font-size:16px;padding:11px}
 .inventory-card-view .inventory-sheet tr[data-inventory-row] td.inventory-model{width:auto;min-width:0;max-width:none}
 .inventory-card-view .inventory-model-editor,.inventory-card-view .inventory-model-name{flex-basis:100%;width:100%;min-width:0}
 .inventory-card-view .inventory-model-name{font-size:16px;padding:0}
 .inventory-card-view .inventory-model-editor{border:1px solid #dbe5dd;border-radius:8px;background:#fff}
 .catalog-sheet tbody td[data-col="name"]{width:170px;min-width:170px;max-width:170px;font-size:13px}
 .catalog-product h3{font-size:20px;line-height:1.4}
}

.sale-notice-button{width:100%;display:flex;align-items:center;gap:12px;padding:14px 18px;margin:0 0 14px;border:1px solid #dce6df;border-radius:12px;background:#fff;text-align:left;color:#254739}
.sale-notice-button>span:first-child{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#edf6f0;font-size:20px;flex-shrink:0}
.sale-notice-button>span:nth-child(2){flex:1;min-width:0}.sale-notice-button b,.sale-notice-button small{display:block}.sale-notice-button small{font-size:12px;font-weight:400;margin-top:4px;color:#64736a}
.sale-notice-button em{font-style:normal;border-radius:30px;padding:5px 9px;background:#27634b;color:#fff}
#sale-notifications[data-attention=true] .sale-notice-button{border-color:#98bca8;background:#f6fbf8}
.sale-notice-dialog{width:min(680px,calc(100vw - 24px));max-height:90dvh;overflow:auto}.sale-notice-tools,.sale-notice-totals{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.sale-notice-card{padding:18px;margin:14px 0;border:1px solid #e1e7e3;border-radius:12px;overflow-wrap:anywhere}.sale-notice-card h3{margin:8px 0;font-size:18px}.sale-notice-card p,.sale-notice-card small{font-size:13px;line-height:1.5}.sale-notice-totals{padding:12px;background:#f5f7f6;border-radius:8px;font-size:12px}.sale-notice-totals b{display:block;font-size:17px;margin-top:4px}.sale-notice-card .card-actions{display:flex;gap:10px;flex-wrap:wrap}.sale-notice-card a{text-decoration:none;font-size:13px}.sale-document-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.sale-document-actions a{text-decoration:none;font-size:12px;text-align:center;padding:10px;border-radius:8px;white-space:normal}
@media(max-width:760px){.sale-notice-dialog{padding:20px 16px}.sale-notice-card{padding:14px}.sale-notice-card .card-actions>*{flex:1;text-align:center;min-height:44px}.sale-document-actions a{min-height:44px}}
