:root {
  --bg:#f3f5f8; --panel:#fff; --ink:#172033; --muted:#718096; --line:#e3e8ef;
  --nav:#111827; --nav-2:#1f2937; --brand:#f5b800; --brand-2:#ffcf33;
  --blue:#2563eb; --green:#0f9f6e; --red:#dc2626; --orange:#d97706;
  --shadow:0 16px 45px rgba(15,23,42,.09); --radius:18px;
}
*{box-sizing:border-box} html{font-size:16px} body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif} button,input,select,textarea{font:inherit} button{cursor:pointer} [hidden]{display:none!important}
#toast-root{position:fixed;right:20px;top:20px;z-index:1000;display:grid;gap:8px}.toast{max-width:390px;padding:12px 15px;border-radius:12px;background:#172033;color:#fff;box-shadow:var(--shadow);animation:slidein .2s ease}.toast.success{background:#067647}.toast.error{background:#b42318}.toast.warn{background:#b54708}@keyframes slidein{from{transform:translateY(-8px);opacity:0}}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:#0c1321}.auth-showcase{position:relative;overflow:hidden;padding:64px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(circle at 10% 15%,rgba(245,184,0,.24),transparent 28%),linear-gradient(145deg,#111827,#0c1321 70%)}.auth-showcase:after{content:"";position:absolute;width:520px;height:520px;right:-190px;bottom:-240px;border:80px solid rgba(245,184,0,.09);border-radius:50%}.brand-lockup{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--brand);color:#111827;font-weight:1000;font-size:22px;box-shadow:0 12px 30px rgba(245,184,0,.2)}.brand-lockup strong{display:block;font-size:20px}.brand-lockup small{display:block;color:#9ca3af;margin-top:3px}.auth-message{position:relative;z-index:1;max-width:620px}.auth-message h1{margin:0 0 18px;font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.05em}.auth-message h1 span{color:var(--brand)}.auth-message p{max-width:560px;margin:0;color:#cbd5e1;line-height:1.8;font-size:17px}.auth-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.auth-features span{padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.06);font-size:12px}.auth-panel{display:grid;place-items:center;padding:38px;background:#fff}.auth-card{width:min(440px,100%)}.auth-card h2{margin:0;font-size:30px;letter-spacing:-.03em}.auth-card>p{margin:8px 0 24px;color:var(--muted);line-height:1.6}.auth-card form{display:grid;gap:15px}.auth-switch{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);text-align:center;font-size:13px}.link-button{border:0;background:none;color:var(--blue);font-weight:800}.lookup-box{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#f8fafc}.lookup-results{display:grid;gap:8px;margin-top:12px}.lookup-result{padding:10px;border-radius:10px;background:white;border:1px solid var(--line);font-size:12px}.lookup-result strong,.lookup-result span{display:block}.lookup-result span{color:var(--muted);margin-top:4px}
#app-root{min-height:100vh;display:grid;grid-template-columns:260px 1fr;grid-template-rows:72px 1fr;grid-template-areas:"sidebar topbar" "sidebar content"}#sidebar{grid-area:sidebar;position:sticky;top:0;height:100vh;padding:20px 14px;background:var(--nav);color:#fff;overflow:auto;z-index:20}#topbar{grid-area:topbar;position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(14px)}#content{grid-area:content;padding:24px;min-width:0}#mobile-nav{display:none}
.side-brand{padding:5px 7px 23px}.side-brand .brand-lockup strong{font-size:15px}.side-brand .brand-mark{width:42px;height:42px;border-radius:13px;font-size:18px}.side-section{margin:14px 10px 7px;color:#64748b;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.14em}.nav-list{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;border-radius:11px;background:transparent;color:#cbd5e1;text-align:left;font-size:13px;font-weight:700}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:var(--brand);color:#111827}.nav-icon{width:22px;text-align:center;font-size:16px}.side-user{margin-top:22px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.04)}.side-user strong,.side-user small{display:block}.side-user strong{font-size:12px}.side-user small{margin-top:3px;color:#94a3b8;font-size:10px}.side-user button{margin-top:9px;width:100%;padding:7px;border:0;border-radius:8px;background:rgba(255,255,255,.08);color:#e5e7eb;font-size:10px}.top-title strong{display:block;font-size:17px}.top-title small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.top-actions{display:flex;align-items:center;gap:10px}.role-pill{padding:7px 10px;border-radius:999px;background:#fff7d6;color:#805b00;font-size:10px;font-weight:800}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}
.page{max-width:1540px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.page-head h1{margin:0;font-size:25px;letter-spacing:-.035em}.page-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:9px 14px;border:0;border-radius:11px;background:var(--brand);color:#172033;font-size:11px;font-weight:900}.button:hover{filter:brightness(.98)}.button.primary{background:var(--nav);color:#fff}.button.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.button.green{background:#dcfce7;color:#067647}.button.red{background:#fee2e2;color:#b42318}.button.small{min-height:31px;padding:6px 9px;border-radius:8px;font-size:9px}.button:disabled{opacity:.5;cursor:not-allowed}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{position:relative;overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 5px 20px rgba(15,23,42,.04)}.metric:after{content:"";position:absolute;right:-20px;top:-25px;width:80px;height:80px;border-radius:50%;background:var(--metric-color,#f1f5f9);opacity:.6}.metric span{display:block;color:var(--muted);font-size:10px;font-weight:800}.metric strong{display:block;margin-top:8px;font-size:24px;letter-spacing:-.04em}.metric small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 5px 22px rgba(15,23,42,.04);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:14px}.panel-head small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.panel-body{padding:17px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:10px}.table th{padding:10px 12px;background:#f8fafc;color:#64748b;text-align:left;white-space:nowrap;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.table td{padding:11px 12px;border-top:1px solid var(--line);vertical-align:middle}.table tr:hover td{background:#fcfcfd}.table strong,.table small{display:block}.table small{margin-top:3px;color:var(--muted)}.nowrap{white-space:nowrap}.price{font-weight:900}.positive{color:var(--green)}.negative{color:var(--red)}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap;background:#edf2f7;color:#475569}.badge.green{background:#dcfce7;color:#067647}.badge.yellow{background:#fff7d6;color:#805b00}.badge.red{background:#fee2e2;color:#b42318}.badge.blue{background:#dbeafe;color:#1d4ed8}.badge.purple{background:#ede9fe;color:#6d28d9}.stock-alert{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.stock-alert:last-child{border:0}.stock-alert strong,.stock-alert small{display:block}.stock-alert strong{font-size:11px}.stock-alert small{margin-top:3px;color:var(--muted);font-size:9px}.empty{padding:42px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:14px}.empty p{margin:7px auto 0;max-width:420px;font-size:10px;line-height:1.6}.search-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.search{min-width:240px;flex:1;position:relative}.search input{width:100%;padding-left:34px}.search:before{content:"⌕";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}
.field{display:grid;gap:6px}.field label{color:#475569;font-size:9px;font-weight:900}.field input,.field select,.field textarea,.input{width:100%;min-height:40px;padding:9px 11px;border:1px solid #d8dee8;border-radius:10px;background:#fff;color:var(--ink);outline:none;font-size:11px}.field textarea{min-height:78px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:#e3ad00;box-shadow:0 0 0 3px rgba(245,184,0,.14)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field.full,.full{grid-column:1/-1}.hint{color:var(--muted);font-size:9px;line-height:1.5}.check{display:flex;align-items:flex-start;gap:8px;font-size:10px}.check input{margin-top:2px;accent-color:var(--brand)}
.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.66);backdrop-filter:blur(4px)}.modal{width:min(720px,100%);max-height:92vh;display:flex;flex-direction:column;border-radius:20px;background:#fff;box-shadow:0 25px 90px rgba(0,0,0,.26);overflow:hidden}.modal.wide{width:min(1040px,100%)}.modal-header{position:relative;padding:19px 21px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:18px}.modal-header p{margin:5px 35px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.modal-close{position:absolute;right:14px;top:14px;width:34px;height:34px;border:0;border-radius:10px;background:#f1f5f9;color:#475569}.modal-body{padding:18px 21px;overflow:auto}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 21px;border-top:1px solid var(--line);background:#f8fafc}
.pos-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(350px,.7fr);gap:15px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}.product-card{position:relative;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left}.product-card:hover{border-color:#e4ad00;box-shadow:0 6px 18px rgba(15,23,42,.07)}.product-card strong,.product-card small{display:block}.product-card strong{font-size:11px}.product-card small{margin-top:4px;color:var(--muted);font-size:8px}.product-card b{display:block;margin-top:10px;font-size:13px}.product-card .stock{position:absolute;right:9px;top:9px}.cart{position:sticky;top:94px}.cart-list{display:grid;gap:8px;max-height:300px;overflow:auto}.cart-line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border:1px solid var(--line);border-radius:11px}.cart-line strong,.cart-line small{display:block}.cart-line strong{font-size:10px}.cart-line small{margin-top:3px;color:var(--muted);font-size:8px}.cart-line button{border:0;background:none;color:var(--red);font-size:12px}.checkout-section{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.checkout-section>strong{font-size:10px}.checkout-hint{display:block;color:var(--muted);font-size:8px;line-height:1.45}.choice-pills{display:grid;grid-template-columns:1fr 1fr;gap:7px}.choice-pill{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:#475569;font-size:10px;font-weight:800}.choice-pill:has(input:checked){border-color:#d6a100;background:#fff7d6;color:#805b00}.choice-pill input{accent-color:#d6a100}.field.compact select{min-height:38px}.totals{display:grid;gap:8px;margin:2px 0 0;padding-top:10px;border-top:1px dashed var(--line)}.total-row{display:flex;justify-content:space-between;font-size:10px}.total-row.grand{font-size:15px;font-weight:950}.payment-row{display:grid;grid-template-columns:minmax(105px,.85fr) minmax(135px,1.15fr) 34px;gap:7px}.payment-row button{border:0;border-radius:8px;background:#fee2e2;color:#b42318}.add-payment{justify-self:start}.checkout-button{width:100%;margin-top:14px}.report-controls{display:grid;gap:8px;justify-items:end}.report-presets{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.repair-board{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:12px;overflow:auto}.repair-column{min-width:250px;padding:11px;border-radius:15px;background:#e9edf2}.repair-column-head{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 10px;font-size:10px;font-weight:900}.repair-card{margin-bottom:8px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 8px rgba(15,23,42,.05)}.repair-card strong,.repair-card small{display:block}.repair-card strong{font-size:10px}.repair-card small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.45}.repair-card .actions{margin-top:9px}.timeline{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:10px 1fr;gap:9px}.timeline-dot{width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--brand)}.timeline-item strong,.timeline-item small{display:block}.timeline-item strong{font-size:10px}.timeline-item small{margin-top:3px;color:var(--muted);font-size:8px}.bar-chart{display:grid;gap:9px}.bar-row{display:grid;grid-template-columns:minmax(90px,1fr) 3fr auto;gap:9px;align-items:center;font-size:9px}.bar-track{height:8px;border-radius:99px;background:#edf2f7;overflow:hidden}.bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),#ffd85c)}
@media(max-width:1100px){#app-root{grid-template-columns:210px 1fr}.cards{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.pos-layout{grid-template-columns:1fr}.cart{position:static}.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.auth-shell{display:block}.auth-showcase{min-height:260px;padding:28px 22px}.auth-message h1{font-size:38px;margin-top:42px}.auth-message p{font-size:13px}.auth-features{display:none}.auth-panel{padding:26px 18px}.auth-card h2{font-size:24px}#app-root{display:block;padding-bottom:70px}#sidebar{position:fixed;left:-280px;width:260px;transition:left .2s;box-shadow:20px 0 60px rgba(0,0,0,.24)}body.menu-open #sidebar{left:0}#topbar{height:62px;padding:0 13px}#content{padding:14px}#mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 5px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.mobile-nav-item{display:grid;gap:2px;justify-items:center;border:0;background:none;color:#64748b;font-size:8px}.mobile-nav-item span{font-size:17px}.mobile-nav-item.active{color:#9a7200;font-weight:900}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:21px}.cards{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:14px}.metric strong{font-size:19px}.grid-2,.grid-3{grid-template-columns:1fr}.panel-head{align-items:flex-start}.product-grid{grid-template-columns:1fr 1fr;padding:10px}.form-grid{grid-template-columns:1fr}.field.full,.full{grid-column:auto}.modal-backdrop{padding:0;align-items:end}.modal,.modal.wide{width:100%;max-height:94vh;border-radius:20px 20px 0 0}.table{min-width:740px}.repair-board{grid-template-columns:repeat(6,270px)}.top-title small,.role-pill{display:none}.search{min-width:100%}.payment-row{grid-template-columns:minmax(90px,.85fr) minmax(120px,1.15fr) 32px}.report-controls{width:100%;justify-items:stretch}.report-presets{justify-content:flex-start}.report-controls>.actions{display:grid;grid-template-columns:1fr 1fr}.cart-list{max-height:none}}

.money-control{display:grid;gap:4px;min-width:0}.money-words{min-height:13px;color:#846300;font-size:8px;line-height:1.35}.form-section{margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.form-section:last-child{margin-bottom:0}.form-section h3{margin:0 0 12px;color:#344054;font-size:11px}.brand-picker{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.image-upload input[type="file"]{padding:8px;background:#f8fafc}.image-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.image-preview figure{overflow:hidden;margin:0;border:1px solid var(--line);border-radius:10px;background:#fff}.image-preview img{display:block;width:100%;height:95px;object-fit:cover}.image-preview figcaption{overflow:hidden;padding:5px;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.repair-board.active-repairs{grid-template-columns:repeat(4,minmax(250px,1fr))}.repair-thumbs{display:flex;gap:5px;margin-top:8px}.repair-thumb{display:block;overflow:hidden;width:42px;height:42px;border:1px solid var(--line);border-radius:8px}.repair-thumb img{width:100%;height:100%;object-fit:cover}.button.complete{background:#0f766e;color:#fff}.finished-repairs{margin-top:16px}
@media(max-width:760px){.repair-board.active-repairs{grid-template-columns:repeat(4,270px)}.image-preview{grid-template-columns:repeat(3,1fr)}.brand-picker{grid-template-columns:1fr 1fr}.brand-picker select{grid-column:1/-1}.money-words{font-size:7px}}
.history-edits{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}.order-history{display:grid;gap:9px}.order-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;padding:13px;border:1px solid var(--line);border-radius:12px}.order-history-item strong,.order-history-item small,.order-lines span{display:block}.order-history-item small{margin-top:4px;color:var(--muted);font-size:9px}.order-lines{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap}.order-lines span{padding:5px 8px;border-radius:8px;background:#f1f5f9;font-size:9px}.history-table td{max-width:260px}.table-wrap{-webkit-overflow-scrolling:touch}
@media(max-width:760px){.page-head .actions{width:100%}.page-head .actions>.button{flex:1}.page-head .actions>select{min-width:150px;flex:1}.order-history-item{grid-template-columns:1fr}.order-history-item>b{justify-self:start}.modal-body{padding:15px}.history-table{min-width:980px}}
@media(max-width:430px){.cards{grid-template-columns:1fr 1fr}.metric small{display:none}.product-grid{grid-template-columns:1fr}.auth-showcase{min-height:230px}.auth-message h1{font-size:32px}.brand-lockup strong{font-size:14px}}
@media print{#sidebar,#topbar,#mobile-nav,.no-print{display:none!important}#app-root{display:block}#content{padding:0}.panel{box-shadow:none;border:0}.page{max-width:none}}

/* ===== v1.4-v1.6 UI polish: desktop + mobile + POS checkout ===== */
:root{
  --bg:#f4f6f9;--panel:#fff;--ink:#182235;--muted:#6b778c;--line:#e1e6ed;
  --nav:#111827;--brand:#f5b800;--brand-soft:#fff7d6;--shadow:0 10px 32px rgba(15,23,42,.07);
  --radius:17px;
}
html,body{max-width:100%;overflow-x:hidden}body{font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{min-width:0}.page,.panel,.panel-body,.actions,.field,.money-control{min-width:0}
#app-root{grid-template-columns:250px minmax(0,1fr);grid-template-rows:72px minmax(0,1fr)}
#content{padding:26px 28px 34px}.page{max-width:1660px}.panel{border-color:#e0e6ee;box-shadow:var(--shadow)}
#topbar{padding:0 28px}.top-title strong{font-size:18px}.top-title small{font-size:11px}.role-pill{font-size:11px}
.nav-item{min-height:43px;font-size:13px}.side-section{font-size:10px}.side-user strong{font-size:13px}.side-user small{font-size:11px}
.page-head{align-items:center;margin-bottom:20px}.page-head h1{font-size:28px;line-height:1.1}.page-head p{margin-top:7px;font-size:13px;line-height:1.5}
.button{min-height:42px;padding:10px 15px;border-radius:11px;font-size:12px;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.button:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,23,42,.08)}.button.small{min-height:34px;padding:7px 10px;font-size:10px}
.panel-head{padding:16px 18px}.panel-head h2{font-size:16px}.panel-head small{font-size:10px}.panel-body{padding:18px}
.metric{padding:19px}.metric span{font-size:11px}.metric strong{font-size:26px}.metric small{font-size:10px}
.table{font-size:11px}.table th{padding:11px 13px;font-size:9px}.table td{padding:12px 13px}.stock-alert strong{font-size:12px}.stock-alert small{font-size:10px}
.field{gap:7px}.field label{font-size:10px}.field input,.field select,.field textarea,.input{min-height:44px;padding:10px 12px;border-radius:10px;font-size:13px}.hint{font-size:10px}.money-control{width:100%}.money-control input{display:block;width:100%;max-width:100%;min-width:0}.money-words{font-size:9px;overflow-wrap:anywhere}
.search input{min-height:44px;font-size:13px}.badge{font-size:9px}

/* POS catalog */
.pos-page{max-width:1760px}.pos-layout{grid-template-columns:minmax(0,1.45fr) minmax(430px,.75fr);gap:18px;align-items:start}
.pos-catalog,.cart{overflow:hidden}.pos-catalog-head{min-height:72px}.pos-catalog-head .search{min-width:260px}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.product-card{min-height:150px;padding:16px;border-radius:14px;display:flex;flex-direction:column;align-items:flex-start;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.product-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,23,42,.08)}.product-card strong{margin-top:10px;padding-right:55px;font-size:13px;line-height:1.35}.product-card small{font-size:10px;line-height:1.45}.product-card b{margin-top:auto;padding-top:14px;font-size:16px;letter-spacing:-.02em}.product-card .badge{position:absolute;right:11px;top:11px}.product-add{display:block;margin-top:7px;color:#8a6500;font-size:9px;font-weight:800;opacity:.8}

/* POS cart and editable selling price */
.cart{position:sticky;top:90px}.cart-head{background:linear-gradient(180deg,#fff,#fbfcfe)}.cart-body{padding:14px}.cart-list{gap:10px;max-height:min(34vh,360px);padding-right:2px}.cart-empty{padding:28px 16px}
.cart-line{display:block;padding:13px;border:1px solid #dfe5ed;border-radius:13px;background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.03)}.cart-line.price-overridden{border-color:#e6b32a;background:#fffdf6}.cart-line-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cart-line-copy{min-width:0}.cart-line-copy strong{font-size:12px;line-height:1.35}.cart-line-copy small{font-size:9px}.cart-remove{flex:0 0 32px;width:32px;height:32px;border:0;border-radius:9px;background:#fff0f0!important;color:#c71f1f!important;font-size:18px!important;line-height:1}.cart-price-row{display:grid;grid-template-columns:minmax(120px,.72fr) minmax(0,1.28fr);gap:12px;align-items:center;margin-top:12px;padding-top:11px;border-top:1px dashed #e3e7ee}.cart-price-row>label{display:grid;gap:2px;color:#455268;font-size:10px;font-weight:900}.cart-price-row>label small{margin:0;color:var(--muted);font-size:8px;font-weight:600}.cart-price-row .money-control{gap:0}.cart-price-row .money-words{display:none}.cart-price-input{height:40px!important;min-height:40px!important;text-align:right;font-size:13px!important;font-weight:850;background:#f8fafc!important}.cart-line-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:8px}.cart-line-foot>strong{margin-left:auto;font-size:13px;white-space:nowrap}.cart-price-warning{max-width:72%;margin:0!important;color:#9a6700!important;font-size:8px!important;line-height:1.35}

/* POS checkout steps */
.checkout-step{display:grid;gap:11px;margin-top:12px;padding:14px;border:1px solid #e0e6ee;border-radius:14px;background:#fbfcfe}.checkout-step-title{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center}.checkout-step-title>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#172033;color:#fff;font-size:12px;font-weight:950}.checkout-step-title>div>strong,.checkout-step-title>div>small{display:block}.checkout-step-title>div>strong{font-size:12px}.checkout-step-title>div>small{margin-top:2px;color:var(--muted);font-size:8px}.checkout-hint{font-size:9px}.choice-pills{gap:9px}.choice-pill{min-height:44px;font-size:11px}.choice-pill:has(input:checked){box-shadow:inset 0 0 0 1px #d6a100}.pos-discount-field{margin-top:1px}.totals{gap:9px;margin-top:1px}.total-row{font-size:11px}.total-row.grand{align-items:end;padding-top:4px;font-size:14px}.total-row.grand strong{font-size:22px;letter-spacing:-.035em;white-space:nowrap}
.checkout-due{text-align:right}.checkout-due small,.checkout-due strong{display:block}.checkout-due small{color:#8a6500!important;font-size:8px!important}.checkout-due strong{margin-top:2px;font-size:15px!important;white-space:nowrap}

/* POS payment: fixes narrow/overlapping amount input */
.payment-step{border-color:#ead38a;background:#fffdf8}.payment-list{display:grid;gap:9px}.payment-row{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) 36px;gap:9px;align-items:end;padding:10px;border:1px solid #e1e6ed;border-radius:12px;background:#fff;min-width:0}.payment-field{display:grid;gap:5px;min-width:0}.payment-field label{color:#667085;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.payment-field select,.payment-field input{display:block;width:100%;max-width:100%;min-width:0;height:42px;min-height:42px;padding:9px 10px;border:1px solid #d8dee8;border-radius:9px;background:#f9fafb;color:#172033;font-size:11px;outline:none}.payment-field select:focus,.payment-field input:focus{border-color:#dca900;box-shadow:0 0 0 3px rgba(245,184,0,.13)}.payment-amount-field input{text-align:right;font-weight:850;text-overflow:ellipsis}.payment-amount-field input::placeholder{color:#8490a3;font-size:10px;font-weight:700}.payment-amount-field .money-words{display:none}.payment-row>button{width:36px;height:42px;border:0!important;border-radius:9px!important;background:#fff0f0!important;color:#c71f1f!important;font-size:17px}.payment-row>button:disabled{opacity:.35;cursor:not-allowed}.payment-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.add-payment{justify-self:auto}.payment-status{flex:1;min-width:190px;padding:8px 10px;border-radius:9px;text-align:right;font-size:9px;font-weight:800}.payment-status.auto{background:#fff7d6;color:#806000}.payment-status.exact{background:#e8f7ef;color:#067647}.payment-status.under{background:#fff2e5;color:#a04b00}.payment-status.over{background:#eaf2ff;color:#245db5}
.checkout-button{display:flex;justify-content:space-between;width:100%;min-height:58px;margin-top:14px;padding:12px 16px;border-radius:14px;font-size:13px;box-shadow:0 10px 20px rgba(17,24,39,.16)}.checkout-button strong{font-size:17px}.checkout-meta{display:flex;justify-content:center;gap:6px;margin-top:8px;color:#778398}.checkout-meta span{color:#10b981;font-size:9px}.checkout-meta small{font-size:8px}

@media(max-width:1320px){.pos-layout{grid-template-columns:minmax(0,1.25fr) minmax(410px,.75fr)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){#app-root{grid-template-columns:210px minmax(0,1fr)}#content{padding:22px}.pos-layout{grid-template-columns:1fr}.cart{position:static}.cart-list{max-height:none}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  body{background:#f3f5f8}#app-root{padding-bottom:78px}#content{padding:14px 12px 20px}#topbar{height:60px;padding:0 12px}.page-head{gap:13px;margin-bottom:14px}.page-head h1{font-size:23px}.page-head p{font-size:11px}.page-head .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.page-head .actions>.button,.page-head .actions>select{width:100%;min-width:0}.button{min-height:42px;font-size:11px}.panel{border-radius:15px}.panel-head{padding:13px 14px}.panel-body{padding:12px}.cards{gap:9px}.metric{padding:14px}.metric span{font-size:9px}.metric strong{font-size:21px}.metric small{font-size:8px}.field input,.field select,.field textarea,.input{font-size:16px} /* prevents iOS zoom */
  .pos-page .page-head .actions{grid-template-columns:1.05fr .95fr}.pos-catalog-head{align-items:center;flex-direction:row}.pos-catalog-head .search{min-width:0}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px}.product-card{min-height:136px;padding:13px}.product-card strong{font-size:12px;padding-right:42px}.product-card small{font-size:9px}.product-card b{font-size:14px}.product-add{font-size:8px}
  .cart-body{padding:10px}.cart-list{gap:8px}.cart-line{padding:12px}.cart-price-row{grid-template-columns:minmax(110px,.72fr) minmax(0,1.28fr);gap:8px}.cart-price-input{font-size:16px!important}.checkout-step{margin-top:10px;padding:12px}.choice-pill{font-size:10px}.total-row.grand strong{font-size:21px}
  .payment-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) 34px;gap:7px;padding:9px}.payment-field select,.payment-field input{height:43px;min-height:43px;padding:8px;font-size:16px}.payment-amount-field input::placeholder{font-size:10px}.payment-row>button{width:34px;height:43px}.payment-footer{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.payment-status{min-width:0;text-align:right;font-size:8px}.checkout-button{min-height:58px;margin-top:11px}.checkout-button strong{font-size:16px}
  #mobile-nav{padding-top:8px}.mobile-nav-item{font-size:9px}.mobile-nav-item span{font-size:18px}.table{font-size:10px}.table th{font-size:8px}
}
@media(max-width:480px){
  #content{padding:12px 9px 18px}.page-head h1{font-size:21px}.pos-page .page-head .actions{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr}.product-card{min-height:125px}.cart-price-row{grid-template-columns:1fr}.cart-price-row>label{grid-template-columns:1fr auto;align-items:end}.cart-price-row>label small{text-align:right}.cart-line-foot{align-items:flex-start}.cart-price-warning{max-width:65%}.checkout-step-title{grid-template-columns:30px minmax(0,1fr)}.checkout-step-title>span{width:30px;height:30px}.checkout-due{grid-column:2;text-align:left;padding-top:2px}.checkout-due small,.checkout-due strong{display:inline;margin-right:5px}.payment-row{grid-template-columns:minmax(0,1fr) 34px;align-items:stretch}.payment-field{grid-column:1}.payment-row>button{grid-column:2;grid-row:1/3;height:100%;min-height:84px}.payment-footer{grid-template-columns:1fr}.payment-footer .add-payment{width:100%}.payment-status{text-align:left}.checkout-button{padding:12px 13px}.checkout-button strong{font-size:15px}.cards{grid-template-columns:1fr}.metric small{display:block}
}

/* report export toolbar */
.report-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.report-toolbar .report-presets{flex:1}.report-toolbar>[data-export-revenue]{white-space:nowrap}
@media(max-width:760px){.report-toolbar{display:grid;grid-template-columns:1fr}.report-toolbar .report-presets{justify-content:flex-start}.report-toolbar>[data-export-revenue]{width:100%;min-height:40px}.payment-status{line-height:1.45}}

/* ===== v1.6.0 login + repair workflow ===== */
.password-control{position:relative;min-width:0}.password-control>input{padding-right:48px!important}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:34px;padding:0;border:0;border-radius:9px;background:transparent;color:#667085}.password-toggle:hover,.password-toggle.is-visible,.password-toggle.active{background:#f2f4f7;color:#172033}.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.form-section .section-title-row h3{margin:0}.section-title-row small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}
.repair-builder{background:linear-gradient(180deg,#fff,#fbfcfe)}.repair-add-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.external-part-button{border:1px solid #f0c45b!important;background:#fff8df!important;color:#8a5a00!important}.button.ready{background:#e8f7ef;color:#067647;border:1px solid #b8e4cc}.repair-draft-list{display:grid;gap:10px}.repair-draft-row{padding:12px;border:1px solid #dfe5ed;border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.025)}.repair-draft-row[data-item-type="external_part"]{border-color:#ead38a;background:#fffdf7}.repair-draft-row[data-item-type="labor"]{border-color:#cce8d9;background:#fbfffc}.repair-draft-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.repair-draft-row-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.external-source-note{color:#946200;font-size:8px;font-weight:800}.repair-row-remove{width:30px;height:30px;border-radius:8px;color:#b42318;background:#fff5f5;border-color:#f5cccc;font-size:18px}.repair-line-grid{display:grid;grid-template-columns:minmax(220px,1.55fr) 70px minmax(145px,.9fr) minmax(145px,.9fr) minmax(145px,.9fr);gap:9px;align-items:start}.repair-line-grid .field{min-width:0}.repair-line-grid .field>span{color:#475569;font-size:8px;font-weight:900}.repair-line-description-field{grid-column:1/-1}.repair-line-grid input{min-height:38px}.repair-line-grid .money-words{font-size:7px}.repair-total-box{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;padding:14px 15px;border:1px solid #d8e0e9;border-radius:13px;background:#172033;color:#fff}.repair-total-box span,.repair-total-box small{display:block}.repair-total-box span{font-size:10px;font-weight:900}.repair-total-box small{margin-top:3px;color:#b8c2d1;font-size:8px}.repair-total-box strong{font-size:22px;white-space:nowrap}.quote-grid{margin-top:12px}.repair-current-total{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;margin-bottom:14px;padding:13px 14px;border:1px solid #cfe5da;border-radius:12px;background:#f2fbf6}.repair-current-total span{font-size:9px;font-weight:900;color:#476155}.repair-current-total strong{grid-row:1/3;grid-column:2;font-size:20px;color:#067647}.repair-current-total small{font-size:8px;color:var(--muted)}.external-part-callout{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;padding:11px 12px;border:1px solid #ead38a;border-radius:11px;background:#fff8df;color:#805b00}.external-part-callout strong,.external-part-callout span{display:block}.external-part-callout strong{font-size:10px}.external-part-callout span{font-size:8px;text-align:right}
.repair-search-panel{margin-bottom:14px}.repair-search-panel .panel-head{border-bottom:0}.repair-search-hint{padding:0 17px 13px;color:var(--muted);font-size:9px;line-height:1.5}.repair-line-preview{display:grid;gap:4px;margin-top:8px;padding:8px;border-radius:9px;background:#f8fafc}.repair-line-preview span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#586477;font-size:8px}.repair-line-preview b{color:#172033;font-size:8px}.repair-price-summary{display:grid;gap:5px;margin-top:9px;padding-top:8px;border-top:1px dashed #dbe1e8}.repair-price-summary span,.repair-price-summary strong{display:flex!important;align-items:center;justify-content:space-between;gap:8px}.repair-price-summary span{color:#687386;font-size:8px}.repair-price-summary span b{color:#4b5563}.repair-price-summary strong{font-size:10px!important}.repair-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.repair-card-title>strong{min-width:0}.repair-actions{gap:5px}.repair-card.ready-card{border-color:#9bd2b6;box-shadow:0 0 0 2px rgba(15,159,110,.06),0 5px 12px rgba(15,23,42,.05)}.repair-column:has(.ready-card){background:#e8f4ed}.repair-board.active-repairs{grid-template-columns:repeat(5,minmax(250px,1fr))}

@media(max-width:1000px){.repair-line-grid{grid-template-columns:minmax(200px,1.5fr) 70px 1fr 1fr}.repair-line-warranty-field{grid-column:1/3}.repair-line-description-field{grid-column:3/-1}}
@media(max-width:760px){
  .password-toggle{width:40px;height:38px}.section-title-row{align-items:flex-start}.repair-add-buttons{display:grid;grid-template-columns:1fr 1fr}.repair-add-buttons .button:last-child{grid-column:1/-1}.repair-line-grid{grid-template-columns:minmax(0,1fr) 70px}.repair-line-name-field{grid-column:1}.repair-line-grid>.field:not(.repair-line-name-field):not(.compact){grid-column:1/-1}.repair-line-warranty-field,.repair-line-description-field{grid-column:1/-1}.repair-line-grid input{min-height:43px;font-size:16px}.repair-draft-row{padding:11px}.repair-total-box{align-items:flex-end}.repair-total-box strong{font-size:19px}.external-part-callout{align-items:flex-start;flex-direction:column}.external-part-callout span{text-align:left}.repair-search-panel .panel-head{align-items:center;flex-direction:row}.repair-search-panel .search{min-width:0}.repair-search-hint{font-size:8px}.repair-board.active-repairs{grid-template-columns:repeat(5,270px)}
}
@media(max-width:480px){.repair-add-buttons{grid-template-columns:1fr}.repair-add-buttons .button:last-child{grid-column:auto}.repair-total-box{display:grid;gap:8px}.repair-total-box strong{justify-self:start}.repair-current-total strong{font-size:18px}.section-title-row{display:grid}.repair-search-panel .panel-head{display:grid;grid-template-columns:1fr auto}.repair-search-panel .search{grid-column:1/-1}}

.repair-line-preview>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px}.repair-line-preview>div>span{justify-content:flex-start}.repair-line-preview>div>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.repair-line-preview>div>b{white-space:nowrap;font-size:8px}

/* ===== v1.6.1 stock parts inside repair cost builder ===== */
.stock-part-button{border:1px solid #c8b9f4!important;background:#f6f2ff!important;color:#5b3faf!important}.repair-stock-draft-row{border-color:#d9d0f5;background:#fcfbff}.stock-source-note{color:#694db5;font-size:8px;font-weight:800}.repair-stock-draft-row select{min-height:38px;width:100%}.repair-stock-draft-row input[readonly]{background:#f7f8fb;color:#526072}.repair-stock-draft-row .repair-stock-cost[readonly]{background:#f7f8fb}.repair-stock-draft-row .repair-line-description-field input{font-size:9px;color:#687386}
@media(max-width:680px){.repair-add-buttons .button:last-child{grid-column:auto}.repair-stock-draft-row select{min-height:43px;font-size:16px}}

/* ===== v1.6.1 manage repair items after ticket creation ===== */
.repair-manager-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:13px}.repair-manage-list{display:grid;gap:9px}.repair-manage-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid #dfe5ed;border-radius:12px;background:#fff}.repair-manage-line-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;min-width:0}.repair-manage-line-main>div:first-child{min-width:0}.repair-manage-line-main strong,.repair-manage-line-main small{display:block}.repair-manage-line-main strong{margin-top:5px;font-size:11px}.repair-manage-line-main small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.4}.repair-manage-money{text-align:right;white-space:nowrap}.repair-manage-money b,.repair-manage-money small{display:block}.repair-manage-money b{font-size:12px}.repair-manage-money small{margin-top:3px;color:var(--muted);font-size:8px}
@media(max-width:680px){.repair-manager-actions{display:grid;grid-template-columns:1fr}.repair-manage-line{grid-template-columns:1fr}.repair-manage-line>.button{width:100%}.repair-manage-line-main{grid-template-columns:1fr}.repair-manage-money{text-align:left}}


/* ===== v1.6.2 POS quantity controls ===== */
.cart-quantity-row{display:grid;grid-template-columns:minmax(118px,.72fr) minmax(0,1.28fr);gap:12px;align-items:center;margin-top:11px;padding-top:11px;border-top:1px dashed #e3e7ee}.cart-quantity-copy{display:grid;gap:2px}.cart-quantity-copy>span{color:#455268;font-size:10px;font-weight:900}.cart-quantity-copy>small{margin:0!important;color:var(--muted);font-size:8px!important;font-weight:600}.cart-quantity-stepper{display:grid;grid-template-columns:40px minmax(54px,1fr) 40px;gap:6px;align-items:center}.cart-quantity-stepper button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #d9e0e8!important;border-radius:10px;background:#f8fafc!important;color:#172033!important;font-size:18px!important;font-weight:900;line-height:1}.cart-quantity-stepper button:hover:not(:disabled){border-color:#d6a100!important;background:#fff8df!important;color:#805b00!important}.cart-quantity-stepper button:disabled{opacity:.36;cursor:not-allowed}.cart-quantity-stepper input{width:100%;height:40px;min-width:0;padding:7px 8px;border:1px solid #d9e0e8;border-radius:10px;background:#fff;text-align:center;color:#172033;font-size:14px;font-weight:900;outline:0}.cart-quantity-stepper input:focus{border-color:#d6a100;box-shadow:0 0 0 3px rgba(245,184,0,.12)}.cart-quantity-fixed{display:grid;place-items:center;min-height:40px;border:1px solid #e1e6ed;border-radius:10px;background:#f8fafc;color:#667085;font-size:13px;font-weight:900}.cart-quantity-row.is-fixed{opacity:.88}
@media(max-width:480px){.cart-quantity-row{grid-template-columns:1fr;gap:7px}.cart-quantity-copy{grid-template-columns:1fr auto;align-items:end}.cart-quantity-copy>small{text-align:right}.cart-quantity-stepper{grid-template-columns:44px minmax(0,1fr) 44px}.cart-quantity-stepper button,.cart-quantity-stepper input{height:44px}.cart-quantity-stepper button{width:44px;font-size:20px!important}.cart-quantity-stepper input{font-size:16px}}

/* ===== v1.7.0 historical data, backdated records & audit log ===== */
.title-with-badge{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.title-with-badge h2,.title-with-badge strong{margin:0}.history-note{display:block;max-width:760px;margin-top:5px!important;color:#7c5b00!important;line-height:1.45;white-space:normal}
.historical-entry-step{border-color:#d9d0f5!important;background:linear-gradient(180deg,#fff 0%,#fcfaff 100%)}.historical-entry-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:11px}.historical-entry-grid .field{margin:0}.historical-entry-grid .hint{max-width:720px}.historical-entry-grid .button{margin-bottom:1px}.historical-repair-section{border-color:#d9d0f5;background:#fcfaff}.historical-warning{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:11px 12px;border:1px solid #f0cf86;border-radius:11px;background:#fff8df;color:#805b00}.historical-warning[hidden]{display:none}.historical-warning strong{white-space:nowrap;font-size:9px}.historical-warning span{font-size:8px;line-height:1.55}
.legacy-import-panel{margin-bottom:18px;border-color:#ead38a;background:linear-gradient(135deg,#fffdf4 0%,#fff 68%)}.legacy-import-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border-bottom:1px solid #f1e6bd}.legacy-import-head h2{font-size:14px}.legacy-import-head small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.legacy-import-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#f1e6bd}.legacy-import-metrics>div{padding:13px 15px;background:#fff}.legacy-import-metrics span,.legacy-import-metrics strong{display:block}.legacy-import-metrics span{color:var(--muted);font-size:8px;font-weight:800}.legacy-import-metrics strong{margin-top:5px;font-size:13px}.legacy-import-note{margin:0;padding:11px 17px;color:#6b5a21;font-size:8px;line-height:1.6;background:#fffaf0}
.audit-history{display:grid;gap:10px}.audit-entry{padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.audit-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.audit-entry-head strong,.audit-entry-head small{display:block}.audit-entry-head strong{font-size:10px}.audit-entry-head small{margin-top:3px;color:var(--muted);font-size:8px}.audit-entry-head time{color:var(--muted);font-size:8px;white-space:nowrap}.audit-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;padding-top:9px;border-top:1px dashed #dfe5ed}.audit-details>div{min-width:0;padding:7px 8px;border-radius:8px;background:#f8fafc}.audit-details span,.audit-details strong{display:block}.audit-details span{color:var(--muted);font-size:7px;font-weight:800}.audit-details strong{margin-top:3px;overflow-wrap:anywhere;font-size:8px;line-height:1.45}
.lookup-result .title-with-badge{justify-content:space-between}.lookup-result small{display:block;margin-top:4px;color:var(--muted);font-size:8px;line-height:1.45}
@media(max-width:900px){.legacy-import-metrics{grid-template-columns:1fr 1fr}.audit-details{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.historical-entry-grid{grid-template-columns:1fr}.historical-entry-grid .button{width:100%}.historical-warning{display:grid}.historical-warning strong{white-space:normal}.legacy-import-head{align-items:flex-start;flex-direction:column}.legacy-import-head .button{width:100%}.legacy-import-metrics{grid-template-columns:1fr 1fr}.audit-entry-head{display:grid}.audit-entry-head time{white-space:normal}.audit-details{grid-template-columns:1fr}}
@media(max-width:430px){.legacy-import-metrics{grid-template-columns:1fr}}

/* ===== v1.8.0 searchable histories, thousand-money entry, invoice maintenance & IMEI reconciliation ===== */
.money-thousand-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;align-items:stretch}.money-thousand-control>input{grid-column:1;grid-row:1;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.money-thousand-control>.money-unit{grid-column:2;grid-row:1;display:flex;align-items:center;padding:0 10px;border:1px solid #d8dee8;border-left:0;border-radius:0 10px 10px 0;background:#f8fafc;color:#586477;font-size:10px;font-weight:900;white-space:nowrap}.money-thousand-control>.money-words{grid-column:1/-1;grid-row:2;margin-top:4px}.money-thousand-control>input:focus+.money-unit{border-color:#e3ad00}.cart-price-row .money-thousand-control>.money-unit{font-size:9px;padding:0 8px}.cart-price-row .money-thousand-control>.money-words{display:none}
.history-searchbar{display:flex;align-items:center;gap:10px;margin-bottom:13px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}.history-searchbar .search{min-width:0}.history-section{display:grid;gap:10px;margin-bottom:15px}.history-section>.panel-head{padding:10px 0;border:0}.history-section>.panel-head h3{margin:0;font-size:12px}.history-section>.panel-head small{font-size:8px}.sale-history-card{grid-template-columns:minmax(0,1fr) minmax(190px,auto);align-items:start}.sale-history-main{min-width:0}.sale-history-summary{display:grid;gap:6px;min-width:180px;padding:9px 10px;border-radius:10px;background:#f8fafc}.sale-history-summary>span{display:flex;justify-content:space-between;gap:12px;color:#667085;font-size:8px}.sale-history-summary>span strong,.sale-history-summary>span b{color:inherit;font-size:10px}.sale-history-summary>.actions{margin-top:3px}.order-lines span small{display:block;margin-top:3px;color:#667085;font-size:8px;line-height:1.4}.deleted-history-section,.deleted-repair-history{margin-top:15px;border-top:1px solid var(--line);padding-top:13px}.deleted-history-list{display:grid;gap:9px}.deleted-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:12px;border:1px solid #f0caca;border-radius:12px;background:#fffafa}.deleted-history-item strong,.deleted-history-item small{display:block}.deleted-history-item small{margin-top:4px;color:var(--muted);font-size:8px}.deleted-lines{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.deleted-lines span{padding:4px 7px;border-radius:7px;background:#fff;font-size:8px}.pos-history-panel{margin-top:16px}.sale-edit-lines{display:grid;gap:10px}.sale-edit-line{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.sale-edit-line-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.sale-edit-line-head strong,.sale-edit-line-head small{display:block}.sale-edit-line-head small{margin-top:3px;color:var(--muted);font-size:8px}.sale-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.delete-warning{display:grid;gap:4px;margin-bottom:13px;padding:12px;border:1px solid #f0caca;border-radius:12px;background:#fffafa}.delete-warning strong{font-size:11px;color:#9f1c1c}.delete-warning span{font-size:9px;color:#7b5d5d}.report-list-head{align-items:flex-end}.report-search{max-width:430px}.imei-warning-panel{margin-bottom:14px;border-color:#ecd58e;background:#fffdf5}.warn-action{border-color:#e3ad00!important;background:#fff8df!important}.imei-reconcile-info{display:grid;gap:4px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.imei-reconcile-info strong{font-size:10px}.imei-reconcile-info span{color:var(--muted);font-size:8px;overflow-wrap:anywhere}.imei-reconcile-info.danger{border-color:#f0caca;background:#fffafa}.deleted-repair-history{margin-top:16px;padding-top:0;border-top:0}
@media(max-width:900px){.sale-edit-grid{grid-template-columns:1fr 1fr}.sale-history-card,.deleted-history-item{grid-template-columns:1fr}.sale-history-summary{min-width:0}.report-list-head{align-items:stretch;flex-direction:column}.report-search{width:100%;max-width:none}}
@media(max-width:620px){.history-searchbar{display:grid;grid-template-columns:1fr auto}.history-searchbar .search{grid-column:1/-1}.sale-edit-grid{grid-template-columns:1fr}.money-thousand-control>.money-unit{font-size:9px;padding:0 8px}.pos-history-panel .panel-head{align-items:stretch;flex-direction:column}.pos-history-panel .panel-head .button{width:100%}}

/* ===== v1.9.0 POS audit workspace + compact readable responsive UI ===== */
/* Global density/readability: larger text, less unused vertical space. */
@media(min-width:761px){
  #app-root{grid-template-columns:232px minmax(0,1fr);grid-template-rows:64px 1fr}
  #sidebar{padding:14px 10px}
  #topbar{padding:0 18px}
  #content{padding:18px}
  .side-brand{padding:2px 6px 13px}
  .side-brand .brand-mark{width:40px;height:40px;border-radius:12px;font-size:17px}
  .side-brand .brand-lockup{gap:10px}
  .side-brand .brand-lockup strong{font-size:14px;line-height:1.2}
  .side-brand .brand-lockup small{font-size:10px}
  .side-section{margin:8px 9px 5px;font-size:9px}
  .nav-list{gap:3px}
  .nav-item{min-height:39px;padding:8px 10px;border-radius:10px;font-size:14px;line-height:1.2}
  .nav-icon{width:21px;font-size:16px}
  .side-user{margin-top:12px;padding:10px}
  .side-user strong{font-size:12px}.side-user small{font-size:10px}.side-user button{margin-top:7px;padding:7px;font-size:10px}
  body.sidebar-compact #app-root{grid-template-columns:74px minmax(0,1fr)}
  body.sidebar-compact #sidebar{padding-left:8px;padding-right:8px}
  body.sidebar-compact .side-brand{display:grid;place-items:center;padding-bottom:12px}
  body.sidebar-compact .brand-copy,body.sidebar-compact .side-section,body.sidebar-compact .nav-label,body.sidebar-compact .side-user{display:none}
  body.sidebar-compact .nav-item{justify-content:center;padding:8px;gap:0}
  body.sidebar-compact .nav-icon{width:auto;font-size:18px}
}
@media(min-width:761px) and (max-height:760px){
  #sidebar{padding-top:9px;padding-bottom:9px}.side-brand{padding-bottom:8px}.side-user{margin-top:8px}.nav-item{min-height:36px;padding-block:6px}.side-section{margin-top:5px}
}
.top-title strong{font-size:16px}.top-title small{font-size:11px}.role-pill{font-size:11px}.icon-button{width:40px;height:40px}
.page{max-width:1640px}.page-head{margin-bottom:15px}.page-head h1{font-size:26px}.page-head p{font-size:13px;line-height:1.5}.page-head.compact-head{align-items:center}
.button{min-height:40px;padding:9px 13px;font-size:13px;border-radius:10px}.button.small{min-height:34px;padding:7px 10px;font-size:11px}
.panel-head{padding:14px 16px}.panel-head h2{font-size:15px}.panel-head small{font-size:11px}.panel-body{padding:15px}
.field{gap:6px}.field label{font-size:11px}.field input,.field select,.field textarea,.input{min-height:42px;padding:9px 11px;font-size:14px}.hint{font-size:10px}.search input{min-height:42px;font-size:14px}.badge{font-size:10px;padding:5px 8px}
.table{font-size:12px}.table th{padding:10px 12px;font-size:10px}.table td{padding:11px 12px}.table small{font-size:10px;line-height:1.4}
.metric span{font-size:11px}.metric strong{font-size:24px}.metric small{font-size:10px}.stock-alert strong{font-size:12px}.stock-alert small{font-size:10px}

/* POS navigation is now a first-class workspace rather than a long footer history. */
.pos-tabs{display:flex;align-items:center;gap:5px;margin:-2px 0 14px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.035);overflow-x:auto;scrollbar-width:thin}
.pos-tab{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 12px;border:0;border-radius:9px;background:transparent;color:#5d687b;font-size:12px;font-weight:800;white-space:nowrap}
.pos-tab:hover{background:#f6f8fb;color:#172033}.pos-tab.active{background:#172033;color:#fff;box-shadow:0 5px 12px rgba(15,23,42,.16)}.pos-tab>span{font-size:14px}.pos-tab>em{min-width:20px;padding:2px 6px;border-radius:999px;background:#eef2f6;color:#556070;font-size:9px;font-style:normal;text-align:center}.pos-tab.active>em{background:rgba(255,255,255,.15);color:#fff}

/* POS sell screen: show more useful content without making fonts tiny. */
.pos-page{max-width:1760px}.pos-layout{grid-template-columns:minmax(0,1.48fr) minmax(420px,.78fr);gap:14px;align-items:start}
.pos-catalog-head{min-height:60px}.pos-catalog-head .search{min-width:250px}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:12px}.product-card{min-height:124px;padding:12px;border-radius:12px}.product-card strong{margin-top:7px;padding-right:46px;font-size:13px;line-height:1.3}.product-card small{font-size:10px;line-height:1.35}.product-card b{padding-top:9px;font-size:15px}.product-add{margin-top:4px;font-size:9px}.product-card .badge{top:9px;right:9px}
.cart{position:sticky;top:78px;max-height:calc(100vh - 92px);display:flex;flex-direction:column}.cart>.panel-head{flex:0 0 auto}.cart>.cart-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:11px}.cart-list{gap:8px;max-height:min(31vh,300px)}.cart-line{padding:11px;border-radius:11px}.cart-line-copy strong{font-size:12px}.cart-line-copy small{font-size:10px}.cart-price-row,.cart-quantity-row{margin-top:9px;padding-top:9px}.cart-line-foot{margin-top:6px}.cart-line-foot>strong{font-size:13px}.cart-price-warning{font-size:9px!important}
.cart-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cart-summary-grid .checkout-step{min-width:0}.checkout-step{gap:9px;margin-top:9px;padding:11px;border-radius:12px}.cart-summary-grid>.checkout-step{margin-top:9px}.checkout-step-title{grid-template-columns:29px minmax(0,1fr) auto;gap:8px}.checkout-step-title>span{width:29px;height:29px;border-radius:9px}.checkout-step-title>div>strong{font-size:12px}.checkout-step-title>div>small{font-size:9px}.choice-pills{gap:6px}.choice-pill{min-height:39px;padding:8px;font-size:10px}.total-row{font-size:10px}.total-row.grand strong{font-size:18px}.payment-row{padding:8px}.payment-field label{font-size:9px}.payment-status{font-size:10px}.checkout-button{min-height:52px;margin-top:10px}.checkout-meta{margin-top:6px}.checkout-meta small{font-size:9px}

/* POS order / edit / delete / activity histories. */
.pos-history-workspace{overflow:visible}.pos-history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line)}.pos-history-toolbar h2{margin:0;font-size:17px}.pos-history-toolbar p{margin:3px 0 0;color:var(--muted);font-size:11px}.pos-history-search{flex:0 1 460px;min-width:280px}.pos-history-body{padding:14px}
.pos-order-grid,.pos-audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.pos-order-card,.pos-audit-card{min-width:0;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.035)}.pos-order-card:hover{border-color:#d5dce6;box-shadow:0 7px 18px rgba(15,23,42,.06)}.pos-order-card-head,.pos-audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pos-order-card-head strong,.pos-audit-head strong{font-size:13px}.pos-order-card-head small,.pos-audit-head small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.pos-order-total{font-size:15px;font-weight:900;white-space:nowrap}.pos-order-customer{display:flex;align-items:center;gap:7px;margin-top:9px;padding:7px 9px;border-radius:9px;background:#f7f9fb;font-size:10px}.pos-order-customer>span{color:var(--muted)}.pos-order-customer>strong{font-size:11px}.pos-order-customer>small{margin-left:auto;color:var(--muted)}.pos-order-lines{display:grid;gap:5px;margin-top:9px}.pos-order-lines>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:5px;border-bottom:1px dashed #e5e9ef;font-size:10px}.pos-order-lines>div:last-of-type{border-bottom:0}.pos-order-lines strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-order-lines span{color:#657086;white-space:nowrap}.pos-order-lines>small{color:var(--muted);font-size:9px}.pos-order-metrics,.pos-audit-money{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.pos-order-metrics>span,.pos-audit-money>span{padding:6px 8px;border-radius:8px;background:#f7f9fb;color:#657086;font-size:9px}.pos-order-metrics b,.pos-audit-money b{margin-left:4px;color:inherit}.pos-order-note{display:block;margin-top:8px;color:#7c5b00;font-size:9px;line-height:1.4}.pos-order-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}
.pos-audit-card.deleted{border-color:#efcdcd;background:#fffdfd}.pos-audit-reason{display:grid;gap:2px;margin-top:9px;padding:8px 9px;border-radius:9px;background:#f8fafc}.pos-audit-reason span{color:var(--muted);font-size:9px}.pos-audit-reason strong{font-size:11px;line-height:1.4}.pos-audit-time{display:block;margin-top:7px;color:var(--muted);font-size:9px}.pos-change-list,.pos-deleted-lines,.sale-audit-changes{display:grid;gap:6px;margin-top:9px}.pos-change-list>div,.pos-deleted-lines>div,.sale-audit-changes>div{padding:7px 8px;border:1px solid #e6eaf0;border-radius:8px;background:#fff}.pos-change-list strong,.pos-deleted-lines strong,.sale-audit-changes strong{display:block;font-size:10px}.pos-change-list small,.pos-deleted-lines small,.sale-audit-changes small{display:block;margin-top:2px;color:var(--muted);font-size:9px;line-height:1.4}.pos-audit-card>.button{margin-top:10px}
.pos-activity-timeline{display:grid;gap:2px}.pos-activity-item{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line)}.pos-activity-item:last-child{border-bottom:0}.pos-activity-dot{width:10px;height:10px;margin-left:5px;border:3px solid #fff;border-radius:50%;background:#e1ad00;box-shadow:0 0 0 1px #d7dee8}.pos-activity-copy{min-width:0}.pos-activity-copy>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pos-activity-copy strong{font-size:11px}.pos-activity-copy small{color:var(--muted);font-size:9px}.pos-activity-copy p{margin:3px 0 0;color:#667085;font-size:10px;line-height:1.4}
.sale-audit-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;margin-bottom:12px;padding:12px 13px;border:1px solid #dbe2ea;border-radius:11px;background:#f8fafc}.sale-audit-summary strong{font-size:14px}.sale-audit-summary span{grid-column:1;color:var(--muted);font-size:10px}.sale-audit-summary b{grid-column:2;grid-row:1/3;font-size:17px}.sale-audit-summary.deleted{border-color:#efcdcd;background:#fffafa}.sale-audit-history .audit-entry{padding:11px}.sale-audit-changes{padding-top:8px;border-top:1px dashed #dfe5ed}

@media(max-width:1450px) and (min-width:1101px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-layout{grid-template-columns:minmax(0,1.34fr) minmax(410px,.76fr)}}
@media(max-width:1100px) and (min-width:761px){#app-root{grid-template-columns:205px minmax(0,1fr)}#content{padding:16px}.pos-layout{grid-template-columns:1fr}.cart{position:static;max-height:none}.cart>.cart-body{overflow:visible}.cart-list{max-height:none}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-order-grid,.pos-audit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.pos-order-grid,.pos-audit-grid{grid-template-columns:1fr}.pos-history-toolbar{align-items:stretch;flex-direction:column}.pos-history-search{flex:auto;width:100%;min-width:0}}

@media(max-width:760px){
  #content{padding:12px 10px 20px}.top-title strong{font-size:15px}.page-head{margin-bottom:12px}.page-head h1{font-size:22px}.page-head p{font-size:12px}.button{min-height:44px;padding:9px 12px;font-size:12px}.button.small{min-height:38px;font-size:11px}.panel-head h2{font-size:14px}.panel-head small{font-size:10px}.badge{font-size:9px}.mobile-nav-item{font-size:9px}.mobile-nav-item span{font-size:18px}
  .pos-tabs{position:relative;margin:0 -1px 10px;padding:4px;gap:4px;border-radius:12px}.pos-tab{min-height:43px;padding:8px 10px;font-size:11px}.pos-tab>em{font-size:8px}.pos-page .page-head .actions{grid-template-columns:1fr 1fr}.pos-layout{gap:10px}.pos-catalog-head{min-height:auto}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}.product-card{min-height:118px;padding:11px}.product-card strong{font-size:12px;padding-right:38px}.product-card small{font-size:9px}.product-card b{font-size:14px}.product-add{font-size:9px}.cart{max-height:none}.cart>.cart-body{overflow:visible}.cart-list{max-height:none}.cart-summary-grid{grid-template-columns:1fr}.checkout-step{padding:11px}.checkout-step-title>div>strong{font-size:12px}.checkout-step-title>div>small{font-size:9px}.payment-field label{font-size:9px}.payment-status{font-size:9px}.pos-history-toolbar{padding:12px}.pos-history-toolbar h2{font-size:15px}.pos-history-toolbar p{font-size:10px}.pos-history-body{padding:9px}.pos-order-card,.pos-audit-card{padding:11px}.pos-order-total{font-size:14px}.pos-order-customer{align-items:flex-start;flex-wrap:wrap}.pos-order-customer>small{width:100%;margin-left:0}.pos-order-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.pos-order-actions .button{min-width:0;padding-inline:6px}.pos-activity-item{grid-template-columns:18px minmax(0,1fr)}.pos-activity-item>.button{grid-column:2;justify-self:start;min-height:35px}.sale-audit-summary{grid-template-columns:1fr}.sale-audit-summary span,.sale-audit-summary b{grid-column:1;grid-row:auto}.field input,.field select,.field textarea,.input,.search input{font-size:16px}
}
@media(max-width:480px){
  #content{padding-inline:8px}.page-head h1{font-size:21px}.pos-page .page-head .actions{grid-template-columns:1fr}.pos-tabs{margin-inline:-2px}.pos-tab{padding-inline:9px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}.product-card{min-height:115px;padding:10px}.product-card strong{font-size:11.5px}.product-card b{font-size:13px}.cart-body{padding:9px}.pos-order-actions{grid-template-columns:1fr 1fr}.pos-order-actions .button:first-child{grid-column:1/-1}.pos-order-lines>div{align-items:flex-start;flex-direction:column;gap:2px}.pos-order-lines span{white-space:normal}.pos-audit-money{display:grid;grid-template-columns:1fr 1fr}.pos-audit-money>span{display:flex;justify-content:space-between}.pos-history-body{padding:8px}.pos-activity-item{padding-block:9px}
}
@media(max-width:340px){.product-grid{grid-template-columns:1fr}.pos-order-actions{grid-template-columns:1fr}.pos-order-actions .button:first-child{grid-column:auto}}

/* ===== v1.10.0: nhận sửa riêng từ thợ / cửa hàng ===== */
.partner-repair-page{padding-bottom:30px}.partner-isolation-note{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;padding:12px 15px;border:1px solid #d9e2ef;border-radius:13px;background:linear-gradient(135deg,#f8fbff,#fff);color:#4b5870}.partner-isolation-note.compact{padding-block:10px}.partner-isolation-note strong{flex:0 0 auto;color:#1e3a5f;font-size:11px}.partner-isolation-note span{font-size:10px;line-height:1.5}.partner-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:12px;padding:5px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 16px rgba(15,23,42,.035)}.partner-tab{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:#64748b;font-size:11px;font-weight:800}.partner-tab>span{font-size:15px}.partner-tab>em{min-width:20px;padding:3px 6px;border-radius:999px;background:#edf2f7;color:#64748b;font-size:8px;font-style:normal}.partner-tab:hover{background:#f8fafc;color:var(--ink)}.partner-tab.active{background:var(--nav);color:#fff}.partner-tab.active>em{background:rgba(255,255,255,.14);color:#fff}.partner-search-panel{margin-bottom:12px}.partner-search-row{display:flex;align-items:center;gap:12px;padding:12px 14px}.partner-search-row>span{flex:0 0 auto;color:var(--muted);font-size:10px;font-weight:800}.partner-repair-grid,.partner-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.partner-history-grid{padding:12px}.partner-repair-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.035)}.partner-repair-card:hover{border-color:#cfd8e5;box-shadow:0 8px 20px rgba(15,23,42,.06)}.partner-repair-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.partner-repair-card-head>div{min-width:0}.partner-repair-card-head strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.partner-repair-card-head small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.partner-repair-issue{display:grid;gap:3px;margin-top:10px;padding:9px 10px;border-radius:10px;background:#f8fafc}.partner-repair-issue span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.partner-repair-issue strong{font-size:11px;line-height:1.4}.partner-repair-issue small{color:var(--muted);font-size:9px}.partner-repair-price{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:10px}.partner-repair-price span{color:var(--muted);font-size:9px}.partner-repair-price strong{font-size:17px;letter-spacing:-.03em}.partner-repair-note{margin:9px 0 0;color:#657086;font-size:9px;line-height:1.5}.partner-repair-meta{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding-top:8px;border-top:1px dashed #e3e8ef;color:var(--muted);font-size:8px}.partner-repair-actions{margin-top:10px}.partner-empty{grid-column:1/-1;border:1px dashed #d9e1eb;border-radius:14px;background:#fff}.partner-metrics{margin-top:0}.partner-stats-panel{margin-top:12px}.partner-year-select{width:110px!important;min-height:36px!important}.partner-year-summary{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;margin:12px;padding:14px 16px;border-radius:12px;background:#f8fafc}.partner-year-summary span{color:var(--muted);font-size:9px}.partner-year-summary strong{grid-column:2;grid-row:1/3;font-size:20px}.partner-year-summary small{font-size:9px;color:var(--muted)}.partner-log-list{display:grid;padding:6px 15px 14px}.partner-log-item{display:grid;grid-template-columns:16px minmax(0,1fr);gap:9px;padding:11px 0;border-bottom:1px solid var(--line)}.partner-log-item:last-child{border-bottom:0}.partner-log-dot{width:10px;height:10px;margin-top:4px;border:3px solid #fff;border-radius:50%;background:var(--brand);box-shadow:0 0 0 1px #ccd5e1}.partner-log-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.partner-log-head strong{font-size:11px}.partner-log-head time{flex:0 0 auto;color:var(--muted);font-size:8px}.partner-log-item small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.partner-log-change{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.partner-log-change span{padding:6px 8px;border-radius:8px;background:#f8fafc;color:#64748b;font-size:9px}.partner-history-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.partner-history-summary>div{padding:11px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.partner-history-summary span,.partner-history-summary strong{display:block}.partner-history-summary span{color:var(--muted);font-size:8px}.partner-history-summary strong{margin-top:5px;font-size:11px}.modal-partner-log{padding:0}
@media(max-width:1250px){.partner-repair-grid,.partner-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.partner-repair-page .page-head{align-items:stretch}.partner-repair-page .page-head .actions{width:100%}.partner-repair-page .page-head .button{width:100%}.partner-isolation-note{display:grid;gap:5px}.partner-isolation-note strong{font-size:12px}.partner-isolation-note span{font-size:10px}.partner-tabs{display:flex;overflow-x:auto;scrollbar-width:none;position:sticky;top:72px;z-index:7}.partner-tabs::-webkit-scrollbar{display:none}.partner-tab{flex:0 0 auto;min-width:145px;min-height:44px;font-size:11px}.partner-search-row{display:grid;grid-template-columns:1fr}.partner-search-row>span{justify-self:start}.partner-repair-grid,.partner-history-grid{grid-template-columns:1fr}.partner-history-grid{padding:9px}.partner-repair-card{padding:12px}.partner-repair-card-head strong{font-size:13px}.partner-repair-price strong{font-size:18px}.partner-repair-meta{font-size:9px}.partner-repair-actions{display:grid;grid-template-columns:1fr 1fr}.partner-history-summary{grid-template-columns:1fr 1fr}.partner-log-head{display:grid;gap:3px}.partner-log-head time{white-space:normal}.partner-log-change{display:grid;grid-template-columns:1fr}.partner-year-summary{grid-template-columns:1fr}.partner-year-summary strong{grid-column:1;grid-row:auto}.partner-year-select{width:100%!important}}
@media(max-width:430px){.partner-tabs{margin-inline:-2px}.partner-tab{min-width:132px}.partner-repair-card-head{display:grid}.partner-repair-card-head .badge{justify-self:start}.partner-repair-meta{display:grid}.partner-history-summary{grid-template-columns:1fr}.partner-repair-actions{grid-template-columns:1fr}}

/* ===== v1.10.1: Hoàng Tâm Mobile brand identity ===== */
:root{
  --ht-blue:#0b63f6;
  --ht-cyan:#14c7cf;
  --ht-brand-gradient:linear-gradient(135deg,var(--ht-blue),var(--ht-cyan));
}

/* Login / first setup */
.auth-showcase{
  background:
    radial-gradient(circle at 13% 10%,rgba(20,199,207,.25),transparent 28%),
    radial-gradient(circle at 88% 80%,rgba(11,99,246,.20),transparent 32%),
    linear-gradient(145deg,#0b1220,#101a2d 72%);
}
.auth-showcase:after{border-color:rgba(20,199,207,.10)}
.auth-brand-block{position:relative;z-index:1;display:flex;align-items:center;gap:16px}
.auth-brand-round{width:86px;height:86px;object-fit:contain;border-radius:50%;box-shadow:0 18px 48px rgba(0,0,0,.24)}
.auth-brand-copy strong{display:block;font-size:20px;letter-spacing:-.02em}
.auth-brand-copy small{display:block;margin-top:4px;color:#aab7ca;font-size:12px}
.auth-message h1 span{background:var(--ht-brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-panel{background:linear-gradient(180deg,#fff,#fbfdff)}
.auth-card{padding:4px 0}
.auth-panel-logo{display:flex;justify-content:flex-start;margin:0 0 16px}
.auth-panel-logo img{display:block;width:210px;max-width:62%;height:auto;object-fit:contain}
.auth-card h2{font-weight:850}
.auth-card form>.button.primary{background:linear-gradient(135deg,#111827,#1e293b);box-shadow:0 9px 20px rgba(15,23,42,.14)}

/* Main navigation brand */
#sidebar{background:linear-gradient(180deg,#0c1424 0%,#111827 52%,#0b1220 100%)}
.side-brand{padding-top:3px}
.brand-lockup{gap:11px}
.brand-mark{overflow:hidden;background:rgba(255,255,255,.96)!important;color:transparent!important;border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 26px rgba(0,0,0,.20)!important}
.brand-mark img{display:block;width:100%;height:100%;padding:5px;object-fit:contain}
.side-brand .brand-mark{width:45px;height:45px;border-radius:14px}
.side-brand .brand-lockup strong{font-size:14px;letter-spacing:-.015em}
.side-brand .brand-lockup small{color:#93a4bb;font-size:9.5px}
.nav-item.active{background:var(--ht-brand-gradient);color:#fff;box-shadow:0 6px 16px rgba(11,99,246,.20)}
.nav-item.active .nav-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}
.side-user{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.045)}

/* Header branding, primarily visible on compact/mobile layouts. */
.topbar-leading{display:flex;align-items:center;gap:10px;min-width:0}
.topbar-brand-mark{display:none;flex:0 0 34px;width:34px;height:34px;padding:4px;border:1px solid #e4e9f0;border-radius:10px;background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.06)}
.topbar-brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.top-title{min-width:0}
.top-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.role-pill{background:#ecfeff;color:#0f6f78;border:1px solid #c7f5f7}
.mobile-nav-item.active{color:#087cbd}

/* Compact sidebar keeps the real logo instead of the old text initials. */
@media(min-width:761px){
  body.sidebar-compact .side-brand .brand-mark{width:46px;height:46px;border-radius:14px}
}

@media(max-width:760px){
  .auth-showcase{min-height:230px;padding:22px 20px}
  .auth-brand-block{gap:11px}
  .auth-brand-round{width:58px;height:58px}
  .auth-brand-copy strong{font-size:15px}
  .auth-brand-copy small{font-size:10px}
  .auth-message h1{margin-top:26px;font-size:32px}
  .auth-panel{padding-top:22px}
  .auth-panel-logo{justify-content:center;margin-bottom:10px}
  .auth-panel-logo img{width:176px;max-width:58%}
  .topbar-brand-mark{display:inline-flex}
  .topbar-leading{gap:8px;max-width:calc(100% - 48px)}
  .top-title{max-width:min(54vw,360px)}
}

@media(max-width:430px){
  .auth-showcase{min-height:205px}
  .auth-message h1{font-size:28px;margin-top:20px}
  .auth-message p{font-size:12px;line-height:1.55}
  .auth-panel-logo img{width:154px}
  .topbar-brand-mark{flex-basis:31px;width:31px;height:31px;border-radius:9px}
  .top-title{max-width:48vw}
}
