
:root{--blue:#149dd6;--blue2:#0876ad;--bg:#f3f6fa;--card:#fff;--text:#162033;--muted:#718096;--line:#dfe6ee;--danger:#c94141}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.app{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:16px 13px;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow:auto}
.brand{display:flex;align-items:center;gap:10px;margin:4px 6px 14px}.brandmark,.auth-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--blue),#29b8e7);color:#fff;display:grid;place-items:center;font-size:25px;font-weight:800}.brand small,.userbox small{display:block;color:var(--muted)}
.userbox{display:flex;gap:9px;align-items:center;background:#f5f8fb;border-radius:11px;padding:10px;margin-bottom:10px}.navgroup{font-size:10px;color:#9aa6b8;font-weight:800;letter-spacing:.11em;margin:12px 10px 3px}
nav{display:grid;gap:2px}nav a,.logout{text-decoration:none;color:#354158;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:650}nav a:hover,nav a.active{background:#e8f5fc;color:var(--blue2)}.logout{margin-top:14px;color:#a03d3d}
main{padding:22px 26px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.topbar h1{margin:0;font-size:27px}.topbar p{margin:3px 0 0;color:var(--muted)}.search{width:280px}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:16px}.stat,.panel,.shortcut{background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:0 4px 14px rgba(20,30,50,.04)}.stat{padding:16px}.stat span{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase}.stat b{display:block;font-size:21px;margin-top:8px}
.shortcut-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.shortcut{text-decoration:none;color:var(--text);padding:22px;text-align:center;font-size:29px}.shortcut b{display:block;font-size:14px;margin-top:8px}
.panel{padding:17px;margin-bottom:17px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-head h2{font-size:17px;margin:0}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.form-grid label,.auth-card label{display:grid;gap:5px;color:#4d596d;font-size:12px;font-weight:750}.span2{grid-column:span 2}.form-actions{display:flex;align-items:end}
input,select,textarea{width:100%;border:1px solid #cdd7e3;border-radius:8px;background:#fff;padding:9px 10px;font:inherit}textarea{resize:vertical}.btn{border:1px solid #cbd7e2;background:#fff;border-radius:8px;padding:9px 13px;font-weight:750;cursor:pointer;text-decoration:none;color:var(--text);display:inline-block}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.danger{color:#fff;background:var(--danger);border-color:var(--danger)}.full{width:100%}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{border-bottom:1px solid var(--line);padding:9px 7px;text-align:left;vertical-align:top}th{font-size:11px;text-transform:uppercase;color:#617087;white-space:nowrap}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.badge{display:inline-block;border-radius:999px;background:#e9f5fc;color:#176d99;padding:4px 7px;font-size:10px;font-weight:800}
.flash{padding:10px 12px;border-radius:8px;background:#eef6ff;margin-bottom:12px}.flash.success{background:#e9f8f0;color:#146f4d}.flash.danger{background:#fff0f0;color:#a83f3f}
.auth-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#e7f7ff,#f5f7fa 45%);padding:24px}.auth-card{width:min(500px,100%);background:#fff;border:1px solid var(--line);padding:27px;border-radius:17px;box-shadow:0 18px 60px rgba(20,30,50,.12)}.auth-card h1{margin:12px 0 4px}.auth-card p{color:var(--muted)}.auth-card label{margin-bottom:11px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.shortcut-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.topbar{flex-direction:column;align-items:flex-start;gap:10px}.search{width:100%}.stats,.shortcut-grid,.form-grid{grid-template-columns:1fr}.span2{grid-column:span 1}main{padding:16px}}

.identifier-settings{border:2px solid #cbeaf8}
.info-box{background:#eef8fd;border:1px solid #cce9f5;border-radius:9px;padding:11px 13px;font-size:12px;color:#31566a;align-self:end}
.purchase-line{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:16px;background:#fbfdff}
.line-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.purchase-line-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}
.device-entry-section{margin-top:14px;border-top:1px solid var(--line);padding-top:13px}
.device-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.device-entry-header small{display:block;color:var(--muted);margin-top:3px}
.device-count-badge{background:#e8f5fc;color:#116a96;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}
.device-rows{display:grid;gap:7px;max-height:470px;overflow:auto;padding-right:3px}
.device-row{display:grid;grid-template-columns:42px minmax(220px,1fr) minmax(220px,1fr);gap:10px;align-items:end;background:#fff;border:1px solid #e1e8ef;border-radius:9px;padding:9px}
.device-number{width:32px;height:32px;border-radius:50%;background:#edf6fb;display:grid;place-items:center;color:#16709c;font-size:12px;font-weight:800;margin-bottom:2px}
.device-field span{display:block;font-size:11px;color:#637188;font-weight:750;margin-bottom:4px}
.invalid-id{border-color:#d64848 !important;background:#fff5f5 !important}
.hidden{display:none !important}
@media(max-width:1200px){.purchase-line-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.purchase-line-grid{grid-template-columns:1fr}.device-row{grid-template-columns:36px 1fr}.device-field{grid-column:2}}

.sale-scan-table td{min-width:120px}
.sale-scan-table td:nth-child(1){min-width:210px}
.sale-scan-table td:nth-child(2){min-width:250px}
.sale-imei-scan{font-weight:800;letter-spacing:.02em}
.imei-status{margin-top:5px;font-size:10px;font-weight:750;line-height:1.3}
.imei-status.valid{color:#13754f}
.imei-status.invalid{color:#b33636}
.imei-status.checking{color:#126c99}
.stock-source{font-size:10px;margin-top:5px;line-height:1.3}
.sale-location[readonly]{background:#f7f9fb}

.section-title{font-weight:850;font-size:14px;color:#30425a;margin:16px 0 10px;padding-bottom:7px;border-bottom:1px solid var(--line)}
.company-profile-grid{display:grid;grid-template-columns:220px 1fr;gap:20px}
.logo-card{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:14px}
.logo-preview{height:145px;border:1px dashed #b9c7d7;border-radius:10px;display:grid;place-items:center;background:white;margin-bottom:12px;overflow:hidden}
.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.logo-preview span{color:#9aa8b9;font-weight:900;letter-spacing:.12em}
.company-fields{grid-template-columns:repeat(3,1fr)}
.settings-actions{display:flex;gap:10px;flex-wrap:wrap}
.permission-toolbar{display:flex;gap:8px;margin:16px 0}
.permissions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.permission-card{border:1px solid var(--line);border-radius:11px;background:#fbfdff;overflow:hidden}
.permission-card-head{font-weight:850;background:#edf6fb;padding:10px 12px;color:#26556f}
.perm-row{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:8px!important;padding:8px 12px;border-top:1px solid #eef2f5;font-size:12px!important;font-weight:650!important;color:#39485d!important}
.perm-row input{width:auto!important;margin-top:2px}
@media(max-width:1100px){.company-profile-grid{grid-template-columns:1fr}.company-fields{grid-template-columns:repeat(2,1fr)}.permissions-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.company-fields,.permissions-grid{grid-template-columns:1fr}}

.subnav{font-size:11px!important;padding:6px 10px 6px 24px!important;color:#59687c!important}
.subnav:hover{color:var(--blue2)!important}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.module-card{background:#fff;border:1px solid var(--line);border-radius:14px;min-height:120px;padding:18px;text-decoration:none;color:var(--text);display:flex;gap:14px;align-items:center;box-shadow:0 4px 14px rgba(20,30,50,.04)}
.module-card:hover{border-color:#9ed7ef;transform:translateY(-1px)}
.module-card>span{font-size:38px}
.module-card b{display:block;font-size:16px;margin-bottom:5px}
.module-card small{display:block;color:var(--muted);line-height:1.4}
.search-big-wrap{display:grid;grid-template-columns:1fr auto;gap:10px}
.search-big{font-size:18px;padding:14px 16px}
.search-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
@media(max-width:1000px){.module-grid{grid-template-columns:repeat(2,1fr)}.search-result-grid{grid-template-columns:1fr}}
@media(max-width:700px){.module-grid{grid-template-columns:1fr}}

@media print{.sidebar,.topbar,.no-print{display:none!important}.app{display:block}main{padding:0}.panel{box-shadow:none;border:none}}

.main-module-nav{display:grid;gap:7px}.module-nav-btn{display:flex!important;align-items:center;gap:11px!important;padding:10px 12px!important;border-radius:11px!important;border:1px solid transparent!important;font-size:13px!important;font-weight:780!important;color:#34435a!important;transition:.18s ease;background:rgba(255,255,255,.58)}.module-nav-btn .nav-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#edf5fa;font-size:14px}.module-nav-btn:hover{transform:translateX(3px);border-color:#c8e6f4!important;background:#f0f9fd!important;box-shadow:0 5px 14px rgba(19,108,151,.08)}.feature-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:18px}.feature-hub-card{min-height:126px;display:flex;align-items:center;gap:15px;padding:18px;background:linear-gradient(145deg,#fff,#f9fcfe);border:1px solid #dce7ef;border-radius:16px;text-decoration:none;color:var(--text);box-shadow:0 7px 24px rgba(28,50,75,.055);transition:.2s ease}.feature-hub-card:hover{transform:translateY(-3px);border-color:#9ed8ef;box-shadow:0 12px 28px rgba(19,116,160,.13)}.feature-icon{width:54px;height:54px;display:grid;place-items:center;background:#ecf8fd;border-radius:14px;font-size:28px}.feature-copy{flex:1}.feature-copy b{display:block;font-size:16px;margin-bottom:6px}.feature-copy small{display:block;color:var(--muted);line-height:1.42}.feature-arrow{font-size:28px;color:#9bb5c5}.repair-status-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin-bottom:16px}.repair-status-card{text-decoration:none;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;text-align:center}.repair-status-card span{display:block;font-size:26px;font-weight:850;color:#159ed5}@media(max-width:1200px){.feature-hub-grid{grid-template-columns:repeat(2,1fr)}.repair-status-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.feature-hub-grid{grid-template-columns:1fr}.repair-status-grid{grid-template-columns:repeat(2,1fr)}}

.accounts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.account-dialog{max-width:1050px;margin:auto}.voucher-total{text-align:right;padding:16px;font-size:18px}.voucher-grid select,.voucher-grid input{min-width:130px}.voucher-paper{max-width:1000px;margin:auto;background:#fff}@media(max-width:1000px){.accounts-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.accounts-grid{grid-template-columns:1fr}}

.report-section{margin:20px 0}.report-section>h2{font-size:16px;margin:0 0 10px;color:#2e4258}.compact-report-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-report-grid .feature-hub-card{min-height:98px;padding:14px}.compact-report-grid .feature-icon{width:44px;height:44px;font-size:22px}.ewaste-card{border-color:#e6c66b;background:linear-gradient(145deg,#fffdf4,#fff8d9)}.ewaste-stat{background:#fff9df!important;border-color:#ead27c!important}.ewaste-row{background:#fff9df!important}.inline-ewaste-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.mini-input{max-width:125px;padding:7px!important;font-size:11px!important}@media(max-width:1200px){.compact-report-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.compact-report-grid{grid-template-columns:1fr}}

/* v1.9 role-based dashboard */
.dashboard-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#14273f,#1b91c5);color:#fff;border-radius:18px;padding:22px 25px;margin-bottom:16px;box-shadow:0 12px 32px rgba(19,77,110,.16)}
.dashboard-hero .eyebrow{font-size:10px;letter-spacing:.16em;font-weight:850;opacity:.7}.dashboard-hero h2{font-size:25px;margin:5px 0}.dashboard-hero p{margin:0;opacity:.78}.dash-date{font-size:12px;background:rgba(255,255,255,.13);padding:9px 12px;border-radius:10px}
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.kpi-card{display:block;text-decoration:none;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 15px;min-height:94px;box-shadow:0 5px 18px rgba(34,55,80,.045);transition:.18s ease}.kpi-card:hover{transform:translateY(-2px);border-color:#a9d9ed;box-shadow:0 10px 24px rgba(25,112,151,.10)}.kpi-card span{display:block;color:#718096;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.kpi-card b{display:block;font-size:20px;margin:7px 0 5px}.kpi-card small{display:block;color:var(--muted);font-size:10px}.kpi-card.accent{border-top:3px solid #1ca4da}.kpi-card.warning{border-top:3px solid #e7a52a}.kpi-card.danger-lite{border-top:3px solid #d75454}.kpi-card.success-lite{border-top:3px solid #29a66f}
.dash-module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.dash-module-grid a{text-decoration:none;color:var(--text);border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f8fcfe);border-radius:14px;padding:15px;min-height:105px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transition:.18s ease}.dash-module-grid a:hover{transform:translateY(-3px);border-color:#9ed8ef;box-shadow:0 10px 25px rgba(19,116,160,.11)}.dash-module-grid span{font-size:26px;margin-bottom:7px}.dash-module-grid b{font-size:13px}.dash-module-grid small{font-size:9px;color:var(--muted);margin-top:3px}
@media(max-width:1300px){.kpi-grid,.dash-module-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1000px){.kpi-grid,.dash-module-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.kpi-grid,.dash-module-grid{grid-template-columns:repeat(2,1fr)}.dashboard-hero{align-items:flex-start;gap:10px;flex-direction:column}}@media(max-width:480px){.kpi-grid,.dash-module-grid{grid-template-columns:1fr}}


/* v1.9.2 CellOn-inspired three-zone dashboard: sidebar -> KPI strip -> quick board */
.dashboard-workspace{display:grid;grid-template-columns:172px minmax(0,1fr);gap:16px;align-items:start}
.dashboard-live-strip{border-radius:15px;overflow:hidden;background:#eef4f7;border:1px solid #dbe6ec;box-shadow:0 7px 22px rgba(25,60,85,.06);position:sticky;top:16px}
.live-strip-head{padding:12px 11px;background:linear-gradient(180deg,#1da5dd,#158ec5);color:#fff;text-align:center}
.live-strip-head span{display:block;font-size:9px;letter-spacing:.18em;font-weight:900;opacity:.8}.live-strip-head b{font-size:13px}
.strip-stat{display:block;text-decoration:none;text-align:center;padding:10px 7px;border-bottom:1px solid rgba(130,155,170,.22);color:#294158;background:#f4f7f9;transition:.16s ease}
.strip-stat:hover{background:#eaf5fa;transform:translateX(2px)}
.strip-stat small{display:block;font-size:9px;color:#8797a4;font-weight:700;line-height:1.2;margin-bottom:3px}
.strip-stat strong{display:block;font-size:15px;color:#168fd0;line-height:1.15;font-weight:850;word-break:break-word}
.strip-stat em{display:block;font-size:8px;font-style:normal;color:#788995;margin-top:3px}
.strip-stat.strip-blue{background:linear-gradient(180deg,#21a6df,#1799d1);color:#fff;border-bottom-color:rgba(255,255,255,.16)}
.strip-stat.strip-blue small,.strip-stat.strip-blue em{color:rgba(255,255,255,.68)}.strip-stat.strip-blue strong{color:#fff}
.strip-stat.strip-blue:hover{background:linear-gradient(180deg,#159fdc,#1188be)}
.strip-stat.strip-ewaste{background:#fff6d9}.strip-stat.strip-ewaste strong{color:#9a7212}.strip-stat.strip-ewaste small{color:#9b8650}
.dashboard-main-board{min-width:0}.dashboard-hero-compact{margin-bottom:14px;padding:18px 21px}.dashboard-hero-compact h2{font-size:21px}
.quick-board-panel{padding:17px}.quick-board-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.quick-board-grid a{min-height:112px}
.compact-snapshot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.compact-snapshot-grid a{display:block;text-decoration:none;color:var(--text);border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#fbfdff}.compact-snapshot-grid a:hover{border-color:#a8d9ed;background:#f3fbfe}.compact-snapshot-grid span{display:block;color:#7b899a;font-size:9px;font-weight:800;text-transform:uppercase}.compact-snapshot-grid b{display:block;margin-top:5px;font-size:15px}
@media(max-width:1350px){.dashboard-workspace{grid-template-columns:155px minmax(0,1fr)}.quick-board-grid{grid-template-columns:repeat(4,1fr)}.compact-snapshot-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.dashboard-workspace{grid-template-columns:135px minmax(0,1fr)}.quick-board-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.dashboard-workspace{display:block}.dashboard-live-strip{position:static;display:grid;grid-template-columns:repeat(2,1fr);margin-bottom:14px}.live-strip-head{grid-column:1/-1}.strip-stat{border-right:1px solid rgba(130,155,170,.22)}.quick-board-grid{grid-template-columns:repeat(2,1fr)}.compact-snapshot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.dashboard-live-strip,.quick-board-grid,.compact-snapshot-grid{grid-template-columns:1fr}}

.repair-summary{grid-template-columns:repeat(4,1fr)}
.repair-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}
.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.detail-grid div{background:#f8fbfd;border:1px solid var(--line);border-radius:10px;padding:10px}.detail-grid small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;margin-bottom:4px}.detail-grid b{display:block}
.lab-actions{display:grid;gap:10px}.lab-actions form{display:flex;gap:8px;align-items:end}.lab-actions input{flex:1}
.repair-timeline{position:relative;padding:4px 0}.timeline-row{display:grid;grid-template-columns:24px 1fr;gap:8px;position:relative;padding-bottom:14px}.timeline-row:before{content:"";position:absolute;left:10px;top:18px;bottom:-4px;width:2px;background:#d8eaf3}.timeline-row:last-child:before{display:none}.timeline-dot{width:12px;height:12px;border-radius:50%;background:#1aa0d7;margin-top:7px;margin-left:5px;z-index:1;box-shadow:0 0 0 4px #eaf7fc}.timeline-card{background:#fbfdff;border:1px solid var(--line);border-radius:11px;padding:10px 12px}.timeline-card>div{display:flex;justify-content:space-between;gap:8px}.timeline-card p{margin:6px 0}.timeline-card small{color:var(--muted)}
@media(max-width:1000px){.repair-detail-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}.repair-summary{grid-template-columns:repeat(2,1fr)}}

/* v1.10.1 master-data lifecycle controls */
.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.btn.small{padding:7px 10px;font-size:12px}.btn.danger{background:#fff1f2;color:#b42318;border:1px solid #fecdd3}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.status-pill.ok{background:#ecfdf3;color:#067647}.status-pill.off{background:#f2f4f7;color:#667085}.row-actions select{padding:7px 9px;border:1px solid #d0d5dd;border-radius:8px;background:#fff}

.inline-master{display:flex;gap:8px;align-items:center}.inline-master select{flex:1}.quick-dialog{border:0;border-radius:16px;padding:22px;min-width:360px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.quick-dialog::backdrop{background:rgba(20,30,45,.38)}.quick-dialog form{display:grid;gap:12px}.quick-dialog label{display:grid;gap:5px;font-weight:700}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}

.report-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;align-items:end}
.filter-panel{padding:14px 16px}.filter-actions{display:flex;gap:7px;align-items:end}
.invoice-link{font-weight:850;color:#108fc7;text-decoration:none}.invoice-link:hover{text-decoration:underline}
.invoice-view-head{display:flex;justify-content:space-between;align-items:center}.invoice-actions{display:flex;gap:8px;align-items:center}
.lock-warning{border-left:5px solid #d64545;background:#fff8f8}.danger-badge{background:#ffe3e3!important;color:#a92323!important}
.edit-item-block{border:1px solid var(--line);border-radius:12px;padding:13px;margin:10px 0}.edit-item-title{font-weight:850;margin-bottom:10px}
.readonly-grid input{background:#f7f9fb}
@media(max-width:1200px){.report-filter-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.report-filter-grid{grid-template-columns:1fr}}
/* v1.10.3.3 search lifecycle */
.status-sold,.status-sold-out-of-stock{background:#ffe4e4!important;color:#a62b2b!important}.status-in-stock{background:#def6ea!important;color:#16764b!important}.status-e-waste{background:#fff0cf!important;color:#8a5c00!important}.invoice-link{font-weight:850;color:#0e91ca;text-decoration:none}.invoice-link:hover{text-decoration:underline}

.partial-lock-note{border-left:5px solid #e6a72c;background:#fffaf0}
.edit-ok{color:#138a5b;font-weight:800}
.edit-locked{color:#c74444;font-weight:800}
.locked-row{background:#f7f7f8!important;opacity:.78}
.locked-row input{background:#eceff2!important;color:#697384}
.edit-units-table input,.edit-units-table select{min-width:110px}
.return-search-row{display:flex;align-items:end;gap:10px}.return-search-row .grow{flex:1}
.purchase-return-search input{font-size:17px;padding:12px}
@media(max-width:800px){.return-search-row{display:grid;grid-template-columns:1fr}.edit-units-table{min-width:900px}}

.rule-panel{border-left:5px solid #1e9bd1}
.device-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.source-card{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;background:#fff}
.source-card input{width:auto;margin-right:8px}
.source-card b{font-size:16px}.source-card small{color:var(--muted)}
.stock-lookup-row{display:flex;gap:10px}.stock-lookup-row input{flex:1}
.lookup-result{padding:12px 2px}.stock-found{background:#eefbf5;border:1px solid #b9ead3;padding:12px;border-radius:10px;color:#166b4c}
.internal-stock-panel{border-left:5px solid #138a5b}
@media(max-width:800px){.device-source-grid{grid-template-columns:1fr}.stock-lookup-row{display:grid}}

.inline-field-action{display:flex;gap:8px;align-items:center}.inline-field-action select{flex:1}
.modal-backdrop{position:fixed;inset:0;background:rgba(20,31,50,.55);z-index:9999;align-items:center;justify-content:center;padding:20px}
.modal-card{width:min(460px,96vw);background:#fff;border-radius:18px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.22);display:grid;gap:12px}
.modal-title{display:flex;justify-content:space-between;align-items:center}.modal-title h2{margin:0}
.modal-x{border:0;background:transparent;font-size:28px;cursor:pointer}
.search-card-wide{grid-column:1/-1}

/* v1.10.3.6.4 multi-select / transactional UI */
.multi-filter-grid select[multiple]{min-height:105px;padding:6px}.multi-filter-grid label small{display:block;color:var(--muted);font-weight:400;margin:2px 0 5px}.status-blocked{display:inline-block;background:#fff0f0;color:#b42318;border:1px solid #f3b6b6;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.inline-return{display:flex;gap:5px;align-items:center}.inline-return input[type=number]{width:65px}.sale-edit-line{display:grid;grid-template-columns:2fr 1.4fr .6fr .8fr .65fr .65fr .65fr auto;gap:8px;margin-bottom:8px}.blank-price-box{width:150px;min-height:34px;border:1px solid #9ca3af;background:#fff}.lab-status-form{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;margin-top:12px;align-items:end}.public-track{background:#f3f6fb;padding:30px}.public-track-card{max-width:760px;margin:auto;background:#fff;padding:28px;border-radius:18px;box-shadow:0 10px 35px rgba(0,0,0,.08)}.tracking-current{background:#eef8fd;padding:18px;border-radius:14px;margin:18px 0}@media(max-width:1000px){.sale-edit-line{grid-template-columns:1fr 1fr}.lab-status-form{grid-template-columns:1fr}}@media print{.blank-price-box{border:1px solid #333!important;background:white!important}.price-list-print td,.price-list-print th{padding:8px!important}}


/* Universal Smart Multi-Select Filter Engine v1.10.3.6.5 */
.smart-filter-panel{overflow:visible;position:relative;z-index:20}
.smart-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;overflow:visible}
.smart-filter-keyword{grid-column:span 2}.smart-filter-keyword input{width:100%}
.smart-multiselect{position:relative;min-width:0}.smart-filter-label{display:block;font-weight:700;font-size:13px;margin:0 0 6px;color:#34425a}
.smart-select-trigger{width:100%;min-height:44px;border:1px solid #cfd9e8;background:#fff;border-radius:10px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#1e293b;font:inherit;text-align:left;cursor:pointer}
.smart-select-trigger:hover,.smart-select-trigger[aria-expanded="true"]{border-color:#1da6dc;box-shadow:0 0 0 3px rgba(29,166,220,.10)}
.smart-multiselect.has-selection .smart-select-trigger{background:#f4fbff;border-color:#92d5ef}.smart-chevron{font-size:18px;color:#718096}
.smart-select-menu{position:absolute;z-index:1000;top:calc(100% + 6px);left:0;width:max(100%,300px);max-width:min(420px,90vw);background:#fff;border:1px solid #d8e1ee;border-radius:12px;box-shadow:0 16px 42px rgba(28,45,72,.18);padding:10px}
.smart-option-search{width:100%;height:38px;border:1px solid #d8e1ee;border-radius:8px;padding:0 10px;margin:0 0 8px}
.smart-select-actions{display:flex;gap:8px;padding:0 0 8px;border-bottom:1px solid #edf1f6;margin-bottom:6px}.smart-select-actions button{border:0;background:#eef8fd;color:#0878aa;border-radius:7px;padding:6px 10px;font-weight:700;cursor:pointer}.smart-select-actions button:last-child{background:#f4f5f7;color:#586174}
.smart-option-list{max-height:245px;overflow:auto;padding:2px}.smart-option{display:flex;align-items:center;gap:9px;padding:8px;border-radius:7px;cursor:pointer;font-weight:500}.smart-option:hover{background:#f2f8fc}.smart-option input{width:17px;height:17px;accent-color:#1da6dc;flex:0 0 auto}.smart-option[hidden]{display:none!important}
.smart-filter-hint{font-size:11px;color:#6b778c;padding:8px 4px 2px}.smart-multiselect.is-loading .smart-select-trigger{opacity:.65}.smart-multiselect.is-loading .smart-chevron{animation:smartSpin .8s linear infinite}@keyframes smartSpin{to{transform:rotate(360deg)}}
.smart-filter-actions{display:flex;gap:8px;align-items:center;align-self:end}
@media(max-width:760px){.smart-filter-keyword{grid-column:1/-1}.smart-select-menu{position:fixed;left:12px;right:12px;top:18vh;width:auto;max-width:none}.smart-option-list{max-height:45vh}}

/* v1.10.3.6.6 Enterprise reporting / communications / backup */
.report-toolbar,.inline-send,.status-filter-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.quick-range{display:flex;gap:7px}.inline-send{justify-content:flex-start}.inline-send input{min-width:220px}.inline-send select{width:auto;min-width:120px}.communication-action-panel{border-left:5px solid #1da6dc}.enterprise-report-section{border-top:2px solid #d8edf7;padding-top:14px}.marketing-filter-wrap .panel{box-shadow:none;padding:12px 0;border:0}.marketing-filter-wrap .smart-filter-panel{margin:0}.settings-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.report-toolbar .btn{white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media(max-width:700px){.inline-send{display:grid;grid-template-columns:1fr}.inline-send input,.inline-send select{width:100%;min-width:0}}


/* v1.10.3.6.7 Stock Model + Universal Print/PDF */
.topbar-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.universal-print-actions{display:flex;gap:7px}.print-document-header{display:none}.imei-drawer summary{cursor:pointer;color:#0e91ca;font-weight:800}.imei-drawer-panel{position:absolute;right:24px;z-index:40;width:min(720px,70vw);background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 16px 42px rgba(28,45,72,.2);margin-top:7px}.imei-drawer-panel table{font-size:12px}.model-stock-table td{vertical-align:top}.model-stock-table details{position:relative}.printable-panel{page-break-inside:auto}
@page{size:A4 portrait;margin:11mm}@page landscape{size:A4 landscape;margin:9mm}
@media print{
  body{background:#fff!important;color:#111!important;font-size:9pt}.app{display:block!important}.sidebar,.topbar form,.universal-print-actions,.no-print,.flash,.smart-filter-panel,.filter-panel,.logout{display:none!important}.app main,main{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}.topbar{display:block!important;padding:0 0 7mm!important;border:0!important}.topbar h1{font-size:16pt!important;margin:2mm 0!important}.topbar p{display:none!important}.print-document-header{display:flex!important;align-items:center;gap:5mm;border-bottom:1px solid #555;padding-bottom:4mm;margin-bottom:4mm}.print-document-header img{max-width:28mm;max-height:18mm;object-fit:contain}.print-document-header div{display:grid;gap:1mm}.print-document-header b{font-size:14pt}.print-document-header span{font-size:8.5pt}.panel{box-shadow:none!important;border:0!important;padding:0!important;margin:0 0 5mm!important;background:#fff!important}.table-wrap{overflow:visible!important}table{width:100%!important;border-collapse:collapse!important;font-size:7.5pt!important}thead{display:table-header-group!important}tfoot{display:table-footer-group!important}tr{break-inside:avoid!important;page-break-inside:avoid!important}th,td{border:1px solid #999!important;padding:2.2mm 1.5mm!important;color:#111!important;background:#fff!important}th{font-weight:800!important;background:#eee!important}.btn,.row-actions,button,input[type=button],input[type=submit]{display:none!important}.blank-price-box{display:block!important;border:1px solid #444!important;min-height:7mm!important}.imei-drawer-panel{position:static!important;width:auto!important;border:0!important;box-shadow:none!important;padding:0!important}.imei-drawer summary{display:none!important}.print-landscape .printable-panel,.print-landscape table{page:landscape}
}
@media(max-width:900px){.topbar-actions{width:100%;justify-content:stretch}.topbar-actions form{flex:1}.universal-print-actions{flex:0 0 auto}.imei-drawer-panel{position:fixed;left:12px;right:12px;top:18vh;width:auto;max-height:60vh;overflow:auto}}

/* ============================================================
   v1.10.3.6.9 Universal summary footers + colorful sidebar
   ============================================================ */

/* Summary footer */
table.has-summary-footer{border-collapse:separate;border-spacing:0}
table tfoot.erp-summary-footer,
table tfoot[data-server-total]{position:sticky;bottom:0;z-index:4}
table tfoot.erp-summary-footer th,
table tfoot[data-server-total] th,
table tfoot[data-server-total] td{
  background:linear-gradient(180deg,#eef5f9,#e4eef4)!important;
  color:#173149!important;
  border-top:2px solid #8eafc3!important;
  border-bottom:1px solid #c4d5df!important;
  font-weight:850!important;
  padding-top:11px!important;
  padding-bottom:11px!important;
  box-shadow:0 -3px 10px rgba(31,60,82,.06);
  white-space:nowrap;
}
table tfoot .summary-label{text-align:left!important;white-space:normal!important}
table tfoot .summary-label strong{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
table tfoot .summary-label small{display:block;margin-top:2px;color:#6c7e8d;font-size:9px;font-weight:700;text-transform:none;letter-spacing:0}
table tfoot .summary-number{text-align:left;font-variant-numeric:tabular-nums}
table tfoot .summary-na{color:#8696a3!important;font-weight:700!important}
.table-wrap table tfoot.erp-summary-footer{bottom:0}

/* Modern color-coded sidebar */
.sidebar{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 68%,#f7fafc 100%)}
.main-module-nav{display:grid;gap:7px;padding:2px 0}
.module-nav-btn{
  --nav-accent:#64748b;
  --nav-soft:#f1f5f9;
  --nav-border:#dbe3ea;
  position:relative;
  display:flex!important;
  align-items:center;
  gap:11px!important;
  min-height:45px;
  padding:9px 11px!important;
  border-radius:12px!important;
  border:1px solid transparent!important;
  color:#334155!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 2px 8px rgba(15,23,42,.025);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
  overflow:hidden;
}
.module-nav-btn::before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:0 7px 7px 0;
  background:var(--nav-accent);opacity:0;transform:scaleY(.45);transition:.18s ease;
}
.module-nav-btn .nav-icon{
  width:29px;height:29px;display:grid;place-items:center;flex:0 0 29px;
  border-radius:9px;background:var(--nav-soft)!important;color:var(--nav-accent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nav-accent) 14%,transparent);
  transition:.18s ease;
}
.module-nav-btn .nav-label{flex:1;min-width:0}
.module-nav-btn:hover{
  transform:translateX(3px) translateY(-1px)!important;
  background:var(--nav-soft)!important;
  border-color:var(--nav-border)!important;
  color:#172033!important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--nav-accent) 12%,transparent)!important;
}
.module-nav-btn:hover .nav-icon{transform:scale(1.06);box-shadow:0 4px 12px color-mix(in srgb,var(--nav-accent) 18%,transparent)}
.module-nav-btn.active{
  background:linear-gradient(90deg,var(--nav-soft),#fff 92%)!important;
  color:#172033!important;
  border-color:var(--nav-border)!important;
  box-shadow:0 7px 18px color-mix(in srgb,var(--nav-accent) 13%,transparent)!important;
  font-weight:850!important;
}
.module-nav-btn.active::before{opacity:1;transform:scaleY(1)}
.module-nav-btn.active .nav-icon{background:var(--nav-accent)!important;color:#fff!important;box-shadow:0 5px 14px color-mix(in srgb,var(--nav-accent) 28%,transparent)}
.nav-dashboard{--nav-accent:#4f46e5;--nav-soft:#eef2ff;--nav-border:#c7d2fe}
.nav-search{--nav-accent:#0891b2;--nav-soft:#ecfeff;--nav-border:#a5f3fc}
.nav-purchase{--nav-accent:#059669;--nav-soft:#ecfdf5;--nav-border:#a7f3d0}
.nav-stock{--nav-accent:#d97706;--nav-soft:#fff7ed;--nav-border:#fed7aa}
.nav-sales{--nav-accent:#7c3aed;--nav-soft:#f5f3ff;--nav-border:#ddd6fe}
.nav-repair{--nav-accent:#e11d48;--nav-soft:#fff1f2;--nav-border:#fecdd3}
.nav-accounts{--nav-accent:#047857;--nav-soft:#ecfdf5;--nav-border:#a7f3d0}
.nav-reports{--nav-accent:#0284c7;--nav-soft:#f0f9ff;--nav-border:#bae6fd}
.nav-configure{--nav-accent:#475569;--nav-soft:#f1f5f9;--nav-border:#cbd5e1}
.nav-marketing{--nav-accent:#db2777;--nav-soft:#fdf2f8;--nav-border:#fbcfe8}
.nav-clients{--nav-accent:#2563eb;--nav-soft:#eff6ff;--nav-border:#bfdbfe}
.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:var(--nav-accent);color:#fff;font-size:9px;font-weight:900;box-shadow:0 2px 7px color-mix(in srgb,var(--nav-accent) 25%,transparent)}

/* Preserve v6.8 attachments styling */
.attachment-upload{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px}.attachment-card{border:1px solid #d9e4ec;border-radius:12px;overflow:hidden;background:#fff}.attachment-card img{width:100%;height:150px;object-fit:cover;display:block}.attachment-card>div{padding:10px;display:grid;gap:4px}.attachment-card small{display:block;color:#6c7d90;overflow-wrap:anywhere}

@media print{
  table tfoot.erp-summary-footer,table tfoot[data-server-total]{position:static!important;display:table-footer-group!important}
  table tfoot.erp-summary-footer th,table tfoot[data-server-total] th,table tfoot[data-server-total] td{background:#e9eef2!important;color:#111!important;box-shadow:none!important;border-top:2px solid #555!important}
  .attachment-upload,.attachment-card form{display:none!important}
}
@media(max-width:760px){.module-nav-btn{min-height:43px}}



/* ==========================================================
   v1.10.3.6.10 — High-visibility universal lookup + header search
   ========================================================== */
.module-nav-btn.nav-search,
.module-nav-btn.nav-search:visited{
  --nav-accent:#dc2626!important;
  --nav-soft:#fee2e2!important;
  --nav-border:#ef4444!important;
  background:linear-gradient(135deg,#ef4444,#dc2626)!important;
  border-color:#dc2626!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:0 7px 18px rgba(220,38,38,.22)!important;
}
.module-nav-btn.nav-search .nav-icon{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.module-nav-btn.nav-search .nav-label{color:#fff!important}
.module-nav-btn.nav-search::before{background:#7f1d1d!important;opacity:1!important;transform:scaleY(.72)!important}
.module-nav-btn.nav-search:hover{
  background:linear-gradient(135deg,#dc2626,#b91c1c)!important;
  border-color:#991b1b!important;
  color:#fff!important;
  transform:translateX(3px) translateY(-1px)!important;
  box-shadow:0 10px 22px rgba(185,28,28,.30)!important;
}
.module-nav-btn.nav-search.active{
  background:linear-gradient(135deg,#b91c1c,#991b1b)!important;
  color:#fff!important;
  border-color:#7f1d1d!important;
  box-shadow:0 11px 24px rgba(153,27,27,.32)!important;
}
.module-nav-btn.nav-search.active .nav-icon{background:#fff!important;color:#dc2626!important}

.top-search-form{display:flex;align-items:center;gap:8px;margin:0}
.top-search-form .search{min-width:280px}
.top-search-btn{white-space:nowrap;min-height:40px;padding-inline:14px!important;border-radius:10px!important;font-weight:850!important}
.purchase-stock-metric{border-color:#b7e4cf!important;background:linear-gradient(145deg,#f3fff8,#ecfdf5)!important}
.purchase-stock-metric b{color:#087a50!important}
.purchase-stock-metric small{display:block;margin-top:4px;color:#5f7f70;font-size:11px}
.purchase-overview-stats{margin-bottom:16px}

@media(max-width:900px){
  .top-search-form{width:100%}
  .top-search-form .search{min-width:0;flex:1;width:auto}
  .top-search-btn{flex:0 0 auto}
}

/* v1.10.3.6.10.4 — Global device lifecycle timeline */
.lifecycle-details summary{cursor:pointer;font-weight:700;color:#0f5f8f;white-space:nowrap}
.lifecycle-list{min-width:320px;max-width:460px;padding:8px 0}
.lifecycle-event{padding:8px 10px;border-left:3px solid #38a3d1;background:#f8fbfd;margin:6px 0;border-radius:0 8px 8px 0;line-height:1.35}
.lifecycle-event small{display:block;margin-top:3px}

/* v1.10.3.6.10.5 sale invoice workflow */
.readonly-auto{background:#f5f7fb!important;color:#43536a;font-weight:700}
.sale-live-total{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border:1px solid #cfe7f5;border-radius:12px;background:#f2fbff;min-width:180px}.sale-live-total strong{font-size:1.35rem;color:#0b83b8}.promo-status.valid{color:#137a48;font-weight:700}.promo-status.invalid{color:#c93636;font-weight:700}.promo-status.warning{color:#a66a00;font-weight:700}.promo-status.checking{color:#2478a8}.sale-header-grid,.sale-footer-grid{align-items:end}
