:root{--bg: #f5f6fa;--surface: #ffffff;--surface-2: #fafafa;--sidebar-bg: #ffffff;--topbar-bg: #ffffff;--text: #222222;--text-soft: #8b8b95;--text-muted: #a8a8b3;--border: #e8e8ee;--border-strong: #ddddE6;--primary: #6c5ce7;--primary-hover: #5b4bd6;--primary-soft: #f0edff;--success: #36b24a;--success-soft: #eaf8ec;--danger: #d84a4a;--danger-soft: #fdecec;--warning: #d8b347;--warning-soft: #fff7df;--sidebar-width: 270px;--sidebar-collapsed-width: 84px;--topbar-height: 85px;--mobile-topbar-height: 64px;--radius-xl: 18px;--radius-lg: 16px;--radius-md: 14px;--radius-sm: 10px;--shadow-sm: 0 2px 10px rgba(27, 31, 35, .04);--shadow-md: 0 8px 24px rgba(27, 31, 35, .05)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif}body{overflow-x:hidden;overflow-y:auto}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}svg{display:block}.mobile-topbar{display:none;align-items:center;justify-content:space-between;gap:12px;height:var(--mobile-topbar-height);padding:0 16px;background:var(--topbar-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1200;width:100%}.mobile-menu-btn{width:40px;height:40px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.mobile-menu-btn svg{width:20px;height:20px}.mobile-title{font-size:18px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-layout{min-height:100vh}.sidebar-backdrop{position:fixed;inset:0;background:#14141c47;z-index:1090}.sidebar-host{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;z-index:1000;transition:width .25s ease,transform .25s ease}.app-layout.sidebar-collapsed .sidebar-host{width:var(--sidebar-collapsed-width)}.app-main{min-width:0;display:flex;flex-direction:column;min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left .25s ease}.app-layout.sidebar-collapsed .app-main{margin-left:var(--sidebar-collapsed-width)}.sidebar{display:flex;flex-direction:column;width:100%;height:100vh;overflow:hidden;background:var(--sidebar-bg);border-right:1px solid var(--border)}.sidebar.collapsed{align-items:stretch}.sidebar-top{padding:12px 14px 14px;border-bottom:1px solid var(--border)}.sidebar.collapsed .sidebar-top{padding:10px 8px 14px}.brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.brand-logo{width:58px;height:58px;border-radius:50%;overflow:hidden;border:1px solid var(--border);background:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:center}.brand-logo img{width:100%;height:100%;object-fit:cover}.brand-text h1{margin:0;font-size:16px;font-weight:700;line-height:1.15}.brand-text p{margin:3px 0 0;font-size:13px;color:var(--text-soft)}.collapse-btn{width:38px;height:38px;border:1px solid var(--border);background:#fff;color:var(--text-soft);border-radius:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 38px;padding:0;margin:0}.collapse-btn svg{width:18px;height:18px;transition:transform .25s ease}.collapse-btn svg.rotated{transform:rotate(180deg)}.sidebar.collapsed .brand-row{flex-direction:column;align-items:center;justify-content:flex-start;gap:10px}.sidebar.collapsed .brand{flex:none;justify-content:center}.sidebar.collapsed .collapse-btn{order:1;align-self:center}.sidebar.collapsed .brand{order:2}.sidebar.collapsed .brand-logo{width:56px;height:56px}.sidebar-section-title{padding:14px 20px 8px;color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.nav-list{display:flex;flex-direction:column;padding:0 10px;gap:6px}.sidebar.collapsed .nav-list{width:100%;align-items:center;padding:8px 8px 0}.nav-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 14px;border-radius:12px;color:#000;transition:background .2s ease,color .2s ease;font-weight:400}.nav-item:hover{background:#f6f4ff;color:var(--primary)}.nav-item.active{background:var(--primary);color:#fff}.nav-item.active .nav-icon{color:#fff}.sidebar.collapsed .nav-item{width:52px;min-width:52px;justify-content:center;padding:0}.nav-icon{width:20px;height:20px;min-width:20px;min-height:20px;color:currentColor;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.nav-icon svg{width:20px;height:20px;stroke:currentColor}.nav-label{font-size:16px;white-space:nowrap}.sidebar-footer{margin-top:auto;padding:18px 18px 22px;border-top:1px dashed var(--border)}.sidebar-footer p{margin:0;color:var(--text-soft);font-size:13px;line-height:1.45}.topbar{position:sticky;top:0;z-index:900;height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:var(--topbar-bg);border-bottom:1px solid var(--border)}.topbar-left{display:flex;align-items:center;gap:18px}.topbar-actions{display:flex;align-items:center;gap:12px}.topbar-action-btn{width:40px;height:40px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text-soft);display:inline-flex;align-items:center;justify-content:center}.topbar-action-btn svg{width:20px;height:20px}.breadcrumb{display:flex;align-items:center;gap:10px;color:var(--text-soft);font-size:15px}.breadcrumb .active{color:var(--text);font-weight:700}.content-area{padding:5px;min-height:calc(100vh - var(--topbar-height));background:var(--bg)}.surface-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.section-head h2{margin:0;font-size:20px;font-weight:700;color:var(--text)}.section-head p{margin:6px 0 0;font-size:15px;color:var(--text-soft)}.page-title{margin:0;font-size:30px;font-weight:700;color:var(--text)}input[type=text],input[type=file],input[type=date],textarea,select{width:100%;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:12px;padding:12px 14px;outline:none}input::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6c5ce71f}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:700}.status-pill.passed{background:var(--success-soft);color:var(--success)}.status-pill.failed{background:var(--danger-soft);color:var(--danger)}.status-pill.pending{background:var(--warning-soft);color:var(--warning)}.vehicle-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 12px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-weight:700;font-size:13px}@media(max-width:1024px){.mobile-topbar{display:flex}.sidebar-host,.app-layout.sidebar-collapsed .sidebar-host{position:fixed;top:0;left:0;width:min(300px,85vw);height:100vh;transform:translate(-100%);transition:transform .25s ease;z-index:1100}.sidebar-host.open{transform:translate(0)}.sidebar,.sidebar.collapsed{width:100%;height:100vh;align-items:stretch}.sidebar.collapsed .sidebar-top{padding:12px 14px 14px}.sidebar.collapsed .brand-row{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:10px}.sidebar.collapsed .brand{justify-content:flex-start;flex:1;order:1}.sidebar.collapsed .collapse-btn{order:2;align-self:auto}.sidebar.collapsed .nav-list{align-items:stretch;padding:0 10px}.sidebar.collapsed .nav-item{width:auto;min-width:0;justify-content:flex-start;padding:0 14px}.app-main,.app-layout.sidebar-collapsed .app-main{margin-left:0;min-height:auto}.topbar{display:none}.content-area{padding:18px 16px 24px;min-height:auto}}@media(max-width:768px){.page-title{font-size:26px}}@media print{@page{size:A4 portrait;margin:10mm}body.printing-report{background:#fff!important;overflow:visible!important}body.printing-report *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body.printing-report app-sidebar,body.printing-report .sidebar,body.printing-report .app-sidebar,body.printing-report .topbar,body.printing-report .app-topbar,body.printing-report .mobile-topbar,body.printing-report .breadcrumb-bar,body.printing-report .app-header,body.printing-report .header-actions,body.printing-report .ghost-btn,body.printing-report .primary-btn,body.printing-report .clear-btn,body.printing-report .view-btn,body.printing-report .action-col{display:none!important}body.printing-report app-reports-page{display:block!important;width:100%!important}body.printing-report .reports-shell{display:block!important;width:100%!important;padding:0!important;margin:0!important;background:#fff!important}body.printing-report .main-surface{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:none!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}body.printing-report .page-header.inside-card{padding:0 0 8px!important;margin-bottom:8px!important;border-bottom:1px solid #dbe4ee!important}body.printing-report .page-title{font-size:18px!important;color:#0f172a!important}body.printing-report .page-subtitle{font-size:11px!important;color:#64748b!important}body.printing-report .filter-card,body.printing-report .inner-card,body.printing-report .summary-card{break-inside:avoid!important;page-break-inside:avoid!important;box-shadow:none!important}body.printing-report .filter-card{margin-bottom:8px!important}body.printing-report .filter-grid,body.printing-report .summary-grid{grid-template-columns:repeat(3,1fr)!important;gap:6px!important}body.printing-report .analytics-grid{display:block!important}body.printing-report .trend-card,body.printing-report .failure-card,body.printing-report .table-card{margin-bottom:10px!important}body.printing-report .vertical-chart-wrap,body.printing-report .failure-chart-wrap{grid-template-columns:30px 1fr!important;min-height:220px!important}body.printing-report .vertical-chart,body.printing-report .failure-vertical-chart{min-height:210px!important;height:210px!important;overflow:visible!important;background:#fff!important}body.printing-report .bar-group,body.printing-report .failure-bar-group{height:170px!important}body.printing-report .bars{height:135px!important}body.printing-report .bar,body.printing-report .pass-bar,body.printing-report .fail-bar,body.printing-report .failure-bar{display:flex!important;opacity:1!important;visibility:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body.printing-report .pass-bar{background:#16a34a!important;border:1px solid #16a34a!important}body.printing-report .fail-bar{background:#dc2626!important;border:1px solid #dc2626!important}body.printing-report .failure-bar{background:#f59e0b!important;border:1px solid #f59e0b!important}body.printing-report .chart-grid-line{background:#dbe4ee!important}body.printing-report .chart-legend,body.printing-report .trend-toggle{display:none!important}body.printing-report .table-wrap{overflow:visible!important;border:1px solid #dbe4ee!important}body.printing-report .report-table{min-width:0!important;width:100%!important;font-size:10px!important}body.printing-report .report-table th,body.printing-report .report-table td{padding:6px!important;font-size:9px!important}body.printing-report .candidate-cell{min-width:0!important}body.printing-report .candidate-avatar{width:24px!important;height:24px!important;font-size:9px!important}body.printing-report .candidate-meta{display:none!important}}
