:root{color-scheme:light;--surface-app: #ffffff;--surface-workspace: #faf8f5;--surface-subtle: #f3f1ee;--surface-sunken: #eeebe6;--line: #eaeaed;--line-row: #6482cf;--shadow-card: none;--ink-900: #23242a;--ink-500: #60636f;--ink-300: #8b8f99;--role-brand: #24de5f;--role-accent: #00b66c;--role-primary: #87ebc7;--on-role-primary: #ffffff;--role-callout: #eaf5f0;--role-callout-strong: #d1f3d0;--role-tint: #faf8f5;--accent-amber: #f6c445;--prov-self-bg: #fdf3d9;--prov-self-ink: #92651a;--prov-self-line: #f2e0b0;--prov-watchit-bg: #eaf5f0;--prov-watchit-ink: #0a7a4f;--prov-watchit-line: #bfe6d5;--prov-training-bg: #eef2fb;--prov-training-ink: #2f4b8f;--prov-training-line: #d4ddf2;--st-ink: #23242a;--st-rust: #b3541e;--st-dot: #00b66c;--chip-bg: #f3f1ee;--chip-line: #eaeaed;--focus: #00b66c;--font-head: "Hanken Grotesk", "Inter", system-ui, -apple-system, Segoe UI, sans-serif;--font-body: "Inter", system-ui, -apple-system, Segoe UI, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--rail-w: 280px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--surface-workspace);color:var(--ink-900);font-family:var(--font-body);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-head);margin:0;font-weight:700;color:var(--ink-900)}button{font-family:var(--font-body);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.mono{font-family:var(--font-mono)}.cw-shell{display:grid;grid-template-columns:var(--rail-w) 1fr;height:100%}.cw-rail{background:var(--surface-app);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;padding:32px}.cw-rail-head{padding-bottom:20px}.cw-brand{display:flex;align-items:center;gap:10px}.cw-brand-w{width:28px;height:28px;border-radius:8px;background:var(--role-brand);color:#fff;display:grid;place-items:center;font-weight:700;font-family:var(--font-head)}.cw-rail-assoc{margin-top:18px}.cw-rail-assoc .name{color:var(--ink-900);font-size:18px;font-family:var(--font-head);font-weight:700}.cw-rail-assoc .id{color:var(--ink-500);font-size:13px;font-family:var(--font-mono);margin-top:4px}.cw-rail-scroll{overflow:auto;flex:1;margin-top:20px}.cw-rail-foot{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;color:var(--ink-900);font-size:12px}.cw-rail-foot .em{font-family:var(--font-mono)}.cw-main{min-width:0;overflow:auto}.cw-content{padding:48px;min-width:0;background:var(--surface-workspace);display:grid;gap:32px;align-content:start}.cw-page-title{font-size:32px}.cw-page-sub{color:var(--ink-500);margin-top:4px;font-size:15px}.cw-eyebrow{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-500)}.cw-section-title{font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-500);margin:0 0 10px}.cw-nav-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 16px;margin-bottom:4px;border:none;border-radius:8px;background:transparent;color:var(--ink-900);font:inherit;font-weight:500;cursor:pointer}.cw-nav-item:hover{background:var(--surface-subtle)}.cw-nav-item.is-selected{background:var(--role-tint);color:var(--role-accent);font-weight:600}.cw-nav-switch{margin-top:12px;color:var(--role-accent)}.cw-nav-icon{display:none;flex:none;width:24px;text-align:center;font-size:18px;line-height:1}.cw-rail-code{display:none}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--chip-line);background:var(--chip-bg);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:600;white-space:nowrap}.chip-active{color:var(--st-ink)}.chip-active:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--st-dot)}.chip-pending{color:var(--st-ink)}.chip-negative{color:var(--st-rust)}.ea-tabs{display:flex;gap:32px;border-bottom:1px solid var(--line)}.ea-tab{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;border-bottom:2px solid transparent;padding:4px 2px 12px;margin-bottom:-1px;color:var(--ink-500);font:inherit;font-weight:500;cursor:pointer}.ea-tab:hover{color:var(--ink-900)}.ea-tab.is-active{color:var(--ink-900);font-weight:600;border-bottom-color:var(--ink-900)}.ea-tab-badge{background:var(--surface-subtle);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;color:var(--ink-500)}.ea-search{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface-app);border:1px solid var(--line);border-radius:8px;padding:0 12px}.ea-search svg{flex:none;color:var(--ink-500)}.ea-search input{width:100%;border:none;outline:none;background:transparent;color:var(--ink-900);font:inherit;padding:14px 0}.ea-table{width:100%;border-collapse:collapse}.ea-table thead th{background:var(--surface-subtle);text-align:left;font-family:var(--font-body);font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--ink-500);padding:12px 16px;border-bottom:1px solid var(--line-row)}.ea-table tbody td{padding:16px;border-bottom:1px solid var(--line-row);vertical-align:middle;color:var(--ink-900)}.ea-table tbody tr:hover td{background:var(--surface-subtle)}.ea-table .ea-ref{font-family:var(--font-mono);font-size:13px;color:var(--ink-900)}.ea-table .ea-date{font-family:var(--font-mono);font-size:13px;color:var(--ink-500)}.ea-table .ea-reason{color:var(--ink-500)}.ea-table .ea-actions{text-align:right;white-space:nowrap}.ea-empty{padding:28px 16px;color:var(--ink-500)}.ea-decision{background:var(--surface-app);border:1px solid var(--line);border-radius:12px;padding:24px;margin-top:12px;display:grid;gap:16px}.ea-decision h3{font-family:var(--font-head);font-weight:600;font-size:18px}.ea-callout{background:var(--role-callout);border-radius:12px;padding:16px;color:var(--ink-900);font-size:14px;line-height:1.5}.ea-callout strong{display:block;margin-bottom:4px}.ea-audit{display:flex;align-items:center;gap:8px;color:var(--ink-500);font-size:12px}.ea-reason-label{font-size:14px;font-weight:600;color:var(--ink-900);display:block;margin-bottom:8px}.cw-record-card{background:var(--surface-app);border:1px solid var(--line);border-radius:12px;padding:24px}.cw-stat-n{font-size:32px;font-weight:700;color:var(--ink-900);line-height:1.1}.cw-stat-k{font-size:13px;color:var(--ink-500);margin-top:2px}.btn{border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;min-height:40px;border:1px solid transparent}.btn-primary{background:var(--role-primary);color:var(--on-role-primary)}.btn-secondary{background:var(--surface-app);color:var(--ink-900);border-color:var(--line)}.btn-secondary:hover:not(:disabled){background:var(--surface-subtle)}.btn-ghost{background:transparent;color:var(--ink-900);border-color:var(--line)}.btn-ghost:hover:not(:disabled){background:var(--surface-subtle)}.btn-sm{padding:8px 14px;min-height:34px;font-size:13px}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.cw-state{display:grid;place-items:center;min-height:240px;text-align:center;padding:32px}.cw-state .box{max-width:440px;background:var(--surface-app);border:1px solid var(--line);border-radius:12px;padding:24px}.cw-state h3{font-family:var(--font-body);font-weight:700;font-size:16px;margin-bottom:8px}.cw-state.is-error h3{color:var(--st-rust)}.cw-state p{color:var(--ink-900);font-size:13px}.cw-skeleton{height:12px;border-radius:6px;background:var(--surface-sunken);animation:cw-pulse 1.4s ease-in-out infinite}@keyframes cw-pulse{0%,to{opacity:.5}50%{opacity:1}}.cw-input{width:100%;height:44px;border-radius:8px;border:1px solid var(--line);background:var(--surface-app);color:var(--ink-900);padding:0 14px;font-size:15px;margin-top:8px}.cw-input:focus{outline:2px solid var(--focus);border-color:var(--role-accent)}.cw-textarea{width:100%;min-height:120px;border-radius:8px;border:1px solid var(--line);background:var(--surface-app);color:var(--ink-900);padding:16px;font-size:14px;font-family:var(--font-body);resize:vertical}.cw-textarea:focus{outline:2px solid var(--focus);border-color:var(--role-accent)}.cw-label{color:var(--ink-500);font-size:13px;margin-top:14px;display:block}.cw-error{color:var(--st-rust);font-size:13px;margin-top:10px}.cw-center{display:grid;place-items:center;height:100%;padding:32px}.cw-auth-card{width:100%;max-width:420px;background:var(--surface-app);border:1px solid var(--line);border-radius:14px;padding:32px}.cw-auth-card h1{font-size:22px;margin-bottom:6px}.ea-select{display:grid;place-items:start center;min-height:100%;padding:96px 32px 48px;background:var(--surface-workspace)}.ea-select-wrap{width:100%;max-width:640px;display:grid;gap:32px;justify-items:center;text-align:center}.ea-wordmark{font-family:var(--font-head);font-weight:700;font-size:22px;color:var(--ink-900)}.ea-underline{width:40px;height:3px;border-radius:999px;background:var(--accent-amber)}.ea-select-list{width:100%;display:grid;gap:16px}.ea-assoc-card{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;background:var(--surface-app);border:1px solid var(--line);border-radius:8px;padding:24px;cursor:pointer;font:inherit}.ea-assoc-card:hover{background:var(--surface-subtle)}.ea-assoc-card .name{font-weight:600;font-size:16px;color:var(--ink-900)}.ea-assoc-card .id{font-family:var(--font-mono);font-size:13px;color:var(--ink-500);margin-top:2px}.cw-nav-item.is-disabled{cursor:default;opacity:.5}.cw-nav-item.is-disabled:hover{background:transparent}.ea-status-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--chip-line);background:var(--chip-bg);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:600;color:var(--ink-900)}.ea-status-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--st-dot)}.ea-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ea-stat-card{background:var(--surface-app);border:1px solid var(--line);border-radius:12px;padding:24px;display:grid;gap:12px;align-content:start}.ea-stat-label{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-900)}.ea-stat-value{font-family:var(--font-head);font-weight:700;font-size:24px;color:var(--ink-900)}.ea-stat-sub{font-size:14px;color:var(--ink-500)}.ea-overview-nav{display:flex;gap:12px;flex-wrap:wrap}.ea-back{background:none;border:none;padding:0;color:var(--role-accent);font:inherit;font-weight:500;cursor:pointer}.ea-back:hover{text-decoration:underline}.ea-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:32px;align-items:start}.ea-card{background:var(--surface-app);border:1px solid var(--line);border-radius:12px;padding:32px;display:grid;gap:24px;align-content:start}.ea-card h3{font-family:var(--font-head);font-weight:600;font-size:18px}.ea-field{display:grid;gap:6px}.ea-field .k{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-900)}.ea-field .v{font-size:16px;color:var(--ink-900)}.ea-field .v.mono{font-family:var(--font-mono);font-size:13px}.ea-callout-strong{background:var(--role-callout-strong);border-radius:8px;padding:16px;color:var(--ink-900);font-size:14px;line-height:1.5}.ea-callout-strong strong{display:block;margin-bottom:4px}.ea-body{font-size:14px;color:var(--ink-900);line-height:1.5}.ea-coord-wrap{background:var(--role-callout);border:1px solid var(--line);border-radius:12px;overflow-x:auto}.ea-coord-table{width:100%;border-collapse:collapse;min-width:720px}.ea-coord-table thead th{background:var(--surface-subtle);text-align:left;font-family:var(--font-body);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-900);padding:16px;border-bottom:1px solid var(--line)}.ea-coord-table tbody td{padding:16px;border-bottom:1px solid var(--line);color:var(--ink-900);vertical-align:middle}.ea-coord-table tbody tr:last-child td{border-bottom:none}.ea-coord-table .ea-ref{font-family:var(--font-mono);font-size:13px}.ea-appoint{background:var(--surface-app);border:1px solid var(--line);border-radius:12px;padding:24px;display:grid;gap:12px}.cw-select{width:100%;height:44px;border-radius:8px;border:1px solid var(--line);background:var(--surface-app);color:var(--ink-900);padding:0 12px;font-size:15px;font-family:var(--font-body)}.cw-select:focus{outline:2px solid var(--focus);border-color:var(--role-accent)}.cw-narrow{display:none}@media(max-width:900px){.cw-shell{display:none}.cw-narrow{display:grid;place-items:center;height:100%;padding:32px;text-align:center}.cw-narrow .box{max-width:460px}}.ea-muted{color:var(--ink-500)}.ea-callout-foot{display:block;margin-top:8px;color:var(--ink-500);font-size:12px}.ea-gov-table td{vertical-align:top}.ea-coord-name{font-weight:600;color:var(--ink-900)}.ea-coord-meta{margin-top:4px}.ea-cd{display:flex;flex-direction:column;gap:16px;max-width:1064px}.ea-cd-breadcrumb{color:var(--ink-500);font-size:13px}.ea-cd-chips{display:flex;gap:8px;flex-wrap:wrap}.ea-cd>.btn{align-self:flex-start}.ea-cd-card{background:var(--surface-app);border:1px solid var(--line);border-radius:12px;padding:24px}.ea-cd-card.is-future{background:var(--surface-workspace);border-style:dashed}.ea-cd-h{font-size:17px;margin-bottom:12px}.ea-cd-future-head{display:flex;align-items:center;justify-content:space-between}.ea-cd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 24px}.ea-cd-flabel{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500)}.ea-cd-fvalue{margin-top:4px;color:var(--ink-900)}.ea-cd-sublabel{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500)}.ea-cd-remit-state{margin-top:4px;font-size:18px;font-weight:600;font-family:var(--font-head)}.ea-cd-note{margin:12px 0 0;color:var(--ink-900);font-size:13px}.ea-cd-note.ea-muted{color:var(--ink-500)}.ea-cd-perm-summary{font-weight:600;color:var(--ink-900)}.ea-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ea-loc-chip{display:inline-flex;align-items:center;gap:6px;background:var(--chip-bg);border:1px solid var(--chip-line);border-radius:999px;padding:4px 10px;font-size:12px}.ea-loc-remove{border:none;background:transparent;color:var(--ink-500);font-size:14px;line-height:1;padding:0 2px}.ea-loc-remove:hover{color:var(--st-rust)}.ea-action-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.ea-perm-list{margin-top:12px;border-top:1px solid var(--line)}.ea-perm-row{display:grid;grid-template-columns:1fr auto 160px;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line)}.ea-perm-name{color:var(--ink-900)}.ea-perm-key{display:block;color:var(--ink-300);font-size:11px;margin-top:2px}.ea-perm-source{color:var(--ink-500);font-size:13px}.ea-history{margin-top:12px;display:flex;flex-direction:column}.ea-history-row{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:14px 4px;border-top:1px solid var(--line)}.ea-history-time{color:var(--ink-500);font-size:12px}.ea-history-action{font-weight:600;color:var(--ink-900)}.ea-history-value{font-weight:400;color:var(--ink-500);margin-left:10px}.ea-history-meta{margin-top:4px;font-size:12px}.ea-future-tag{background:#fdf3d9;color:#92651a;border:1px solid #f2e0b0;border-radius:999px;padding:3px 10px;font-size:11px;letter-spacing:.03em;text-transform:uppercase}.ea-future-dep{margin-top:12px;color:#92651a;font-size:11px;letter-spacing:.03em;text-transform:uppercase}.ea-state-banner{background:var(--role-callout);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.ea-state-banner strong{display:block;margin-bottom:4px;color:var(--ink-900)}.btn-danger{background:var(--surface-app);border:1px solid var(--st-rust);color:var(--st-rust);border-radius:8px;padding:9px 16px;font-weight:600}.btn-danger:hover:not(:disabled){background:#fbf1ea}.ea-modal-overlay{position:fixed;inset:0;background:#23242a52;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.ea-modal{background:var(--surface-app);border:1px solid var(--line);border-radius:12px;padding:28px;width:100%;max-width:540px;max-height:90vh;overflow:auto}.ea-modal-eyebrow{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}.ea-modal-title{margin:6px 0 4px;font-size:22px}.ea-modal-subject{color:var(--ink-500);margin:0 0 20px;font-size:13px}.ea-modal-audit{margin-top:14px;color:var(--ink-500);font-size:12px}.ea-field-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500);margin:16px 0 8px}.ea-desig-options{display:flex;flex-direction:column;gap:10px}.ea-desig-option{text-align:left;background:var(--surface-app);border:1px solid var(--line);border-radius:8px;padding:12px 14px}.ea-desig-option.is-selected{border-color:var(--role-accent);background:var(--role-callout)}.ea-desig-option .opt{font-weight:600;color:var(--ink-900)}.ea-desig-option.is-selected .opt{color:var(--role-accent)}.ea-desig-option .desc{color:var(--ink-500);font-size:12px;margin-top:2px}@media(max-width:1080px){.ea-cd-grid{grid-template-columns:repeat(2,1fr)}.ea-perm-row{grid-template-columns:1fr auto}.ea-perm-source{grid-column:1 / -1}.ea-history-row{grid-template-columns:1fr;gap:4px}.cw-shell{grid-template-columns:80px 1fr}.cw-rail{padding:24px 8px;align-items:center}.cw-rail-head{width:100%;padding-bottom:8px}.cw-brand{justify-content:center}.cw-brand strong{display:none}.cw-brand-w{width:auto;height:auto;background:transparent;color:var(--role-accent);font-size:24px;font-family:var(--font-head)}.cw-rail-assoc{display:none}.cw-rail-scroll{width:100%;margin-top:12px}.cw-nav-item{justify-content:center;gap:0;padding:12px 0}.cw-nav-switch{margin-top:12px}.cw-nav-icon{display:block}.cw-nav-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.cw-nav-item.is-selected .cw-nav-icon{color:var(--role-accent)}.cw-rail-foot{display:none}.cw-rail-code{display:block;width:100%;padding-top:12px;border-top:1px solid var(--line);text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--ink-500)}}.ea-cd-subh{font-family:var(--font-head);font-size:14px;font-weight:700;color:var(--ink-900);margin:0}.ea-ct-subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px}.ea-comp-list{margin-top:12px;display:flex;flex-direction:column}.ea-comp-row{display:grid;grid-template-columns:minmax(0,220px) 1fr;gap:10px 16px;align-items:center;padding:12px 4px;border-top:1px solid var(--line)}.ea-comp-name{font-weight:600;color:var(--ink-900)}.ea-prov-row{display:flex;gap:8px;flex-wrap:wrap}.prov{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--chip-line);background:var(--surface-subtle);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap}.prov-self{background:var(--prov-self-bg);color:var(--prov-self-ink);border-color:var(--prov-self-line)}.prov-association{background:var(--surface-app);color:var(--ink-900);border-color:var(--ink-300)}.prov-watchit{background:var(--prov-watchit-bg);color:var(--prov-watchit-ink);border-color:var(--prov-watchit-line)}.prov-watchit:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--st-dot)}.prov-training{background:var(--prov-training-bg);color:var(--prov-training-ink);border-color:var(--prov-training-line)}.prov-training.is-stale{background:var(--surface-subtle);color:var(--ink-500);border-color:var(--chip-line)}.prov-current{background:var(--chip-bg);color:var(--st-ink);border-color:var(--chip-line)}.prov-current:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--st-dot)}.prov-expired{background:var(--surface-subtle);color:var(--ink-500);border-color:var(--chip-line)}.prov-revoked{background:var(--surface-app);color:var(--st-rust);border-color:var(--st-rust)}.ea-train-list{margin-top:12px;display:flex;flex-direction:column;gap:12px}.ea-train-row{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--surface-app)}.ea-train-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ea-train-name{font-weight:600;color:var(--ink-900)}.ea-train-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;color:var(--ink-500);font-size:13px}.ea-train-linked{margin-top:6px;font-size:12px}.ea-training-dates{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:4px}@media(max-width:1080px){.ea-comp-row{grid-template-columns:1fr;gap:6px}}
