:root{--primary-blue:#003a9e;--primary-blue-hover:#002d7a;--primary-blue-bright:#0056cc;--grey-light:#fafbfd;--grey-dark:#f6f6f6;--blue-light:#e5ebf5;--sky-blue:#eaf9ff;--text-dark:#2c3e50;--text-muted:#6c757d;--white:#fff;--danger:#b42318;--border:#e5ebf5;--ring:#003a9e40;color:var(--text-dark);background:var(--grey-light);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Figtree,Segoe UI,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--grey-light);min-width:320px;color:var(--text-dark)}button,input{font:inherit}.auth-shell,.app-shell{min-height:100vh}.auth-shell{background:var(--grey-light);flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:28px 20px;display:flex;position:relative}.brand-lockup{flex-direction:column;align-items:center;gap:8px;display:flex}.brand-logo{object-fit:contain;width:auto;height:160px;display:block}.brand-logo.compact{height:56px}.auth-card{background:var(--white);border:1px solid var(--border);border-radius:8px;gap:14px;width:min(100%,420px);padding:28px 24px;display:grid;box-shadow:0 1px 2px #2c3e500a}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--primary-blue);margin:0;font-size:12px;font-weight:700}.auth-card h1,.topbar h1{letter-spacing:-.02em;color:var(--text-dark);margin:0;font-size:28px}.lede,.panel p,.meta,.loading{color:var(--text-muted);margin:0}.auth-card label{color:var(--text-dark);gap:6px;font-size:14px;font-weight:600;display:grid}.auth-card input{background:var(--white);color:var(--text-dark);border:1px solid #d7dee8;border-radius:6px;padding:11px 12px}.auth-card input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px var(--ring);outline:none}.auth-card button,.ghost{cursor:pointer;border:0;border-radius:6px;padding:11px 16px}.auth-card button{background:var(--primary-blue);color:var(--white);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;transition:background .15s}.auth-card button:hover:not(:disabled){background:var(--primary-blue-hover)}.auth-card button:disabled{opacity:.5;cursor:wait}.ghost{border:1px solid var(--border);color:var(--text-dark);background:0 0;font-weight:600}.ghost:hover{border-color:var(--primary-blue);color:var(--primary-blue)}.error{color:var(--danger);margin:0;font-size:14px}.meta{font-size:12px}.topbar{background:var(--white);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 32px;display:flex}.topbar-brand{align-items:center;gap:14px;display:flex}.topbar-brand h1{font-size:22px}.topbar-actions{align-items:center;gap:12px;display:flex}.auth-lang{position:absolute;top:20px;right:20px}.lang-toggle{border:1px solid var(--border);background:var(--white);border-radius:6px;display:inline-flex;overflow:hidden}.lang-toggle button{letter-spacing:.04em;color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:6px 10px;font-size:12px;font-weight:700}.lang-toggle button+button{border-left:1px solid var(--border)}.lang-toggle button.active{background:var(--primary-blue);color:#fff}.lang-toggle button:hover:not(.active){color:var(--primary-blue);background:var(--sky-blue)}.user-chip{text-align:right;font-size:13px;display:grid}.user-chip strong{color:var(--text-dark)}.user-chip span{color:var(--text-muted)}.content{background:linear-gradient(180deg, var(--sky-blue) 0%, var(--grey-light) 180px);gap:18px;padding:24px 32px 40px;display:grid}.panel,.stat-card{background:var(--white);border:1px solid var(--border);border-radius:8px}.panel{padding:20px 22px}.panel h2{color:var(--text-dark);margin:0 0 8px;font-size:18px}.grid-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.stat-card{background:linear-gradient(180deg, var(--white) 0%, var(--blue-light) 160%);gap:8px;padding:18px;display:grid}.stat-card span{color:var(--text-muted);font-size:13px;font-weight:600}.stat-card strong{letter-spacing:-.03em;color:var(--primary-blue);font-size:28px}.plan-list{gap:12px;margin-top:14px;display:grid}.plan-card{border:1px solid var(--border);background:var(--sky-blue);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.plan-card h3{color:var(--text-dark);margin:4px 0;font-size:16px}.plan-card p{color:var(--text-muted);margin:0;font-size:13px}.status-pill{background:var(--blue-light);color:var(--primary-blue);border-radius:999px;flex:none;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.plan-card-link{color:inherit;cursor:pointer;text-decoration:none;transition:border-color .12s}.plan-card-link:hover{border-color:var(--primary-blue)}.toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.ghost-link{color:var(--primary-blue);font-weight:600;text-decoration:none}.progress-track{background:var(--blue-light);border-radius:999px;height:8px;margin-top:12px;overflow:hidden}.progress-fill{background:var(--primary-blue);height:100%}.hierarchy{gap:14px;display:grid}.area-card{background:var(--white);border:1px solid var(--border);border-radius:8px;overflow:hidden}.area-toggle,.case-toggle{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0}.area-toggle{background:var(--blue-light);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:14px 16px;display:grid}.area-toggle em,.case-toggle em,.case-toggle span{color:var(--text-muted);font-size:13px;font-style:normal}.test-block{border-top:1px solid var(--border);padding:14px 16px 8px}.test-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.test-head h3{margin:0;font-size:16px}.priority{color:var(--primary-blue);font-size:12px;font-weight:700}.case-list{gap:10px;margin:12px 0;display:grid}.case-card{border:1px solid var(--border);background:var(--grey-light);border-radius:8px}.case-card.status-approved{background:#f0fdf4;border-color:#86efac}.case-card.status-declined{background:#fef2f2;border-color:#fca5a5}.case-toggle{justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.case-toggle strong{display:block}.case-body{gap:12px;padding:0 14px 14px;display:grid}.form-stack{gap:14px;margin-top:4px;display:grid}.case-body label,.form-stack label{gap:6px;font-size:13px;font-weight:600;display:grid}.field-note{color:var(--text-muted);font-size:12px;font-weight:500;line-height:1.4}.case-body textarea,.case-body input,.form-stack textarea,.form-stack input{width:100%;font:inherit;box-sizing:border-box;border:1px solid #d7dee8;border-radius:6px;padding:10px 12px}.form-stack input[type=file]{border:0;padding:8px 0}.pre-wrap{white-space:pre-wrap}.task-description{border:1px solid var(--border);background:var(--grey-dark);border-radius:6px;max-height:420px;margin-top:8px;padding:12px;font-size:13px;overflow:auto}.result-note{color:var(--text-muted);font-size:13px}.case-actions{gap:10px;display:flex}.case-actions .approve,.case-actions .decline{cursor:pointer;border:0;border-radius:6px;padding:10px 14px;font-weight:700}.case-actions .approve{color:#fff;background:#15803d}.case-actions .decline{color:#fff;background:#b91c1c}.case-actions button:disabled{opacity:.6;cursor:wait}.thumb-row{flex-wrap:wrap;gap:8px;display:flex}.thumb-row img{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:72px;height:72px}.thumb-row a{color:var(--primary-blue);font-size:12px}.signoff-panel blockquote,.signoff-done blockquote{border-left:3px solid var(--primary-blue);background:var(--sky-blue);color:var(--text-dark);margin:12px 0;padding:12px 14px}.ack-row{align-items:flex-start;gap:10px;font-weight:600;display:flex!important}.ack-row input{margin-top:3px}.signoff-btn{background:var(--primary-blue);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:12px 16px;font-weight:700}.signoff-btn:disabled{opacity:.5;cursor:not-allowed}.signoff-done{background:#f0fdf4;border-color:#86efac}@media (width<=900px){.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.content{padding-left:18px;padding-right:18px}.brand-logo{height:128px}}@media (width<=600px){.grid-cards{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{justify-content:space-between;width:100%}.user-chip{text-align:left}}
