:root{--navy-900:#0b1f3a;--navy-800:#12294d;--navy-700:#16325f;--graphite:#2b2f36;--gold:#c9a227;--slate-100:#f4f6f9;--slate-200:#e6eaf0;--white:#ffffff;--muted:#667085;--danger:#b3261e;--success:#1a7f37}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;color:var(--graphite);background:var(--slate-100);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--navy-700);text-decoration:none}h1{color:var(--navy-900);margin:0 0 16px}.login-wrap{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--white);padding:32px;border-radius:8px;box-shadow:0 2px 12px rgba(11,31,58,.1);width:360px;display:flex;flex-direction:column;gap:16px}.login-card h2{margin:0;color:var(--navy-900)}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--graphite)}.field input{padding:10px 12px;border-radius:6px;border:1px solid var(--slate-200);font-size:15px}.form-error{color:var(--danger);margin:0;font-size:14px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--navy-900);color:var(--white);display:flex;align-items:center;gap:24px;padding:12px 24px}.brand{font-weight:700;letter-spacing:.02em;color:var(--white)}.app-nav{display:flex;gap:8px;flex:1 1}.nav-link{color:var(--slate-200);padding:6px 12px;border-radius:6px;font-size:14px}.nav-link:hover{color:var(--white);background:var(--navy-800)}.nav-link-active{color:var(--gold);background:var(--navy-800)}.app-user{display:flex;align-items:center;gap:12px}.user-name{font-size:14px;color:var(--slate-200)}.app-main{flex:1 1;padding:24px;max-width:1120px;width:100%;margin:0 auto}.card{background:var(--white);border:1px solid var(--slate-200);border-radius:8px;padding:20px;box-shadow:0 1px 4px rgba(11,31,58,.06)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px}.stat-card{display:flex;flex-direction:column;gap:4px;color:var(--graphite);transition:border-color .15s}.stat-card:hover{border-color:var(--navy-700)}.stat-value{font-size:28px;font-weight:700;color:var(--navy-900)}.stat-label{font-size:14px;color:var(--muted)}.table-wrap{background:var(--white);border:1px solid var(--slate-200);border-radius:8px;overflow:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table td,.table th{text-align:left;padding:12px 16px;border-bottom:1px solid var(--slate-200)}.table th{color:var(--muted);font-weight:600;background:var(--slate-100)}.table tbody tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;background:var(--slate-200);color:var(--graphite)}.badge-granted,.badge-partially_granted{background:#d9f0dd;color:var(--success)}.badge-cancelled,.badge-denied{background:#f8dedc;color:var(--danger)}.badge-awaiting_judgment,.badge-created,.badge-forwarded,.badge-protocolled,.badge-received,.badge-under_analysis{background:#e0eafc;color:var(--navy-700)}.badge-archived,.badge-closed{background:var(--slate-200);color:var(--muted)}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;color:var(--muted)}.state-title{font-size:16px;color:var(--graphite);margin:0}.state-hint{font-size:14px;color:var(--muted);margin:0}.state-error .state-title{color:var(--danger)}.state-spinner{width:24px;height:24px;border:3px solid var(--slate-200);border-top-color:var(--navy-700);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.btn{border:1px solid var(--slate-200);background:var(--white);color:var(--graphite);padding:10px 16px;border-radius:6px;font-size:15px;cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--navy-800);border-color:var(--navy-800);color:var(--white)}.btn-ghost{background:transparent;border-color:transparent;color:var(--slate-200)}.btn-ghost:hover{color:var(--white)}