:root{color:#17233b;font-synthesis:none;background:#f3f6fa;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.eyebrow{color:#2878ff;letter-spacing:.13em;text-transform:uppercase;margin:0 0 .55rem;font-size:.7rem;font-weight:850}.auth-shell{grid-template-columns:1.1fr minmax(22rem,.8fr);align-items:center;gap:clamp(2rem,8vw,8rem);max-width:80rem;min-height:100vh;margin:auto;padding:clamp(2rem,6vw,5rem);display:grid}.identity-panel h1{letter-spacing:-.075em;margin:0;font-size:clamp(3.5rem,8vw,7rem)}.lede{color:#61708a;max-width:34rem;font-size:1.1rem;line-height:1.7}.security-note,.session-expired{background:#fff;border-left:3px solid #2878ff;gap:.3rem;margin:2rem 0;padding:1rem 1.2rem;display:grid}.security-note span,.session-expired span{color:#61708a}.auth-card,.portal-card{background:#fff;border:1px solid #e0e6ef;border-radius:1.2rem;padding:clamp(1.5rem,4vw,2.75rem);box-shadow:0 1.5rem 4rem #1b2f4f18}.auth-card form,label{gap:.5rem;display:grid}.auth-card form{gap:1.2rem}.auth-card h2{margin:.2rem 0 1rem;font-size:1.8rem}label{color:#42516a;font-size:.8rem;font-weight:750}input,select{color:#17233b;background:#fff;border:1px solid #ccd5e2;border-radius:.55rem;min-height:2.6rem;padding:.6rem .75rem}input:focus,select:focus{border-color:#2878ff;outline:3px solid #2878ff22}.auth-card button,.state-card button{color:#fff;background:#1d62df;border:0;border-radius:.55rem;padding:.8rem 1rem;font-weight:800}.error{color:#b42318}.portal-link,.text-button{border:0;font-weight:800;color:#1d62df!important;background:0 0!important;padding:.4rem 0!important}.app-shell{grid-template-columns:16rem 1fr;min-height:100vh;display:grid}.sidebar{color:#d9e2f2;background:#101a2e;flex-direction:column;height:100vh;padding:1.4rem 1rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.8rem;padding:.3rem .5rem 1.5rem;display:flex}.brand>span{color:#fff;background:#2878ff;border-radius:.7rem;place-items:center;width:2.3rem;height:2.3rem;font-size:1.2rem;font-weight:900;display:grid}.brand div,.topbar div{display:grid}.brand small,.topbar small{color:#8796af}.sidebar nav{gap:.35rem;display:grid}.sidebar nav button{color:#b7c3d6;text-align:left;background:0 0;border:0;border-radius:.55rem;align-items:center;gap:.75rem;padding:.7rem;display:flex}.sidebar nav button span{width:1.7rem;font-size:.65rem;font-weight:900}.sidebar nav button.active,.sidebar nav button:hover{color:#fff;background:#25334d}.boundary-note{border:1px solid #33425c;border-radius:.7rem;gap:.7rem;margin-top:auto;padding:.9rem;display:grid}.main-column{min-width:0}.topbar{background:#fff;border-bottom:1px solid #e0e6ef;justify-content:flex-end;align-items:center;gap:1rem;height:4.5rem;padding:0 1.6rem;display:flex}.topbar .logout,.menu-button{color:#31415a;background:#fff;border:1px solid #d8e0eb;border-radius:.5rem;padding:.55rem .8rem}.menu-button{display:none}.workspace{max-width:105rem;margin:auto;padding:1.8rem}.page-header{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.page-header h1{letter-spacing:-.035em;margin:.2rem 0;font-size:2rem}.page-header p{color:#68778f}.breadcrumbs{font-size:.75rem}.filters,.record-actions{align-items:flex-end;gap:.7rem;display:flex}.filters label{min-width:8rem}.quality-strip{color:#63718a;background:#fff;border:1px solid #e0e6ef;border-radius:.65rem;align-items:center;gap:1rem;margin:1.3rem 0;padding:.75rem 1rem;font-size:.78rem;display:flex}.badge{color:#536178;letter-spacing:.04em;background:#e9edf3;border-radius:999px;align-items:center;width:max-content;padding:.28rem .55rem;font-size:.65rem;font-weight:850;display:inline-flex}.badge.good{color:#18733a;background:#dcfce7}.badge.warn{color:#8b6110;background:#fff3cd}.badge.bad{color:#a52a25;background:#fee4e2}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.8rem;display:grid}.kpi-card,.feature-panel,.records-panel{background:#fff;border:1px solid #e0e6ef;border-radius:.8rem}.kpi-card{gap:.35rem;padding:1rem;display:grid}.kpi-card span{color:#66748b;font-size:.75rem}.kpi-card strong{font-size:1.1rem}.kpi-card small{color:#8693a8}.feature-panel,.records-panel{margin-top:1rem;padding:1.2rem}.feature-panel h3,.records-panel h2{margin:.2rem 0}.panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.hint{color:#748299;font-size:.78rem;line-height:1.5}.chip-row{flex-wrap:wrap;gap:.45rem;display:flex}.timeline{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.timeline span{color:#65738b;background:#eef1f5;border-radius:.45rem;padding:.55rem .7rem;font-size:.75rem;font-weight:750}.timeline .done{color:#18733a;background:#ddf6e7}.timeline .current{color:#1854bd;background:#e1ecff}.two-column{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.record-actions input{width:13rem}.table-wrap{margin-top:1rem;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.8rem}th,td{text-align:left;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #edf0f4;max-width:18rem;padding:.75rem;overflow:hidden}th{color:#68768d;text-transform:uppercase;font-size:.68rem}.state-card{text-align:center;color:#69778d;place-items:center;gap:.4rem;min-height:12rem;display:grid}.state-card h3,.state-card p{margin:.2rem}.spinner{border:3px solid #dce4ef;border-top-color:#2878ff;border-radius:50%;width:1.5rem;height:1.5rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.map-placeholder{background-color:#e6ece5;background-image:linear-gradient(35deg,#fffa 25%,#0000 25%),linear-gradient(120deg,#d2e0d0 25%,#0000 25%);border-radius:.7rem;place-items:center;min-height:19rem;margin:1rem 0;display:grid;position:relative;overflow:hidden}.map-placeholder>span{color:#fff;background:#1d62df;border:2px solid #fff;border-radius:999px;padding:.35rem .5rem;font-size:.65rem;font-weight:800;position:absolute}.map-placeholder span:first-child{top:20%;left:15%}.map-placeholder span:nth-child(2){top:33%;left:35%}.map-placeholder span:nth-child(3){top:58%;left:48%}.map-placeholder span:nth-child(4){top:35%;right:18%}.map-placeholder span:nth-child(5){bottom:17%;right:28%}.map-placeholder div{text-align:center;color:#42516a;background:#fffd;border-radius:.6rem;padding:1rem;font-size:.75rem;font-weight:800}.portal-shell{max-width:75rem;min-height:100vh;margin:auto;padding:2rem}.portal-card{margin-top:2rem}.portal-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;display:grid}.portal-grid article{border:1px solid #e1e7ef;border-radius:.7rem;padding:1rem}.portal-grid p{color:#6b7890;font-size:.8rem}.fund-metrics{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.7rem;margin-top:1rem;display:grid}.fund-metrics span{background:#f4f7fb;border-radius:.6rem;gap:.35rem;padding:.8rem;display:grid}.fund-metrics small{color:#6b7890}.inline-form{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));align-items:end;gap:.7rem;margin-top:1rem;display:grid}.inline-form label{gap:.35rem;display:grid}.inline-form button{color:#fff;background:#1d62df;border:0;border-radius:.55rem;min-height:2.6rem;font-weight:800}@media (width<=850px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.boundary-note{margin-top:1rem}.page-header{flex-direction:column;align-items:flex-start}.filters{flex-wrap:wrap}.two-column,.auth-shell{grid-template-columns:1fr}.topbar{justify-content:space-between}.menu-button{display:block}}@media (width<=560px){.workspace{padding:1rem}.filters,.record-actions{grid-template-columns:1fr;width:100%;display:grid}.record-actions input{width:100%}.quality-strip{flex-direction:column;align-items:flex-start}.topbar{padding:0 .8rem}.page-header h1{font-size:1.65rem}}
