@font-face{font-family:sourceSerif;src:url(../media/source_serif4_variable-s.p.3_g1pg7bqcyap.woff2)format("woff2");font-display:swap;font-weight:400 700}@font-face{font-family:sourceSerif Fallback;src:local(Arial);ascent-override:95.65%;descent-override:30.93%;line-gap-override:0.0%;size-adjust:108.31%}.sourceserif_f80e55c9-module__pcxaoG__className{font-family:sourceSerif,sourceSerif Fallback}.sourceserif_f80e55c9-module__pcxaoG__variable{--font-display:"sourceSerif", "sourceSerif Fallback"}
@font-face{font-family:plexSans;src:url(../media/ibm_plex_sans_variable-s.p.15jby9eboz7vb.woff2)format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:plexSans Fallback;src:local(Arial);ascent-override:101.35%;descent-override:27.19%;line-gap-override:0.0%;size-adjust:101.13%}.plexsans_ab963611-module__cug-Za__className{font-family:plexSans,plexSans Fallback}.plexsans_ab963611-module__cug-Za__variable{--font-body:"plexSans", "plexSans Fallback"}
:root{--brand:#3d158b;--brand-deep:#2a0f63;--brand-tint:#f3effb;--brand-tint-strong:#e4dbf5;--ink:#201c2b;--slate:#6b6577;--slate-soft:#948da3;--mist:#e7e3ee;--mist-strong:#d6d0e2;--paper:#faf9fc;--card:#fff;--success:#1a7f4f;--success-bg:#e4f5eb;--warning:#a15c00;--warning-bg:#fdf0dd;--danger:#b91c1c;--danger-bg:#fdecec;--info:#1e4fa0;--info-bg:#e7eefb;--font-display:"Source Serif 4", Georgia, serif;--font-body:"IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--shadow-xs:0 1px 2px #3d158b0d;--shadow-sm:0 1px 2px #3d158b0d, 0 6px 16px -4px #3d158b1a;--shadow-md:0 2px 6px #3d158b14, 0 14px 32px -8px #3d158b29;--shadow-lg:0 8px 16px #3d158b1a, 0 28px 56px -12px #3d158b38;--shadow-inset:inset 0 1px 2px #201c2b0e;--ring-focus:0 0 0 3px #3d158b29;--panel-bg:linear-gradient(180deg, #fbfafd 0%, #f4f1fa 100%);--panel-border:#e9e4f2;--appbar-grad:linear-gradient(120deg, #431a93 0%, #2e0f68 100%)}*{box-sizing:border-box}body{font-family:var(--font-body), -apple-system, "Segoe UI", Roboto, Arial, sans-serif;background:radial-gradient(1100px 480px at 12% -8%, var(--brand-tint) 0%, transparent 60%), var(--paper);color:var(--ink);background-attachment:fixed;margin:0;font-size:18px}h1,h2,h3{font-family:var(--font-display)}.page{max-width:1100px;margin:0 auto;padding:32px 20px}.appbar{background:var(--appbar-grad);box-shadow:var(--shadow-sm);color:#fff;z-index:20;position:sticky;top:0}.appbar-inner{justify-content:space-between;align-items:center;max-width:1100px;height:56px;margin:0 auto;padding:0 20px;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:.01em;color:#fff;align-items:center;gap:10px;font-size:19px;font-weight:600;text-decoration:none;display:flex}.wordmark .mark{width:24px;height:24px;font-family:var(--font-display);background:#ffffff29;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.wordmark .mark img{object-fit:contain;filter:brightness(0)invert();width:100%;height:100%}.appnav{align-items:center;gap:18px;display:flex}.appnav-group{background:#ffffff0f;border-radius:8px;align-items:center;gap:2px;padding:3px;display:flex;position:relative}.appnav-group+.appnav-group:before{content:"";background:#ffffff47;width:1px;height:22px;position:absolute;top:50%;left:-9px;transform:translateY(-50%)}.appnav a{color:#ffffffd1;border-radius:6px;padding:8px 10px;font-size:15.5px;text-decoration:none;transition:background .12s,color .12s}.appnav a:hover{color:#fff;background:#ffffff1f}.appnav a.active{color:#fff;background:#ffffff2e;font-weight:500}.appuser{color:#ffffffbf;font-size:15px}button.signout{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:13.5px;transition:background .12s}button.signout:hover{background:#ffffff1f}.header-btn{color:#ffffffbf;border:1px solid #ffffff4d;border-radius:6px;padding:6px 12px;font-size:13.5px;text-decoration:none;transition:background .12s,color .12s,border-color .12s}.header-btn:hover{color:#fff;background:#ffffff1f;border-color:#ffffff73}.card{background:var(--card);border:1px solid var(--mist);box-shadow:var(--shadow-sm);border-radius:10px;padding:24px}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--shadow-xs);border-radius:8px;padding:14px 16px}.field{margin-bottom:16px}.field label{color:var(--ink);margin-bottom:5px;font-size:15.5px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1px solid var(--mist-strong);background:var(--card);width:100%;color:var(--ink);box-shadow:var(--shadow-inset);border-radius:7px;padding:8px 11px;font-family:inherit;font-size:16px}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:var(--brand);box-shadow:var(--shadow-inset), var(--ring-focus);outline:none}button.primary,button.secondary,button.danger{cursor:pointer;box-shadow:var(--shadow-xs);border:1px solid #0000;border-radius:7px;padding:9px 16px;font-family:inherit;font-size:16px;font-weight:600;transition:box-shadow .15s,background .12s,transform 80ms}button.primary:active,button.secondary:active,button.danger:active{transform:translateY(1px)}button.primary{background:var(--brand);color:#fff}button.primary:hover{background:var(--brand-deep);box-shadow:var(--shadow-sm)}.going-home-link:hover{box-shadow:var(--shadow-sm);background:var(--brand-deep)!important}button.secondary{background:var(--card);color:var(--ink);border-color:var(--mist-strong)}button.secondary:hover{background:var(--mist);box-shadow:var(--shadow-sm)}button.danger{background:var(--card);color:var(--danger);border-color:var(--danger-bg);box-shadow:none}button.danger:hover{background:var(--danger-bg)}.error{color:var(--danger);margin-bottom:12px;font-size:16px}.notice{background:var(--success-bg);color:var(--success);box-shadow:var(--shadow-xs);border:1px solid #b8e2c8;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:16px}table.data{border-collapse:collapse;width:100%;font-size:16px}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--slate);border-bottom:1px solid var(--mist);padding:9px 10px;font-size:13.5px;font-weight:600}table.data td{border-bottom:1px solid var(--mist);vertical-align:top;color:var(--ink);padding:10px}table.data tbody tr:hover{background:var(--paper)}table.data a{color:var(--brand);font-weight:500;text-decoration:none}table.data a:hover{text-decoration:underline}table.progress-grid thead tr{background:var(--appbar-grad)}table.progress-grid th{color:#fff;text-transform:none;letter-spacing:0;font-size:14px}table.progress-grid th,table.progress-grid td{text-align:center}table.progress-grid tbody tr:nth-child(2n){background:var(--brand-tint)}table.progress-grid tbody tr:nth-child(2n):hover{background:var(--brand-tint-strong)}.badge{letter-spacing:.01em;background:var(--mist);color:var(--slate);border-radius:999px;padding:2px 9px;font-size:13px;font-weight:600;display:inline-block}.badge.blue{background:var(--brand-tint);color:var(--brand-deep)}.badge.green{background:var(--success-bg);color:var(--success)}.badge.amber{background:var(--warning-bg);color:var(--warning)}.badge.red{background:var(--danger-bg);color:var(--danger)}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.no-native-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-native-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.no-native-spinner{-moz-appearance:textfield}.search-input{border:1px solid var(--mist-strong);background:var(--card);max-width:420px;color:var(--ink);box-shadow:var(--shadow-inset);border-radius:7px;flex:1;padding:9px 14px;font-family:inherit;font-size:16px}.admin-layout{align-items:flex-start;gap:20px;display:flex}.admin-content{flex:1;min-width:0}.admin-tabs{flex-direction:column;flex-shrink:0;gap:6px;width:200px;margin-top:40px;display:flex}.admin-tabs a{text-align:center;border:1px solid var(--mist-strong);background:var(--card);color:var(--ink);box-shadow:var(--shadow-xs);border-radius:7px;justify-content:center;align-items:center;padding:9px 12px;font-size:15px;font-weight:600;text-decoration:none;transition:box-shadow .15s,background .12s,color .12s,border-color .12s;display:flex}.admin-tabs a:hover{background:var(--mist);box-shadow:var(--shadow-sm)}.admin-tabs a.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}.admin-tabs a.active:hover{background:var(--brand-deep)}
