@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2)format("woff2"),url(/assets/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2)format("woff2"),url(/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2)format("woff2"),url(/assets/plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/plus-jakarta-sans-latin-800-normal-CusIZhrK.woff2)format("woff2"),url(/assets/plus-jakarta-sans-latin-800-normal-BRNHt2w0.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--green:#225800;--green-dark:#1a4500;--green-accent:#7dbe4a;--green-soft:#e8f1e0;--green-line:#2e7a0a;--green-ring:#2258002e;--blue:#2f67b1;--blue-dark:#235596;--ink:#18221b;--text:#18221b;--text-muted:#66736b;--border:#e5eae5;--border-strong:#cbd4cc;--border-field:#84908a;--surface:#fff;--surface-soft:#f2f5f2;--hover:#eff4ef;--error:#c8372d;--error-ink:#a3231b;--error-bg:#fdecea;--error-border:#f2b8b5;--warning:#7a4e00;--warning-ink:#7a4e00;--warning-bg:#fff4db;--warning-border:#e8c77a;--info-bg:#eaf1fa;--info-border:#bbd0ec;--info-ink:#235596;--ok-bg:#e5f3e8;--ok-ink:#1e6b34;--scrim:#0c1c04e6;--radius:12px;--radius-input:10px;--radius-card:18px;--font-body:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:var(--font-body);--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:.9375rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.25rem;--text-3xl:1.5rem;--duration-press:.12s;--duration-base:.18s;--duration-layout:.22s;--duration-enter:.32s;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-spring:var(--ease-out)}@supports (animation-timing-function:linear(0, 1)){:root{--ease-spring:linear(0, .071, .229, .412, .586, .732, .844, .924, .976, 1.007, 1.023, 1.028, 1.027, 1.023, 1.018, 1.013, 1.009, 1.005, 1.003, 1.001, 1)}}*,:before,:after{box-sizing:border-box}body{background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.5}h1,h2,.display{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:700;line-height:1.25}p{margin:0}h3,h4,h5,h6,strong,b,th{font-weight:600}a{color:var(--green);font-weight:600}a:hover{color:var(--green-dark)}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth{background:var(--surface);flex-wrap:wrap;min-height:100vh;display:flex}.auth--photo-right{flex-direction:row-reverse}.auth__art{color:#fff;background:#1c3a0e;flex-direction:column;flex:560px;justify-content:space-between;align-items:flex-start;min-height:100vh;padding:40px 48px;display:flex;position:relative;overflow:hidden}.auth__photo-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.auth__art:before{content:"";z-index:1;background:linear-gradient(#0a1a044d 0%,#0a1a0433 35%,#0e2804e0 100%);position:absolute;inset:0}.auth__glow{z-index:2;pointer-events:none;background:radial-gradient(100% 100% at 0 0,#fffffff2 0%,#ffffffd1 30%,#fff6 55%,#fff0 75%);width:560px;max-width:100%;height:320px;position:absolute;top:0;left:0}.auth--photo-right .auth__glow{background:radial-gradient(100% 100% at 100% 0,#fffffff2 0%,#ffffffd1 30%,#fff6 55%,#fff0 75%);left:auto;right:0}.auth__logo{z-index:3;width:210px;height:auto;display:block;position:relative}.auth--photo-right .auth__logo{align-self:flex-end}.auth__copy{z-index:3;flex-direction:column;gap:18px;max-width:560px;display:flex;position:relative}.auth__over{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:#cfe5bc;font-weight:700}.auth__copy h2{color:#fff;letter-spacing:-.02em;font-size:clamp(1.75rem,2.8vw,2.375rem);line-height:1.18}.auth__copy p{font-size:var(--text-lg);color:#e3eeda;max-width:500px;line-height:1.6}.auth__copy .auth__quote{color:#fff;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;line-height:1.25}.auth__form{background:var(--surface);flex:480px;justify-content:center;align-items:center;min-width:0;padding:48px 32px;display:flex}.auth__column{flex-direction:column;gap:20px;width:100%;max-width:400px;display:flex}.auth__body{flex-direction:column;gap:22px;display:flex}.auth .form{gap:18px}.auth .field{gap:6px}.auth .heading-1{font-size:2rem;line-height:1.2}.auth .input{height:48px}.auth .button{min-height:50px;font-size:var(--text-md)}@media (width<=860px){.auth__art{flex-basis:100%;min-height:240px;padding:24px}.auth__over,.auth__copy p,.auth__glow{display:none}.auth__logo{border-radius:var(--radius);background:#fffffff0;padding:8px 12px}.auth__art:before{background:linear-gradient(#0a1a041a 0,#0a1a0433 96px,#0a1a04c7 128px,#0e2804eb 100%)}.auth__form{padding:32px 16px}}.logo{align-self:center;width:170px}.auth .heading-1{font-size:clamp(1.5rem,2.1vw,1.875rem)}.auth .lead{font-size:var(--text-base)}.auth .status-copy{text-align:center}.auth .input{background:#fbfcfa;border-radius:14px;height:50px}.auth .field__icon{top:15px}.auth .field__toggle{border-radius:12px;top:5px;right:4px}.auth .button{border-radius:999px;min-height:50px}@media (width<=900px){.auth{align-items:stretch;padding:0}.auth__frame,.auth--photo-right .auth__frame{min-height:100vh;box-shadow:none;background:var(--surface);border-radius:0;grid-template-rows:240px auto;grid-template-columns:minmax(0,1fr)}.auth__photo,.auth--photo-right .auth__photo{text-align:left;grid-area:1/1/2/2;align-items:flex-start;min-height:0;padding:24px 24px 48px}.auth--photo-right .auth__photo-copy{align-items:flex-start}.auth__photo-copy p{display:none}.auth__main,.auth--photo-right .auth__main{box-shadow:none;border-radius:26px 26px 0 0;grid-area:2/1/3/2;margin:-28px 0 0;padding:28px 16px 40px}}.logo{width:200px;height:auto;display:block}.logo--small{width:160px}.heading-1{font-size:var(--text-3xl)}.lead{color:var(--text-muted);font-size:var(--text-sm)}.back-link{min-height:40px;font-size:var(--text-sm);align-self:flex-start;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.footnote{text-align:center;font-size:var(--text-xs);color:var(--text-muted)}.form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field__label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field label{font-size:var(--text-sm);font-weight:600}.field__control{position:relative}.field__icon{color:var(--text-muted);pointer-events:none;position:absolute;top:13px;left:14px}.input{width:100%;height:44px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-field);border-radius:var(--radius-input);padding:0 14px 0 44px;transition:border-color .18s,box-shadow .18s}.input:hover{border-color:var(--text-muted)}.input::placeholder{color:var(--text-muted)}.input--plain{padding-left:14px}.input--with-toggle{padding-right:56px}.input:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--green-ring);outline:none}.input[aria-invalid=true]{border:2px solid var(--error)}.field__toggle{width:40px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;right:2px}.field__hint{font-size:var(--text-sm);color:var(--error)}.rules{font-size:var(--text-sm);flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rules li{align-items:center;gap:10px;display:flex}.rules__icon--met{color:var(--green)}.rules__icon--pending{color:var(--border-field)}.button{white-space:nowrap;min-height:44px;transition:background var(--duration-base), border-color var(--duration-base), box-shadow var(--duration-base), transform var(--duration-press) var(--ease-out);border-radius:var(--radius);font:inherit;font-size:var(--text-base);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.button:active:not(:disabled){transform:scale(.97)}.button--primary{background:var(--green);color:#fff;border:0}.button--primary:hover{background:var(--green-dark);color:#fff;box-shadow:0 6px 16px #22580038}.button--secondary{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:600}.button--secondary:hover{background:var(--hover);color:var(--text)}.button:disabled{color:#3c443c;cursor:not-allowed;background:#c9d1c3}.button-stack{flex-direction:column;gap:12px;display:flex}.divider{color:var(--text-muted);font-size:var(--text-sm);align-items:center;gap:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.banner{border:1px solid;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.banner svg{flex:none}.banner__title{font-weight:600;font-size:var(--text-sm)}.banner__body{font-size:var(--text-sm)}.banner--error{background:var(--error-bg);border-color:var(--error-border);color:#5c1a15}.banner--error .banner__title{color:var(--error-ink)}.banner--warning{background:var(--warning-bg);border-color:var(--warning-border);color:#4d3300}.banner--warning .banner__title{color:var(--warning-ink)}.banner--info{background:var(--info-bg);border-color:var(--info-border);color:#163a68}.banner--info .banner__title{color:var(--info-ink)}.banner--neutral{background:var(--surface-soft);color:#3c443c;border-color:#c9d1c3}.status-icon{border:1px solid;border-radius:40px;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.status-icon--success{background:var(--green);border-color:var(--green);color:#fff}.status-icon--error{background:var(--error-bg);border-color:var(--error-border);color:var(--error)}.status-icon--warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.status-icon--info{background:var(--info-bg);border-color:var(--info-border);color:var(--blue)}.status-icon--neutral{background:var(--surface-soft);color:#3c443c;border-color:#c9d1c3}.status-copy{flex-direction:column;gap:12px;display:flex}.status-copy .secondary{color:var(--text-muted);font-size:var(--text-sm)}.shell-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.shell-main{flex-direction:column;gap:24px;max-width:880px;margin:0 auto;padding:40px 24px;display:flex}.card{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:20px 24px;display:flex}.role-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.role-list li{border-radius:var(--radius);background:var(--surface-soft);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 14px;display:flex}.role-scope{color:var(--text-muted);font-size:var(--text-sm)}.loading{min-height:60vh;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.skip-link{background:var(--surface);border-radius:var(--radius);z-index:10;padding:8px 16px;position:absolute;top:-3rem;left:16px}.skip-link:focus{top:16px}.auth__heading{flex-direction:column;gap:8px;display:flex}.field__aside-link{font-size:var(--text-sm);font-weight:600;text-decoration:none}.field__aside-link:hover{text-decoration:underline}:root{--canvas:#f7f9f7;--green-mid:#3a7417;--amber:#f2b705;--amber-ink:#5c4400;--shadow:0 1px 2px #1428140a, 0 8px 24px #14281412;--shadow-lg:0 24px 56px #0a180a38;--sidebar-width:256px;--sidebar-narrow:84px}.app{background:var(--canvas);flex-wrap:wrap;align-items:stretch;min-height:100vh;display:flex}.app__body{flex-direction:column;flex:999 560px;min-width:0;min-height:100vh;display:flex}.app__main{flex-direction:column;flex:1;gap:20px;width:100%;max-width:1360px;margin:0 auto;padding:6px 32px 40px;display:flex}.app__main:focus{outline:none}.sidebar{flex:0 0 var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);height:100vh;transition:flex-basis var(--duration-layout) var(--ease-out);flex-direction:column;align-self:flex-start;gap:2px;padding:20px 14px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar__brand{align-items:center;padding:2px 6px 12px 8px;display:flex}.sidebar__logo{width:150px;height:auto;transition:width var(--duration-layout) var(--ease-out);display:block}.sidebar__app{flex-direction:column;padding:4px 10px 6px;display:flex}.sidebar__app b{font-size:var(--text-md);color:var(--green);letter-spacing:.02em;font-weight:700}.sidebar__app span{color:var(--text-muted);font-size:11px;line-height:1.35}.sidebar__nav{flex-direction:column;display:flex}.sidebar__group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:14px 12px 6px;font-size:11px;font-weight:700;display:block}.sidebar ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar__link{min-height:44px;color:var(--text-muted);font-size:var(--text-base);border-radius:11px;align-items:center;gap:12px;padding:0 12px;font-weight:600;text-decoration:none;transition:background .18s,color .18s;display:flex;position:relative}.sidebar__link svg{flex:none;width:20px;height:20px}.sidebar__link:hover{background:var(--hover);color:var(--text)}.sidebar__link--active,.sidebar__link--active:hover{background:var(--green-soft);color:var(--green)}.sidebar__link--active:before{content:"";background:var(--green);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-14px}.sidebar__foot{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}.sidebar__collapse{min-height:40px;color:var(--text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;padding:0 12px;font-weight:600;display:flex}.sidebar__collapse:hover{background:var(--hover);color:var(--text)}.sidebar__collapse-icon{transition:transform var(--duration-layout) var(--ease-out)}.sidebar__me{align-items:center;gap:10px;padding:8px 6px;display:flex}.sidebar__who{flex-direction:column;min-width:0;line-height:1.3;display:flex}.sidebar__who b,.sidebar__who span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar__who b{font-size:var(--text-sm)}.sidebar__who span{font-size:var(--text-xs);color:var(--text-muted)}.sidebar__signout{width:40px;height:40px;color:var(--green);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;margin-left:auto;display:flex;position:relative}.sidebar__signout:hover{background:var(--green-soft)}.sidebar--collapsed{flex-basis:var(--sidebar-narrow)}.sidebar--collapsed .sidebar__logo{width:56px}.sidebar--collapsed .sidebar__brand{justify-content:center;padding:2px 0 12px}.sidebar--collapsed .sidebar__app,.sidebar--collapsed .sidebar__group-label,.sidebar--collapsed .sidebar__who{display:none}.sidebar--collapsed .sidebar__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar--collapsed .sidebar__group+.sidebar__group{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.sidebar--collapsed .sidebar__link,.sidebar--collapsed .sidebar__collapse{justify-content:center;padding:0}.sidebar--collapsed .sidebar__me{flex-direction:column;padding:8px 0}.sidebar--collapsed .sidebar__signout{margin-left:0}.sidebar--collapsed .sidebar__collapse-icon{transform:rotate(180deg)}.sidebar--collapsed [data-tip]:hover:after,.sidebar--collapsed [data-tip]:focus-visible:after{content:attr(data-tip);z-index:40;color:#fff;font-size:var(--text-xs);white-space:nowrap;box-shadow:var(--shadow);background:#18221b;border-radius:8px;padding:6px 10px;font-weight:600;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.sidebar--collapsed{overflow:visible}.topbar{z-index:20;-webkit-backdrop-filter:blur(24px)saturate(1.4);backdrop-filter:blur(24px)saturate(1.4);background:#f7f9f7cc;align-items:center;gap:16px;min-height:64px;padding:12px 32px 0;display:flex;position:sticky;top:0}.topbar__end{align-items:center;gap:10px;margin-left:auto;display:flex}.header-search{border:1px solid var(--border-field);border-radius:var(--radius-input);background:var(--surface);width:min(280px,30vw);height:40px;color:var(--text-muted);align-items:center;gap:8px;padding:0 12px;display:flex}.header-search input{min-width:0;font:inherit;font-size:var(--text-sm);color:var(--text);background:0 0;border:0;flex:1}.header-search input:focus{outline:none}.header-search:focus-within{border-color:var(--green);box-shadow:0 0 0 4px var(--green-ring)}.avatar{background:var(--blue);color:#fff;width:40px;height:40px;font-weight:700;font-size:var(--text-sm);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.avatar--small{width:36px;height:36px;font-size:var(--text-xs)}.avatar--large{width:64px;height:64px;font-size:var(--text-2xl)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;display:flex}.page-header__text{flex-direction:column;flex:520px;gap:6px;min-width:0;display:flex}.page-title{font-size:var(--text-3xl);overflow-wrap:anywhere}.page-subtitle{font-size:var(--text-md);color:#3c463a;font-weight:600}.page-description{color:var(--text-muted)}.page-header__aside{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.page-date{font-size:var(--text-sm);color:var(--text-muted)}.page-actions{flex-wrap:wrap;gap:12px;display:flex}.breadcrumbs{font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;gap:4px 0;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";color:var(--border-strong);margin:0 10px}.breadcrumbs a{color:var(--text-muted);font-weight:600;text-decoration:none}.breadcrumbs a:hover{color:var(--green);text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--text);font-weight:600}.panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);flex-direction:column;gap:16px;min-width:0;padding:20px 22px;display:flex}.panel--compact{gap:12px;padding:18px 20px}.panel__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel__title{font-family:var(--font-body);font-size:var(--text-lg);font-weight:700}.panel__link{font-size:var(--text-sm);color:var(--blue);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.panel__link:hover{color:var(--blue-dark);text-decoration:underline}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:var(--text);align-items:center;gap:16px;padding:18px 20px;text-decoration:none;display:flex}.stat-card--link:hover{border-color:var(--green);color:var(--text)}.stat-card__icon{border-radius:16px;flex:none;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.stat-card__icon--green{background:var(--green);color:#fff}.stat-card__icon--blue{background:var(--blue);color:#fff}.stat-card__icon--amber{background:var(--amber);color:var(--amber-ink)}.stat-card__icon--grey{color:#3c463a;background:#e3e8de}.stat-card__icon--red{background:var(--error-bg);color:var(--error)}.stat-card__text{flex-direction:column;gap:2px;display:flex}.stat-card__label{font-weight:600}.stat-card__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.75rem;font-weight:700;line-height:1.15}.stat-card__note{font-size:var(--text-xs);color:var(--text-muted)}.two-column{grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;gap:24px;display:grid}.two-column--wide-left{grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr)}.stack{flex-direction:column;gap:16px;display:flex}.stack--tight{gap:10px}.muted{color:var(--text-muted)}.small{font-size:var(--text-sm)}.note{border-radius:var(--radius);background:var(--surface-soft);color:#3c463a;font-size:var(--text-sm);padding:12px 14px}.loading-inline{color:var(--text-muted);padding:24px 0}.empty-state{border:1px dashed var(--border-strong);background:var(--surface-soft);border-radius:12px;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;display:flex}.empty-state__title{font-weight:600;font-size:var(--text-md)}.empty-state__body{color:var(--text-muted);align-items:center;gap:8px;display:flex}.blocked{border:1px solid var(--info-border);border-left:4px solid var(--blue);border-radius:var(--radius);background:var(--info-bg);color:#163a68;padding:14px 16px}.blocked__title{color:var(--info-ink);flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.blocked__tag{border:1px solid var(--info-border);font-size:var(--text-xs);background:#fff;border-radius:999px;padding:1px 8px;font-weight:600}.blocked__body{font-size:var(--text-sm);margin-top:4px}.quick-actions{flex-wrap:wrap;gap:12px;display:flex}.inline-list{flex-wrap:wrap;gap:4px 16px;margin:4px 0 0;padding:0;list-style:none;display:flex}.button--blue{background:var(--blue);color:#fff;border:0}.button--blue:hover{background:var(--blue-dark);color:#fff}.button--ghost{color:var(--blue);background:0 0;border:0;font-weight:600}.button--ghost:hover{color:var(--blue-dark);text-decoration:underline}.button--danger{background:var(--error);color:#fff;border:0}.button--danger:hover{background:var(--error-ink);color:#fff}.button--danger-outline{border:1px solid var(--error);background:var(--surface);color:var(--error-ink)}.button--danger-outline:hover{background:var(--error-bg);color:var(--error-ink)}.button--small{min-height:36px;font-size:var(--text-sm);padding:0 14px}.button--block{width:100%}.button.is-disabled{opacity:.6;pointer-events:none}.icon-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--surface-soft)}.icon-button:disabled{color:#9aa394;cursor:not-allowed}.icon-button--danger{color:var(--error)}.link-button{font:inherit;color:var(--blue-dark);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.pill{font-size:var(--text-xs);white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;padding:3px 10px;font-weight:600;display:inline-flex}.pill--draft,.pill--neutral{color:#3c443c;background:#eef0eb;border-color:#c9d1c3}.pill--active,.pill--success{color:#1f4a00;background:#e7f3dd;border-color:#b9dba0}.pill--suspended{background:var(--error-bg);border-color:var(--error-border);color:var(--error-ink)}.pill--info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-ink)}.pill--warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-ink)}.pill-list{flex-wrap:wrap;gap:6px;display:flex}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th{background:var(--surface-soft);text-align:left;font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:#3c463a;white-space:nowrap;padding:10px 12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px}.table tr.is-selected td{background:#f1f8ea}.table tr.is-selected td:first-child{box-shadow:inset 4px 0 0 var(--green)}.table__primary{color:var(--text);font-weight:600;display:block}a.table__primary{color:var(--green)}.table__secondary{font-size:var(--text-xs);color:var(--text-muted);display:block}.table__actions{text-align:right;white-space:nowrap}.table__select{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.table__select:hover .table__primary{color:var(--green);text-decoration:underline}.table--editor td{vertical-align:top}.table--editor .col-code{width:140px}.table--editor .col-check{text-align:center;width:80px}.person{align-items:center;gap:12px;display:flex}.pager{font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.filters{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(180px,1fr)) auto;align-items:end;gap:16px;display:grid}.filters--four{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(160px,1fr)) auto}.filters__actions{flex-wrap:wrap;gap:8px;display:flex}.form--narrow{max-width:520px}.form__actions{flex-wrap:wrap;gap:12px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.form-grid__full{grid-column:1/-1}.textarea{resize:vertical;height:auto;min-height:96px;padding-top:12px;padding-bottom:12px;line-height:1.5}.input--compact{height:38px}select.input{appearance:auto}.input:disabled{background:var(--surface-soft);color:var(--text-muted)}.field__meta{justify-content:space-between;gap:12px;display:flex}.field__help{font-size:var(--text-sm);color:var(--text-muted)}.field__count{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;margin-left:auto}.field__count--over{color:var(--error);font-weight:600}.field__label{font-size:var(--text-sm);font-weight:600}.required{color:var(--error)}.readonly-value{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-soft);align-items:center;min-height:42px;padding:0 14px;display:flex}.checkbox{width:22px;height:22px;accent-color:var(--green)}.reason-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);text-align:left;white-space:normal;flex-direction:column;gap:12px;padding:14px;display:flex}.grant-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:16px;display:grid}.grant-form .form__actions,.grant-form .field__hint{grid-column:1/-1}.steps-list{flex-direction:column;gap:10px;margin:0;padding-left:22px;display:flex}.account-card{align-items:flex-start;gap:16px;display:flex}.details{flex-direction:column;gap:10px;margin:0;display:flex}.details div{grid-template-columns:140px minmax(0,1fr);gap:8px;display:grid}.details dt{color:var(--text-muted);font-size:var(--text-sm)}.details dd{overflow-wrap:anywhere;margin:0}.details--columns{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 24px;display:grid}.history,.timeline{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.timeline li{align-items:flex-start;gap:10px;display:flex}.timeline svg{color:var(--green);flex:none;margin-top:4px}.selected-trial__title{font-size:var(--text-lg);font-weight:600}.wizard{grid-template-columns:250px minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.wizard__steps ol{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;margin:0;padding:8px;list-style:none}.wizard-step{width:100%;min-height:60px;font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:8px 10px;display:flex;position:relative}.wizard-step:hover:not(:disabled){background:var(--surface-soft)}.wizard-step:disabled{cursor:not-allowed;color:var(--text-muted)}.wizard-step--current{background:#eef6e7}.wizard-step__number{background:var(--surface);width:34px;height:34px;font-weight:600;font-size:var(--text-sm);color:#3c463a;border:2px solid #c9d1c3;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.wizard-step--current .wizard-step__number{border-color:var(--green);background:var(--green);color:#fff}.wizard-step--later .wizard-step__number{border-style:dashed}.wizard-step__text{flex-direction:column;display:flex}.wizard-step__title{font-weight:600;font-size:var(--text-sm)}.wizard-step__hint{font-size:var(--text-xs);color:var(--text-muted)}.wizard-step__flag{background:var(--amber);border:2px solid var(--surface);border-radius:50%;width:10px;height:10px;position:absolute;top:12px;left:36px}.wizard__content{gap:20px}.wizard__aside{flex-direction:column;gap:16px;display:flex}.wizard__footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;display:flex}.step-header{align-items:center;gap:16px;display:flex}.step-header__number{background:var(--green);color:#fff;width:40px;height:40px;font-size:var(--text-xl);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:flex}.step-header__title{font-family:var(--font-body);font-size:var(--text-2xl);font-weight:600}.step-header__title:focus{outline:none}.code-placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius);font-weight:600;font-size:var(--text-lg);color:var(--text-muted);padding:12px 14px}.save-status{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:6px;display:flex}.save-status--error{color:var(--error-ink)}.subsection{flex-direction:column;gap:12px;padding-top:8px;display:flex}.subsection__title{font-size:var(--text-md);font-weight:600}.row-editor{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.row-editor>.table-wrap{width:100%}.row-buttons{gap:6px;display:flex}.row-card{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;width:100%;margin:0;padding:16px;display:flex}.row-card legend{padding:0 6px;font-weight:600}.row-card__grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px;display:grid}.cell-field{flex-direction:column;gap:4px;display:flex}.readiness{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.readiness li{border-radius:var(--radius);background:var(--warning-bg);border:1px solid var(--warning-border);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 14px;display:flex}.readiness--done{border-radius:var(--radius);color:#1f4a00;background:#e7f3dd;border:1px solid #b9dba0;padding:10px 14px;font-weight:600}.documents{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.document{border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;padding:10px 12px;display:flex}.document>svg{color:var(--green);flex:none}.document__text{flex-direction:column;flex:1;min-width:0;display:flex}.document__name{overflow-wrap:anywhere;font-weight:600}.document__meta{font-size:var(--text-xs);color:var(--text-muted)}.upload{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.upload__input{opacity:0;width:1px;height:1px;position:absolute}.upload__input:focus-visible+label{outline:3px solid var(--blue);outline-offset:2px}.preview{gap:24px}.preview__header{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding-bottom:16px;display:flex}.preview__eyebrow{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--green);font-weight:600}.preview__title{font-size:var(--text-3xl)}.preview-section{flex-direction:column;gap:10px;display:flex}.preview-section__title{font-size:var(--text-md);color:var(--green);font-weight:600}.prose{white-space:pre-wrap;overflow-wrap:anywhere}@media (width<=1280px){.wizard{grid-template-columns:230px minmax(0,1fr)}.wizard__aside{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}}@media (width<=1080px){.two-column,.two-column--wide-left{grid-template-columns:minmax(0,1fr)}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters__actions{grid-column:1/-1}}@media (width<=860px){.wizard{grid-template-columns:minmax(0,1fr)}.wizard__steps ol{gap:4px;display:flex;overflow-x:auto}.wizard-step{min-width:180px}.header-search{display:none}}@media (width<=640px){.app__main{padding:20px 16px 40px}.form-grid,.filters{grid-template-columns:minmax(0,1fr)}.page-header__aside{align-items:flex-start}.details div{grid-template-columns:minmax(0,1fr);gap:2px}.panel{padding:16px}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar__logo,.sidebar__collapse-icon,.button{transition:none}.button:active:not(:disabled){transform:none}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.topbar{background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (width<=860px){.sidebar,.sidebar--collapsed{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;flex:100%;align-items:center;gap:4px;height:auto;padding:10px 12px;position:static;overflow-x:auto}.sidebar__app,.sidebar__group-label,.sidebar__collapse,.sidebar__who{display:none}.sidebar__brand{padding:0 8px 0 0}.sidebar__logo,.sidebar--collapsed .sidebar__logo{width:84px}.sidebar__nav,.sidebar ul{flex-direction:row}.sidebar__link{flex:none}.sidebar__link--active:before{display:none}.sidebar__foot{border:0;flex-direction:row;margin:0 0 0 auto;padding:0}.topbar{padding:12px 16px 0}.app__main{padding:4px 16px 32px}}@media (width<=560px){.sidebar__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.checklist{flex-direction:column;gap:12px;display:flex}.checklist__status{border:1px solid;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.checklist__status--valid{color:#1f4a00;background:#e7f3dd;border-color:#b9dba0}.checklist__status--warning{background:var(--info-bg);border-color:var(--info-border);color:#163a68}.checklist__status--invalid{background:var(--warning-bg);border-color:var(--warning-border);color:#4d3300}.checklist__title{font-family:var(--font-body);font-size:var(--text-md);color:inherit;font-weight:600}.checklist__count{font-size:var(--text-3xl);white-space:nowrap;font-weight:600}.checklist__items,.checklist__warnings,.checklist__problems,.plain-list{margin:0;padding:0;list-style:none}.checklist__items{border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex}.checklist__items>li{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.checklist__items>li:last-child{border-bottom:0}.checklist__items>li>svg{flex:none;margin-top:2px}.checklist__items>li.is-complete>svg{color:var(--green)}.checklist__items>li.is-open>svg{color:var(--warning)}.checklist__text{flex:1;min-width:0}.checklist__label{font-weight:600}.checklist__problems{font-size:var(--text-sm);color:#4d3300;margin-top:4px}.checklist__problems li+li{margin-top:2px}.checklist__group{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.checklist__warnings li{font-size:var(--text-sm);color:#163a68;align-items:flex-start;gap:8px;padding:6px 0;display:flex}.checklist__warnings svg{flex:none;margin-top:2px}.conditions,.radio-group{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;margin:0;padding:16px;display:flex}.conditions legend,.radio-group legend{padding:0 6px;font-weight:600}.condition{flex-direction:column;gap:8px;display:flex}.condition .field,.condition__hint{margin-left:34px}.check{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-weight:600;display:inline-flex}.radio{width:22px;height:22px;accent-color:var(--green)}.submit-box{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.decision{flex-direction:column;gap:10px;display:flex}.decision__outcome{font-weight:600}.decision__outcome--approved{color:var(--green)}.decision__outcome--changes{color:var(--warning-ink)}.decision__comments{flex-direction:column;gap:8px;margin:0;display:flex}.decision__comments div{border-left:3px solid var(--warning-border);background:var(--surface-soft);border-radius:0 var(--radius) var(--radius) 0;padding:10px 12px}.decision__comments dt{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.decision__comments dd{margin:2px 0 0}.comment-row{grid-template-columns:minmax(160px,220px) minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.plain-list{flex-direction:column;gap:8px;display:flex}@media (width<=640px){.comment-row{grid-template-columns:minmax(0,1fr)}.checklist__status{flex-direction:column;align-items:flex-start}}.plain-list--bullets{gap:4px;padding-left:20px;list-style:outside}.suggestions{border-left:4px solid var(--warning-border)}.reviewer-note{border-left:3px solid var(--warning-border);border-radius:0 var(--radius) var(--radius) 0;background:var(--warning-bg);padding:12px 14px}.reviewer-note__title{font-size:var(--text-xs);color:var(--warning-ink);margin:0 0 4px;font-weight:600}.wizard-step__comment{background:var(--blue);border:2px solid var(--surface);border-radius:2px;width:10px;height:10px;position:absolute;top:12px;left:50px}.bell{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.bell:hover,.bell[aria-current=page]{border-color:var(--green);color:var(--green)}.bell__badge{background:var(--error);color:#fff;min-width:20px;height:20px;font-size:var(--text-xs);text-align:center;border-radius:10px;padding:0 5px;font-weight:600;line-height:20px;position:absolute;top:-4px;right:-6px}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented__option{background:var(--surface);min-height:36px;color:var(--text);font:inherit;cursor:pointer;border:0;padding:6px 14px;font-weight:600}.segmented__option+.segmented__option{border-left:1px solid var(--border-strong)}.segmented__option[aria-pressed=true]{background:var(--green);color:#fff}.notification-list{border:1px solid var(--border);border-radius:12px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notification+.notification{border-top:1px solid var(--border)}.notification__link{color:inherit;flex-direction:column;gap:2px;padding:12px 16px 12px 28px;text-decoration:none;display:flex;position:relative}.notification__link:hover{background:var(--surface-soft)}.notification--unread .notification__link:before{content:"";background:var(--blue);border-radius:50%;width:8px;height:8px;position:absolute;top:18px;left:10px}.notification__title,.notification--unread .notification__title{font-weight:600}.notification__time{font-size:var(--text-xs);color:var(--text-muted)}.form-card,.form-view{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:14px;padding:16px;display:flex}.form-card__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.form-card__title{font-size:var(--text-md);margin:0 0 4px}.form-card__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field-editors{gap:12px}.field-editor{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.field-editor__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-editor__title{font-size:var(--text-sm);margin:0}.field-editor__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;gap:12px;display:grid}.field-editor__grid--numbers{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.field-editor__required{align-self:end;min-height:44px}.choices-editor{border:1px dashed var(--border-strong);border-radius:10px;flex-direction:column;gap:8px;margin:0;padding:12px;display:flex}.choices-editor__row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.template-fields__row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(200px,280px);align-items:end;gap:12px;padding:8px 0;display:grid}.add-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.coverage li{padding-left:22px;position:relative}.coverage li:before{font-weight:600;position:absolute;left:0}.coverage--ok:before{content:"✓";color:var(--green)}.coverage--missing:before{content:"!";color:var(--warning)}.phone{flex-direction:column;align-items:center;gap:8px;display:flex}.phone__screen{background:var(--surface);width:min(100%,360px);box-shadow:var(--shadow);border:10px solid #1d211c;border-radius:28px;flex-direction:column;gap:14px;padding:18px 16px 22px;display:flex}.phone__title{font-weight:600;font-size:var(--text-lg);margin:0}.phone__meta{font-size:var(--text-xs);color:var(--text-muted);margin:0}.phone__field{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.phone__field legend,.phone__field>label{font-weight:600}.phone__ok{color:var(--green);margin:0;font-weight:600}@media (width<=640px){.template-fields__row{grid-template-columns:minmax(0,1fr)}}.setup-list{border:1px solid var(--border);border-radius:10px;gap:0}.setup-list__row{justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.setup-list__row+.setup-list__row{border-top:1px solid var(--border)}.readings__flags{margin-top:6px}.correction{border:1px solid var(--border);border-radius:10px;padding:16px}.correction__title{font-size:var(--text-md);margin:0;font-weight:600}.correction__actions{flex-wrap:wrap;gap:10px;display:flex}.prewrap{white-space:pre-wrap;margin:0}.qr-card{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:12px;padding:16px;display:flex}.qr-print{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.qr-print__title{font-size:var(--text-lg);font-weight:600}.qr-code{max-width:100%;height:auto}@media print{body *{visibility:hidden}.qr-print,.qr-print *{visibility:visible}.qr-print{margin:0 auto;position:absolute;inset:0 0 auto}}.greeting{background:radial-gradient(circle at 92% 20%, #7dbe4a73 0, transparent 42%), linear-gradient(120deg, var(--green) 0%, #2f6e0c 100%);color:#fff;border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;padding:22px 28px;display:flex}.greeting__title{color:#fff;font-size:clamp(1.375rem,2vw,1.75rem)}.greeting__lead{color:#e3eeda;margin-top:4px}.greeting__roles{font-size:var(--text-xs);color:#cfe2c0;margin-top:6px}.button--light{color:var(--green);background:#fff;border:0;border-radius:999px}.button--light:hover{color:var(--green-dark);background:#eef6e6}.stat-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:20px;display:grid}.dashboard-grid__main,.dashboard-grid__side{flex-direction:column;gap:20px;min-width:0;display:flex}.work-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.work-list li{border-bottom:1px solid #edf0ea;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 0;display:flex}.work-list li:last-child{border-bottom:0}.work-list__label{text-decoration:none}.work-list__label:hover{text-decoration:underline}.field--inline{flex-direction:row;align-items:center;gap:8px}.field--inline .input{border-radius:12px;width:auto;max-width:280px;height:38px}.trial-progress{flex-direction:column;gap:12px;display:flex}.trial-progress__filters{flex-wrap:wrap;align-items:center;gap:10px 20px;display:flex}.trial-progress__live{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:8px;margin-left:auto;display:inline-flex}.live-dot{background:#3a7417;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #3a74172e}.trial-progress__summary{font-size:var(--text-sm);color:var(--text-muted)}.cure-charts{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.chart-legend{font-size:var(--text-sm);color:var(--text);flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;display:flex}.chart-legend li{align-items:center;gap:8px;display:inline-flex}.reading-chart{width:100%;margin:0}.reading-chart__title{font-size:var(--text-sm);color:var(--text);font-weight:600}.reading-chart__frame{position:relative}.reading-chart__svg{width:100%;height:auto;display:block;overflow:visible}.reading-chart__band{fill:#f3f6ef}.reading-chart__band--alt{fill:#e9efe2}.reading-chart__stage{fill:var(--text-muted);font-size:11px;font-weight:600}.reading-chart__grid{stroke:#dfe5d9;stroke-width:1px}.reading-chart__axis{fill:var(--text-muted);font-size:11px}.reading-chart__value{fill:var(--text);font-size:12px;font-weight:600}.reading-chart__crosshair{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:3 3}.reading-chart__hit{cursor:crosshair;border-radius:4px;position:absolute}.reading-chart__hit:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.reading-chart__tooltip{z-index:2;border:1px solid var(--border);background:var(--surface);min-width:190px;box-shadow:var(--shadow);pointer-events:none;font-size:var(--text-xs);border-radius:12px;padding:10px 12px;position:absolute;top:24px}.reading-chart__tip-time{color:var(--text-muted);margin-bottom:6px}.reading-chart__tip-row{align-items:center;gap:8px;display:flex}.reading-chart__tip-row strong{font-size:var(--text-sm);color:var(--ink)}.reading-chart__tip-row span:last-child{color:var(--text-muted)}.reading-chart__tip-row--muted{color:var(--text-muted);margin-top:4px}.reading-chart__key{border-top:2px solid;width:18px;height:0;display:inline-block}.reading-chart__key--dashed{border-top-style:dashed}@media (width<=1280px){.stat-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.stat-grid--four{grid-template-columns:minmax(0,1fr)}}.stat-grid--six{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.analytics-filters{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.segmented{background:#e6ebe1;border-radius:999px;padding:4px;display:inline-flex}.segmented__option{min-height:36px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 18px;font-weight:600}.analytics-grid{grid-template-columns:minmax(0,3fr) minmax(260px,2fr);align-items:start;gap:20px;display:grid}@media (width<=1080px){.analytics-grid{grid-template-columns:minmax(0,1fr)}}.trend-key{border-radius:3px;width:12px;height:12px;display:inline-block}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.dash-head__scope{color:var(--text-muted);font-weight:500}.hero-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px;display:grid}.main-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.main-grid__side{flex-direction:column;gap:20px;min-width:0;display:flex}.feat{border-radius:var(--radius-card);background:var(--green);color:#fff;flex-direction:column;gap:20px;min-width:0;padding:24px 26px;display:flex;position:relative;overflow:hidden}.feat__top,.feat__middle,.feat__next{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;display:flex}.feat__top{align-items:flex-start}.feat__head{flex-direction:column;gap:4px;min-width:0;display:flex}.feat__over{letter-spacing:.08em;text-transform:uppercase;color:#d6e8c6;align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.feat__title{font-size:var(--text-md);letter-spacing:0;color:#dcebcf;font-weight:600}.feat__time,.feat__label,.feat__sub{font-size:var(--text-xs);color:#dcebcf}.feat__sub{font-size:var(--text-sm)}.feat__time{font-variant-numeric:tabular-nums;font-weight:600}.feat__number-block{flex-direction:column;gap:4px;display:flex}.feat__number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:3.25rem;font-weight:800;line-height:1}.feat__unit{font-size:var(--text-2xl);letter-spacing:0;font-weight:600}.feat__spark{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.feat__stats{border-top:1px solid #ffffff2e;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding-top:16px;display:grid}.feat__stats dt{font-size:var(--text-xs);color:#dcebcf}.feat__stats dd{font-size:var(--text-xl);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.feat__next{border-top:1px solid #ffffff2e;align-items:center;padding-top:16px}.feat__next-title{font-size:var(--text-lg)}.feat__actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.feat__next .feat__actions{margin-top:0}.sparkline{max-width:100%;overflow:visible}.live-dot--light{background:#a8e07e;box-shadow:0 0 0 3px #a8e07e40}.button--white{color:var(--green);background:#fff}.button--white:hover{color:var(--green);background:#f1f7ec}.button--ghost-white{color:#fff;background:#ffffff1f;border:1px solid #ffffff47}.button--ghost-white:hover{color:#fff;background:#fff3}.kpi-list{flex-direction:column;gap:12px;min-width:0;display:flex}.kpi-row{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:inherit;flex:1;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;text-decoration:none;display:flex}.kpi-row--link:hover{border-color:var(--border-strong);background:var(--hover);color:inherit}.kpi-row__text{flex-direction:column;gap:2px;min-width:0;display:flex}.kpi-row__label{font-size:var(--text-sm);font-weight:600}.kpi-row__note{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.kpi-row__note--amber{color:var(--warning-ink);font-weight:600}.kpi-row__note--red{color:var(--error-ink);font-weight:600}.kpi-row__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.625rem;font-weight:700;line-height:1}.act-list{margin:0;padding:0;list-style:none}.act-list li{border-top:1px solid var(--border);gap:12px;padding:12px 0;display:flex}.act-list li:first-child{border-top:0;padding-top:4px}.act-icon{background:var(--surface-soft);width:34px;height:34px;color:var(--text-muted);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.act-icon--blue{background:var(--info-bg);color:var(--info-ink)}.act-icon--green{background:var(--green-soft);color:var(--green)}.act-text{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.act-title{color:var(--text);font-size:var(--text-sm);font-weight:600;text-decoration:none}.act-title:hover{color:var(--green);text-decoration:underline}.returned{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-ink);border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.returned__title{font-size:var(--text-sm);font-weight:700}.timeline{gap:0}.timeline li{border-top:1px solid var(--border);gap:12px;padding:12px 0}.timeline li:first-child{border-top:0;padding-top:4px}.timeline svg{background:var(--surface-soft);width:34px;height:34px;color:var(--text-muted);border-radius:10px;margin-top:0;padding:8px}.timeline p:first-child{font-size:var(--text-sm);font-weight:600}.table-wrap{border:1px solid var(--border);border-radius:14px}.table th{background:var(--surface-soft);color:var(--text-muted);font-size:var(--text-xs);letter-spacing:0;text-transform:none;white-space:nowrap;padding:11px 16px;font-weight:600}.table td{border-bottom:0;border-top:1px solid var(--border);padding:13px 16px}.table tbody tr:hover{background:var(--hover)}.table-filters{flex-wrap:wrap;gap:10px;display:flex}.table-filters__search{flex:220px;width:auto}.table-filters__select{width:auto;height:40px}.sort-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.sort-button:hover{color:var(--text)}.segmented{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;gap:2px;padding:3px;display:inline-flex;overflow:visible}.segmented__option,.segmented__option+.segmented__option{min-height:34px;color:var(--text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:9px;padding:0 14px;font-weight:600}.segmented__option:hover{color:var(--text)}.segmented__option--on,.segmented__option--on+.segmented__option{border-left:0}.segmented__option--on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #1428141f}@media (width<=1180px){.hero-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=980px){.main-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.feat__stats{grid-template-columns:minmax(0,1fr)}}.review-steps{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);flex-wrap:wrap;gap:8px 0;margin:0;padding:16px 20px;list-style:none;display:flex}.review-steps li{font-size:var(--text-sm);color:var(--text-muted);flex:180px;align-items:center;gap:10px;font-weight:600;display:flex}.review-steps li+li:before{content:"";background:var(--border);flex:0 0 24px;height:2px;margin-right:2px}.review-steps__dot{border:2px solid var(--border-strong);background:var(--surface);width:28px;height:28px;font-size:var(--text-xs);border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.review-steps__done{color:var(--text)}.review-steps__done .review-steps__dot{border-color:var(--green);background:var(--green);color:#fff}.review-steps__current{color:var(--green)}.review-steps__current .review-steps__dot{border-color:var(--green);box-shadow:0 0 0 4px var(--green-ring);color:var(--green)}.meta-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;display:grid}.meta-tiles>div{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:14px 18px}.meta-tiles dt{font-size:var(--text-xs);color:var(--text-muted)}.meta-tiles dd{font-size:var(--text-xl);font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:700}.meta-tiles__warn{color:var(--warning-ink);border-color:var(--warning-border)!important;background:var(--warning-bg)!important}.meta-tiles__warn dt{color:var(--warning-ink)}.send-bar{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:14px 18px;display:flex}.send-bar p{margin:0}.modal-scrim{z-index:50;animation:modal-scrim-in var(--duration-base) var(--ease-out) both;background:#101c1073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-card);background:var(--surface);width:min(560px,100%);max-height:calc(100vh - 32px);animation:modal-rise var(--duration-enter) var(--ease-spring) both;padding:24px;overflow:auto;box-shadow:0 24px 60px #101c1047}.modal:focus{outline:none}@keyframes modal-scrim-in{0%{opacity:0}}@keyframes modal-rise{0%{transform:translateY(12px)scale(.98)}}@media (prefers-reduced-motion:reduce){.modal-scrim,.modal{animation:none}}.modal .correction{background:0 0;border:0;margin:0;padding:0}.modal__title{font-size:var(--text-lg);margin:0 0 8px}.modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media (width<=720px){.meta-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-tools{justify-content:flex-end;min-height:0;display:flex}.dash-tools:empty{display:none}.meta-tiles--three{grid-template-columns:repeat(3,minmax(0,1fr))}.meta-tiles .meta-tiles__note{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px;font-weight:400}.bar-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.bar-list li{font-size:var(--text-sm);grid-template-columns:minmax(120px,1fr) minmax(0,2fr) auto;align-items:center;gap:12px;display:grid}.bar-list__track{background:var(--surface-soft);border-radius:999px;height:10px;overflow:hidden}.bar-list__bar{background:var(--green);border-radius:999px;height:100%;display:block}.bar-list__value{text-align:right;font-variant-numeric:tabular-nums;min-width:2ch;font-weight:700}@media (width<=720px){.meta-tiles--three{grid-template-columns:minmax(0,1fr)}}.filter-bar{flex-wrap:wrap;justify-content:flex-end;gap:8px 16px;display:flex}.meta-tiles--backlog{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.doc-preview{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;width:100%;height:min(78vh,900px)}.compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.compare>section{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;padding:14px 16px}.compare__title{font-size:var(--text-sm);margin:0 0 6px;font-weight:700}.facts{flex-direction:column;gap:12px;margin:0;display:flex}.facts dt{font-size:var(--text-xs);color:var(--text-muted)}.facts dd{margin:2px 0 0;font-weight:600}@media (width<=720px){.compare{grid-template-columns:minmax(0,1fr)}}.chip-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip-list li{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-ink);font-size:var(--text-xs);border-radius:999px;padding:4px 10px;font-weight:600}.meta-tiles .meta-tiles__text{font-size:var(--text-sm);font-weight:600}.trial-code{font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}.choice-group{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;margin:0;padding:16px;display:flex}.choice-group legend{padding:0 6px;font-weight:600}.choice-group__options{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 16px;display:grid}.point-row{align-items:flex-start;gap:12px;width:100%;display:flex}.point-row>.field{flex:1;min-width:0}.point-row>.row-buttons,.point-row>.icon-button{margin-top:28px}.method-section{border:1px dashed var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.method-section--added{border-style:solid}.method-section__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.method-section__confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.objectives{flex-direction:column;gap:6px;margin:0;padding-left:1.4em;display:flex}
