@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap";:root{--font-sans:"DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Manrope", var(--font-sans);--bg:#f6f5f2;--surface:#fff;--surface-soft:#faf9f7;--surface-raised:#fff;--ink:#18151d;--muted:#746f79;--muted-strong:#55505c;--border:#e7e3e8;--border-strong:#d7d1d9;--primary-50:#fbf5fc;--primary-100:#f5e8f8;--primary-200:#ecd3f1;--primary-300:#dcb1e5;--primary-400:#c27ad3;--primary-500:#a24cb8;--primary-600:#8d2ea3;--primary-700:#76208a;--primary-900:#50185c;--primary-950:#33053c;--amber:#dc9d23;--amber-soft:#fff6dd;--green:#219660;--green-soft:#e7f6ee;--blue:#2475af;--blue-soft:#e9f3fa;--red:#c94d52;--red-soft:#fbeded;--sidebar:#17131f;--sidebar-muted:#aaa2b4;--radius-sm:9px;--radius:14px;--radius-lg:20px;--shadow-sm:0 1px 2px #19141e0d;--shadow:0 12px 34px #211a2612}*{box-sizing:border-box}html{min-width:320px;color:var(--ink);font-family:var(--font-sans)}body,html{background:var(--bg)}body{min-height:100vh;margin:0}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}svg{flex:none}.app-shell{min-height:100vh}.sidebar{z-index:50;background:radial-gradient(circle at 20% 0,#a24cb82e,transparent 27%),var(--sidebar);color:#f8f5fa;border-right:1px solid #ffffff12;flex-direction:column;width:244px;transition:width .22s,transform .22s;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.brand-lockup{align-items:center;gap:11px;min-height:72px;padding:15px 16px;display:flex}.brand-lockup__mark{background:linear-gradient(145deg,var(--primary-400),var(--primary-700));border:1px solid #ffffff1a;border-radius:12px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 8px 22px #a24cb847}.brand-lockup__copy{white-space:nowrap;gap:1px;display:grid}.brand-lockup__copy strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:16px}.brand-lockup__copy span{color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.sidebar__mobile-close{margin-left:auto;display:none!important}.project-switcher{color:inherit;text-align:left;background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:9px;margin:1px 12px 14px;padding:9px;display:flex}.project-switcher:hover{background:#ffffff14}.project-switcher__avatar{width:32px;height:32px;color:var(--primary-700);background:#f1e0f5;border-radius:9px;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.project-switcher__copy{white-space:nowrap;flex:1;gap:1px;min-width:0;display:grid}.project-switcher__copy strong{text-overflow:ellipsis;font-size:13px;overflow:hidden}.project-switcher__copy small{color:var(--sidebar-muted);text-overflow:ellipsis;font-size:10px;overflow:hidden}.sidebar__nav{scrollbar-width:none;flex:1;align-content:start;gap:2px;min-height:0;padding:0 10px 14px;display:grid;overflow-y:auto}.nav-link{color:#bcb5c4;border-radius:10px;align-items:center;gap:11px;height:38px;padding:0 11px;font-size:13px;font-weight:500;transition:background .16s,color .16s;display:flex;position:relative}.nav-link:hover{color:#fff;background:#ffffff0d}.nav-link--active{color:#fff;background:linear-gradient(90deg,#a24cb840,#a24cb817)}.nav-link--active:before{background:var(--primary-400);content:"";border-radius:3px;width:2px;height:18px;position:absolute;left:0}.nav-link__label{white-space:nowrap;flex:1;min-width:0}.nav-link__badge{color:#d9d3df;text-align:center;background:#ffffff17;border-radius:99px;min-width:20px;padding:2px 6px;font-size:10px;font-weight:700}.sidebar__footer{border-top:1px solid #ffffff12;gap:7px;padding:10px;display:grid}.system-health{background:#ffffff0a;border-radius:10px;align-items:center;gap:9px;padding:9px 10px;display:flex}.system-health__pulse{background:#57c988;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #57c9881a}.system-health div{gap:1px;display:grid}.system-health strong{font-size:10px;font-weight:600}.system-health span{color:var(--sidebar-muted);font-size:9px}.sidebar-collapse{color:var(--sidebar-muted);background:0 0;border-radius:9px;align-items:center;gap:10px;padding:8px 11px;font-size:11px;display:flex}.sidebar-collapse:hover{color:#fff;background:#ffffff0d}.app-shell__main{min-height:100vh;padding-left:244px;transition:padding .22s}.app-shell--collapsed .sidebar{width:70px}.app-shell--collapsed .app-shell__main{padding-left:70px}.app-shell--collapsed .brand-lockup{justify-content:center;padding-inline:10px}.app-shell--collapsed .brand-lockup__copy,.app-shell--collapsed .nav-link__badge,.app-shell--collapsed .nav-link__label,.app-shell--collapsed .project-switcher>svg,.app-shell--collapsed .project-switcher__copy,.app-shell--collapsed .sidebar-collapse span,.app-shell--collapsed .system-health div{display:none}.app-shell--collapsed .project-switcher{justify-content:center;margin-inline:9px;padding:8px}.app-shell--collapsed .nav-link,.app-shell--collapsed .sidebar-collapse,.app-shell--collapsed .system-health{justify-content:center;padding-inline:0}.topbar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f5f2e0;border-bottom:1px solid #dedae0cc;align-items:center;gap:20px;height:62px;padding:0 30px;display:flex;position:sticky;top:0}.topbar__menu{display:none!important}.topbar__search{color:#8b858f;align-items:center;gap:9px;width:min(410px,45vw);font-size:12px;display:flex}.topbar__search span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar__search kbd{border:1px solid var(--border);color:#938c97;box-shadow:var(--shadow-sm);background:#fff;border-radius:6px;margin-left:auto;padding:3px 6px;font-size:10px}.topbar__actions{align-items:center;gap:10px;margin-left:auto;display:flex}.avatar-button{color:#fff;width:34px;height:34px;box-shadow:0 0 0 1px var(--border);background:linear-gradient(145deg,#dcb1e5,#76208a);border:2px solid #fff;border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid}.page-container{width:min(1380px,100%);margin:0 auto;padding:32px 34px 70px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:27px;display:flex}.page-header h1{font-family:var(--font-display);letter-spacing:-.045em;margin:3px 0 0;font-size:clamp(27px,3vw,38px);line-height:1.12}.page-header p{max-width:680px;color:var(--muted);margin:9px 0 0;font-size:13px;line-height:1.6}.eyebrow{color:var(--primary-600);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800}.page-header__actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.app-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.app-card:not(.app-card--plain){padding:20px}.app-card--interactive{transition:border-color .18s,box-shadow .18s,transform .18s}.app-card--interactive:hover{border-color:color-mix(in srgb,var(--primary-500) 32%,var(--border));box-shadow:var(--shadow);transform:translateY(-1px)}.button{border:1px solid var(--border-strong);min-height:39px;color:var(--ink);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:700;transition:all .16s;display:inline-flex}.button:hover{border-color:var(--primary-300);color:var(--primary-700);transform:translateY(-1px)}.button--primary{border-color:var(--primary-600);background:linear-gradient(145deg,var(--primary-500),var(--primary-700));color:#fff;box-shadow:0 8px 20px #8d2ea330}.button--primary:hover{border-color:var(--primary-700);color:#fff;box-shadow:0 10px 26px #8d2ea342}.button--danger{color:var(--red);border-color:#eac7c9}.button--small{min-height:34px;padding-inline:12px;font-size:11px}.button--ghost{box-shadow:none;background:0 0;border-color:#0000}.button:disabled{cursor:not-allowed;opacity:.5;transform:none}.icon-button{border:1px solid var(--border);width:34px;height:34px;color:var(--muted-strong);background:#fff;border-radius:9px;place-items:center;display:grid}.icon-button:hover{border-color:var(--primary-300);color:var(--primary-700)}.icon-button--plain{background:0 0;border:0}.status-badge{border:1px solid var(--border);background:var(--surface-soft);width:fit-content;color:var(--muted-strong);text-transform:uppercase;letter-spacing:.07em;border-radius:99px;align-items:center;gap:6px;padding:4px 8px;font-size:9px;font-weight:800;display:inline-flex}.status-badge__dot{background:currentColor;border-radius:50%;width:5px;height:5px}.status-badge--active,.status-badge--approved,.status-badge--completed,.status-badge--healthy,.status-badge--passed,.status-badge--published,.status-badge--ready{background:var(--green-soft);color:var(--green);border-color:#c9e8d6}.status-badge--generating,.status-badge--processing,.status-badge--queued,.status-badge--researching,.status-badge--running{background:var(--blue-soft);color:var(--blue);border-color:#cae2f2}.status-badge--approval_required,.status-badge--awaiting_consent,.status-badge--limited,.status-badge--review_required{background:var(--amber-soft);color:#a06b06;border-color:#eedda9}.status-badge--blocked,.status-badge--failed,.status-badge--rejected,.status-badge--revoked{background:var(--red-soft);color:var(--red);border-color:#efcdd0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.metric-card{min-height:118px;position:relative;overflow:hidden}.metric-card__icon{background:var(--primary-50);width:34px;height:34px;color:var(--primary-600);border-radius:10px;place-items:center;display:grid}.metric-card__label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:13px;font-size:10px;font-weight:700;display:block}.metric-card__value{align-items:baseline;gap:8px;margin-top:3px;display:flex}.metric-card__value strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:27px}.metric-card__value span{color:var(--green);font-size:10px;font-weight:700}.metric-card:after{background:radial-gradient(circle,var(--primary-100),transparent 70%);content:"";opacity:.5;border-radius:50%;width:100px;height:100px;position:absolute;top:-32px;right:-30px}.grid-two{grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:16px;display:grid}.grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-three,.stack{gap:14px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;display:flex}.section-heading h2,.section-heading h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:16px}.section-heading p{color:var(--muted);margin:3px 0 0;font-size:11px}.text-link{color:var(--primary-600);font-size:11px;font-weight:700}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{border-bottom:1px solid var(--border);color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.08em;padding:10px 12px;font-size:9px;font-weight:800}.data-table td{vertical-align:middle;border-bottom:1px solid #efecf0;padding:13px 12px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fcfbfc}.table-title{gap:3px;display:grid}.table-title strong{font-size:12px}.table-title span{color:var(--muted);font-size:10px}.score-ring{--score:0deg;background:conic-gradient(var(--primary-500) var(--score),#eeeaf0 0);border-radius:50%;flex:none;place-items:center;width:78px;height:78px;display:grid}.score-ring:before{content:"";background:#fff;border-radius:50%;width:65px;height:65px;position:absolute}.score-ring__inner{z-index:1;place-items:center;display:grid;position:relative}.score-ring__inner strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:20px}.score-ring__inner span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:700}.score-ring--large{width:112px;height:112px}.score-ring--large:before{width:94px;height:94px}.score-ring--large .score-ring__inner strong{font-size:28px}.progress-bar{background:#eeeaf0;border-radius:99px;height:6px;overflow:hidden}.progress-bar span{border-radius:inherit;background:linear-gradient(90deg,var(--primary-400),var(--primary-700));height:100%;transition:width .35s;display:block}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:6px;display:grid}.field--full{grid-column:1/-1}.field label{color:var(--muted-strong);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:800}.field input,.field select,.field textarea{border:1px solid var(--border-strong);background:#fff;border-radius:10px;outline:none;width:100%;font-size:12px;transition:border-color .16s,box-shadow .16s}.field input,.field select{height:41px;padding:0 12px}.field textarea{resize:vertical;min-height:94px;padding:11px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #a24cb81a}.field small{color:var(--muted);font-size:10px}.checkbox-row{color:var(--muted-strong);align-items:flex-start;gap:9px;font-size:11px;line-height:1.45;display:flex}.checkbox-row input{width:15px;height:15px;accent-color:var(--primary-600)}.empty-state{text-align:center;place-items:center;min-height:270px;padding:30px;display:grid}.empty-state__icon{border:1px solid var(--primary-200);background:var(--primary-50);width:54px;height:54px;color:var(--primary-600);border-radius:16px;place-items:center;display:grid}.empty-state h3{font-family:var(--font-display);margin:13px 0 5px;font-size:16px}.empty-state p{max-width:400px;color:var(--muted);margin:0 0 15px;font-size:11px;line-height:1.6}.loading-line{background:#eeeaf0;border-radius:99px;overflow:hidden}.loading-line:after{background:linear-gradient(90deg,transparent,var(--primary-200),transparent);content:"";width:40%;height:100%;animation:1.2s infinite shimmer;display:block}@keyframes shimmer{0%{transform:translate(-120%)}to{transform:translate(300%)}}.toast-host{z-index:100;gap:9px;width:min(360px,100vw - 32px);display:grid;position:fixed;bottom:24px;right:24px}.toast{border:1px solid var(--border);color:var(--blue);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;border-radius:12px;align-items:flex-start;gap:10px;padding:13px;display:flex;box-shadow:0 18px 60px #16101c29}.toast--success{color:var(--green)}.toast--error{color:var(--red)}.toast__copy{flex:1;gap:2px;display:grid}.toast__copy strong{color:var(--ink);font-size:12px}.toast__copy span{color:var(--muted);font-size:10px;line-height:1.45}.toast-enter-active,.toast-leave-active{transition:opacity .2s,transform .2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(10px)}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#140f187a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border:1px solid #ffffff59;border-radius:18px;width:min(620px,100%);max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 30px 100px #120c1747}.modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:15px;padding:21px 22px 15px;display:flex}.modal__header h2{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:19px}.modal__header p{color:var(--muted);margin:5px 0 0;font-size:11px}.modal__body{padding:20px 22px}.modal__footer{border-top:1px solid var(--border);justify-content:flex-end;gap:9px;padding:15px 22px 20px;display:flex}.mobile-backdrop{display:none}@media (width<=1080px){.grid-three,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two{grid-template-columns:1fr}}@media (width<=760px){.sidebar{width:min(290px,86vw);transform:translate(-102%)}.sidebar--mobile-open{transform:translate(0)}.sidebar__mobile-close{display:grid!important}.mobile-backdrop{z-index:45;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#140f186b;display:block;position:fixed;inset:0}.app-shell--collapsed .app-shell__main,.app-shell__main{padding-left:0}.topbar{height:58px;padding:0 15px}.topbar__menu{display:grid!important}.topbar__search{flex:1;width:auto}.topbar__actions .button,.topbar__search kbd,.topbar__search span{display:none}.page-container{padding:24px 16px 55px}.page-header{flex-direction:column;align-items:flex-start}.page-header__actions{width:100%}.page-header__actions .button{flex:1}.form-grid,.grid-three,.metric-grid{grid-template-columns:1fr}.field--full{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
