:root {
  --nvt-navy-950:#102338; --nvt-navy-900:#17324d; --nvt-blue-600:#2563eb;
  --nvt-blue-50:#eff6ff; --nvt-green-600:#059669; --nvt-amber-600:#d97706;
  --nvt-red-600:#dc2626; --nvt-slate-900:#172033; --nvt-slate-700:#374151;
  --nvt-slate-500:#6b7280; --nvt-slate-300:#d1d5db; --nvt-slate-200:#e5e7eb;
  --nvt-slate-100:#f3f4f6; --nvt-surface:#fff; --nvt-bg:#f5f7fa;
  --nvt-radius:10px; --nvt-shadow:0 1px 3px rgba(16,35,56,.08),0 1px 2px rgba(16,35,56,.05);
}
*{box-sizing:border-box} body{background:var(--nvt-bg)!important;color:var(--nvt-slate-900);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.app-shell-header{position:sticky;top:0;z-index:1040;background:var(--nvt-navy-950);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 2px 8px rgba(15,23,42,.16)}
.app-shell-bar{position:relative;max-width:1500px;margin:auto;min-height:62px;padding:0 20px;display:flex;align-items:center;gap:24px}
.app-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:750;white-space:nowrap}.app-brand:hover{color:#fff}
.app-brand-mark{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#2d83d5;color:#fff}
.app-nav{display:flex;align-self:stretch;gap:4px}.app-nav a{display:flex;align-items:center;gap:7px;padding:0 14px;color:#cbd5e1;text-decoration:none;font-size:.88rem;font-weight:650;border-bottom:3px solid transparent}
.app-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}.app-nav a.active{color:#fff;border-bottom-color:#60a5fa;background:rgba(96,165,250,.12)}
.app-user{margin-left:auto;display:flex;align-items:center;gap:10px;color:#dbeafe;font-size:.82rem}.app-user-name{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-user a{color:#dbeafe;text-decoration:none;padding:7px 9px;border-radius:6px}.app-user a:hover{background:rgba(255,255,255,.1);color:#fff}
.app-mobile-toggle{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;border-radius:7px;padding:7px 10px}
.app-page-head{max-width:1500px;margin:0 auto 16px;padding:20px 20px 0;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.app-page-head h1{margin:0;color:var(--nvt-slate-900);font-size:1.55rem!important;font-weight:760!important;background:none!important;-webkit-text-fill-color:initial!important}
.app-page-head p{margin:4px 0 0;color:var(--nvt-slate-500);font-size:.9rem}.app-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.app-card{background:var(--nvt-surface);border:1px solid var(--nvt-slate-200);border-radius:var(--nvt-radius);box-shadow:var(--nvt-shadow)}
.app-section-title{font-size:.95rem;font-weight:750;color:var(--nvt-slate-900);display:flex;align-items:center;gap:8px}
.app-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.app-kpi{background:#fff;border:1px solid var(--nvt-slate-200);border-radius:9px;padding:14px 16px}.app-kpi-label{font-size:.73rem;color:var(--nvt-slate-500);font-weight:700;text-transform:uppercase;letter-spacing:.035em}.app-kpi-value{font-size:1.45rem;font-weight:780;line-height:1.2;margin-top:5px}.app-kpi-note{font-size:.75rem;color:var(--nvt-slate-500);margin-top:3px}
.btn{border-radius:7px!important;font-weight:650}.btn-primary{background:var(--nvt-blue-600)!important;border-color:var(--nvt-blue-600)!important}.btn-danger{background:var(--nvt-red-600)!important;border-color:var(--nvt-red-600)!important}
.form-control,.form-select,.select2-selection{border-color:var(--nvt-slate-300)!important;border-radius:7px!important;min-height:38px}.form-control:focus,.form-select:focus{border-color:#60a5fa!important;box-shadow:0 0 0 3px rgba(37,99,235,.13)!important}
.table{--bs-table-bg:transparent}.table thead th{font-size:.75rem!important;letter-spacing:.025em;white-space:nowrap}.table tbody td{font-size:.84rem!important}.table-responsive{scrollbar-width:thin}
.app-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:700}.app-status-success{background:#dcfce7;color:#166534}.app-status-warning{background:#fef3c7;color:#92400e}.app-status-muted{background:#f1f5f9;color:#475569}
.app-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid rgba(37,99,235,.45)!important;outline-offset:2px}
@media(max-width:850px){.app-shell-bar{min-height:56px;flex-wrap:wrap;padding:10px 14px}.app-mobile-toggle{display:block}.app-nav{display:none;width:100%;height:auto;flex-direction:column}.app-nav.open{display:flex}.app-nav a{min-height:42px;border-bottom:0;border-left:3px solid transparent}.app-nav a.active{border-left-color:#60a5fa}.app-user{position:absolute;right:58px;top:13px}.app-user-name{display:none}.app-page-head{padding:16px 14px 0;align-items:flex-start;flex-direction:column}.app-page-actions{width:100%}}
@media(max-width:575px){.app-page-head h1{font-size:1.3rem!important}.app-page-actions .btn{flex:1}.app-kpis{grid-template-columns:1fr 1fr}.table tbody td{font-size:.8rem!important}}

/* Scanner workstation */
.scanner-page .main-container{max-width:1500px;padding:0 20px 28px}.scanner-page .scanner-heading{padding-left:0;padding-right:0}
.scanner-page .stats-badge{background:#fff!important;color:var(--nvt-slate-700)!important;border:1px solid var(--nvt-slate-200);box-shadow:none;padding:7px 11px;border-radius:7px;font-size:.8rem}
.scanner-page .main-panel{grid-template-columns:minmax(320px,390px) 1fr;min-height:650px;border:1px solid var(--nvt-slate-200);border-radius:var(--nvt-radius);box-shadow:var(--nvt-shadow)}
.scanner-page .left-panel{background:#f8fafc;border-right:1px solid var(--nvt-slate-200)}.scanner-page .panel-title{border-bottom:0;padding-bottom:0;margin-bottom:14px}
.scanner-page .issue-chip{border-width:1px}.scanner-page .issue-chip:hover{background:var(--nvt-blue-50)}.scanner-page .issue-chip.selected{box-shadow:0 0 0 2px rgba(37,99,235,.15)}
.scanner-page .scanner-area{border:2px dashed #94a3b8;background:#f8fafc}.scanner-page #imeiInput{font-variant-numeric:tabular-nums;letter-spacing:.08em}
.scanner-page .scanned-list{border:1px solid var(--nvt-slate-200);box-shadow:none}.scanner-page .btn-finish{background:var(--nvt-blue-600);box-shadow:none}
@media(max-width:980px){.scanner-page .main-panel{grid-template-columns:1fr}.scanner-page .left-panel{border-right:0;border-bottom:1px solid var(--nvt-slate-200);max-height:none}.scanner-page .issues-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.scanner-page .main-container{padding:0 12px 20px}.scanner-page .issues-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scanner-page .right-panel,.scanner-page .left-panel{padding:16px 12px}.scanner-page .scanner-heading .app-page-actions{display:grid;grid-template-columns:1fr 1fr}.scanner-page .stats-badge{display:block;text-align:center}.scanner-page #btnViewAll{grid-column:1/-1}}

/* Repair records */
.repairs-page .container-fluid{max-width:1500px;padding:0 20px 32px}.repairs-page .repairs-heading{padding-left:0;padding-right:0}
.repairs-page .summary-section{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.repairs-page .summary-card{padding:13px 15px;box-shadow:var(--nvt-shadow);border-color:var(--nvt-slate-200)}
.repairs-page .summary-card-content .value{font-size:1.35rem}.repairs-page .summary-card-content .label{font-size:.75rem}
.repairs-page .filter-section,.repairs-page .table-section{border-color:var(--nvt-slate-200);box-shadow:var(--nvt-shadow)}.repairs-page .filter-section{background:#fff}
.repairs-page .table-header{background:#f8fafc;border-bottom:1px solid var(--nvt-slate-200)}.repairs-page .table thead th{background:var(--nvt-navy-900)!important;border-color:#294866!important}
.repairs-page .table tbody td{padding:10px 11px!important}.repairs-page .issue-badge{font-size:.72rem}.repairs-page .action-btn{width:32px;height:32px;font-size:.78rem}
.repairs-page .pagination-wrapper{padding:15px;border-top:1px solid var(--nvt-slate-200)}
.repairs-page .combined-filter-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(210px,1.3fr) minmax(125px,.5fr) minmax(125px,.5fr) auto;gap:12px;align-items:end}.repairs-page .repair-search-field{min-width:0}.repairs-page .model-picker-field{min-width:0}.repairs-page .search-box{position:relative}.repairs-page .search-box .form-control{padding-left:40px;padding-right:92px;height:42px}.repairs-page .search-activity{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.72rem;color:var(--nvt-slate-500);pointer-events:none}.repairs-page .filter-actions{display:flex;gap:7px}.repairs-page .filter-actions .btn{height:42px;display:inline-flex;align-items:center;justify-content:center}.repairs-page .table-section.is-loading{opacity:.58;pointer-events:none}.repairs-page .table-section{transition:opacity .14s ease}.repairs-page .record-count strong{color:var(--nvt-slate-900)}
@media(max-width:900px){.repairs-page .summary-section{grid-template-columns:1fr 1fr}.repairs-page .filters-row{grid-template-columns:1fr 1fr}.repairs-page .filters-row>div:last-child{grid-column:1/-1}.repairs-page .table-responsive{overflow-x:auto}}
@media(max-width:900px){.repairs-page .combined-filter-form{grid-template-columns:1fr 1fr}.repairs-page .repair-search-field{grid-column:1/-1}.repairs-page .model-picker-field{grid-column:1/-1}.repairs-page .filter-actions{grid-column:1/-1}}
@media(max-width:575px){.repairs-page .container-fluid{padding:0 12px 24px}.repairs-page .summary-section{grid-template-columns:1fr 1fr}.repairs-page .filters-row,.repairs-page .combined-filter-form{grid-template-columns:1fr}.repairs-page .repair-search-field,.repairs-page .model-picker-field,.repairs-page .filter-actions{grid-column:auto}.repairs-page .filter-actions{display:grid;grid-template-columns:1fr 1fr auto}.repairs-page .app-page-actions{display:grid;grid-template-columns:1fr 1fr}.repairs-page .app-page-actions .btn-warning{grid-column:1/-1}}

/* Reports */
.reports-page .container-fluid{max-width:1500px;padding:0 20px 34px}.reports-page .reports-heading{padding-left:0;padding-right:0}.reports-page .report-kpis{margin-bottom:14px}
.reports-page .report-section{border-color:var(--nvt-slate-200);box-shadow:var(--nvt-shadow)}.reports-page .report-section>h3{background:#f8fafc;border-bottom:1px solid var(--nvt-slate-200)}
.reports-page .quick-filter-btn.active{background:var(--nvt-blue-600);border-color:var(--nvt-blue-600)}.reports-page .btn-apply{background:var(--nvt-blue-600)}
.reports-page .report-trend{margin:0 20px 18px;border:1px solid var(--nvt-slate-200);border-radius:8px;padding:15px;background:#fff}.reports-page .report-trend-head{display:flex;justify-content:space-between;font-size:.83rem;color:var(--nvt-slate-700);margin-bottom:10px}
.reports-page .trend-chart{height:190px;display:flex;align-items:flex-end;gap:4px;border-bottom:1px solid var(--nvt-slate-300);padding:20px 4px 25px;overflow-x:auto}.reports-page .trend-column{height:100%;min-width:34px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.reports-page .trend-bar{display:block;width:min(28px,80%);background:#60a5fa;border-radius:4px 4px 0 0;min-height:4px}.reports-page .trend-column:hover .trend-bar{background:var(--nvt-blue-600)}.reports-page .trend-value{font-size:.62rem;color:var(--nvt-slate-500);margin-bottom:3px}.reports-page .trend-label{position:absolute;top:calc(100% + 5px);font-size:.62rem;white-space:nowrap;color:var(--nvt-slate-500)}
.reports-page .table thead th{background:var(--nvt-navy-900)!important;border-color:#294866!important}.reports-page .model-drilldown{color:#1d4ed8;text-decoration:none}.reports-page .model-drilldown:hover{text-decoration:underline}
.reports-page th[data-sort]{cursor:pointer;user-select:none}.reports-page th[data-sort]:hover{background:#244c70!important}.reports-page th[data-sort] i{opacity:.55}
@media(max-width:800px){.reports-page .filters-row{grid-template-columns:1fr 1fr}.reports-page .filters-row>div:first-child{grid-column:1/-1}.reports-page .trend-chart{height:165px}.reports-page .trend-column{min-width:42px}}
@media(max-width:575px){.reports-page .container-fluid{padding:0 12px 24px}.reports-page .filters-row{grid-template-columns:1fr}.reports-page .report-trend{margin:0 12px 15px}.reports-page .app-kpis{grid-template-columns:1fr 1fr}.reports-page .app-kpi:last-child{grid-column:1/-1}}

/* Administration */
.admin-page{padding:0!important}.admin-page .container{padding:0 20px 32px}.admin-page .admin-heading{padding-left:0;padding-right:0}.admin-page .main-card{background:#fff;border:1px solid var(--nvt-slate-200);border-radius:var(--nvt-radius);box-shadow:var(--nvt-shadow);padding:22px;margin-bottom:15px}.admin-page .benefit-list{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.admin-page .feature-badge{display:none}.admin-page .table thead th{background:var(--nvt-navy-900);color:#fff}.admin-page .btn-lg{font-size:.9rem;padding:9px 15px}
@media(max-width:575px){.admin-page .container{padding:0 12px 24px}.admin-page .main-card{padding:16px}.admin-page .app-page-actions .btn{width:100%}}

/* Login */
.login-page{min-height:100vh;height:auto!important;padding:24px;background:linear-gradient(145deg,var(--nvt-navy-950),#1d4c72)!important}.login-page .login-card{border-radius:12px;box-shadow:0 18px 50px rgba(3,15,28,.3);border:1px solid rgba(255,255,255,.35);padding:30px}.login-page .logo-icon{background:var(--nvt-blue-600);box-shadow:0 8px 20px rgba(37,99,235,.24)}.login-page .form-control{min-height:44px}.login-page .btn-primary{min-height:44px}
