:root {
  --navy: #17233e;
  --navy-2: #213357;
  --blue: #2473e8;
  --blue-dark: #145dc8;
  --ink: #172033;
  --muted: #667085;
  --line: #e3e8ef;
  --surface: #ffffff;
  --surface-2: #f8fafc;
  --background: #f4f6f9;
  --success: #087a55;
  --warning: #a35d00;
  --danger: #c93645;
  --radius: 14px;
  --shadow: 0 18px 55px rgba(23,35,62,.13);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink); background: var(--background); font-synthesis: none;
}
:root[data-theme="dark"] { --ink:#eef3fb; --muted:#aab6c8; --line:#34435d; --surface:#1e2a40; --surface-2:#243149; --background:#131c2d; --navy:#0b1322; --navy-2:#17243b; --blue:#68a7ff; --blue-dark:#8ab9fa; --success:#5bd7ad; --warning:#f3b864; --danger:#ff8290; --shadow:0 20px 60px rgba(0,0,0,.3); }
* { box-sizing: border-box; }
html,body { margin:0; min-height:100%; max-width:100%; overflow-x:clip; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { background:var(--background); color:var(--ink); }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:var(--blue); text-underline-offset:3px; }
h1,h2,h3,p { overflow-wrap:anywhere; }
.site-shell { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
.site-header { min-height:84px; padding:14px clamp(20px,4vw,64px); background:var(--navy); color:white; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { min-width:0; display:flex; align-items:center; gap:22px; color:white; text-decoration:none; }
.brand img { width:142px; height:auto; display:block; }
.brand span { border-left:1px solid rgba(255,255,255,.24); padding-left:22px; display:grid; gap:2px; }
.brand small { color:#b8c4d9; font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; }
.brand strong { font-size:1.12rem; letter-spacing:-.01em; }
.user-area { display:flex; align-items:center; gap:17px; }
.user-meta { display:grid; text-align:right; gap:2px; font-size:.88rem; }
.user-meta small { color:#b8c4d9; }
.logout-button { width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:10px; color:white; text-decoration:none; font-size:1.15rem; transform:rotate(45deg); }
.logout-button:hover { background:rgba(255,255,255,.1); }
.theme-picker { display:inline-flex; align-items:center; gap:3px; padding:3px; border:1px solid rgba(255,255,255,.22); border-radius:10px; background:rgba(255,255,255,.07); }
.theme-picker button { min-height:31px; padding:5px 9px; border:0; border-radius:7px; display:inline-flex; align-items:center; gap:5px; color:#c4cee0; background:transparent; cursor:pointer; font-size:.75rem; font-weight:750; }
.theme-picker button[aria-pressed="true"] { color:var(--navy); background:white; box-shadow:0 2px 7px rgba(0,0,0,.2); }
.tab-bar { min-height:56px; padding:0 clamp(20px,4vw,64px); background:var(--surface); border-bottom:1px solid var(--line); display:flex; align-items:stretch; justify-content:space-between; gap:20px; }
.tab-list { display:flex; align-items:stretch; gap:26px; min-width:0; }
.tab { border:0; background:transparent; color:var(--muted); padding:0 2px; cursor:pointer; font-weight:700; border-bottom:3px solid transparent; font-size:.94rem; }
.tab:hover,.tab.active { color:var(--blue); }
.tab.active { border-bottom-color:var(--blue); }
.security-state { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:.8rem; }
.security-state span { width:8px; height:8px; border-radius:50%; background:var(--success); box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 15%,transparent); }
.app-view { width:min(1220px,calc(100% - 40px)); flex:1 0 auto; margin:0 auto; padding:42px 0 70px; }
.site-legal { width:min(1220px,calc(100% - 40px)); margin:0 auto; padding:22px 0 28px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:18px; color:var(--muted); font-size:.78rem; }
.site-legal>span:last-child { display:flex; flex-wrap:wrap; gap:14px; }
.site-legal a { color:var(--muted); }
.page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.page-heading h1,.event-hero h1 { margin:4px 0 7px; font-size:clamp(2rem,4vw,2.7rem); line-height:1.05; letter-spacing:-.045em; }
.page-heading p:last-child,.event-hero p:last-child { margin:0; color:var(--muted); font-size:1rem; }
.eyebrow,.section-kicker { margin:0; color:var(--blue); font-size:.72rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.panel { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:0 3px 12px rgba(23,35,62,.04); }
.panel h2 { margin:3px 0 16px; font-size:1.25rem; letter-spacing:-.02em; }
.section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.section-heading h2 { margin:3px 0 0; }
.metric-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-bottom:20px; }
.metric-card { min-height:128px; padding:19px 21px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); display:grid; align-content:center; gap:4px; }
.metric-card span { color:var(--muted); font-size:.8rem; font-weight:750; }
.metric-card strong { font-size:2rem; letter-spacing:-.04em; }
.metric-card small { color:var(--muted); }
.metric-card.security { background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 10%,var(--surface)),var(--surface)); border-color:color-mix(in srgb,var(--blue) 30%,var(--line)); }
.metric-card.security strong { color:var(--success); font-size:1.35rem; }
.event-list { margin:-7px -8px; display:grid; }
.event-row { width:100%; border:0; border-top:1px solid var(--line); padding:15px 8px; display:grid; grid-template-columns:58px minmax(220px,1fr) auto auto 22px; align-items:center; gap:18px; color:var(--ink); background:transparent; text-align:left; cursor:pointer; }
.event-row:first-child { border-top:0; }
.event-row:hover { background:var(--surface-2); border-radius:10px; }
.event-date { width:50px; height:54px; display:grid; place-content:center; text-align:center; border:1px solid var(--line); border-radius:11px; background:var(--surface-2); }
.event-date strong { font-size:1.15rem; line-height:1; }.event-date small { margin-top:3px; color:var(--muted); text-transform:uppercase; font-size:.68rem; }
.event-main { min-width:0; display:grid; gap:4px; }.event-main strong { font-size:1rem; }.event-main small { color:var(--muted); }
.event-counts { display:flex; gap:7px; }.event-counts em { padding:5px 8px; border-radius:7px; color:var(--muted); background:var(--surface-2); font-size:.72rem; font-style:normal; white-space:nowrap; }
.row-arrow { color:var(--muted); font-size:1.2rem; }
.status-badge { display:inline-flex; width:max-content; align-items:center; padding:6px 9px; border-radius:999px; color:#40506a; background:#edf1f6; font-size:.72rem; font-weight:800; white-space:nowrap; }
.status-badge.open,.status-badge.accepted { color:var(--success); background:color-mix(in srgb,var(--success) 13%,var(--surface)); }
.status-badge.declined,.status-badge.removed { color:var(--danger); background:color-mix(in srgb,var(--danger) 12%,var(--surface)); }
.status-badge.withdrawn,.status-badge.closed { color:var(--warning); background:color-mix(in srgb,var(--warning) 14%,var(--surface)); }
.status-badge.draft,.status-badge.invited { color:var(--blue-dark); background:color-mix(in srgb,var(--blue) 12%,var(--surface)); }
.button { min-height:42px; border:1px solid transparent; border-radius:10px; padding:10px 15px; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:780; text-decoration:none; cursor:pointer; transition:.16s ease; }
.button:hover { transform:translateY(-1px); }.button:disabled { opacity:.55; cursor:wait; transform:none; }
.button.primary { color:white; background:var(--blue); box-shadow:0 8px 20px color-mix(in srgb,var(--blue) 24%,transparent); }.button.primary:hover { background:var(--blue-dark); }
.button.secondary { color:var(--ink); border-color:var(--line); background:var(--surface); }.button.secondary:hover { border-color:color-mix(in srgb,var(--blue) 50%,var(--line)); }
.button.danger-outline { color:var(--danger); border-color:color-mix(in srgb,var(--danger) 40%,var(--line)); background:transparent; }
.button.small { min-height:36px; padding:8px 11px; font-size:.82rem; }.button.full { width:100%; }
.form-panel { max-width:850px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }.span-2 { grid-column:1/-1; }
.field { display:grid; gap:7px; color:var(--ink); font-size:.84rem; font-weight:730; }
.field input,.field select,.field textarea { width:100%; min-height:44px; padding:10px 12px; border:1px solid #cbd3df; border-radius:9px; color:var(--ink); background:var(--surface); outline:0; }
:root[data-theme="dark"] .field input,:root[data-theme="dark"] .field select,:root[data-theme="dark"] .field textarea { border-color:var(--line); }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 15%,transparent); }
.field small { color:var(--muted); font-weight:500; line-height:1.4; }
.form-note { margin-top:20px; padding:15px 17px; display:flex; align-items:flex-start; gap:12px; border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line)); border-radius:11px; background:color-mix(in srgb,var(--blue) 7%,var(--surface)); }
.form-note>span { width:25px; height:25px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:white; background:var(--blue); font-weight:800; }.form-note p { margin:0; color:var(--muted); line-height:1.5; }.form-note strong { color:var(--ink); }
.form-actions { margin-top:22px; display:flex; justify-content:flex-end; gap:10px; }
.loading-panel,.empty-state { min-height:300px; display:grid; place-items:center; align-content:center; text-align:center; color:var(--muted); }
.loading-panel { gap:12px; }.spinner { width:30px; height:30px; border:3px solid var(--line); border-top-color:var(--blue); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }.empty-state.compact { min-height:180px; }.empty-state h2,.empty-state h3 { margin:7px 0 2px; color:var(--ink); }.empty-state p { margin:4px 0 16px; }.empty-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; color:var(--blue); background:color-mix(in srgb,var(--blue) 12%,var(--surface)); font-size:1.4rem; font-weight:800; }
.audit-list { display:grid; }.audit-row { display:grid; grid-template-columns:12px minmax(0,1fr) auto; gap:13px; align-items:start; padding:14px 0; border-top:1px solid var(--line); }.audit-row:first-child { border-top:0; }.audit-dot { width:9px; height:9px; margin-top:5px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 12%,transparent); }.audit-row>div { display:grid; gap:3px; }.audit-row small,.audit-row time { color:var(--muted); font-size:.78rem; }.audit-row time { white-space:nowrap; }
.choice-banner { margin-bottom:20px; padding:17px 19px; display:flex; gap:14px; border:1px solid color-mix(in srgb,var(--success) 33%,var(--line)); border-radius:var(--radius); background:color-mix(in srgb,var(--success) 7%,var(--surface)); }.choice-banner>span { width:31px; height:31px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:white; background:var(--success); font-weight:900; }.choice-banner p { margin:4px 0 0; color:var(--muted); }
.assignment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.assignment-card { min-height:260px; padding:23px; border:1px solid var(--line); border-radius:var(--radius); color:var(--ink); background:var(--surface); text-align:left; cursor:pointer; box-shadow:0 3px 12px rgba(23,35,62,.04); }.assignment-card:hover { border-color:color-mix(in srgb,var(--blue) 45%,var(--line)); transform:translateY(-2px); box-shadow:var(--shadow); }.assignment-top { display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:.78rem; }.assignment-card h2 { margin:22px 0 5px; font-size:1.45rem; letter-spacing:-.03em; }.assignment-card>p { margin:0; color:var(--muted); }.assignment-card dl { margin:22px 0; display:grid; gap:10px; }.assignment-card dl div { display:grid; grid-template-columns:75px 1fr; gap:10px; }.assignment-card dt { color:var(--muted); font-size:.78rem; }.assignment-card dd { margin:0; font-size:.86rem; }.card-link { color:var(--blue); font-weight:760; font-size:.87rem; }
.back-button { margin:0 0 18px; padding:5px 0; border:0; color:var(--muted); background:transparent; cursor:pointer; font-weight:700; }.back-button:hover { color:var(--blue); }
.event-hero { margin-bottom:20px; padding:28px 30px; border-radius:18px; color:white; background:linear-gradient(115deg,var(--navy),var(--navy-2)); display:flex; justify-content:space-between; align-items:flex-end; gap:22px; box-shadow:var(--shadow); }.event-hero .eyebrow { color:#9ec4ff; }.event-hero p:last-child { color:#bec9dc; }.event-hero-actions { display:flex; align-items:center; gap:10px; }.event-hero .status-badge { background:rgba(255,255,255,.12); color:white; }.event-hero .button.secondary { border-color:rgba(255,255,255,.25); color:white; background:rgba(255,255,255,.08); }
.detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; align-items:start; }.side-stack { display:grid; gap:20px; }.compact-panel { padding:20px; }.compact-panel p:not(.section-kicker) { color:var(--muted); line-height:1.5; }
.inline-form { margin:0 0 18px; padding:18px; border:1px solid var(--line); border-radius:11px; background:var(--surface-2); }.hidden { display:none!important; }
.invite-panel { padding:0; overflow:hidden; }
.quick-invite-form { padding:20px; }
.quick-invite-heading { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:20px; align-items:end; }
.quick-invite-heading h3 { margin:3px 0 5px; font-size:1.12rem; }.quick-invite-heading p:not(.section-kicker) { margin:0; color:var(--muted); font-size:.82rem; line-height:1.5; }
.quick-search { align-self:end; }.quick-invite-tools { margin:17px 0 9px; display:flex; justify-content:space-between; align-items:center; gap:12px; color:var(--muted); font-size:.78rem; }.quick-invite-tools>span:last-child { display:flex; gap:10px; }
.quick-person-list { max-height:330px; overflow:auto; display:grid; gap:7px; padding:2px; }
.quick-person { padding:11px 12px; display:grid; grid-template-columns:20px 34px minmax(0,1fr) auto; align-items:center; gap:10px; border:1px solid var(--line); border-radius:9px; background:var(--surface); cursor:pointer; }
.quick-person:hover { border-color:color-mix(in srgb,var(--blue) 42%,var(--line)); }.quick-person:has(input:checked) { border-color:var(--blue); background:color-mix(in srgb,var(--blue) 7%,var(--surface)); }.quick-person.search-hidden { display:none; }
.quick-person>input { width:17px; height:17px; accent-color:var(--blue); }.quick-avatar { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:var(--blue); background:color-mix(in srgb,var(--blue) 12%,var(--surface)); font-weight:850; }
.quick-person-copy { min-width:0; display:grid; gap:2px; }.quick-person-copy small { color:var(--muted); overflow-wrap:anywhere; }.quick-person-meta { display:grid; justify-items:end; gap:2px; color:var(--ink); font-size:.76rem; }.quick-person-meta small { color:var(--muted); }
.quick-invite-form .form-actions { margin-top:14px; }.form-helper { margin:12px 0 0; color:var(--muted); font-size:.74rem; line-height:1.45; }
.invite-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.manual-invite { border-top:1px solid var(--line); background:var(--surface); }.manual-invite>summary { padding:15px 20px; cursor:pointer; color:var(--blue); font-size:.82rem; font-weight:780; }.manual-invite>form { padding:2px 20px 20px; }
.quick-empty { margin:0; padding:20px; }.quick-empty+.manual-invite { border-top:1px solid var(--line); }
.participant-table { margin:0 -6px; }.participant-head,.participant-row { display:grid; grid-template-columns:minmax(190px,1.2fr) 120px 135px 105px minmax(125px,.7fr); gap:12px; align-items:center; padding:11px 6px; }.participant-head { color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }.participant-row { border-top:1px solid var(--line); font-size:.82rem; }.participant-row>span { min-width:0; display:grid; gap:3px; }.participant-row small { color:var(--muted); overflow-wrap:anywhere; }.participant-row a { font-size:.75rem; }.row-actions { justify-items:end; }.text-button { border:0; padding:3px; color:var(--blue); background:transparent; cursor:pointer; font-weight:720; font-size:.78rem; text-decoration:underline; text-underline-offset:3px; }.text-button.danger { color:var(--danger); }
.admin-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; align-items:start; }
.directory-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; }
.directory-search .button { min-height:44px; }
.directory-results,.administrator-list { margin-top:20px; display:grid; }
.directory-person,.administrator-row { min-width:0; padding:13px 0; display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:11px; align-items:center; border-top:1px solid var(--line); }
.directory-person>span:nth-child(2),.administrator-row>span:nth-child(2) { min-width:0; display:grid; gap:2px; }
.directory-person small,.administrator-row small { color:var(--muted); overflow-wrap:anywhere; }
.administrator-row { grid-template-columns:38px minmax(0,1fr) auto auto; }
.admin-flags { display:flex; align-items:center; gap:6px; }
.admin-flags em { padding:4px 7px; border-radius:999px; color:var(--blue); background:color-mix(in srgb,var(--blue) 10%,var(--surface)); font-size:.7rem; font-style:normal; font-weight:760; white-space:nowrap; }
.group-state { color:var(--muted); font-size:.75rem; font-style:normal; }.group-state.added { color:var(--success); }.group-state.removed { color:var(--danger); }
.compact-facts { margin:0; display:grid; gap:12px; }.compact-facts div { padding-top:11px; border-top:1px solid var(--line); }.compact-facts dt { color:var(--muted); font-size:.75rem; }.compact-facts dd { margin:4px 0 0; font-size:.84rem; font-weight:700; }
.consent-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr); gap:20px; align-items:start; }.consent-copy { padding:28px; }.summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; overflow:hidden; margin-bottom:22px; border:1px solid var(--line); border-radius:11px; background:var(--line); }.summary-grid>div { padding:15px; background:var(--surface); }.summary-grid span { color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }.summary-grid p { margin:6px 0 0; line-height:1.45; font-size:.88rem; }.consent-copy details { border-top:1px solid var(--line); padding:15px 0; }.consent-copy details:last-of-type { border-bottom:1px solid var(--line); }.consent-copy summary { cursor:pointer; color:var(--ink); font-weight:780; }.consent-copy details p { color:var(--muted); line-height:1.62; }.legal-basis { color:var(--muted); font-size:.77rem; line-height:1.55; }
.decision-card { position:sticky; top:20px; }.decision-card>h2 { font-size:1.38rem; }.decision-card>p { color:var(--muted); line-height:1.55; }.decision-icon { width:45px; height:45px; display:grid; place-items:center; border-radius:14px; color:var(--blue); background:color-mix(in srgb,var(--blue) 12%,var(--surface)); font-size:1.4rem; font-weight:900; }.decision-card.success .decision-icon { color:var(--success); background:color-mix(in srgb,var(--success) 13%,var(--surface)); }.decision-card.warning .decision-icon { color:var(--warning); background:color-mix(in srgb,var(--warning) 13%,var(--surface)); }.decision-card .button { margin-top:9px; }
.check-field { margin:13px 0; display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; color:var(--ink); font-size:.84rem; line-height:1.45; cursor:pointer; }.check-field input { width:18px; height:18px; margin-top:2px; accent-color:var(--blue); }
.signature-field { margin:18px 0 14px; }.signature-field>div { display:flex; justify-content:space-between; align-items:center; font-size:.84rem; font-weight:760; }.signature-field canvas { width:100%; height:120px; margin-top:7px; display:block; border:1px dashed #9daabc; border-radius:10px; background:#fff; touch-action:none; cursor:crosshair; }.signature-field>small,.signature-disclaimer { color:var(--muted); font-size:.72rem; line-height:1.45; }.signature-disclaimer { text-align:center; }
.toast { position:fixed; right:24px; bottom:24px; z-index:50; max-width:min(420px,calc(100% - 48px)); padding:13px 16px; border-radius:10px; color:white; background:var(--success); box-shadow:var(--shadow); opacity:0; transform:translateY(14px); pointer-events:none; transition:.2s ease; }.toast.show { opacity:1; transform:translateY(0); }.toast.error { background:var(--danger); }
.auth-page { min-height:100vh; min-height:100dvh; padding:36px 20px; display:grid; place-items:center; background:radial-gradient(circle at 20% 10%,#2b4370 0,transparent 35%),linear-gradient(140deg,#0d1729,#172642 55%,#0f1b31); }.auth-theme-picker { position:fixed; right:24px; top:22px; }.auth-card { width:min(500px,100%); padding:42px; border:1px solid rgba(255,255,255,.13); border-radius:20px; color:var(--ink); background:var(--surface); box-shadow:0 30px 90px rgba(0,0,0,.32); }.auth-logo { width:180px; height:auto; display:block; margin:0 0 32px; padding:12px 14px; border-radius:10px; background:var(--navy); }.auth-card h1 { margin:7px 0 12px; font-size:2.25rem; letter-spacing:-.05em; }.auth-copy { margin:0 0 24px; color:var(--muted); line-height:1.6; }.microsoft-button { min-height:58px; padding:10px 15px; border:1px solid var(--line); border-radius:11px; display:flex; align-items:center; gap:14px; color:var(--ink); background:var(--surface-2); text-decoration:none; font-weight:780; }.microsoft-button:hover { border-color:var(--blue); }.microsoft-button>span:last-child { display:grid; gap:2px; }.microsoft-button small { color:var(--muted); font-weight:500; }.ms-mark { width:22px; height:22px; flex:0 0 auto; display:grid; grid-template-columns:1fr 1fr; gap:2px; }.ms-mark i:nth-child(1){background:#f25022}.ms-mark i:nth-child(2){background:#7fba00}.ms-mark i:nth-child(3){background:#00a4ef}.ms-mark i:nth-child(4){background:#ffb900}.trust-note { margin-top:20px; padding:14px; display:flex; gap:11px; border-radius:10px; background:color-mix(in srgb,var(--success) 8%,var(--surface)); }.trust-note>span { color:var(--success); font-weight:900; }.trust-note p { margin:0; color:var(--muted); font-size:.79rem; line-height:1.45; }.trust-note strong { color:var(--ink); }.auth-legal { position:fixed; bottom:20px; display:flex; gap:18px; }.auth-legal a { color:#b9c5d9; font-size:.78rem; }.alert { margin:0 0 16px; padding:12px 14px; border-radius:9px; }.alert.error { color:#9a2734; background:#ffe9ec; border:1px solid #f8b7bf; }
.legal-page { background:var(--background); }.legal-header { min-height:84px; padding:14px clamp(20px,4vw,64px); display:flex; align-items:center; background:var(--navy); }.legal-layout { width:min(1050px,calc(100% - 40px)); margin:0 auto; padding:36px 0 70px; display:grid; grid-template-columns:190px minmax(0,1fr); gap:28px; align-items:start; }.legal-nav { position:sticky; top:20px; display:grid; gap:5px; }.legal-nav a { padding:10px 12px; border-radius:8px; color:var(--muted); text-decoration:none; font-weight:700; }.legal-nav a:hover,.legal-nav a.active { color:var(--blue); background:var(--surface); }.legal-card { padding:40px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:0 4px 18px rgba(23,35,62,.05); }.legal-card>h1 { margin:7px 0 12px; font-size:clamp(2rem,4vw,2.7rem); letter-spacing:-.05em; }.legal-card .lead { margin:0 0 25px; color:var(--muted); font-size:1.05rem; line-height:1.6; }.legal-card section { padding:23px 0; border-top:1px solid var(--line); }.legal-card section h2 { margin:0 0 9px; font-size:1.18rem; }.legal-card section p,.legal-card li,.legal-card address { color:var(--muted); line-height:1.65; font-style:normal; }.legal-card li+li { margin-top:5px; }.notice { margin:0 0 25px; padding:17px 18px; border-left:4px solid var(--blue); border-radius:9px; color:var(--muted); background:color-mix(in srgb,var(--blue) 7%,var(--surface)); line-height:1.55; }.notice strong { color:var(--ink); }.legal-meta { margin-top:25px; color:var(--muted); font-size:.76rem; }
.document-page { padding:25px; background:#dfe4eb; }.document-toolbar { width:min(920px,100%); margin:0 auto 14px; display:flex; justify-content:space-between; }.consent-document { width:min(920px,100%); margin:0 auto; padding:52px 58px; color:#172033; background:white; box-shadow:0 10px 35px rgba(23,35,62,.18); }.document-brand { display:flex; align-items:center; justify-content:space-between; gap:25px; border-bottom:2px solid #17233e; padding-bottom:22px; }.document-brand img { width:165px; padding:11px 13px; border-radius:8px; background:#17233e; }.document-brand h1 { margin:4px 0 0; font-size:2rem; }.document-status { width:max-content; margin:22px 0; padding:7px 11px; border-radius:999px; color:#40506a; background:#edf1f6; font-weight:800; }.document-status.accepted { color:#087a55; background:#e3f6ef; }.document-status.declined { color:#c93645; background:#ffe9ec; }.document-status.withdrawn { color:#a35d00; background:#fff1d9; }.document-facts { display:grid; grid-template-columns:1fr 1fr; gap:1px; border:1px solid #e3e8ef; border-radius:10px; overflow:hidden; background:#e3e8ef; }.document-facts div { padding:12px 14px; display:grid; gap:4px; background:white; }.document-facts span { color:#667085; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }.consent-document section { margin-top:26px; }.consent-document section h2 { margin:0 0 8px; font-size:1.08rem; }.consent-document section p,.consent-document li { color:#455064; line-height:1.58; font-size:.88rem; }.signature-proof { padding:18px; border:1px solid #e3e8ef; border-radius:10px; display:grid; grid-template-columns:1fr 260px; gap:24px; align-items:center; }.signature-image { display:grid; text-align:center; gap:5px; }.signature-image img { max-width:100%; max-height:90px; object-fit:contain; border-bottom:1px solid #667085; }.signature-image span { color:#667085; font-size:.76rem; }.evidence-box { padding:17px 18px; border-radius:10px; background:#f4f6f9; }.evidence-box dl { margin:0; display:grid; gap:7px; }.evidence-box dl div { display:grid; grid-template-columns:130px 1fr; gap:10px; }.evidence-box dt { color:#667085; font-size:.75rem; }.evidence-box dd { margin:0; font-family:ui-monospace,Consolas,monospace; font-size:.7rem; overflow-wrap:anywhere; }.document-footer { margin-top:34px; padding-top:14px; border-top:1px solid #e3e8ef; color:#667085; font-size:.7rem; text-align:center; }
@media (max-width:900px) { .metric-grid{grid-template-columns:1fr}.detail-grid,.consent-layout,.admin-layout{grid-template-columns:1fr}.decision-card{position:static}.participant-table{overflow-x:auto}.participant-head,.participant-row{min-width:820px}.event-row{grid-template-columns:52px minmax(0,1fr) auto}.event-counts{display:none}.row-arrow{display:none}.assignment-grid{grid-template-columns:1fr}.legal-layout{grid-template-columns:1fr}.legal-nav{position:static;grid-auto-flow:column;justify-content:start;overflow-x:auto}.signature-proof{grid-template-columns:1fr} }
@media (max-width:680px) { .site-header{min-height:72px;padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left));align-items:center}.brand span{display:none}.brand img{width:118px}.user-meta,.theme-picker:not(.auth-theme-picker){display:none}.logout-button{width:44px;height:44px}.tab-bar{min-height:52px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));overflow-x:auto}.tab-list{gap:20px}.tab{min-height:52px;white-space:nowrap}.security-state{display:none}.app-view{width:auto;margin:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));padding-top:25px;padding-bottom:55px}.panel{padding:20px}.page-heading,.event-hero,.section-heading{align-items:flex-start;flex-direction:column}.page-heading .button{width:100%}.event-hero{padding:20px}.event-hero-actions{width:100%;flex-wrap:wrap}.event-hero-actions .button{flex:1 1 auto}.event-row{grid-template-columns:46px minmax(0,1fr);gap:12px}.event-row>.status-badge{grid-column:2}.form-grid,.summary-grid,.quick-invite-heading,.directory-search{grid-template-columns:1fr}.span-2{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .button,.directory-search .button{width:100%}.field input,.field select,.field textarea{font-size:16px}.button,.text-button{min-height:44px}.invite-actions{width:100%;justify-content:stretch}.invite-actions .button{flex:1 1 150px}.quick-invite-form{padding:16px}.quick-invite-tools{align-items:flex-start;flex-direction:column}.quick-invite-tools>span:last-child{width:100%;justify-content:space-between}.quick-person-list{max-height:45dvh}.quick-person{grid-template-columns:20px 34px minmax(0,1fr)}.quick-person-meta{display:none}.participant-table{margin:0;overflow:visible}.participant-head{display:none}.participant-row{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px 0}.participant-row>span:first-child,.participant-row>.row-actions{grid-column:1/-1}.row-actions{justify-items:start}.consent-copy{padding:20px}.signature-field canvas{height:150px}.directory-person,.administrator-row{grid-template-columns:38px minmax(0,1fr);gap:10px}.directory-person .button,.administrator-row .text-button,.admin-flags{grid-column:2;justify-self:start}.site-legal{padding-bottom:max(24px,env(safe-area-inset-bottom));flex-direction:column}.toast{right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100% - 24px)}.auth-page{padding:calc(70px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));place-items:start center}.auth-card{padding:30px 22px}.auth-card h1{font-size:2rem}.auth-theme-picker{right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top))}.auth-legal{position:static;margin-top:18px;flex-wrap:wrap}.legal-card{padding:26px 20px}.legal-layout{width:auto;margin-inline:max(12px,env(safe-area-inset-left));padding-bottom:max(45px,env(safe-area-inset-bottom))}.document-page{padding:0}.document-toolbar{padding:12px}.consent-document{padding:28px 20px;box-shadow:none}.document-brand{align-items:flex-start;flex-direction:column}.document-facts{grid-template-columns:1fr} }
@media print { body.document-page{padding:0;background:white}.document-toolbar{display:none}.consent-document{width:100%;padding:12mm 14mm;box-shadow:none}.document-brand img{print-color-adjust:exact}.document-status,.evidence-box{print-color-adjust:exact}.consent-document section{break-inside:avoid}.document-footer{position:running(footer)} }
