:root{--navy:#00205b;--teal:#007278;--green:#81bd41;--light-green:#d2debb;--yellow:#ffce01;--red:#a4343a;--ink:#17243b;--muted:#667085;--subtle:#8a94a6;--bg:#f4f7f8;--surface:#fff;--line:#dce4e8;--soft-teal:#e7f4f4;--soft-green:#eef5e7;--soft-yellow:#fff8d5;--soft-red:#f8e9ea;--soft-navy:#edf1f8;--shadow:0 16px 40px #00205b17;--sidebar-width:250px;--radius:14px}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{min-height:100vh;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Segoe UI,Arial,Helvetica,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--teal)}.login-view{background:linear-gradient(145deg, var(--navy) 0%, #003b69 55%, var(--teal) 100%);place-items:center;min-height:100vh;display:grid}.login-card{background:var(--surface);border-radius:var(--radius);width:min(380px,92vw);box-shadow:var(--shadow);padding:36px 32px}.login-card h1{color:var(--navy);margin:0 0 4px;font-size:20px}.login-card p.subtitle{color:var(--muted);margin:0 0 24px;font-size:13px}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.field input{border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px}.field input:focus{outline:2px solid var(--teal);outline-offset:1px}.button-primary{background:var(--teal);color:#fff;border:none;border-radius:8px;width:100%;padding:11px;font-size:14px;font-weight:600}.button-primary:disabled{opacity:.6;cursor:not-allowed}.form-error{color:var(--red);background:var(--soft-red);border-radius:8px;margin-bottom:14px;padding:8px 10px;font-size:13px}.app-shell{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;flex-direction:column;gap:24px;padding:24px 18px;display:flex}.sidebar .brand{letter-spacing:.02em;font-size:16px;font-weight:800}.sidebar .brand small{opacity:.7;font-size:11px;font-weight:400;display:block}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav a{color:#ffffffd1;border-radius:8px;padding:9px 12px;font-size:14px;text-decoration:none}.sidebar nav a:hover{background:#ffffff14}.sidebar nav a.active{background:var(--teal);color:#fff;font-weight:600}.sidebar .user-box{border-top:1px solid #ffffff26;margin-top:auto;padding-top:16px;font-size:13px}.sidebar .user-box .role{opacity:.7;font-size:11px;display:block}.sidebar .user-box button{color:#fff;background:0 0;border:1px solid #ffffff4d;border-radius:6px;margin-top:10px;padding:6px 10px;font-size:12px}.content{max-width:1200px;padding:28px 32px}.page-head{margin-bottom:22px}.page-head h2{color:var(--navy);margin:0 0 4px;font-size:22px}.page-head p{color:var(--muted);margin:0;font-size:13px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.kpi-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.kpi-card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.kpi-card .value{color:var(--navy);margin-top:6px;font-size:26px;font-weight:700}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:20px 22px}.card h3{color:var(--navy);margin:0 0 14px;font-size:15px}table.data-table{border-collapse:collapse;width:100%;font-size:13px}table.data-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);padding:8px 10px;font-size:11px;font-weight:600}table.data-table td{border-bottom:1px solid var(--line);padding:10px}table.data-table tr:hover td{background:var(--soft-navy)}table.data-table a{font-weight:600;text-decoration:none}.status-pill{text-transform:uppercase;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.status-pill.active,.status-pill.completed,.status-pill.resolved{background:var(--soft-green);color:#3f6b1a}.status-pill.inactive,.status-pill.overdue,.status-pill.critical{background:var(--soft-red);color:var(--red)}.status-pill.open,.status-pill.on_track,.status-pill.medium{background:var(--soft-yellow);color:#7a5b00}.status-pill.in_progress,.status-pill.scheduled,.status-pill.low{background:var(--soft-navy);color:var(--navy)}.status-pill.high{background:var(--soft-red);color:var(--red)}.status-pill.no_product_issued,.status-pill.closed{background:var(--soft-navy);color:var(--muted)}.status-pill.excellent,.status-pill.good{background:var(--soft-green);color:#3f6b1a}.status-pill.fair{background:var(--soft-yellow);color:#7a5b00}.status-pill.weak{background:var(--soft-red);color:var(--red)}.page-loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.empty-state{color:var(--muted);text-align:center;padding:20px 0;font-size:13px}.select-inline{border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:13px}#root{min-height:100vh}
