:root{--bg:#eef2f5;--panel:#fff;--panel-strong:#f7f9fb;--ink:#16212b;--muted:#5f6b76;--line:#d7dfe6;--line-strong:#c4ced8;--brand:#0d6b63;--brand-deep:#094b46;--danger:#b42318;--danger-soft:#b4231814;--success:#12715b;--shadow:0 8px 24px #0f172a14;--radius-xl:5px;--radius-lg:5px;--radius-md:5px;--radius-sm:5px;--font-sans:Roboto, "Segoe UI", sans-serif;--font-display:Roboto, "Segoe UI", sans-serif;color:var(--ink);background:var(--bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:linear-gradient(#0d6b630a,#0000 220px),linear-gradient(#f4f7fa 0%,#eef2f5 100%);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.auth-shell{background:var(--panel);grid-template-columns:45fr 55fr;min-height:100vh;display:grid}.auth-aside{color:#edf5f4;background:linear-gradient(#094b46fa,#0d6b63f0),#094b46;border-right:1px solid #ffffff14;padding:36px;position:relative}.auth-aside:before,.auth-aside:after{content:"";background:#ffffff0a;position:absolute}.auth-aside:before{width:88px;height:calc(100% - 144px);top:72px;right:34px}.auth-aside:after{width:14px;height:calc(100% - 216px);top:108px;right:72px}.brand-lockup,.auth-aside-content,.auth-card,.dashboard-card{z-index:1;position:relative}.brand-lockup{border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid #ffffff29;align-items:center;gap:10px;padding:8px 10px;display:inline-flex}.brand-mark{border-radius:var(--radius-sm);background:#ffffff24;place-items:center;width:28px;height:28px;font-size:.82rem;font-weight:700;display:grid}.brand-title{letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700;display:block}.brand-subtitle{color:#ffffffbd;font-size:.84rem;display:block}.auth-aside-content{width:min(100%,520px);max-width:100%;margin-top:52px}.eyebrow{border-radius:var(--radius-sm);color:#ffffffd6;letter-spacing:.08em;text-transform:uppercase;background:#ffffff14;padding:5px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.auth-aside h1,.auth-card h1,.dashboard-heading h1{font-family:var(--font-display);letter-spacing:-.03em;margin:14px 0 10px;font-weight:700;line-height:1.06}.auth-aside h1{max-width:14ch;font-size:clamp(2rem,4vw,2.7rem)}.auth-aside p{color:#ffffffc7;max-width:46ch;font-size:.94rem;line-height:1.6}.value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px;display:grid}.value-card{border-radius:var(--radius-md);background:#ffffff0d;border:1px solid #ffffff1a;padding:13px}.value-card strong{margin-bottom:4px;font-size:.92rem;display:block}.value-card span{color:#ffffffbd;font-size:.87rem;line-height:1.45}.auth-panel{background:linear-gradient(#0d6b6308,#0000 180px),#f4f7fa;justify-content:center;align-items:center;padding:40px;display:flex}.auth-card,.dashboard-card,.loading-card{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel);width:min(100%,520px);box-shadow:var(--shadow);padding:30px}.auth-card h1,.dashboard-heading h1{color:var(--ink);font-size:clamp(1.9rem,4vw,2.35rem)}.auth-card p,.dashboard-card p,.support-text,.field-hint{color:var(--muted);font-size:.95rem;line-height:1.55}.auth-form{gap:16px;margin-top:22px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:7px;display:grid}.field-label{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;font-weight:600;display:flex}.field input,.field select{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--ink);background:#fff;outline:none;padding:0 13px;transition:border-color .16s,box-shadow .16s,background-color .16s}.field input:focus,.field select:focus{border-color:#0d6b63b8;box-shadow:0 0 0 3px #0d6b631a}.field-error{color:var(--danger);font-size:.84rem}.field input[aria-invalid=true],.field select[aria-invalid=true]{background:#fffbfaf2;border-color:#b4231873}.inline-row,.link-row,.auth-footer-links{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.button-primary,.button-secondary,.button-ghost{border-radius:var(--radius-sm);border:1px solid #0000;min-height:44px;padding:0 14px;font-weight:700;transition:border-color .14s,background-color .14s,color .14s}.button-primary{background:linear-gradient(180deg, var(--brand) 0%, var(--brand-deep) 100%);color:#f4fbfa}.button-secondary{color:var(--brand-deep);background:#0d6b6314;border-color:#0d6b632e}.button-ghost{border-color:var(--line);color:var(--ink);background:#fff}.button-primary:hover,.button-secondary:hover,.button-ghost:hover{border-color:var(--line-strong)}.button-primary:disabled,.button-secondary:disabled,.button-ghost:disabled{opacity:.6;cursor:wait}.callout,.status-banner{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);padding:12px 14px}.status-banner.is-error{color:var(--danger);background:var(--danger-soft);border-color:#b4231829}.status-banner.is-success{color:var(--success);background:#12715b14;border-color:#12715b2e}.link-button,.text-link{color:var(--brand-deep);font-weight:700}.loading-state{place-items:center;min-height:100vh;padding:24px;display:grid}.loading-card{text-align:center}.loading-pulse{border:4px solid #0d6b631f;border-top-color:var(--brand);border-radius:50%;width:34px;height:34px;margin:0 auto 16px;animation:.9s linear infinite spin}.dashboard-shell{background:linear-gradient(#0d6b630a,#0000 180px),#f4f7fa;min-height:100vh;padding:24px}.dashboard-card{width:min(100%,1100px);margin:0 auto}.dashboard-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:20px;display:flex}.dashboard-heading p{max-width:60ch}.dashboard-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dashboard-grid{grid-template-columns:1.2fr .8fr;gap:16px;margin-top:20px;display:grid}.dashboard-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-strong);padding:18px}.dashboard-panel h2{margin:0 0 8px;font-size:1.2rem}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.stat-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:14px}.stat-card strong{color:var(--ink);font-size:1.4rem;display:block}.stat-card span{color:var(--muted);margin-top:4px;font-size:.9rem;display:block}.identity-list,.milestone-list{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.identity-list li,.milestone-list li{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:12px 14px}.identity-list strong{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:.78rem;font-weight:700;display:block}.tag{border-radius:var(--radius-sm);color:var(--brand-deep);letter-spacing:.04em;text-transform:uppercase;background:#0d6b631a;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=960px){.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{padding:20px}.dashboard-grid,.form-grid,.stat-grid{grid-template-columns:1fr}.dashboard-topbar{flex-direction:column;align-items:flex-start}}
