:root{color-scheme:light;--bg:#faf7f8;--surface:#ffffff;--panel:#ffffff;--panel-strong:#ffffff;--sidebar:#f2e8ea;--sidebar-ink:#1a0f12;--sidebar-muted:#6b5055;--sidebar-active:#edd0d4;--ink:#1a0f12;--muted:#6b5055;--line:rgba(100,20,40,0.14);--line-strong:rgba(100,20,40,0.24);--teal:#7b1d3a;--green:#15803d;--blue:#0ea5e9;--amber:#b45309;--rose:#be123c;--danger:#b42318;--danger-hover:#912018;--brand-soft:#f9e8ec;--green-soft:#dcfce7;--blue-soft:#e0f2fe;--amber-soft:#fff4de;--rose-soft:#fff1f3;--shadow:0 18px 46px rgba(90,20,40,0.09);--shadow-soft:0 10px 28px rgba(90,20,40,0.07);--focus:0 0 0 3px rgba(160,40,80,0.22)}:root[data-theme=dark]{color-scheme:dark;--bg:#150a0d;--surface:#1c1014;--panel:#211519;--panel-strong:#1f1318;--sidebar:#160a0d;--sidebar-ink:#fff0f3;--sidebar-muted:#d0909c;--sidebar-active:rgba(180,40,70,0.18);--ink:#fff0f3;--muted:#c48090;--line:rgba(230,140,160,0.16);--line-strong:rgba(230,140,160,0.28);--teal:#e0607a;--green:#22c55e;--blue:#7dd3fc;--amber:#fbbf24;--rose:#fb7185;--danger:#fb7185;--danger-hover:#f43f5e;--brand-soft:rgba(200,50,90,0.16);--green-soft:rgba(34,197,94,0.16);--blue-soft:rgba(14,165,233,0.16);--amber-soft:rgba(245,158,11,0.16);--rose-soft:rgba(244,63,94,0.16);--shadow:0 20px 55px rgba(0,0,0,0.36);--shadow-soft:0 12px 34px rgba(0,0,0,0.28);--focus:0 0 0 3px rgba(210,60,100,0.28)}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;scroll-behavior:smooth}body{background:radial-gradient(circle at top left,color-mix(in srgb,var(--brand-soft) 52%,transparent),transparent 34rem),var(--bg);margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus);outline:0}.app-frame{display:grid;grid-template-columns:280px 1fr;min-height:100vh;transition:grid-template-columns .18s ease}.sidebar{background:color-mix(in srgb,var(--sidebar) 88%,transparent);border-right:1px solid var(--line);color:var(--sidebar-ink);display:flex;flex-direction:column;padding:26px 18px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden}.brand{align-items:center;display:flex;gap:12px;margin-bottom:16px;padding:4px}.brand-mark{align-items:center;background:var(--teal);border-radius:8px;color:#ffffff;display:inline-flex;font-weight:800;height:42px;justify-content:center;width:42px}.brand small,.brand strong{display:block}.brand small{color:var(--sidebar-muted);font-size:12px;margin-top:2px}.sidebar-collapse-toggle{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--sidebar-ink);cursor:pointer;display:inline-flex;gap:8px;justify-content:center;margin:0 0 18px;min-height:38px;padding:8px 10px;width:100%}.sidebar-collapse-toggle:hover{background:var(--sidebar-active)}.nav-list{display:grid;flex:1 1 auto;grid-gap:6px;gap:6px;min-height:0;overflow-y:auto;padding-right:2px;scrollbar-width:thin}.nav-item{align-items:center;border-radius:8px;color:var(--sidebar-muted);display:flex;flex-wrap:nowrap;gap:10px;min-height:42px;padding:10px 12px}.nav-item svg,.sidebar-collapse-toggle svg,.theme-toggle svg{flex:0 0 auto}.brand-copy,.logout-form .theme-toggle span,.nav-item-label,.sidebar-collapse-toggle-label,.sidebar-user-email{min-width:0}.nav-item:hover{transform:translateX(2px)}.nav-item:hover,.nav-item[aria-current=page]{background:var(--sidebar-active);color:var(--sidebar-ink)}.nav-item[aria-current=page]{font-weight:700}.logout-form{border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;flex:0 0 auto;margin-top:auto;padding-top:18px}.logout-form span{color:var(--sidebar-muted);font-size:12px;overflow-wrap:anywhere}.logout-form .theme-toggle span{color:inherit;font-size:inherit}.logout-button{background:transparent;border:0;cursor:pointer;text-align:left;width:100%}.workspace{padding:34px}@media (min-width:761px){html[data-sidebar=collapsed] .app-frame{grid-template-columns:86px minmax(0,1fr)}html[data-sidebar=collapsed] .sidebar{padding-inline:14px}html[data-sidebar=collapsed] .brand,html[data-sidebar=collapsed] .nav-item,html[data-sidebar=collapsed] .sidebar-collapse-toggle,html[data-sidebar=collapsed] .theme-toggle{justify-content:center}html[data-sidebar=collapsed] .brand-copy,html[data-sidebar=collapsed] .logout-form .theme-toggle span,html[data-sidebar=collapsed] .nav-item-label,html[data-sidebar=collapsed] .sidebar-collapse-toggle-label,html[data-sidebar=collapsed] .sidebar-user-email{display:none}html[data-sidebar=collapsed] .brand{margin-bottom:16px}html[data-sidebar=collapsed] .logout-form{justify-items:center}}.page-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin:0 auto 28px;max-width:1180px}.page-header h1{font-size:36px;line-height:1.08;margin:4px 0 10px}.page-header p{color:var(--muted);margin:0;max-width:680px}.button{align-items:center;border:1px solid var(--line);border-radius:8px;display:inline-flex;gap:8px;min-height:40px;padding:9px 12px;white-space:nowrap}.button:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.button-primary{background:var(--teal);border-color:var(--teal);color:#ffffff}.button-secondary{background:var(--panel-strong);color:var(--ink)}.button-danger{background:var(--danger);border-color:var(--danger);color:#fff}.button-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.button-compact{min-height:34px;padding:6px 10px}.muted-label{color:var(--muted);font-size:13px}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.content-grid{display:grid;grid-gap:18px;gap:18px;margin:0 auto;max-width:1180px}.metrics-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.event-card,.metric,.panel,.public-slot,.slot-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric{min-height:116px;padding:18px}.event-card:hover,.metric:hover,.public-slot:hover,.slot-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.metric span{color:var(--muted);display:block;font-size:13px;margin-bottom:14px}.metric strong{display:block;font-size:30px;line-height:1}.metric small{color:var(--muted);display:block;margin-top:9px}.panel{padding:22px}.panel-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.panel-header h2{font-size:20px;margin:0}.panel-header p{color:var(--muted);margin:4px 0 0}.empty-state{align-items:center;color:var(--muted);display:grid;grid-gap:12px;gap:12px;justify-items:start;min-height:190px;padding:28px}.empty-state svg{color:var(--teal)}.empty-state h2,.empty-state h3{color:var(--ink);margin:0}.empty-state p{margin:0;max-width:560px}.empty-state-compact{background:color-mix(in srgb,var(--brand-soft) 34%,transparent);border:1px dashed var(--line-strong);border-radius:8px;min-height:140px}.admin-page-hero{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-soft) 60%,transparent),transparent),var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:20px;gap:20px;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);padding:24px}.admin-page-hero h2{font-size:28px;line-height:1.08;margin:4px 0 10px}.admin-page-hero p{color:var(--muted);margin:0;max-width:720px}.admin-hero-stats{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-hero-stats span{background:color-mix(in srgb,var(--panel-strong) 85%,var(--brand-soft));border:1px solid var(--line);border-radius:8px;color:var(--muted);display:grid;grid-gap:4px;gap:4px;min-height:78px;padding:12px}.admin-hero-stats strong{color:var(--ink);font-size:26px;line-height:1}.two-columns{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr)}.event-overview{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) minmax(360px,.62fr)}.event-coverage-panel{min-height:210px}.event-actions-panel .actions{align-items:stretch}.event-danger-zone{background:color-mix(in srgb,var(--rose-soft) 45%,transparent);border:1px solid color-mix(in srgb,var(--rose) 22%,transparent);border-radius:8px;margin-top:12px;padding:10px 12px 12px}.danger-zone-label{color:var(--rose);font-size:11px;font-weight:700;letter-spacing:.06em;margin:0 0 6px;text-transform:uppercase}.event-page-nav{background:var(--panel);border:1px solid var(--line);border-radius:10px;display:flex;gap:4px;overflow-x:auto;padding:5px;position:-webkit-sticky;position:sticky;scrollbar-width:none;top:10px;z-index:20}.event-page-nav::-webkit-scrollbar{display:none}.event-page-nav a{align-items:center;border-radius:7px;color:var(--muted);display:flex;font-size:14px;font-weight:500;padding:8px 16px;white-space:nowrap}.event-page-nav a:hover{background:color-mix(in srgb,var(--brand-soft) 70%,transparent);color:var(--ink)}.event-section-anchor{scroll-margin-top:72px}.section-group-divider{align-items:center;color:var(--muted);display:flex;font-size:12px;font-weight:600;gap:12px;letter-spacing:.04em;padding:4px 0;text-transform:uppercase}.section-group-divider:after{background:var(--line);content:"";flex:1 1;height:1px}.event-actions-panel .button,.event-actions-panel form{flex:1 1 190px}.event-actions-panel form .button{justify-content:center;width:100%}.dashboard-action-list{display:grid;grid-gap:10px;gap:10px}.dashboard-action-list p{align-items:flex-start;background:color-mix(in srgb,var(--panel-strong) 76%,transparent);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;gap:10px;margin:0;padding:12px}.dashboard-action-list svg{color:var(--teal);flex:0 0 auto}.event-status-strip{align-items:center;background:color-mix(in srgb,var(--green-soft) 55%,transparent);border:1px solid var(--line);border-radius:8px;display:flex;gap:10px;margin-bottom:14px;padding:10px 12px}.attendance-summary-grid,.event-kpi-row,.recap-summary-grid{display:grid;grid-gap:10px;gap:10px}.event-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.attendance-summary-grid,.recap-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 18px}.recap-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-summary-grid span,.event-kpi-row span,.recap-summary-grid span{background:color-mix(in srgb,var(--panel-strong) 85%,var(--brand-soft));border:1px solid var(--line);border-radius:8px;color:var(--muted);display:grid;grid-gap:3px;gap:3px;min-height:66px;padding:12px}.attendance-summary-grid strong,.event-kpi-row strong,.recap-summary-grid strong{color:var(--ink);font-size:24px;line-height:1}.event-list{display:grid;grid-gap:14px;gap:14px}.event-card{display:grid;grid-gap:18px;gap:18px;grid-template-columns:1fr auto;padding:18px}.event-card-modern{grid-template-columns:minmax(0,1fr) minmax(270px,.34fr)}.event-card-main,.event-card-side{display:grid;grid-gap:14px;gap:14px}.event-card-title{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.event-card-side{align-content:center}.event-card h2,.event-card h3,.public-slot h3,.slot-card h3{margin:0 0 8px}.event-card p,.public-slot p,.slot-card p{color:var(--muted);margin:0}.actions{gap:10px}.actions,.row-actions{align-items:center;display:flex;flex-wrap:wrap}.row-actions{gap:8px}.attendance-form{align-items:center;display:flex;gap:8px}.attendance-form select{background:var(--panel-strong);color:var(--ink);min-height:34px;padding:6px 8px}.attendance-form select,.theme-toggle{border:1px solid var(--line);border-radius:8px}.theme-toggle{align-items:center;background:var(--panel);color:var(--sidebar-ink);cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:40px;padding:9px 12px;width:100%}.theme-toggle:hover{background:var(--sidebar-active)}.standalone-theme-toggle{display:flex;justify-content:flex-end;margin:0 auto 18px;max-width:1120px}.standalone-theme-toggle .theme-toggle{max-width:150px}.move-summary{align-items:center;display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(220px,.8fr) auto minmax(320px,1fr)}.move-summary small,.move-summary strong{display:block}.move-summary small{color:var(--muted);margin-top:6px}.move-confirm-form{display:grid;grid-gap:12px;gap:12px}.move-confirm-form label{color:var(--muted);display:grid;grid-gap:6px;gap:6px;font-size:13px}.move-confirm-form select{border:1px solid var(--line);border-radius:8px;min-height:42px;padding:9px 10px}.slot-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.public-slot,.slot-card{padding:18px}.slot-meta{color:var(--muted);display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.admin-info-strip{display:flex;flex-wrap:wrap;gap:8px}.admin-info-strip span,.date-inline,.mail-recipient-cell,.mail-subject-cell{align-items:center;background:color-mix(in srgb,var(--panel-strong) 82%,transparent);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;gap:7px;min-height:32px;padding:6px 10px}.quick-create-panel{background:color-mix(in srgb,var(--panel-strong) 64%,transparent);border:1px solid var(--line);border-radius:8px;margin-top:0;padding:14px}.directory-table td,.mail-log-table td{vertical-align:top}.directory-table .button{justify-content:center}.volunteer-profile{align-items:center;display:flex;gap:11px}.contact-stack,.participation-stack,.volunteer-profile span:last-child{display:grid;grid-gap:5px;gap:5px}.contact-stack span,.volunteer-profile small{color:var(--muted)}.avatar-chip{align-items:center;background:var(--green-soft);border:1px solid var(--line);border-radius:8px;color:var(--green);display:inline-flex;height:36px;justify-content:center;width:36px}.contact-stack a,.contact-stack span{align-items:center;display:inline-flex;gap:7px}.mail-recipient-cell,.mail-subject-cell{border-radius:8px;max-width:360px;overflow-wrap:anywhere;white-space:normal}.mail-subject-cell{color:var(--ink);font-weight:700}.team-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.team-management-list{display:grid;grid-gap:8px;gap:8px;margin-bottom:18px}.team-management-row{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(160px,1fr) minmax(90px,auto) minmax(240px,auto);padding:10px 0}.team-management-row:last-child{border-bottom:0}.team-chip{align-items:center;background:var(--blue-soft);border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:8px;min-height:34px;padding:6px 10px}.team-chip span{border-radius:999px;display:inline-block;height:12px;width:12px}.signup-groups{display:grid;grid-gap:16px;gap:16px}.signup-group{border:1px solid var(--line);border-radius:8px;overflow:hidden}.signup-group-header{align-items:center;background:color-mix(in srgb,var(--panel-strong) 88%,var(--brand-soft));border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;padding:14px 16px}.signup-group-header h3{margin:0 0 4px}.signup-group-header p{color:var(--muted);margin:0}.bulk-attendance-actions,.signup-group-tools{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.signup-group-tools{display:grid;justify-items:end}.recap-filters{display:flex;flex-wrap:wrap;gap:8px}.recap-table strong{display:block}.recap-pill{align-items:center;background:var(--blue-soft);border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:6px;padding:5px 9px}.recap-attendance{display:grid;grid-gap:4px;gap:4px;min-width:150px}.recap-actions{display:grid;grid-gap:8px;gap:8px;min-width:250px}.recap-row-attention{background:color-mix(in srgb,var(--amber-soft) 38%,transparent)}.planning-day-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.planning-day{background:color-mix(in srgb,var(--panel-strong) 72%,transparent);border:1px solid var(--line);border-radius:8px;min-width:0;overflow:hidden}.planning-day-header{align-items:center;background:color-mix(in srgb,var(--panel-strong) 88%,var(--brand-soft));border-bottom:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;padding:14px 16px;text-transform:capitalize}.planning-day-header span{color:var(--muted);font-size:13px;font-weight:800}.planning-day-header strong{font-size:18px}.planning-slot-stack{display:grid;grid-gap:12px;gap:12px;padding:14px}.planning-time-row{align-items:stretch;display:grid;grid-gap:12px;gap:12px;grid-template-columns:76px minmax(0,1fr)}.planning-time-row-label{align-items:flex-start;color:var(--muted);display:flex;font-size:13px;font-weight:800;justify-content:flex-end;padding-top:16px}.planning-time-row-slots{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));min-width:0}.planning-slot-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;min-width:0;overflow:hidden;padding:14px;position:relative}.planning-slot-card:before{background:var(--team-color,var(--teal));content:"";height:4px;left:0;position:absolute;right:0;top:0}.planning-slot-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.planning-slot-top h3{margin:4px 0 0}.planning-slot-top .status-badge{justify-self:start}.planning-time{color:var(--muted);font-size:13px;font-weight:800}.planning-slot-footer,.planning-slot-meta,.planning-volunteer-list{display:flex;flex-wrap:wrap;gap:8px}.planning-slot-footer span,.planning-slot-meta span{background:color-mix(in srgb,var(--panel-strong) 82%,transparent);color:var(--muted);gap:6px}.planning-slot-footer span,.planning-slot-meta span,.planning-volunteer-list span:not(.muted-label){align-items:center;border:1px solid var(--line);border-radius:999px;display:inline-flex;min-height:30px;padding:5px 9px}.planning-volunteer-list span:not(.muted-label){background:var(--green-soft);color:var(--green);font-weight:700}.planning-volunteer-list span[draggable=true]{cursor:-webkit-grab;cursor:grab}.planning-volunteer-list span[draggable=true]:hover{border-color:color-mix(in srgb,var(--green) 34%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--green-soft) 70%,transparent)}.planning-volunteer-list span[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.planning-slot-footer{align-items:center;border-top:1px solid var(--line);padding-top:10px}.planning-slot-footer .button{margin-left:auto}.signup-group>.muted-label{display:block;padding:14px 16px}.status-badge{align-items:center;border-radius:999px;display:inline-flex;gap:5px;font-size:12px;font-weight:800;padding:5px 9px}.status-open{background:var(--rose-soft);color:var(--rose)}.status-partial{background:var(--amber-soft);color:var(--amber)}.status-full{background:var(--green-soft);color:var(--green)}.coverage-meter{display:grid;grid-gap:8px;gap:8px}.meter-row{align-items:center;display:flex;justify-content:space-between}.meter-row span{color:var(--muted)}.meter-track{background:color-mix(in srgb,var(--line) 70%,var(--panel-strong));border-radius:999px;height:10px;overflow:hidden}.meter-track span{background:linear-gradient(90deg,var(--green),var(--blue));display:block;height:100%}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left}.table tbody tr:hover{background:color-mix(in srgb,var(--brand-soft) 50%,transparent)}.table th{color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap}.table a:not(.button){color:var(--teal);font-weight:700}.responsive-table-card,.table-wrap{overflow-x:auto;width:100%}.notification-body{background:color-mix(in srgb,var(--panel-strong) 85%,var(--blue-soft));border:1px solid var(--line);border-radius:6px;margin:8px 0 0;max-width:560px;padding:12px;white-space:pre-wrap}.engagement-list{display:grid;grid-gap:6px;gap:6px;margin-top:8px;min-width:260px}details{margin-top:10px}summary{color:var(--teal);cursor:pointer;font-size:13px;font-weight:700}summary:hover{color:var(--ink)}.engagement-list a{align-items:center;border:1px solid var(--line);border-radius:6px;display:flex;gap:12px;justify-content:space-between;padding:8px 10px}.engagement-list a:hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft)}.engagement-list span{display:grid;grid-gap:2px;gap:2px}.engagement-list small{color:var(--muted)}.qr-panel{max-width:760px}.qr-sheet{align-items:center;border:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;justify-items:center;margin:20px auto;max-width:520px;padding:32px;text-align:center}.qr-sheet img{display:block;height:min(320px,100%);max-width:100%;width:320px}.qr-sheet strong{overflow-wrap:anywhere}@media print{.no-print,.page-header,.sidebar{display:none!important}.app-frame,.content-grid,.qr-panel,.workspace{display:block;margin:0;max-width:none;padding:0}.qr-sheet{border:0;margin:0 auto}}.row-highlight td{animation:row-highlight-fade 20s ease-out 1 forwards}@keyframes row-highlight-fade{0%{background:var(--amber-soft);box-shadow:inset 4px 0 0 var(--amber)}75%{background:var(--amber-soft);box-shadow:inset 4px 0 0 var(--amber)}to{background:transparent;box-shadow:inset 4px 0 0 transparent}}.public-page{min-height:100vh;padding:34px}.login-page{align-items:center;display:grid;grid-gap:18px;gap:18px;min-height:100vh;padding:24px}.login-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);margin:0 auto;max-width:430px;padding:28px;width:100%}.login-panel h1{margin:6px 0 10px}.login-panel p{color:var(--muted)}.public-layout{display:grid;grid-gap:26px;gap:26px;grid-template-columns:minmax(0,1fr) 390px;margin:0 auto;max-width:1120px}.public-hero{margin:0 auto 28px;max-width:1120px}.public-hero h1{font-size:42px;line-height:1.05;margin:8px 0 12px}.public-hero p{color:var(--muted);max-width:720px}.public-admin-return{margin-top:12px}.signup-form{display:grid;grid-gap:12px;gap:12px}.rgpd-notice{border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;line-height:1.5;padding-top:10px}.rgpd-notice a{color:var(--muted);text-decoration:underline}.inline-form{border-top:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 22px;padding-top:18px}.inline-form input,.inline-form select{border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--ink);min-height:42px;padding:9px 10px}.edit-form{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-shell{margin-inline:auto;max-width:980px}.form-context{background:color-mix(in srgb,var(--brand-soft) 40%,transparent);border:1px solid var(--line);border-radius:8px;margin:-4px 0 18px;padding:14px}.form-shell form:not(.logout-form){background:color-mix(in srgb,var(--panel-strong) 74%,transparent);border:1px solid var(--line);border-radius:8px;padding:16px}.edit-form label{color:var(--muted);display:grid;grid-gap:6px;gap:6px;font-size:13px}.edit-form input,.edit-form select{border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--ink);min-height:42px;padding:9px 10px}.edit-form-wide{grid-column:1/-1}.signup-form label{color:var(--muted);display:grid;grid-gap:6px;gap:6px;font-size:13px}.signup-form input,.signup-form select{border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--ink);min-height:42px;padding:9px 10px}.checkbox-row{align-items:flex-start}.checkbox-line,.checkbox-row{display:flex!important;gap:10px!important}.checkbox-line{align-items:center;color:var(--muted)}.checkbox-line input[type=checkbox],.checkbox-row input[type=checkbox],.slot-choice input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;min-height:auto;margin-top:3px;padding:0}.slot-selection{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:0;gap:0;margin:0;padding:12px}.slot-selection legend{color:var(--muted);font-size:13px;padding:0 4px}.slot-choice{align-items:flex-start;border:1px solid transparent;border-bottom:1px solid var(--line);border-radius:8px;display:flex;gap:10px;margin:0 -4px;padding:10px}.slot-choice:last-child{border-bottom-color:transparent}.slot-choice:hover{background:color-mix(in srgb,var(--brand-soft) 44%,transparent)}.slot-choice:has(input:checked){background:color-mix(in srgb,var(--green-soft) 48%,transparent);border-color:color-mix(in srgb,var(--green) 24%,var(--line))}.slot-choice span{display:grid;grid-gap:3px;gap:3px}.slot-choice small{color:var(--muted)}.slot-choice:has(input:disabled){opacity:.55}.notice{border:1px solid var(--line);border-radius:8px;font-weight:700;margin:0 0 14px;padding:12px 14px}.notice-success{background:var(--green-soft);color:var(--green)}.notice-error{background:var(--rose-soft);color:var(--rose)}.notification-preview{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-column:1/-1;padding:14px}.notification-preview pre{color:var(--muted);font-family:inherit;line-height:1.55;margin:0;overflow-x:auto;white-space:pre-wrap}.help-toc-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.help-toc-grid a{align-items:center;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:flex;gap:8px;padding:10px 12px;text-decoration:none}.help-section-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr)}.help-section figure{margin:0}.help-section img{aspect-ratio:16/10;border:1px solid var(--line);border-radius:8px;display:block;object-fit:cover;object-position:top left;width:100%}.help-section figcaption{color:var(--muted);font-size:13px;margin-top:8px}.help-copy{display:grid;grid-gap:12px;gap:12px}.help-copy h3{font-size:15px;margin:0}.help-copy ol,.help-copy ul{color:var(--muted);display:grid;grid-gap:8px;gap:8px;margin:0;padding-left:20px}@media (max-width:980px){.admin-page-hero,.event-overview,.help-section-grid,.move-summary,.public-layout,.two-columns{grid-template-columns:1fr}.admin-hero-stats,.attendance-summary-grid,.event-kpi-row,.inline-form,.metrics-grid,.planning-day-grid,.recap-summary-grid,.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{max-width:none}}@media (max-width:760px){.app-frame{display:block}.sidebar{border-bottom:1px solid var(--line);border-right:0;height:auto;padding:18px;position:static}.brand{margin-bottom:18px}.nav-list{display:flex;overflow-x:auto;padding-bottom:4px}.sidebar-collapse-toggle{display:none}.nav-item{flex:0 0 auto}.logout-form{grid-template-columns:minmax(0,1fr)}.workspace{padding:22px}.page-header h1{font-size:30px}.admin-page-hero h2{font-size:24px}.admin-page-hero,.panel{padding:18px}.planning-day-header,.planning-slot-top,.planning-time-row{display:grid;grid-template-columns:1fr}.planning-time-row-label{justify-content:flex-start;padding-top:0}.planning-slot-footer .button{margin-left:0;width:100%}}@media (max-width:640px){.public-page,.workspace{padding:20px}.event-card,.event-card-title,.form-context,.page-header,.panel-header{display:grid;grid-template-columns:1fr}.form-context .button,.panel-header .actions{justify-content:stretch;width:100%}.admin-hero-stats,.attendance-summary-grid,.edit-form,.event-kpi-row,.inline-form,.metrics-grid,.planning-day-grid,.recap-summary-grid,.slot-grid{grid-template-columns:1fr}.button,.event-actions-panel .button,.form-shell form .button{justify-content:center;width:100%}.table td,.table th{padding:10px 8px}.public-hero h1{font-size:32px}}.public-signup-cta{display:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:760px){.public-signup-cta{align-items:center;background:var(--teal);border-radius:8px;bottom:20px;color:#ffffff;display:flex;font-weight:700;gap:8px;justify-content:center;left:20px;padding:14px 24px;position:fixed;right:20px;z-index:10}}