:root {
  color-scheme: light;
  --color-product-navy:#171d55;--color-product-navy-hover:#252d72;--color-accent:#b91f58;--color-accent-hover:#961846;
  --color-success:#18794e;--color-warning:#946200;--color-danger:#b4233f;--color-info:#3157a4;
  --color-text:#202538;--color-text-secondary:#5f687a;--color-text-muted:#7a8394;--color-page:#f4f6fa;--color-surface:#fff;--color-surface-elevated:#fff;
  --color-border:#e1e5ed;--color-border-strong:#b7bfcc;--color-focus:rgba(185,31,88,.28);--color-disabled:#edf0f4;--color-on-primary:#fff;
  --color-sidebar-text:#e8eaf4;--color-sidebar-muted:#aeb5d0;--color-sidebar-border:rgba(255,255,255,.14);--color-sidebar-hover:rgba(255,255,255,.08);
  --color-link:#303985;--color-accent-soft:#fff0f5;--color-success-soft:#e8f7ef;--color-danger-soft:#fff0f4;--color-info-soft:#f1f5ff;--color-info-border:#b7c7eb;--color-surface-subtle:#fafbfc;
  --font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --text-display:clamp(2rem,5vw,3rem);--text-page-title:clamp(1.75rem,4vw,2.35rem);--text-section-title:1.25rem;--text-card-title:1.05rem;--text-body:1rem;--text-small:.875rem;--text-label:.9rem;--text-caption:.78rem;--text-eyebrow:.75rem;--text-button:.9rem;
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;
  --radius-control:.7rem;--radius-button:.7rem;--radius-card:1rem;--radius-card-large:1.25rem;--radius-pill:999px;--radius-circle:50%;
  --shadow-card:0 .5rem 1.5rem rgba(23,29,85,.05);--shadow-elevated:0 1.25rem 3.5rem rgba(23,29,85,.1);--shadow-modal:0 1.75rem 5rem rgba(23,29,85,.14);
  --page-max:90rem;--form-max:48rem;--admin-max:86rem;--sidebar-width:18rem;--control-height:3rem;--mobile-padding:1rem;
  font-family:var(--font-family);color:var(--color-text);background:var(--color-page)
}
*,*::before,*::after{box-sizing:border-box}body{margin:0;min-width:0;color:var(--color-text);font-size:var(--text-body)}button,input,select,textarea{font:inherit}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}:where(button,input,select,textarea):disabled{cursor:not-allowed;opacity:.65}
.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}
h1{font-size:var(--text-page-title);line-height:1.15;letter-spacing:-.025em}h2{font-size:var(--text-section-title);line-height:1.25}
.eyebrow,.state-eyebrow{margin:0 0 var(--space-2);color:var(--color-accent);font-size:var(--text-eyebrow);font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.page-header{width:100%;max-width:var(--admin-max);margin:0 auto var(--space-8)}.page-header h1{margin:0;color:var(--color-product-navy)}.page-header p:last-child{max-width:65ch;margin:var(--space-2) 0 0;color:var(--color-text-secondary);line-height:1.6}.page-header-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6)}
.button,.form-footer button{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;gap:var(--space-2);padding:.72rem 1.1rem;border:1px solid transparent;border-radius:var(--radius-button);cursor:pointer;font-size:var(--text-button);font-weight:750;line-height:1.2;text-decoration:none}.button:active,.form-footer button:active{transform:translateY(1px)}
.button-primary,.form-footer button{color:var(--color-on-primary);border-color:var(--color-product-navy);background:var(--color-product-navy)}.button-primary:hover,.form-footer button:hover{background:var(--color-product-navy-hover)}.button-secondary{color:var(--color-on-primary);border-color:var(--color-sidebar-border);background:transparent}.button-subtle{color:var(--color-product-navy);border-color:var(--color-border);background:var(--color-surface)}.button-danger{color:var(--color-on-primary);border-color:var(--color-danger);background:var(--color-danger)}.button-link{min-height:2.75rem;padding:var(--space-2);border:0;color:var(--color-product-navy);background:transparent}.button-auto{width:auto}.icon-button{display:inline-grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid var(--color-border-strong);border-radius:var(--radius-button);color:var(--color-product-navy);background:var(--color-surface);cursor:pointer}
.form-field{display:grid;gap:var(--space-2)}.form-field label,.field-section>label,fieldset legend{color:var(--color-text);font-size:var(--text-label);font-weight:750}:where(.form-field,.field-section) :where(input:not([type=radio]):not([type=checkbox]),select,textarea){width:100%;min-height:var(--control-height);padding:.75rem .875rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-surface)}textarea{resize:vertical}::placeholder{color:var(--color-text-muted);opacity:1}.field-validation-error,.field-errors{color:var(--color-danger);font-size:var(--text-small)}.help-text,.form-field small{color:var(--color-text-secondary);font-size:var(--text-small);line-height:1.5}.required,.badge-required{color:var(--color-danger)}
.card,.metric-card,.form-card,.login-card,.builder-card,.publication-card,.filter-card,.answer-card,.submission-meta div{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.metric-card{padding:var(--space-6);box-shadow:var(--shadow-card)}.metric-card p{margin:0 0 var(--space-3);color:var(--color-text-secondary);font-size:var(--text-small);font-weight:700}.metric-card strong{color:var(--color-product-navy);font-size:2rem}
.badge{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:var(--radius-pill);font-size:var(--text-caption);font-weight:800}.badge-published{color:var(--color-success);background:var(--color-success-soft)}.badge-draft{color:var(--color-link);background:var(--color-info-soft)}.badge-required{background:var(--color-danger-soft)}
.alert,.validation-summary:not(:empty){margin-bottom:var(--space-5);padding:var(--space-4);border:1px solid;border-radius:var(--radius-control)}.alert-success{color:#12613e;border-color:#86c9a7;background:#effaf4}.validation-summary:empty{display:none}.validation-summary{color:#842038;border-color:#d98b9c;background:#fff4f6}
.empty-state{margin-top:var(--space-6);padding:clamp(2rem,5vw,3.5rem) var(--space-6);border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface);text-align:center}.empty-icon,.state-icon{display:grid;width:3.25rem;height:3.25rem;margin:auto;place-items:center;border-radius:var(--radius-circle);color:var(--color-accent);background:#fff0f5;font-size:1.5rem;font-weight:800}.empty-state h2{margin:var(--space-4) 0 var(--space-2)}.empty-state p{margin:0;color:var(--color-text-secondary)}
.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.forms-table{width:100%;border-collapse:collapse}.forms-table th,.forms-table td{padding:var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.forms-table th{color:var(--color-text-secondary);background:#fafbfc;font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase}.forms-table tbody tr:last-child td{border-bottom:0}.forms-table tbody tr:hover{background:#fafaff}
.option-list{display:grid;gap:var(--space-3)}.option{position:relative;display:flex;min-height:3.25rem;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer}.option:hover{border-color:var(--color-accent);background:#fffafd}.option:has(input:checked){border-color:var(--color-accent);background:#fff2f7;box-shadow:0 0 0 1px var(--color-accent)}.option:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.option input{width:1.15rem;height:1.15rem;margin:.1rem 0 0;accent-color:var(--color-accent);flex:0 0 auto}.option:has(input:disabled){cursor:not-allowed;opacity:.62;background:var(--color-disabled)}
.tenant-brand{display:flex;min-width:0;align-items:center;gap:var(--space-3)}.tenant-logo{display:block;height:auto;object-fit:contain;object-position:left center}.tenant-monogram{display:grid;width:3rem;height:3rem;flex:0 0 auto;place-items:center;border-radius:var(--radius-control);color:var(--color-on-primary);background:var(--color-product-navy);font-weight:800}.tenant-name{color:var(--color-product-navy);font-weight:800}
.platform-footer{border-top-color:var(--color-border);color:var(--color-text-muted);background:transparent;font-size:var(--text-caption)}
@media(max-width:700px){.page-header-actions{align-items:stretch;flex-direction:column}.page-header-actions .button{width:100%}.forms-table thead{display:none}.forms-table,.forms-table tbody,.forms-table tr,.forms-table td{display:block}.forms-table tr{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.forms-table td{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:var(--space-3);padding:.55rem var(--space-4);border:0}.forms-table td::before{content:attr(data-label);color:var(--color-text-secondary);font-size:var(--text-caption);font-weight:800;text-transform:uppercase}}
@media(max-width:390px){:root{--mobile-padding:.75rem}.forms-table td{grid-template-columns:1fr}.row-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Admin Design System v2 primitives */
:root{--card-padding:var(--space-6);--card-title-gap:var(--space-2);--card-body-gap:var(--space-4);--card-footer-gap:var(--space-5);--motion-fast:160ms;--motion-ease:cubic-bezier(.2,.8,.2,1)}
body{line-height:1.5}.skip-link{position:fixed;z-index:1000;top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-button);color:var(--color-on-primary);background:var(--color-product-navy);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
h1,h2,h3,p{overflow-wrap:anywhere}h3{font-size:var(--text-card-title);line-height:1.35}.caption{font-size:var(--text-caption);color:var(--color-text-secondary)}
.page-header{display:flex;min-height:7.5rem;align-items:flex-end;justify-content:space-between;gap:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.page-header>div{min-width:0}.page-header h1{max-width:22ch}.page-header p:last-child{margin-top:var(--space-3)}
.page-header:not(:has(>div)){display:block}.page-header:not(:has(>div)) h1{margin:0}.page-header:not(:has(>div)) .eyebrow{margin-bottom:var(--space-2)}
.card,.metric-card,.form-card,.login-card,.builder-card,.publication-card,.filter-card,.answer-card,.submission-meta div,.admin-card,.dashboard-panel,.submission-mobile-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}
.card,.form-card,.admin-card,.answer-card{padding:var(--card-padding)}.card>:first-child,.admin-card>:first-child,.answer-card>:first-child{margin-top:0}.card>:last-child,.admin-card>:last-child,.answer-card>:last-child{margin-bottom:0}
.button,.form-footer button{height:var(--control-height);min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-button);transition:color var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}
.button-secondary{color:var(--color-product-navy);border-color:var(--color-border-strong);background:var(--color-surface)}.button-secondary:hover,.button-subtle:hover{border-color:var(--color-product-navy);background:var(--color-info-soft)}.button-danger:hover{filter:brightness(.92)}.button-ghost,.button-link{color:var(--color-link);border-color:transparent;background:transparent}.button-ghost:hover,.button-link:hover{background:var(--color-info-soft)}.button[aria-busy=true]::before{width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:"";animation:button-spin .7s linear infinite}.button:disabled,.button.is-disabled{box-shadow:none;transform:none}
@keyframes button-spin{to{transform:rotate(360deg)}}
.badge,.status-badge{display:inline-flex;min-height:1.6rem;align-items:center;justify-content:center;padding:.25rem .6rem;border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--text-caption);font-weight:800;line-height:1;white-space:nowrap}.badge-active,.badge-available{color:var(--color-success);background:var(--color-success-soft)}.badge-passive,.badge-cancelled{color:var(--color-danger);background:var(--color-danger-soft)}.badge-full{color:var(--color-warning);background:#fff7df}
.empty-state{display:flex;min-height:19rem;flex-direction:column;align-items:center;justify-content:center}.empty-state p{max-width:42rem;line-height:1.6}.empty-state .button{margin-top:var(--space-5)}.empty-help{margin-top:var(--space-3)!important;font-size:var(--text-small)}
.table-wrap,.submissions-table-card{overflow:auto;box-shadow:var(--shadow-card)}.forms-table,.table-wrap table{width:100%;border-collapse:separate;border-spacing:0}.forms-table thead,.table-wrap table thead{position:sticky;z-index:2;top:0}.forms-table th,.forms-table td,.table-wrap table th,.table-wrap table td{padding:.8rem var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.forms-table th,.table-wrap table th{color:var(--color-text-secondary);background:var(--color-surface-subtle);font-size:var(--text-caption);font-weight:800;letter-spacing:.055em;text-transform:uppercase}.forms-table tbody tr,.table-wrap table tbody tr{transition:background-color var(--motion-fast) var(--motion-ease)}.forms-table tbody tr:hover,.table-wrap table tbody tr:hover{background:var(--color-info-soft)}.forms-table tbody tr[aria-selected=true]{background:var(--color-accent-soft)}
.action-menu{position:relative;display:inline-block}.action-menu summary{display:grid;width:2.5rem;height:2.5rem;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-button);color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;list-style:none;font-size:1rem;font-weight:800;letter-spacing:.08em}.action-menu summary::-webkit-details-marker{display:none}.action-menu summary:hover{border-color:var(--color-product-navy);color:var(--color-product-navy);background:var(--color-info-soft)}.action-menu-panel{position:absolute;z-index:10;top:calc(100% + var(--space-2));right:0;display:grid;width:12rem;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);box-shadow:var(--shadow-elevated)}.action-menu-panel a,.action-menu-panel button{display:flex;min-height:2.5rem;align-items:center;padding:var(--space-2) var(--space-3);border:0;border-radius:.5rem;color:var(--color-text);background:transparent;font-weight:650;text-decoration:none}.action-menu-panel a:hover,.action-menu-panel button:hover{background:var(--color-surface-subtle)}
.forms-table tbody tr:last-child .action-menu-panel{top:auto;bottom:calc(100% + var(--space-2))}
@media(min-width:901px){.table-wrap:has(>.forms-table .action-menu[open]){overflow:visible}}
:where(a,button,input,select,textarea,summary){transition:outline-color var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}
@media(max-width:700px){.page-header{min-height:0;align-items:stretch;flex-direction:column;padding-bottom:var(--space-5)}.table-wrap{overflow:visible}.action-menu{width:100%}.action-menu summary{width:100%}.action-menu-panel{position:static;width:100%;margin-top:var(--space-2);box-shadow:none}}
@media(max-width:900px) and (min-width:701px){.forms-table:not(.submissions-table) thead{display:none}.forms-table:not(.submissions-table),.forms-table:not(.submissions-table) tbody,.forms-table:not(.submissions-table) tr,.forms-table:not(.submissions-table) td{display:block}.forms-table:not(.submissions-table) tr{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.forms-table:not(.submissions-table) td{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:var(--space-3);padding:.65rem var(--space-4);border:0}.forms-table:not(.submissions-table) td::before{content:attr(data-label);color:var(--color-text-secondary);font-size:var(--text-caption);font-weight:800;text-transform:uppercase}.forms-table:not(.submissions-table) .row-actions{display:grid;width:auto;text-align:left}.forms-table:not(.submissions-table) .action-menu{width:100%}.forms-table:not(.submissions-table) .action-menu summary{width:100%}.forms-table:not(.submissions-table) .action-menu-panel{position:static;width:100%;margin-top:var(--space-2);box-shadow:none}}
