:root{--navy:#071f4d;--navy-2:#0b2e6b;--blue:#2563eb;--gold:#d4af37;--bg:#f1f5f9;--card:#fff;--line:#e2e8f0;--text:#0f172a;--muted:#64748b;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.app{min-height:100vh;display:flex}.sidebar{color:#fff;background:linear-gradient(#04152d,#071f4d);flex-shrink:0;width:250px;height:100vh;padding:24px 16px;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1f;margin-bottom:16px;padding:0 8px 20px;font-size:18px;font-weight:800;line-height:1.3}.brand small{color:#94a3b8;margin-top:4px;font-size:12px;font-weight:500;display:block}.nav-link{color:#cbd5e1;border-radius:10px;align-items:center;gap:10px;margin-bottom:4px;padding:11px 14px;font-size:14px;font-weight:600;display:flex}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link.active{background:linear-gradient(135deg, var(--blue), #1d4ed8);color:#fff}.main{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.topbar h1{color:var(--navy);margin:0;font-size:18px}.content{padding:28px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:28px;display:grid}.stat-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 24px #0f172a0a}.stat-card .value{color:var(--navy);font-size:34px;font-weight:800}.stat-card .label{color:var(--muted);margin-top:4px;font-size:13px;font-weight:600}.stat-card .bar{border-radius:4px;height:4px;margin-top:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px #0f172a0a}.toolbar{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.input,.select{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:10px;outline:none;padding:10px 14px;font-size:14px}.input:focus,.select:focus{border-color:var(--blue)}.input.search{flex:1;min-width:220px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line);background:#f8fafc;padding:14px 16px;font-size:12px}td{border-bottom:1px solid var(--line);padding:14px 16px}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fafc}.badge{border-radius:999px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-block}.badge.pending{color:#92400e;background:#fef3c7}.badge.in_progress{color:#1e40af;background:#dbeafe}.badge.resolved{color:#166534;background:#dcfce7}.badge.rejected{color:#991b1b;background:#fee2e2}.btn{background:var(--navy);color:#fff;border:none;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:700}.btn:hover{background:var(--navy-2)}.btn.ghost{color:var(--muted);border:1px solid var(--line);background:0 0}.btn.ghost:hover{background:#f1f5f9}.btn:disabled{opacity:.5;cursor:not-allowed}.login-wrap{background:linear-gradient(135deg,#04152d,#071f4d,#0b2e6b);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border-radius:20px;width:100%;max-width:380px;padding:40px 32px;box-shadow:0 30px 60px #00000040}.login-card h2{color:var(--navy);margin:0 0 4px}.login-card p.sub{color:var(--muted);margin:0 0 26px;font-size:14px}.field{margin-bottom:16px}.field label{color:var(--navy);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.field input{border:1px solid var(--line);border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:15px}.field input:focus{border-color:var(--blue)}.error-box{color:#991b1b;background:#fee2e2;border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:13px}.detail-grid{grid-template-columns:1fr 340px;gap:24px;display:grid}.hamburger{color:var(--navy);background:0 0;border:none;margin-right:6px;padding:4px 8px;font-size:24px;line-height:1;display:none}.overlay{display:none}@media (width<=900px){.detail-grid{grid-template-columns:1fr}}@media (width<=820px){.sidebar{z-index:60;height:100vh;transition:transform .28s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:0 0 40px #0006}.overlay.show{z-index:55;background:#00000073;display:block;position:fixed;inset:0}.hamburger{display:block}.content{padding:16px}.topbar{padding:0 14px}.topbar h1{font-size:16px}}.kv{border-bottom:1px solid var(--line);padding:16px 0}.kv:last-child{border-bottom:none}.kv .k{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:700}.kv .v{color:var(--text);font-size:15px}.file-item{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:12px 14px;font-size:14px;display:flex}.section-title{color:var(--navy);margin:0 0 14px;font-size:15px;font-weight:800}.textarea{border:1px solid var(--line);resize:vertical;border-radius:10px;outline:none;width:100%;min-height:90px;padding:12px 14px;font-family:inherit;font-size:14px}.muted{color:var(--muted)}.center-msg{text-align:center;color:var(--muted);padding:60px 20px}.pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;display:flex}
