:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a202c;background:#f8fafc;letter-spacing:-.01em}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f8fafc;color:#1e293b}a{color:inherit;text-decoration:none}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid transparent;border-radius:6px;padding:0 14px;background:#0f766e;color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:all .15s ease-in-out}button:hover,.button:hover{background:#0d9488}button:disabled,.button:disabled{opacity:.6;cursor:not-allowed}button.secondary,.button.secondary,.ghost{background:#f1f5f9;border:1px solid #cbd5e1;color:#334155}button.secondary:hover,.button.secondary:hover,.ghost:hover{background:#e2e8f0;color:#0f172a}button.danger,.button.danger{background:#dc2626;color:#fff}button.danger:hover,.button.danger:hover{background:#b91c1c}button.small,.button.small{min-height:30px;padding:0 10px;font-size:12px}input,textarea,select{width:100%;min-height:38px;border:1px solid #cbd5e1;border-radius:6px;padding:8px 12px;background:#fff;color:#0f172a;font:inherit;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}input[readonly],textarea[readonly]{background:#f8fafc;cursor:default;color:#475569}textarea{min-height:80px;resize:vertical}h1{font-size:26px;font-weight:800;margin:0 0 16px;color:#0f172a;letter-spacing:-.02em}h2{font-size:16px;font-weight:700;margin:0 0 12px;display:flex;gap:8px;align-items:center;color:#1e293b}small{display:block;color:#64748b;margin-top:3px;font-size:12px}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#0f172a;color:#fff;padding:20px 16px;display:flex;flex-direction:column;gap:24px;border-right:1px solid #1e293b}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;color:#f8fafc}.brand.large{font-size:22px;color:#0f172a}.sidebar nav{display:grid;gap:4px}.sidebar a,.sidebar .ghost{justify-content:flex-start;min-height:40px;padding:0 12px;border-radius:6px;color:#cbd5e1;background:transparent;font-size:14px;font-weight:500;border:none}.sidebar a:hover,.sidebar .ghost:hover{background:#ffffff14;color:#fff}.sidebar a.active{background:#0d9488;color:#fff;font-weight:600}main{min-width:0;background:#f8fafc}.topbar{height:60px;display:flex;justify-content:flex-end;align-items:center;padding:0 28px;background:#fff;border-bottom:1px solid #e2e8f0}.topbar div{display:grid;text-align:right}.topbar span,.muted{color:#64748b;font-size:13px}section{padding:28px;max-width:1440px;margin:0 auto}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px}.metric{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;display:grid;gap:6px;box-shadow:0 1px 3px #0000000a}.metric span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.metric strong{font-size:26px;font-weight:800;color:#0f172a}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000000a}.two-col,.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.toolbar,.inline-form{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.category-nav{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:4px 0 14px;border-bottom:1px solid #e2e8f0;margin-bottom:18px}.category-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:6px;background:#fff;border:1px solid #e2e8f0;color:#475569;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.category-tab:hover{background:#f1f5f9;color:#0f172a}.category-tab.active{background:#0f766e;border-color:#0f766e;color:#fff}.tab-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:11px;font-weight:700}.category-tab.active .tab-badge{background:#ffffff40;color:#fff}.status-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-btn{padding:6px 12px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#475569;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.filter-btn:hover{border-color:#94a3b8;color:#0f172a}.filter-btn.active{background:#1e293b;border-color:#1e293b;color:#fff}.table-wrap{overflow-x:auto;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000000a}table{width:100%;border-collapse:collapse;min-width:860px;font-size:13px}th,td{padding:12px 14px;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:top}th{background:#f8fafc;color:#475569;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e2e8f0}tr:hover td{background:#fafcff}.pill{display:inline-flex;align-items:center;gap:5px;min-height:24px;border-radius:999px;padding:0 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.pill-in-store,.pill-IN_STOCK{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.pill-allocated,.pill-ASSIGNED{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.pill-repair,.pill-UNDER_REPAIR{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.pill-scrap,.pill-SCRAP{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.pill-lost,.pill-LOST{background:#f3e8ff;color:#7e22ce;border:1px solid #e9d5ff}.pill-retired,.pill-RETIRED,.pill-DISPOSED{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.badge-code{display:inline-block;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:11px;color:#334155;margin-right:4px;margin-top:2px}.modal-backdrop{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:100;padding:20px}.modal-box{background:#fff;border-radius:10px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:min(640px,100%);max-height:90vh;overflow-y:auto;border:1px solid #e2e8f0}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:18px}.modal-body{padding:24px;display:grid;gap:16px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e2e8f0;background:#f8fafc}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:960px}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-group{display:grid;gap:6px}.form-group label{font-size:13px;font-weight:600;color:#334155}.form-section-title{grid-column:1 / -1;font-size:15px;font-weight:700;color:#0f172a;border-bottom:1px solid #e2e8f0;padding-bottom:6px;margin-top:14px;margin-bottom:2px}.full{grid-column:1 / -1}.detail-tabs{display:flex;gap:4px;border-bottom:1px solid #e2e8f0;margin-bottom:20px}.detail-tab-btn{padding:10px 18px;background:transparent;border:none;border-bottom:2px solid transparent;color:#64748b;font-weight:600;font-size:14px;cursor:pointer;border-radius:0}.detail-tab-btn:hover{color:#0f172a;background:transparent}.detail-tab-btn.active{color:#0f766e;border-bottom-color:#0f766e;background:transparent}.qr-panel{display:grid;justify-items:center;gap:14px}.qr-actions{display:flex;gap:8px}.timeline{display:grid;gap:14px}.timeline>div{border-left:3px solid #0f766e;padding-left:14px;position:relative}.timeline span{display:block;color:#64748b;font-size:12px;margin-top:3px}.scanner{width:min(720px,100%);aspect-ratio:16 / 10;background:#0f172a;border-radius:8px;display:block;margin-bottom:16px}.label-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.label{background:#fff;border:1px dashed #94a3b8;min-height:150px;padding:12px;display:grid;justify-items:center;align-content:center;gap:6px;text-align:center;border-radius:6px}.empty-state{text-align:center;padding:48px 20px;color:#64748b}.empty-state p{margin:8px 0 16px;font-size:15px}.login-screen,.loading{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f1f5f9}.login-panel{width:min(420px,100%);display:grid;gap:14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:28px;box-shadow:0 4px 6px -1px #0000000f}.error{color:#dc2626;font-weight:600;font-size:13px}.success{color:#16a34a;font-weight:600;font-size:13px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-top:1px solid #e2e8f0;font-size:13px;color:#64748b}.pagination-btns{display:flex;gap:6px}@media(max-width:768px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:2;padding:12px}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar a,.sidebar .ghost{font-size:12px;padding:6px;justify-content:center}.topbar{display:none}section{padding:16px}.two-col,.details-grid,.form-grid,.form-grid-3{grid-template-columns:1fr}.toolbar,.inline-form{align-items:stretch;flex-direction:column}}@media print{.sidebar,.topbar,.section-head button,.category-nav,.status-filters,.toolbar{display:none!important}.app-shell{display:block}section{padding:0}.label-sheet{grid-template-columns:repeat(3,1fr)}}.category-chart-panel{margin-bottom:20px}.category-chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.category-chart-heading h2{margin-bottom:5px}.category-chart-heading p{margin:0}.category-total{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;background:#f1f5f9;color:#334155;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.category-chart-layout{display:grid;grid-template-columns:minmax(200px,.9fr) minmax(260px,1.1fr);align-items:center;gap:28px}.category-donut{width:min(100%,300px);height:auto;margin:0 auto;overflow:visible}.category-donut path{transition:opacity .15s ease,transform .15s ease;transform-origin:100px 100px}.category-donut path:hover{opacity:.82}.donut-total{fill:#0f172a;font-size:20px;font-weight:800}.donut-caption{fill:#64748b;font-size:9px}.category-legend{display:grid;gap:2px}.category-legend-item{display:grid;grid-template-columns:10px minmax(90px,1fr) auto 52px;align-items:center;gap:9px;min-height:38px;padding:6px 8px;border-bottom:1px solid #f1f5f9}.category-legend-swatch{width:10px;height:10px;border-radius:3px}.category-legend-name{overflow-wrap:anywhere;color:#334155;font-size:13px}.category-legend-item strong{color:#0f172a;font-size:13px}.category-legend-percent{text-align:right;color:#64748b;font-size:12px;font-variant-numeric:tabular-nums}.dashboard-lower-panels{margin-bottom:20px}.metric small{max-width:220px;line-height:1.4}.employee-login-panel{margin-top:20px}.employee-login-panel .section-head{align-items:flex-start;margin-bottom:12px}.employee-login-panel .section-head p{margin:0;max-width:820px}.employee-search{align-items:center}.employee-search input{flex:1;min-width:220px}.employee-login-panel td input{min-width:210px}@media(max-width:768px){.category-chart-layout{grid-template-columns:1fr;gap:12px}.category-donut{max-width:240px}.category-chart-heading{flex-direction:column}.category-legend-item{grid-template-columns:10px minmax(90px,1fr) auto 48px}}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.admin-tabs button{border:1px solid #dbe3ea;border-radius:9px;padding:9px 14px;font-weight:650;background:#fff;color:#334155}.admin-tabs button.active{background:#0f766e;border-color:#0f766e;color:#fff}.admin-tabs button:focus-visible,.request-actions button:focus-visible{outline:3px solid #99f6e4;outline-offset:2px}.category-admin-panel,.acknowledgement-panel,.employee-request-panel,.employee-requests-list{margin-top:18px}.category-admin-panel>.toolbar{margin:16px 0}.category-admin-panel>.toolbar input{flex:1;min-width:220px}.category-action-cell{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.request-list{display:grid;gap:14px;margin-top:14px}.request-card{border:1px solid #e2e8f0;border-radius:12px;padding:16px;background:#fff}.request-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.request-card-heading h3{margin:0 0 4px;font-size:16px}.request-card-heading p{margin:0;font-size:12px}.request-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;background:#f1f5f9;color:#475569}.request-status.pending{color:#92400e;background:#fef3c7}.request-status.approved{color:#166534;background:#dcfce7}.request-status.rejected{color:#991b1b;background:#fee2e2}.request-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.request-detail-grid>div{display:grid;gap:4px}.request-detail-grid strong{font-size:13px;overflow-wrap:anywhere}.request-review-controls{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}.request-review-controls label,.employee-request-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#475569}.request-review-controls select,.request-review-controls input,.employee-request-form input,.employee-request-form select,.employee-request-form textarea{box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px 11px;background:#fff;color:#0f172a;font:inherit}.request-actions{display:flex;flex-wrap:wrap;gap:8px}.request-actions .danger,.category-action-cell .danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.request-outcome{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0;font-size:13px}.request-outcome p{margin:6px 0}.employee-request-form{display:grid;gap:12px;margin-top:14px;max-width:800px}.employee-request-form textarea{resize:vertical}.employee-request-panel>.muted{max-width:820px}@media(max-width:640px){.request-card{padding:12px}.request-card-heading{flex-direction:column}.category-action-cell{display:table-cell}.category-action-cell button{margin:3px}}:root{--ivl-navy: #071a33;--ivl-navy-2: #0b2d50;--ivl-blue: #0879a9;--ivl-cyan: #27c4e8;--ivl-teal: #11a7b5;--ivl-ink: #10243d;--ivl-muted: #64778b;--ivl-line: #dce6f0;--ivl-canvas: #f3f7fb}html{color-scheme:light}body,main{background:var(--ivl-canvas)}.sidebar{background:linear-gradient(180deg,#06152b,#0a2748 58%,#063b58);border-right:1px solid rgba(39,196,232,.22);box-shadow:8px 0 28px #071a330f}.ivl-portal-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:8px 5px 20px;margin-bottom:2px;border-bottom:1px solid rgba(148,208,235,.18)}.ivl-brand-logo{display:block;width:100%;max-width:198px;height:auto;object-fit:contain;object-position:left center}.ivl-app-caption{display:block;color:#7ee4f4;font-size:10px;line-height:1.4;letter-spacing:.18em;font-weight:800;text-transform:uppercase}.sidebar nav{gap:6px}.sidebar a,.sidebar .ghost{border-radius:10px;transition:background .18s ease,color .18s ease,transform .18s ease}.sidebar a:hover,.sidebar .ghost:hover{background:#33c7eb1f;color:#fff}.sidebar a.active{background:linear-gradient(100deg,#0879a9,#0e9eb8);color:#fff;box-shadow:0 6px 18px #0097be33}.sidebar .ghost{color:#d4e8f5;background:#ffffff09;border:1px solid rgba(148,208,235,.18)}.topbar{background:#fffffff0;border-bottom:1px solid var(--ivl-line);box-shadow:0 4px 18px #0b2d5009}h1{color:var(--ivl-ink)}h2{color:#183956}.metric,.panel,.table-wrap{border-color:var(--ivl-line);border-radius:13px;box-shadow:0 5px 18px #0e2b480b}.metric{padding:18px}.metric strong{color:var(--ivl-navy-2)}.metric span{color:#617890}th{background:#edf4fa;color:#38536d;border-bottom-color:#d6e4f0}td{border-bottom-color:#edf2f7}tr:hover td{background:#f5faff}.category-tab.active{background:linear-gradient(100deg,#0879a9,#0e9eb8);border-color:#0879a9}.filter-btn.active{background:var(--ivl-navy-2);border-color:var(--ivl-navy-2)}.admin-tabs button.active{background:linear-gradient(100deg,#0879a9,#0e9eb8);border-color:#0879a9}button,.button{background:linear-gradient(100deg,#0879a9,#0e9eb8);border-radius:9px;box-shadow:0 3px 9px #0879a91f}button:hover,.button:hover{background:linear-gradient(100deg,#07658f,#087f99)}button.secondary,.button.secondary,.ghost{box-shadow:none}input:focus,textarea:focus,select:focus{border-color:var(--ivl-cyan);box-shadow:0 0 0 3px #27c4e82e}.login-screen{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 12% 12%,rgba(39,196,232,.2),transparent 35%),radial-gradient(ellipse at 88% 82%,rgba(14,158,184,.25),transparent 32%),linear-gradient(135deg,#061329,#0a2545 48%,#0b4660)}.login-screen:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;background-image:linear-gradient(rgba(180,226,246,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(180,226,246,.12) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(135deg,#000,transparent 75%);mask-image:linear-gradient(135deg,#000,transparent 75%)}.login-panel{width:min(460px,100%);gap:16px;color:#f3f8fc;background:linear-gradient(155deg,#0d2745f7,#07182dfa);border:1px solid rgba(125,211,235,.24);border-radius:20px;padding:clamp(24px,4vw,38px);box-shadow:0 28px 80px #00000052,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.ivl-login-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:2px}.ivl-login-brand .ivl-brand-logo{width:min(100%,300px);max-width:300px}.ivl-login-brand .ivl-app-caption{color:#80e3f2;font-size:11px}.login-panel>p.muted{color:#b2c9dc;line-height:1.65}.login-panel label{display:grid;gap:7px;color:#d9e9f5;font-size:13px;font-weight:650}.login-panel input{color:#f4f9ff;background:#ffffff12;border:1px solid rgba(160,200,225,.28);border-radius:9px;min-height:43px}.login-panel input::placeholder{color:#96aec2}.login-panel input:focus{background:#ffffff1a;border-color:#41cbe9;box-shadow:0 0 0 3px #27c4e826}.login-panel button{min-height:43px;border-radius:9px}.login-panel button.secondary{color:#ecf7ff;background:#ffffff12;border-color:#a0c8e14d}.login-panel button.secondary:hover{background:#ffffff21}.login-panel .error{color:#fecaca;background:#b91c1c2e;border:1px solid rgba(248,113,113,.28);border-radius:8px;padding:10px 12px;margin:0}.loading{background:var(--ivl-canvas)}@media(max-width:768px){.ivl-portal-brand{flex-direction:row;align-items:center;justify-content:flex-start;padding:4px 2px 12px;gap:12px}.ivl-portal-brand .ivl-brand-logo{width:min(180px,48vw)}.ivl-portal-brand .ivl-app-caption{display:none}.sidebar{gap:12px}.login-panel{border-radius:16px}}.sidebar-group{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.sidebar-group-title{display:block;padding:6px 12px 2px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#7ee4f4;opacity:.85}.dashboard-header{margin-bottom:24px}.dashboard-last-refreshed{display:inline-block;color:var(--ivl-muted);font-size:13px;margin-left:4px}.dashboard-header-actions{display:flex;align-items:center;gap:10px}.dashboard-refresh-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px}.metric-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:105px;padding:16px 18px;border-radius:12px;border:1px solid var(--ivl-line);background:#fff;transition:transform .15s ease,box-shadow .15s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0b2d5014}.metric-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.metric-header span{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#5a738e}.metric-value{font-size:28px;font-weight:800;line-height:1.1;color:var(--ivl-navy-2)}.metric-caption{font-size:11px;color:#7c92a6;margin-top:4px}.metric-indicator{display:inline-block;width:10px;height:10px;border-radius:50%}.indicator-in-stock{background:#16a34a;box-shadow:0 0 0 3px #16a34a2e}.indicator-allocated{background:#0284c7;box-shadow:0 0 0 3px #0284c72e}.indicator-repair{background:#d97706;box-shadow:0 0 0 3px #d977062e}.indicator-scrap{background:#dc2626;box-shadow:0 0 0 3px #dc26262e}.indicator-lost{background:#7e22ce;box-shadow:0 0 0 3px #7e22ce2e}.category-chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.category-chart-meta{display:flex;align-items:center;gap:12px}.category-total{font-size:13px;font-weight:700;color:var(--ivl-navy-2);background:#edf4fa;padding:4px 12px;border-radius:999px;border:1px solid #d4e3f0}.category-chart-layout{display:grid;grid-template-columns:minmax(180px,240px) 1fr;align-items:center;gap:32px}.category-donut-container{display:flex;justify-content:center;align-items:center}.category-donut{width:100%;max-width:210px;height:auto;filter:drop-shadow(0 4px 12px rgba(11,45,80,.06))}.donut-total{font-size:24px;font-weight:800;fill:var(--ivl-navy-2)}.donut-caption{font-size:9px;font-weight:700;letter-spacing:.1em;fill:#64778b}.category-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 18px}.category-legend-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:#f8fafc;border:1px solid #edf2f7;font-size:13px}.category-legend-swatch{width:11px;height:11px;border-radius:3px;flex-shrink:0}.category-legend-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334e68;font-weight:500}.category-legend-count{font-weight:700;color:var(--ivl-navy-2)}.category-legend-percent{font-size:11px;color:#7b91a7;margin-left:2px}.dashboard-lower-panels{margin-top:24px}.dashboard-panel .panel-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.dashboard-panel .panel-list-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:7px;background:#f8fbfe;border:1px solid #eef4fb;font-size:13px;line-height:1.45}.dashboard-panel .panel-list-bullet{width:6px;height:6px;border-radius:50%;background:var(--ivl-blue);margin-top:6px;flex-shrink:0}.dashboard-panel .panel-list-text{margin:0;color:#243b53;word-break:break-word}.spin-icon{animation:ivl-spin .8s linear infinite}@keyframes ivl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:900px){.category-chart-layout{grid-template-columns:1fr;justify-items:center}.category-legend{width:100%}}.ivl-modern-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.ivl-modern-topbar .topbar-identity{display:flex;flex-direction:column;gap:.18rem;min-width:0}.ivl-modern-topbar .topbar-identity strong{color:var(--ivl-text, #102a43);font-weight:700;letter-spacing:-.01em}.ivl-modern-topbar .topbar-identity span{color:var(--ivl-muted, #627d98);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}.ivl-modern-topbar .topbar-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex:0 0 auto}.ivl-notifications{position:relative;display:inline-flex}.ivl-notification-trigger{position:relative;display:inline-flex;align-items:center;gap:.58rem;min-height:42px;padding:.62rem .9rem;border:1px solid var(--ivl-border, #d7e2ee);border-radius:12px;background:var(--ivl-surface, #fff);color:var(--ivl-text, #102a43);font:inherit;font-size:.88rem;font-weight:650;box-shadow:0 2px 5px #102a430b;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.ivl-notification-trigger:hover,.ivl-notification-trigger.is-open{border-color:var(--ivl-accent, #0891b2);box-shadow:0 5px 16px #0891b221;transform:translateY(-1px)}.ivl-notification-trigger:focus-visible,.ivl-notification-item:focus-visible,.ivl-notification-close:focus-visible,.ivl-notification-view-all:focus-visible,.ivl-request-toast button:focus-visible{outline:3px solid rgba(14,165,233,.35);outline-offset:2px}.ivl-notification-count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#e11d48;color:#fff;font-size:.72rem;font-weight:800;line-height:1;box-shadow:0 0 0 2px #fff}.ivl-notification-popover{position:absolute;z-index:10020;top:calc(100% + 10px);right:0;width:min(390px,calc(100vw - 28px));max-height:min(560px,calc(100vh - 105px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ivl-border, #d7e2ee);border-radius:16px;background:var(--ivl-surface, #fff);color:var(--ivl-text, #102a43);box-shadow:0 20px 55px #0f233c30;animation:ivl-notification-enter .14s ease-out}.ivl-notification-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .85rem;border-bottom:1px solid var(--ivl-border, #e5edf5);background:linear-gradient(135deg,rgba(8,145,178,.08),transparent 80%)}.ivl-notification-popover-head>div{display:flex;flex-direction:column;gap:.3rem}.ivl-notification-popover-head strong{font-size:.96rem}.ivl-notification-popover-head span{color:var(--ivl-muted, #627d98);font-size:.77rem}.ivl-notification-close{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:9px;color:var(--ivl-muted, #627d98);background:transparent;cursor:pointer}.ivl-notification-close:hover{background:#eef4f8;color:#102a43}.ivl-notification-items{overflow-y:auto}.ivl-notification-item{width:100%;display:flex;align-items:flex-start;gap:.7rem;padding:.85rem 1rem;text-align:left;border:0;border-bottom:1px solid #edf2f7;color:inherit;background:transparent;cursor:pointer;transition:background .14s ease}.ivl-notification-item:hover{background:#f3f9fc}.ivl-notification-dot{width:8px;height:8px;flex:0 0 8px;margin-top:.35rem;border-radius:999px;background:#0891b2;box-shadow:0 0 0 4px #0891b21a}.ivl-notification-item-copy{min-width:0;display:flex;flex-direction:column;gap:.22rem}.ivl-notification-item-copy strong{font-size:.84rem}.ivl-notification-item-copy small{color:var(--ivl-muted, #627d98);font-size:.74rem;overflow-wrap:anywhere}.ivl-notification-empty{margin:0;padding:1.2rem 1rem;color:var(--ivl-muted, #627d98);font-size:.85rem}.ivl-notification-view-all{flex:0 0 auto;margin:.7rem;padding:.72rem .85rem;border:0;border-radius:10px;color:#fff;background:linear-gradient(110deg,#057b9c,#0e9fbd);font:inherit;font-size:.83rem;font-weight:700;cursor:pointer;transition:filter .15s ease,transform .15s ease}.ivl-notification-view-all:hover{filter:brightness(1.04);transform:translateY(-1px)}.ivl-request-toast{position:fixed;z-index:10030;top:86px;right:24px;width:min(455px,calc(100vw - 32px));display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid #b6e3ed;border-radius:16px;background:#fff;color:var(--ivl-text, #102a43);box-shadow:0 18px 48px #0f233c33;animation:ivl-notification-enter .18s ease-out}.ivl-request-toast-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:#e6f7fb;color:#0786a5}.ivl-request-toast-copy{flex:1 1 auto;min-width:0}.ivl-request-toast-copy strong{display:block;font-size:.88rem}.ivl-request-toast-copy p{margin:.25rem 0 0;color:#627d98;font-size:.79rem;line-height:1.4}.ivl-request-toast-dismiss{display:inline-grid;place-items:center;border:0;border-radius:8px;padding:6px;color:#627d98;background:transparent;cursor:pointer}.ivl-request-toast-dismiss:hover{background:#eef4f8}.ivl-request-toast-review{flex:0 0 auto;border:0;border-radius:9px;padding:.62rem .78rem;background:#087f9f;color:#fff;font:inherit;font-size:.8rem;font-weight:750;cursor:pointer}.ivl-request-toast-review:hover{background:#076b86}@keyframes ivl-notification-enter{0%{opacity:0;transform:translateY(-5px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.metric-grid .metric{border-radius:14px;border:1px solid var(--ivl-border, #d7e2ee);box-shadow:0 3px 12px #102a4309;transition:box-shadow .16s ease,transform .16s ease}.metric-grid .metric:hover{transform:translateY(-2px);box-shadow:0 9px 22px #102a4314}.category-chart-panel{border-radius:16px;box-shadow:0 5px 20px #102a430b}.dashboard-lower-panels .panel{border-radius:16px;box-shadow:0 5px 20px #102a430a}@media(max-width:720px){.ivl-modern-topbar{align-items:flex-start}.ivl-modern-topbar .topbar-actions{width:100%;justify-content:flex-end}.ivl-notification-popover{position:fixed;top:75px;right:12px}.ivl-request-toast{top:80px;right:12px;width:calc(100vw - 24px);flex-wrap:wrap}.ivl-request-toast-copy{min-width:calc(100% - 110px)}}@media(prefers-reduced-motion:reduce){.ivl-notification-popover,.ivl-request-toast{animation:none}.metric-grid .metric,.ivl-notification-trigger,.ivl-notification-view-all{transition:none}}.user-administration-panel .user-create-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(210px,1.2fr) minmax(150px,.7fr) auto;align-items:end;gap:10px;margin:14px 0}.user-administration-panel .user-create-form input,.user-administration-panel .user-create-form select{min-width:0;width:100%}.user-administration-panel .user-active-toggle{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.user-administration-panel .user-active-toggle input{width:auto}.user-administration-panel td .request-actions{flex-wrap:wrap}.temporary-password-panel{display:grid;gap:10px;margin:16px 0;padding:16px;border:1px solid #93c5fd;background:#eff6ff;border-radius:12px}.temporary-password-panel code{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;padding:10px 12px;border:1px solid #bfdbfe;border-radius:8px;color:#0c2d57;background:#fff;font-size:14px;-webkit-user-select:all;user-select:all}.password-rotation-gate{min-height:100vh;display:grid;place-items:center;background:#f1f5f9;padding:24px}.password-rotation-gate .login-screen{min-height:0;width:100%}@media(max-width:850px){.user-administration-panel .user-create-form{grid-template-columns:1fr 1fr}}@media(max-width:560px){.user-administration-panel .user-create-form{grid-template-columns:1fr}}.ivl-login-panel{width:min(100%,470px);box-sizing:border-box}.ivl-login-intro{margin:8px 0 18px;font-size:14px;line-height:1.65;text-align:center}.ivl-login-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;margin:18px 0 20px;border:1px solid #dbe5ef;border-radius:13px;background:#f1f5f9}.ivl-login-tab{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:#475569;font:inherit;font-weight:650;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.ivl-login-tab:hover{background:#e2eaf3;color:#102d4b}.ivl-login-tab.active{background:#fff;color:#0f3b64;border-color:#dbe5ef;box-shadow:0 2px 6px #0f172a14}.ivl-login-tab:focus-visible,.ivl-login-primary:focus-visible,.ivl-login-secondary:focus-visible{outline:3px solid rgb(14 165 233 / 45%);outline-offset:2px}.ivl-login-tabpanel{display:grid;gap:14px}.ivl-login-tabpanel label{display:grid;gap:7px;font-weight:600;color:#334155}.ivl-login-tabpanel input{width:100%;box-sizing:border-box}.ivl-login-primary{width:100%;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;font-weight:700}.ivl-login-secondary{width:100%;min-height:42px}.ivl-entra-status{padding:12px 13px;border:1px solid #dbe5ef;border-radius:10px;background:#f8fafc;color:#475569;font-size:13px;line-height:1.55}.ivl-entra-status.configured{background:#f0fdfa;border-color:#99f6e4;color:#115e59}.ivl-entra-status.not-configured{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.ivl-entra-status.unavailable{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.ivl-login-help{margin:0;font-size:12px;line-height:1.5;text-align:center}.ivl-login-footer{margin:20px 0 0;color:#64748b;font-size:11px;text-align:center}@media(max-width:420px){.ivl-login-tab{gap:6px;padding:9px 7px;font-size:13px}}
