:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#fafbfc;--ink:#14171c;--ink-2:#3d444e;--muted:#6b7280;--faint:#9aa1ac;--border:#e6e8ee;--border-2:#eef0f4;--accent:#8f5e17;--accent-strong:#a56c1b;--accent-ink:#fff;--accent-weak:#f8f1e6;--accent-line:#ecdcc2;--ok:#15803d;--ok-bg:#e7f6ec;--warn:#9a6a00;--warn-bg:#fbf1d6;--info:#1d4ed8;--info-bg:#e6edfd;--violet:#5b21b6;--violet-bg:#eee9fb;--danger:#b42318;--danger-bg:#fdeceb;--slate:#475467;--slate-bg:#eef1f5;--radius:14px;--radius-sm:9px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(16,20,26,.04),0 1px 3px rgba(16,20,26,.05);--shadow-md:0 6px 24px rgba(16,20,26,.08);--shadow-pop:0 12px 40px rgba(16,20,26,.14);--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);color:var(--ink);background:var(--bg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wrap{max-width:1140px;margin:0 auto;padding:26px 24px 72px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:2px 0 20px}.page-head h1{margin:0}.page-head .sub{color:var(--muted);font-size:13px;margin-top:3px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}h1{font-size:25px;letter-spacing:-.014em;margin:0}h1,h2{font-weight:700}h2{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);margin:30px 0 12px}h3{font-size:15px;font-weight:650;margin:0 0 8px;letter-spacing:-.006em}.muted{color:var(--muted);font-size:13px}.mono{font-family:var(--font-mono);font-size:.92em}.dim{color:var(--faint)}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}.appbar:before{content:"";display:block;height:3px;background:var(--accent)}.appbar-top{max-width:1140px;margin:0 auto;padding:11px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.appbar-nav{border-top:1px solid var(--border-2);position:relative}.appbar-nav .nav{max-width:1140px;margin:0 auto;padding:0 24px;height:46px;display:flex;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:none}.appbar-nav .nav::-webkit-scrollbar{display:none}.brand{display:flex;flex-direction:column;line-height:1.2;min-width:0}.brand .name{font-family:var(--font-serif);font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.brand .name b{color:var(--accent);font-weight:700}.brand .org{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appbar.portal:before{background:#0f766e}.appbar.portal .brand .name b{color:#0f766e}.appbar.portal .nav a.active{background:#e6f4f1;color:#0f766e}.nav a{color:var(--ink-2);font-size:13.5px;font-weight:550;padding:8px 13px;border-radius:8px;white-space:nowrap;transition:background .12s,color .12s}.nav a,.nav a:hover{text-decoration:none}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a.active{background:var(--accent-weak);color:var(--accent);font-weight:650}.navmenus{max-width:1140px;margin:0 auto;padding:0 24px;height:46px;gap:8px}.nav-groups,.navmenus{display:flex;align-items:center}.nav-groups{gap:2px}.nav-group{position:relative}.nav-group-btn{background:transparent;border:0;box-shadow:none;cursor:pointer;font-family:inherit;color:var(--ink-2);font-size:13.5px;font-weight:550;padding:7px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:5px;transition:background .12s,color .12s}.nav-group-btn:hover{background:var(--surface-2);color:var(--ink)}.nav-group.current>.nav-group-btn{color:var(--accent);font-weight:650}.nav-group.open>.nav-group-btn{background:var(--surface-2);color:var(--ink)}.nav-group-btn .caret{font-size:10px;color:var(--muted);transition:transform .12s}.nav-group.open>.nav-group-btn .caret{transform:rotate(180deg)}.nav-drop{position:absolute;top:calc(100% + 6px);left:0;min-width:210px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md,0 12px 28px rgba(20,20,30,.14));padding:6px;display:none;flex-direction:column;gap:1px;z-index:60}.nav-group.open>.nav-drop{display:flex}.nav-drop a{color:var(--ink-2);font-size:13px;font-weight:500;text-decoration:none;padding:8px 11px;border-radius:7px;white-space:nowrap}.nav-drop a:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.nav-drop a.active{background:var(--accent-weak);color:var(--accent);font-weight:600}.nav-burger{display:none}@media (max-width:760px){.navmenus{padding:0 16px}.nav-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:40px;height:32px;padding:0 9px;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;box-shadow:var(--shadow-sm)}.nav-burger span{display:block;height:2px;background:var(--ink-2);border-radius:2px}.nav-groups{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:0;padding:8px;max-height:72vh;overflow-y:auto;box-shadow:var(--shadow-md,0 12px 28px rgba(20,20,30,.14))}.nav-groups.drawer-open{display:flex}.nav-group{position:static}.nav-group-btn{width:100%;justify-content:space-between;padding:10px 12px;font-weight:600}.nav-drop{position:static;display:none;min-width:0;border:0;box-shadow:none;border-radius:0;padding:2px 0 6px 12px;background:transparent}.nav-group.open>.nav-drop{display:flex}.nav-drop a{padding:9px 11px}}.userbox{display:flex;align-items:center;gap:12px}.userbox .who{text-align:right;line-height:1.25}.userbox .who .u{font-size:13px;font-weight:600;color:var(--ink)}.userbox .who .r{font-size:11px;color:var(--muted)}.userbox .sep{width:1px;height:24px;background:var(--border)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.card.tight{padding:14px 16px}.card.flush{padding:0;overflow-x:auto}.card-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.card-hd h3{margin:0}.grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:14px}.grid-3,.grid-4{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,1fr);grid-gap:14px}@media (max-width:860px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}}@media (max-width:620px){.grid,.grid-4{grid-template-columns:1fr}}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);position:relative}.stat .k{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;gap:7px}.stat .k .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}.stat .v{font-size:30px;font-weight:700;letter-spacing:-.02em;margin-top:8px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .s{font-size:12px;color:var(--muted);margin-top:6px}label{display:block;font-size:12px;color:var(--ink-2);font-weight:550;margin-bottom:5px}input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13.5px;font-family:inherit;background:var(--surface);color:var(--ink);transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.field{margin-bottom:12px}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--accent);color:var(--accent-ink);border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 15px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,box-shadow .12s,border-color .12s;box-shadow:var(--shadow-sm)}.btn:hover,button:hover{background:var(--accent-strong);text-decoration:none}.btn:focus-visible,button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-weak)}.btn.secondary,button.secondary{background:var(--surface);color:var(--ink);border-color:var(--border);box-shadow:var(--shadow-sm)}.btn.secondary:hover,button.secondary:hover{background:var(--surface-2);border-color:var(--faint)}.btn.ghost,button.ghost{background:transparent;color:var(--ink-2);border-color:transparent;box-shadow:none}button.ghost:hover{background:var(--surface-2)}.btn.danger,button.danger{background:var(--danger)}button.danger:hover{background:#9f1d14}.btn.sm,button.sm{padding:6px 10px;font-size:12px}.btn:disabled,button:disabled{background:#cfd4dc;color:#fff;cursor:not-allowed;box-shadow:none}.signout{background:none;border:0;color:var(--muted);font-size:12.5px;font-weight:550;cursor:pointer;padding:4px 6px;box-shadow:none;border-radius:6px}.signout:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;padding:10px 14px;color:var(--faint);font-weight:650;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--surface-2)}tbody td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border-2);vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .1s}tbody tr:hover{background:var(--surface-2)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-pill);font-size:11px;font-weight:650;letter-spacing:.01em;line-height:1.35;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.badge.plain:before{display:none}.b-active,.b-issued,.b-ok-pill{color:var(--ok);background:var(--ok-bg)}.b-pending,.b-screening{color:var(--warn);background:var(--warn-bg)}.b-accepted{color:#0e7490;background:#e0f2f7}.b-info,.b-under_review{color:var(--info);background:var(--info-bg)}.b-decided{color:var(--violet);background:var(--violet-bg)}.b-fail-pill,.b-refused,.b-withdrawn{color:var(--danger);background:var(--danger-bg)}.b-suspended{color:var(--warn);background:var(--warn-bg)}.badge.neutral{color:var(--slate);background:var(--slate-bg)}.banner{border-radius:var(--radius-sm);padding:11px 14px;font-size:13px;margin:12px 0;border:1px solid transparent}.b-warn{background:var(--warn-bg);border-color:#f0dca6;color:#7a5300}.b-ok{background:var(--ok-bg);border-color:#bfe4cb;color:#14612f}.b-role{background:var(--accent-weak);border:1px solid var(--accent-line);color:#6f4a12}.chart-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px}.chart-legend .item{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2)}.chart-legend .item .sw{width:10px;height:10px;border-radius:3px;flex:none}.chart-legend .item .n{color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hbar-row{display:grid;grid-template-columns:130px 1fr 44px;align-items:center;grid-gap:10px;gap:10px;margin:9px 0;font-size:12.5px}.hbar-row .lbl{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-row .track{height:9px;background:var(--surface-2);border-radius:999px;overflow:hidden}.hbar-row .fill{height:100%;border-radius:999px;background:var(--accent)}.hbar-row .num{text-align:right;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:30px 28px;box-shadow:var(--shadow-md)}.login-card:before{content:"";display:block;width:40px;height:3px;background:var(--accent);border-radius:3px;margin-bottom:18px}.login-brand{font-family:var(--font-serif);font-size:21px;font-weight:700;letter-spacing:-.01em}.tabs{margin-top:2px}.tabstrip{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:22px;overflow-x:auto;scrollbar-width:none}.tabstrip::-webkit-scrollbar{display:none}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:9px 15px;font:inherit;font-size:13.5px;font-weight:550;color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:8px 8px 0 0;transition:color .12s ease,background .12s ease}.tab:hover{color:var(--ink);background:var(--accent-weak)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:650}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tabs [role=tabpanel]>h2:first-child{margin-top:0}.combobox{position:relative}.combobox-menu{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:264px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.combobox-option{display:flex;flex-direction:column;gap:1px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:13.5px}.combobox-option .hint{font-size:11.5px;color:var(--muted)}.combobox-option[aria-selected=true]{font-weight:600}.combobox-option.active{background:var(--accent-weak)}.combobox-empty{padding:8px 10px;color:var(--muted);font-size:13px}.modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(16,20,26,.55);display:flex;align-items:center;justify-content:center;padding:24px}.modal-panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-pop);width:min(980px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.modal-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.modal-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-body{padding:14px 16px;overflow:auto;background:var(--bg)}.row{gap:10px}.row,.spread{display:flex;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between;gap:12px}hr{border:0;border-top:1px solid var(--border-2);margin:18px 0}.pillbar{display:flex;gap:8px;flex-wrap:wrap}