:root{--color-warning:#8a6100;--color-warning-soft:#fff5dc;--color-warning-line:#ead28f;--color-success-line:#b8dfc0;--color-danger-line:#f2c7c7;--color-neutral:#5f544f;--color-neutral-soft:#f4efec;--text-label:14px;--text-subtitle:15px;--text-table-heading:12px;--heading-1:32px;--heading-2:30px;--heading-3:20px;--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,"Segoe UI","Roboto","Noto Sans","Liberation Sans",sans-serif;--color-bg:#faf8f7;--color-surface:#ffffff;--color-public-bg:#f5f5f7;--color-public-text:#1d1d1f;--color-public-muted:#6e6e73;--color-public-line:#d2d2d7;--color-text:#190602;--color-muted:#6f6764;--color-line:#eadfdb;--color-accent:#be0000;--color-accent-strong:#8f0000;--color-accent-soft:#f8e5e5;--color-success:#176b2c;--color-success-soft:#e9f6ec;--color-danger:#991b1b;--color-danger-soft:#fff0f0;--color-info:#7c3aed;--color-info-soft:#f4edff;--radius-sm:8px;--radius-md:12px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:24px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--control-height:44px;--focus-ring:0 0 0 3px #f4dcdc;--bg:var(--color-bg);--surface:var(--color-surface);--text:var(--color-text);--muted:var(--color-muted);--line:var(--color-line);--accent:var(--color-accent);--accent-2:var(--color-accent-strong);--accent-soft:var(--color-accent-soft)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#f4dcdc 0,var(--bg) 48%)}.auth-card{width:min(430px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-2xl);padding:36px;box-shadow:0 20px 60px rgba(0,0,0,.08)}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:var(--accent);color:white;font-weight:800;margin-bottom:22px}.auth-logo{width:92px;height:92px;object-fit:contain;border-radius:18px;margin-bottom:18px;background:#fff}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3{margin:0;letter-spacing:-.03em}h1{font-size:var(--heading-1)}h2{font-size:var(--heading-2)}h3{font-size:var(--heading-3)}.muted{color:var(--muted)}.form{grid-gap:16px;gap:16px;margin-top:28px}.form,label{display:grid}label{grid-gap:7px;gap:7px;font-size:var(--text-label);font-weight:650}input{width:100%;border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 13px;outline:none;background:white}input:focus,select:focus,textarea:focus{border-color:var(--accent-2);box-shadow:var(--focus-ring);outline:none}.button{border:0;border-radius:var(--radius-md);padding:12px 16px;cursor:pointer;font-weight:750}.button:disabled{opacity:.6;cursor:default}.primary{background:var(--accent);color:white}.secondary{background:white;color:var(--text);border:1px solid var(--line)}.button-link{display:inline-block}.error{color:#b42318;font-size:14px;margin:0}.shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0 64px}.topbar{gap:16px;margin-bottom:28px}.hero,.topbar{display:flex;align-items:center;justify-content:space-between}.hero{gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-2xl);padding:30px}.status-pill{padding:10px 14px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-weight:750;white-space:nowrap}.status-pill.small{padding:6px 9px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-top:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:22px}.card strong{display:block;font-size:25px;margin:8px 0 5px}.card-label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.wide{margin-top:16px}.section-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px}.attendance-session{border-top:1px solid var(--line);padding:18px 0}.attendance-session:first-of-type{border-top:0}.attendance-session-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.attendance-session-head p{margin:5px 0 0}.member-list{display:grid;grid-gap:8px;gap:8px}.member-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-lg)}.member-row>div:first-child{display:grid;grid-gap:3px;gap:3px}.member-row .muted{font-size:13px}.attendance-actions{display:flex;gap:8px}.attendance-actions form{margin:0}.attendance-button{border:1px solid var(--line);background:white;border-radius:10px;padding:8px 11px;cursor:pointer;font-weight:700}.attendance-button.selected{background:#ede9fe;border-color:#c4b5fd;color:var(--accent)}@media (max-width:700px){.auth-card{padding:28px 22px}.shell{width:min(100% - 20px,1120px);padding-top:20px}.hero{align-items:flex-start;flex-direction:column}.grid{grid-template-columns:1fr}.member-row,.topbar{align-items:flex-start}.member-row{flex-direction:column}.attendance-actions{width:100%}.attendance-actions form{flex:1 1}.attendance-button{width:100%}}select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 13px;background:white}textarea{resize:vertical}.excuse-review{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.excuse-review:first-child{border-top:0}@media(max-width:700px){.excuse-review{flex-direction:column}}.topbar-left{gap:14px}.brand-lockup,.topbar-left{display:flex;align-items:center;min-width:0}.brand-lockup{gap:12px}.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:var(--radius-md);background:#fff}.back-button{white-space:nowrap}.topbar .eyebrow{margin-bottom:4px}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:720px}.table-wrap td,.table-wrap th{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table-wrap th{font-size:var(--text-table-heading);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.table-wrap td .muted{font-size:12px}.filter-bar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:14px 0 18px}.filter-bar label{min-width:210px}.filter-bar .button{height:44px}.training-tools{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:16px 0}.edit-box,.tool-box{border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px;background:#fff}.edit-box summary,.tool-box summary{cursor:pointer;font-weight:750}.compact-form{margin-top:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.weekday-list{gap:8px;flex-wrap:wrap}.check-label,.weekday-list{display:flex;align-items:center}.check-label{gap:6px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}.check-label input{width:auto}.success-message{margin-bottom:16px;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-success-soft);color:var(--color-success);font-weight:700}@media(max-width:700px){.topbar-left{flex-direction:column}.brand-lockup,.topbar-left{align-items:flex-start}.brand-logo{width:48px;height:48px}.form-grid,.training-tools{grid-template-columns:1fr}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar label{min-width:0}.filter-bar .button{width:100%}}.matrix-scroll{overflow:auto;border:1px solid var(--line);border-radius:14px}.attendance-matrix{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%;font-size:12px}.attendance-matrix td,.attendance-matrix th{padding:9px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}.attendance-matrix thead th{background:#faf4f2;position:-webkit-sticky;position:sticky;top:0;z-index:2}.attendance-matrix .name-col{text-align:left;min-width:180px}.attendance-matrix .group-col{text-align:left;min-width:120px}.attendance-matrix .sticky-col{position:-webkit-sticky;position:sticky;left:0;background:#fff;z-index:1}.attendance-matrix thead .sticky-col{z-index:4;background:#faf4f2}.attendance-matrix th span{display:block}.week-label{font-size:10px;color:var(--accent)}.date-label,.week-label{font-weight:800}.attendance-matrix td small,.time-label{font-size:10px;color:var(--muted)}.attendance-matrix td small{display:block;margin-top:2px}.att-present{font-weight:900;color:#166534;background:#edf8f0}.att-absent{font-weight:900;color:var(--color-danger);background:#fff0f0}.att-excused{font-weight:900;color:#7c3aed;background:#f4edff}.att-empty{color:#aaa}.rate-cell{font-weight:900}.notification-card{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.notification-card p{margin:5px 0}.notification-card small{color:var(--muted)}.notification-card.read{opacity:.65}@media(max-width:700px){.attendance-matrix{font-size:11px}.attendance-matrix .name-col{min-width:145px}.attendance-matrix td,.attendance-matrix th{padding:7px 6px}.notification-card{align-items:flex-start;flex-direction:column}.notification-card .button{width:100%}}.session-head-actions{display:flex;gap:8px;flex-wrap:wrap}.session-head-actions .button{padding:8px 10px;font-size:12px}@media(max-width:700px){.session-head-actions{width:100%}.session-head-actions form{flex:1 1}.session-head-actions .button{width:100%}}body,html{overflow-x:hidden}@media (max-width:700px){body{-webkit-text-size-adjust:100%}.shell{width:100%;padding:12px 10px 84px}.topbar{gap:10px;margin-bottom:14px}.topbar-left{width:100%;gap:10px}.back-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.brand-lockup{width:100%;gap:9px}.brand-logo{width:44px;height:44px;flex:0 0 44px}.topbar h1{font-size:22px;line-height:1.1}.topbar .muted{font-size:12px;line-height:1.35}.topbar>.button,.topbar>.muted{align-self:stretch}.hero{padding:18px 16px;border-radius:16px;gap:12px}.hero h2{font-size:24px;line-height:1.15;overflow-wrap:anywhere}h2{font-size:23px}h3{font-size:18px}.grid{gap:10px;margin-top:10px}.card{padding:15px;border-radius:16px}.wide{margin-top:10px}.card strong{font-size:21px}.section-head{margin-bottom:10px;gap:10px;flex-direction:column}.filter-bar{gap:9px;margin:8px 0 12px}.filter-bar label{width:100%}input,select,textarea{min-height:44px;font-size:16px}.button{min-height:44px;padding:10px 13px}.filter-bar .button{width:100%}.attendance-actions{gap:8px}.attendance-actions .button-link,.attendance-actions form{flex:1 1 100%}.attendance-button{min-height:44px}.member-row{gap:10px;padding:11px}.member-row>div:first-child{min-width:0}.member-row strong{overflow-wrap:anywhere}.attendance-session{padding:14px 0}.attendance-session-head{align-items:stretch;flex-direction:column;gap:10px}.session-head-actions{gap:7px}.session-head-actions form{flex:1 1;min-width:0}.session-head-actions .button{width:100%;padding:9px 7px;font-size:11px}.training-tools{gap:9px;margin:10px 0}.edit-box,.tool-box{padding:11px}.form{gap:11px;margin-top:12px}.form-grid{gap:9px}.weekday-list{gap:6px}.check-label{min-height:42px;padding:7px 9px}.check-label input{min-height:auto}.matrix-scroll{margin:0 -2px;border-radius:var(--radius-md);-webkit-overflow-scrolling:touch}.attendance-matrix{font-size:11px}.attendance-matrix td,.attendance-matrix th{padding:8px 6px}.attendance-matrix .name-col{min-width:135px;max-width:155px}.attendance-matrix .group-col{min-width:92px}.attendance-matrix .sticky-col{box-shadow:2px 0 5px rgba(0,0,0,.06)}.attendance-matrix .date-label{font-size:10px}.attendance-matrix .time-label{font-size:9px}.table-wrap{margin:0 -2px;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:640px}.notification-card{padding:13px 0}.notification-card .button{width:100%}.status-pill{white-space:normal;text-align:center}}@media (max-width:380px){.shell{padding-left:8px;padding-right:8px}.card{padding:13px}.topbar h1{font-size:20px}.brand-logo{width:40px;height:40px;flex-basis:40px}.session-head-actions .button{font-size:10px}.attendance-matrix .name-col{min-width:125px}}.dashboard-shell{min-height:100vh}.dashboard-nav,.dashboard-topbar{align-items:center}.dashboard-nav{display:flex;justify-content:flex-end;gap:8px}.dashboard-menu{position:relative}.dashboard-menu>summary{list-style:none}.dashboard-menu>summary::-webkit-details-marker{display:none}.menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px}.menu-icon{font-size:16px;line-height:1}.bell-trigger{position:relative;min-width:44px;padding:10px 12px;font-size:18px}.bell-icon{line-height:1}.notification-count{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-size:10px;font-weight:900;border:2px solid var(--surface)}.menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:250px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 45px rgba(0,0,0,.13)}.menu-section{padding:4px 0 8px;border-bottom:1px solid var(--line)}.menu-section:last-child{border-bottom:0;padding-bottom:2px}.menu-section-title{display:block;padding:7px 10px 5px;color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.menu-panel a{display:block;padding:10px;border-radius:9px;font-size:14px;font-weight:650}.menu-panel a:hover{background:var(--accent-soft)}.notification-panel{width:min(340px,calc(100vw - 24px));padding:10px}.notification-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 6px 9px;border-bottom:1px solid var(--line)}.notification-panel-head a{padding:3px 0;color:var(--accent);font-size:12px}.notification-preview{display:grid!important;grid-gap:3px;gap:3px;padding:10px 7px!important;border-bottom:1px solid var(--line)}.notification-preview strong{font-size:13px}.notification-preview span{color:var(--muted);font-size:12px;line-height:1.35}.notification-preview small{color:var(--muted);font-size:10px}.notification-preview.read{opacity:.62}.notification-empty{padding:14px 7px;margin:0;font-size:13px}.notification-detail-link{margin-top:6px;text-align:center;color:var(--accent);font-size:12px!important;font-weight:800!important}.dashboard-summary-card{margin-top:16px;padding:20px}.dashboard-summary-main{display:grid;grid-template-columns:1.35fr 1.25fr 1.2fr 1fr;grid-gap:0;gap:0}.summary-block{min-width:0;padding:4px 20px;border-left:1px solid var(--line)}.summary-block:first-child{border-left:0;padding-left:0}.summary-block strong{margin:6px 0 0;font-size:18px;overflow-wrap:anywhere}.summary-meta{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}.summary-attendance strong{color:var(--accent);font-size:24px}.dashboard-term-card{display:none}@media (max-width:700px){.dashboard-topbar{align-items:flex-start;flex-wrap:wrap}.dashboard-topbar .brand-lockup{flex:1 1 100%}.dashboard-nav{width:100%;justify-content:flex-end}.dashboard-nav>form{margin:0}.dashboard-nav .logout-button{min-width:72px}.menu-panel{position:fixed;right:10px;top:70px;width:min(280px,calc(100vw - 20px))}.notification-panel{width:min(340px,calc(100vw - 20px))}.dashboard-summary-card{padding:15px}.dashboard-summary-main{grid-template-columns:1fr 1fr;gap:0}.summary-block{padding:10px 12px;border-left:0;border-top:1px solid var(--line)}.summary-block:first-child,.summary-block:nth-child(2){border-top:0}.summary-block:nth-child(odd){border-right:1px solid var(--line)}.summary-block strong{font-size:16px}.summary-attendance strong{font-size:22px}}@media (max-width:420px){.dashboard-summary-main{grid-template-columns:1fr}.summary-block,.summary-block:nth-child(odd){border-right:0;border-top:1px solid var(--line);padding:9px 0}.summary-block:first-child{border-top:0}.dashboard-nav{gap:6px}}.period-create-form{gap:18px}.period-list{display:grid;grid-gap:10px;gap:10px}.period-item{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.period-item>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px}.period-item>summary::-webkit-details-marker{display:none}.period-item>summary span{color:var(--muted);font-size:13px;text-align:right}.period-edit-body{padding:0 16px 16px;border-top:1px solid var(--line)}.schedule-edit-box{border:1px solid var(--line);border-radius:var(--radius-md);padding:13px;background:#fafafa;display:grid;grid-gap:10px;gap:10px}.danger-button,.error-box{color:var(--color-danger)}.error-box{margin:0 0 16px;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-danger-soft);border:1px solid var(--color-danger-line);font-weight:700}.matrix-editor{display:grid;grid-gap:12px;gap:12px}.matrix-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fff}.matrix-toolbar p{margin:4px 0 0;font-size:12px}.editable-matrix .week-group-head{background:#f8e5e5;color:var(--accent)}.editable-matrix .name-col{min-width:190px}.editable-matrix th{vertical-align:middle}.editable-matrix td{padding:4px}.matrix-cell{width:34px;height:34px;border:1px solid transparent;border-radius:8px;font-weight:900;cursor:pointer}.matrix-cell.att-present{background:#edf8f0;border-color:#b8dfc0;color:#166534}.matrix-cell.att-absent{background:#fff0f0;border-color:#f0baba;color:#991b1b}.matrix-cell.att-excused{background:#f4edff;border-color:#dac6ff;color:#7c3aed;cursor:not-allowed}.matrix-cell.att-empty{background:#fafafa;border-color:var(--line);color:#aaa}.matrix-cell:hover:not(:disabled){border-color:var(--accent)}.matrix-column-actions{display:flex;gap:4px;justify-content:center;margin-top:5px}.matrix-column-actions button{width:22px;height:20px;padding:0;border:1px solid var(--line);border-radius:5px;background:#fff;cursor:pointer;font-size:10px;font-weight:800}.attendance-matrix .name-col small{display:block;color:var(--muted);font-size:10px;margin-top:2px}@media(max-width:700px){.period-item>summary{align-items:flex-start;flex-direction:column}.period-item>summary span{text-align:left}.period-edit-body{padding:0 12px 12px}.matrix-toolbar{align-items:stretch;flex-direction:column}.matrix-toolbar .button{width:100%}.matrix-cell{width:31px;height:31px}.editable-matrix .name-col{min-width:145px}}.attendance-period-tools{display:flex;align-items:center;gap:12px}.attendance-tools-menu{position:relative}.attendance-tools-menu>summary{list-style:none;cursor:pointer}.attendance-tools-menu>summary::-webkit-details-marker{display:none}.attendance-tools-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:220px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 18px 40px rgba(0,0,0,.12)}.attendance-tools-panel a{display:block;padding:10px;border-radius:var(--radius-sm);font-size:13px;font-weight:700}.attendance-tools-panel a:hover{background:var(--accent-soft)}.attendance-period-card{scroll-margin-top:20px}.schedule-builder{display:grid;grid-gap:8px;gap:8px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fafafa}.schedule-builder-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.schedule-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-gap:10px;gap:10px;align-items:flex-end}.schedule-day{display:flex;align-items:center;gap:8px;min-height:44px}.schedule-day input{width:auto;min-height:auto}.schedule-row label{font-size:12px}.schedule-row input{margin-top:5px}.schedule-builder-edit{margin-top:4px}@media(max-width:700px){.attendance-period-tools{width:100%;justify-content:space-between}.attendance-tools-panel{position:fixed;right:10px;top:70px;width:min(250px,calc(100vw - 20px))}.schedule-builder-head{align-items:flex-start;flex-direction:column}.schedule-row{grid-template-columns:1fr 1fr}.schedule-row .schedule-day{grid-column:1/-1}.schedule-row label:not(.schedule-day) input{width:100%}}.attendance-placeholder{display:flex;align-items:center;gap:18px;padding:28px}.attendance-placeholder-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 52px;border-radius:16px;background:var(--accent-soft);color:var(--accent);font-size:24px;font-weight:900}.attendance-placeholder h2{margin:7px 0 6px}.attendance-placeholder p{margin:0 0 14px}.period-delete-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px}.period-delete-row>div{min-width:0}.period-delete-row strong{margin:0 0 5px}.period-delete-row span{display:block;color:var(--muted);font-size:13px}.period-delete-row .button{white-space:nowrap}.attendance-period-tools{margin-left:auto}.attendance-period-tools .attendance-tools-menu{z-index:25}@media(max-width:700px){.attendance-placeholder{padding:22px 18px}.attendance-placeholder,.period-delete-row{align-items:flex-start;flex-direction:column}.period-delete-row .button{width:100%}.attendance-period-tools{margin-left:0}}.session-manager{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border,#ddd)}.session-manager-head{margin-bottom:.9rem}.session-list{display:grid;grid-gap:.65rem;gap:.65rem}.session-row{display:grid;grid-template-columns:1.35fr 1fr .8fr .8fr auto auto;grid-gap:.65rem;gap:.65rem;align-items:flex-end;padding:.75rem;border:1px solid var(--border,#ddd);border-radius:var(--radius-md);background:var(--surface,#fff)}.session-row.cancelled{opacity:.72}.session-row label{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.78rem;font-weight:600}.session-row input{min-width:0}.session-cancelled{display:flex!important;align-items:center;gap:.45rem;white-space:nowrap;height:38px}.session-cancelled input{width:auto}.session-add-row{margin-top:.8rem;background:color-mix(in srgb,var(--surface,#fff) 92%,var(--accent,#888))}.period-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}@media (max-width:900px){.session-row{grid-template-columns:1fr 1fr}.session-row button{grid-column:span 1}}@media (max-width:560px){.session-row{grid-template-columns:1fr}.session-row button{grid-column:auto}}.attendance-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.attendance-row>div:first-child{min-width:0;flex:1 1}.attendance-row>.attendance-actions{flex:0 0 auto;margin-left:auto;align-items:center;justify-content:flex-end}@media(max-width:700px){.attendance-row{align-items:flex-start}.attendance-row>.attendance-actions{width:auto;align-self:flex-end}}.request-filter-box,.request-list-box{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;padding:14px 16px}.request-list-box{margin-top:12px}.request-filter-box .filter-bar{margin:0}.request-list-box .attendance-list{display:grid}.request-list-box .attendance-row{padding:14px 0}.request-list-box .attendance-row+.attendance-row{border-top:1px solid var(--line)}@media(max-width:700px){.request-filter-box,.request-list-box{padding:12px}.request-list-box{margin-top:10px}}:root{font-synthesis:none;text-rendering:optimizeLegibility}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{line-height:1.47059;letter-spacing:-.01em}h1,h2,h3,h4,h5,h6{line-height:1.1;letter-spacing:-.025em}button,input,select,textarea{letter-spacing:-.01em}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;height:68px;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(234,223,219,.85);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px)}.app-header-inner{width:min(1240px,calc(100% - 40px));height:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px}.app-brand{display:inline-flex;align-items:center;gap:9px;min-width:0;font-size:15px;font-weight:650;letter-spacing:-.018em;white-space:nowrap}.app-brand-logo{width:48px;height:48px;object-fit:contain;background:#530909;padding:2px;box-shadow:0 0 0 1px rgba(83,9,9,.12);flex:0 0 48px}.public-nav{min-width:0;flex:1 1}.public-nav,.public-nav-links{display:flex;align-items:center;justify-content:flex-end}.public-nav-links{gap:clamp(8px,1.25vw,20px)}.public-nav-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:650;color:var(--muted);white-space:nowrap;transition:color .16s ease}.public-nav-links a:hover{color:var(--accent)}.public-member-link{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:0 16px;border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-size:13px;font-weight:750;white-space:nowrap}.public-member-link:hover{background:var(--accent-strong)}.public-mobile-menu{display:none;position:relative}.public-mobile-trigger{list-style:none;display:flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height);padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--text);font-size:13px;font-weight:700;cursor:pointer}.public-mobile-trigger::-webkit-details-marker{display:none}.public-mobile-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:120;width:min(290px,calc(100vw - 24px));padding:8px;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff;box-shadow:0 18px 45px rgba(40,10,5,.16)}.public-mobile-panel a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:650}.public-mobile-panel a:hover{color:var(--accent);background:var(--accent-soft)}.app-header-actions{display:flex;align-items:center;gap:6px}.app-header.signed-in .public-member-link{background:var(--color-accent-strong)}.header-menu{position:relative}.header-menu>summary{list-style:none;cursor:pointer}.header-menu>summary::-webkit-details-marker{display:none}.header-icon-button,.header-menu-button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--text)}.header-icon-button:hover,.header-menu-button:hover{background:var(--color-bg)}.header-bell,.notification-trigger{position:relative}.header-bell{font-size:8px;color:var(--text);width:17px;height:17px;border:2px solid;border-radius:50%;text-indent:-9999px}.header-bell:after{content:"";position:absolute;width:5px;height:2px;background:currentColor;left:4px;bottom:-4px;border-radius:2px}.hamburger{width:18px;display:grid;grid-gap:3px;gap:3px}.hamburger i{display:block;height:2px;width:18px;border-radius:2px;background:currentColor}.header-actions-panel{width:250px}.header-logout{width:100%;border:0;background:transparent;padding:10px;text-align:left;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-weight:650;color:var(--color-danger)}.header-logout:hover{background:#fff0f0}.menu-section-last{border-bottom:0;padding-bottom:2px}.dashboard-shell{padding-top:28px}.dashboard-topbar{display:none}@media (max-width:1050px){.app-header-inner{width:calc(100% - 28px);gap:10px}.app-brand{font-size:13px;gap:7px}.app-brand-logo{width:42px;height:42px;flex-basis:42px}.public-nav-links{gap:8px}.public-nav-links a{font-size:12px}.public-member-link{padding:0 12px;font-size:12px}}@media (max-width:820px){.app-header{height:64px}.app-header-inner{width:calc(100% - 20px);gap:8px}.app-brand{font-size:12px;gap:6px}.app-brand-logo{width:40px;height:40px;flex-basis:40px}.public-nav{flex:0 0 auto}.public-nav-links{display:none}.public-mobile-menu{display:block}.app-header.signed-in .public-member-link{display:none}.app-header-actions{gap:3px}.header-icon-button,.header-menu-button{width:36px;height:36px}.header-actions-panel,.notification-panel{position:fixed;right:10px;top:70px;width:min(300px,calc(100vw - 20px))}.dashboard-shell{padding-top:16px}}@media(max-width:430px){.app-brand>span{max-width:122px;overflow:hidden;text-overflow:ellipsis}.public-mobile-trigger{gap:6px;padding:0 9px}.public-member-link{min-height:var(--control-height);padding:0 10px;font-size:12px}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:12px 0 28px;margin-bottom:4px}.page-header-copy{min-width:0}.page-header h1{margin:0;font-size:clamp(28px,3vw,38px);font-weight:650;line-height:1.08;letter-spacing:-.035em}.page-subtitle{margin:8px 0 0;max-width:720px;color:var(--muted);font-size:var(--text-subtitle);line-height:1.5;letter-spacing:-.012em}.page-actions{position:relative;flex:0 0 auto}.page-actions>summary{list-style:none;cursor:pointer}.page-actions>summary::-webkit-details-marker{display:none}.page-actions-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:220px;padding:7px;background:rgba(255,255,255,.96);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:0 12px 32px rgba(36,28,25,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.page-actions-empty,.page-actions-menu a{display:block;padding:10px 12px;border-radius:var(--radius-sm);text-decoration:none;font-size:14px;line-height:1.3}.page-actions-menu a{color:var(--text)}.page-actions-menu a:hover{background:var(--color-bg)}.page-actions-menu .danger-action{color:var(--color-danger)}.page-actions-empty{white-space:nowrap}.header-bell{width:19px;height:19px;display:block}@media(max-width:700px){.page-header{padding:8px 0 20px;gap:12px}.page-header h1{font-size:28px}.page-subtitle{font-size:14px}.page-actions .button{padding:8px 11px}}.role-management-table td,.role-management-table th{vertical-align:middle}.role-management-table td:not(:first-child),.role-management-table th:not(:first-child){text-align:center}.role-toggle{min-width:66px;height:34px;padding:0 11px;border:1px solid #ded6d2;border-radius:var(--radius-pill);background:#f7f4f3;color:#756c68;font-size:12px;font-weight:800;cursor:pointer;transition:.16s ease}.role-toggle:hover:not(:disabled){transform:translateY(-1px);border-color:#c8bcb7}.role-toggle.on{box-shadow:inset 0 0 0 1px rgba(23,107,44,.04)}.role-toggle:disabled{opacity:.55;cursor:default}.pending-role-row{background:#fcfaf9}.pending-role-email{color:var(--muted);font-size:12px;margin-top:3px}.pending-role-state{display:inline-block;margin-top:6px;padding:4px 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:800}.pending-user-list{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.pending-user-row{display:grid;grid-template-columns:1.15fr 1.4fr auto;grid-gap:10px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.pending-user-main{min-width:0;display:grid;grid-gap:3px;gap:3px}.pending-user-main strong{font-size:15px}.pending-email-form{display:flex;gap:8px;align-items:center}.pending-email-form input{min-width:0}.pending-email-form .button,.pending-user-row>form:last-of-type .button{white-space:nowrap}@media(max-width:700px){.pending-user-row{grid-template-columns:1fr}.pending-email-form{flex-direction:column;align-items:stretch}.pending-email-form .button,.pending-user-row>form:last-of-type .button{width:100%}.role-management-table{min-width:760px}}.users-overview-card{padding:16px 20px}.user-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.user-overview-stat{padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,#fff,#fbf9f8);display:grid;grid-gap:3px;gap:3px}.user-overview-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted)}.user-overview-stat strong{font-size:26px;line-height:1.1}.user-overview-stat small{color:var(--muted);font-size:11px}.user-add-panel{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfaf9}.user-add-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.field-note{color:var(--muted);font-weight:500;font-size:10px;margin-left:5px}.user-admin-list{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.user-admin-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,1.15fr) minmax(150px,.75fr) minmax(220px,1.15fr);grid-gap:14px;gap:14px;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff}.active-user-row{grid-template-columns:minmax(190px,1fr) minmax(260px,1.25fr) minmax(180px,.9fr)}.user-admin-identity{display:flex;gap:11px;align-items:center;min-width:0}.user-avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:var(--radius-md);background:#f0e8e3;color:#5f5049;font-weight:850}.user-admin-identity div:last-child{min-width:0;display:grid;grid-gap:3px;gap:3px}.user-admin-identity small,.user-admin-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-admin-identity small{color:var(--muted)}.group-assignment-form{display:grid;grid-gap:7px;gap:7px}.group-assignment-form label{display:grid;grid-gap:5px;gap:5px;font-size:11px;font-weight:800;color:#6d625d}.group-assignment-form select{min-height:76px;padding:7px;border-radius:11px}.group-assignment-form option{padding:5px}.button.compact{min-height:34px;padding:7px 11px;font-size:11px}.user-admin-status{display:grid;grid-gap:8px;gap:8px;align-content:start}.status-pill.success{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-line)}.status-pill.warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-line)}.selected-group-tags{display:flex;flex-wrap:wrap;gap:5px;align-content:start}.selected-group-tags span{padding:5px 8px;border-radius:var(--radius-pill);background:#f4efec;color:#5f544f;font-size:10px;font-weight:750}.user-admin-actions{display:grid;grid-gap:8px;gap:8px}.inline-email-form{display:grid;grid-template-columns:1fr auto;grid-gap:7px;gap:7px}.polished-bulk{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.bulk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.bulk-user{display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.bulk-user span{display:grid;grid-gap:2px;gap:2px;min-width:0}.bulk-user small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.bulk-user em{font-size:10px;color:var(--muted);font-style:normal}.improved-role-table td:not(:first-child),.improved-role-table th:not(:first-child){text-align:center}.role-toggle.off{background:#f6f4f3;color:#807773;border-color:#e1dbd8}.role-toggle.on{background:#e9f6ec;color:#176b2c;border-color:#b8dfc0}.role-toggle.off:hover:not(:disabled){background:#eeeae8}@media(max-width:1050px){.user-admin-row{grid-template-columns:1fr 1fr}.user-admin-actions,.user-admin-status{grid-column:span 1}.user-overview-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.active-user-row,.user-admin-row{grid-template-columns:1fr}.user-admin-actions{grid-column:auto}.bulk-grid{grid-template-columns:1fr}.user-add-title{align-items:flex-start;flex-direction:column}.user-overview-grid{grid-template-columns:1fr 1fr}}.pending-attendance-member{background:#fffaf0!important}.pending-member-note{display:inline-block;margin-top:4px;color:#8a6100;font-size:9px;font-weight:800}.pending-attendance-cell{opacity:.82;cursor:not-allowed!important}.pending-attendance-cell.att-present{background:#eef8ef;color:#2b7a3d}.pending-attendance-cell.att-absent{background:#fff1ef;color:#a3483d}:root{--bp-mobile:700px;--content-max:1120px;--control-radius:var(--radius-md)}.button,input,select,textarea{font-family:var(--font-sans)}.button{min-height:var(--control-height)}.card,.hero{border-color:var(--color-line)}@media (max-width:700px){.shell{width:min(100% - 20px,var(--content-max))}.button,input,select,textarea{min-height:var(--control-height)}}.button-link{display:inline-flex;align-items:center;justify-content:center}.attendance-button:focus-visible,.button:focus-visible,.header-menu>summary:focus-visible,.page-actions>summary:focus-visible,.role-toggle:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px;box-shadow:var(--focus-ring)}.status-pill.danger{background:var(--color-danger-soft);color:var(--color-danger)}.status-pill.info{background:var(--color-info-soft);color:var(--color-info)}.status-pill.neutral{background:var(--color-neutral-soft);color:var(--color-neutral)}.empty-state{min-width:0;overflow-wrap:anywhere}.confirm-dialog{width:min(430px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid var(--color-line);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);box-shadow:0 20px 60px rgba(0,0,0,.08)}.confirm-dialog::-webkit-backdrop{background:rgba(25,6,2,.4)}.confirm-dialog::backdrop{background:rgba(25,6,2,.4)}.confirm-dialog p{line-height:1.5;overflow-wrap:anywhere}.confirm-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.confirm-dialog-actions form{margin:0}.loading-state{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) 0}.loading-spinner{width:20px;height:20px;border:2px solid var(--color-line);border-top-color:var(--color-accent);border-radius:var(--radius-pill);animation:edt-spin .8s linear infinite}@keyframes edt-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}}@media (max-width:700px){.button.compact{min-height:var(--control-height)}.attendance-actions{flex-wrap:wrap}.confirm-dialog{padding:var(--space-4)}.confirm-dialog-actions form,.confirm-dialog-actions>.button{flex:1 1 100%}.confirm-dialog-actions form .button{width:100%}}.public-home{--bg:var(--color-public-bg);--text:var(--color-public-text);--muted:var(--color-public-muted);--line:var(--color-public-line);width:100%;overflow:hidden;padding:20px 20px 0;background:var(--bg)}.landing-hero{width:min(1240px,100%);min-height:520px;margin:0 auto;padding:42px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch;grid-gap:38px;gap:38px;overflow:hidden;border-radius:30px;color:#fff;background:linear-gradient(118deg,#1a1010,#2a1111)}.landing-hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:590px;padding:14px 0}.landing-eyebrow,.landing-kicker{margin:0;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.landing-kicker{display:flex;align-items:center;gap:9px;color:#f2c5c5}.landing-kicker span{display:block;width:7px;height:7px;border-radius:50%;background:#df1d23}.landing-hero h1{margin:22px 0 18px;max-width:620px;color:#fff;font-size:clamp(46px,6.1vw,78px);font-weight:600;line-height:1.06;letter-spacing:-.035em}.landing-hero h1 em,.landing-open-copy h2 em{color:#f0444a;font-family:inherit;font-style:normal;font-weight:600}.landing-lead{max-width:520px;margin:0;color:rgba(255,255,255,.78);font-size:clamp(16px,1.7vw,19px);line-height:1.55;letter-spacing:-.01em}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.landing-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:var(--radius-pill);font-size:14px;font-weight:750;transition:transform .16s ease,background .16s ease}.landing-button:hover{transform:translateY(-1px)}.landing-button-primary{color:#fff;background:var(--accent)}.landing-button-primary:hover{background:var(--accent-strong)}.landing-button-quiet{border:1px solid rgba(255,255,255,.3);color:#fff;background:transparent}.landing-button-quiet:hover{background:rgba(255,255,255,.1)}.landing-hero-facts{display:flex;flex-wrap:wrap;gap:0;margin-top:40px;border-top:1px solid rgba(255,255,255,.17)}.landing-hero-facts div{display:grid;grid-gap:3px;gap:3px;min-width:112px;padding:15px 22px 0 0;margin:0 22px 0 0;border-right:1px solid rgba(255,255,255,.17)}.landing-hero-facts div:last-child{border:0;margin:0}.landing-hero-facts strong{color:#fff;font-size:18px;font-weight:750}.landing-hero-facts span{color:rgba(255,255,255,.64);font-size:13px}.landing-hero-visual{min-height:430px;border-radius:22px;background:#201716}.landing-hero-image{object-fit:cover;object-position:58% center}.landing-image-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,7,6,.48),transparent 46%),linear-gradient(90deg,rgba(17,8,7,.08),transparent 75%)}.landing-logo-seal{position:absolute;left:22px;bottom:22px;width:94px;height:94px;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.22)}.landing-logo-seal img{width:100%;height:100%;object-fit:contain}.landing-image-caption{position:absolute;right:20px;bottom:20px;margin:0;color:#fff;font-size:13px;font-weight:700;letter-spacing:.015em;text-shadow:0 1px 8px rgba(0,0,0,.6)}.landing-section{width:min(1120px,100%);margin:0 auto;padding:86px 0 0;scroll-margin-top:90px}.landing-section-heading{max-width:700px}.landing-contact h2,.landing-section-heading h2,.landing-show-copy h2{margin:14px 0 0;color:var(--text);font-size:clamp(34px,4.2vw,54px);font-weight:600;line-height:1.08;letter-spacing:-.035em}.landing-history{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr) 150px;align-items:center;grid-gap:36px;gap:36px}.landing-history-copy{padding-top:20px}.landing-history-copy p,.landing-show-copy>p:not(.landing-eyebrow){margin:0 0 14px;color:var(--muted);font-size:16px;line-height:1.65}.landing-text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:5px;color:var(--accent);font-size:14px;font-weight:750;text-decoration:underline;-webkit-text-decoration-color:rgba(190,0,0,.3);text-decoration-color:rgba(190,0,0,.3);text-underline-offset:4px}.landing-text-link:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.landing-history-stamp{display:grid;justify-items:center;grid-gap:3px;gap:3px;width:146px;height:146px;place-content:center;border:1px solid var(--color-line);border-radius:50%;background:radial-gradient(circle,#fff 58%,#f7ece9 59%);color:var(--accent);transform:rotate(8deg)}.landing-history-stamp span{font-size:13px;font-weight:850;letter-spacing:.18em}.landing-history-stamp strong{font-size:27px;letter-spacing:-.04em}.landing-history-stamp small{color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.12em}.landing-dances{padding-bottom:4px}.landing-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;max-width:none}.landing-section-intro{max-width:360px;margin:0 0 4px;color:var(--muted);font-size:16px;line-height:1.55}.landing-dance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:28px}.landing-dance-card{position:relative;min-height:254px;padding:25px 24px;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff}.landing-dance-card.latin,.landing-dance-card.standard,.landing-dance-card.tango{background:var(--surface)}.landing-card-number{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:800}.landing-dance-card h3{margin:24px 0 9px;color:var(--text);font-size:24px;font-weight:720;letter-spacing:-.04em}.landing-dance-card p{max-width:330px;margin:0;color:var(--muted);font-size:15px;line-height:1.5}.landing-dance-styles{margin-top:19px;border-top:1px solid var(--line);color:var(--text);font-size:13px;font-weight:650;line-height:1.6}.landing-source-note{margin:12px 0 0;color:var(--muted);font-size:13px}.landing-events{padding-bottom:4px}.landing-event-list{margin-top:25px;border-top:1px solid var(--line)}.landing-event-card{display:grid;grid-template-columns:120px minmax(0,1fr) 52px;grid-gap:20px;gap:20px;align-items:center;min-height:112px;padding:18px 12px;border-bottom:1px solid var(--line);transition:background .15s ease}.landing-event-card:hover{background:#fff}.landing-event-year{display:grid;grid-gap:3px;gap:3px;color:var(--accent);font-size:25px;font-weight:800;letter-spacing:-.04em}.landing-event-year small{color:var(--muted);font-size:13px;font-weight:650;letter-spacing:0}.landing-event-copy{display:grid;grid-gap:4px;gap:4px}.landing-event-copy strong{color:var(--text);font-size:17px}.landing-event-copy>span{color:var(--muted);font-size:14px;line-height:1.45}.landing-event-copy small{color:var(--muted);font-size:12px}.landing-event-mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent);font-size:12px;font-weight:800}.landing-metuopen{position:relative;width:min(1240px,100%);min-height:440px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(200px,.85fr);grid-gap:36px;gap:36px;align-items:center;overflow:hidden;margin:88px auto 0;padding:54px 7%;border-radius:30px;background:linear-gradient(120deg,#a60000,#c8070b 56%,#930000);color:#fff;scroll-margin-top:90px}.landing-open-copy{position:relative;z-index:1;max-width:700px}.landing-open-copy .landing-eyebrow{color:#ffd1d1}.landing-open-copy h2{margin:15px 0 16px;font-size:clamp(38px,5.3vw,64px);font-weight:680;line-height:1;letter-spacing:-.06em}.landing-open-copy h2 em{color:#fff}.landing-open-copy>p:not(.landing-eyebrow){max-width:630px;margin:0;color:rgba(255,255,255,.84);font-size:16px;line-height:1.6}.landing-open-stats{display:flex;flex-wrap:wrap;gap:25px;margin:24px 0}.landing-open-stats div{display:grid;grid-gap:2px;gap:2px}.landing-open-stats strong{color:#fff;font-size:21px}.landing-open-stats span{color:rgba(255,255,255,.72);font-size:13px}.landing-button-light{color:var(--accent-strong);background:#fff}.landing-button-light:hover{background:#fbe8e8}.landing-open-side{display:grid;justify-items:start;justify-self:end;color:rgba(255,255,255,.14);font-size:clamp(40px,7vw,86px);font-weight:900;line-height:.84;letter-spacing:-.08em;transform:rotate(-7deg)}.landing-open-side strong{color:rgba(255,255,255,.96);font-size:1.25em}.landing-open-side small{margin-top:15px;color:rgba(255,255,255,.78);font-size:11px;letter-spacing:.16em}.landing-shows{display:grid;grid-template-columns:110px minmax(0,1fr) 245px;align-items:center;grid-gap:32px;gap:32px}.landing-show-mark{width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:#fff}.landing-show-mark img{width:100%;height:100%;object-fit:contain}.landing-show-copy{max-width:630px}.landing-show-aside{display:grid;grid-gap:7px;gap:7px;align-content:center;min-height:136px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff}.landing-show-aside strong{color:var(--accent);font-size:27px}.landing-show-aside span{color:var(--text);font-size:15px;font-weight:750}.landing-show-aside small{color:var(--muted);font-size:13px;line-height:1.35}.landing-contact{width:min(1240px,100%);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:40px;gap:40px;align-items:center;margin:92px auto 0;padding:40px;border-radius:var(--radius-2xl);background:var(--surface);scroll-margin-top:90px}.landing-contact h2{margin-top:12px;font-size:clamp(34px,4.2vw,52px)}.landing-contact>div:first-child>p:last-child{max-width:390px;margin:14px 0 0;color:var(--muted);font-size:16px;line-height:1.55}.landing-contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.landing-contact-links>a,.landing-contact-links>p{display:grid;grid-gap:5px;gap:5px;min-width:0;min-height:86px;margin:0;padding:16px;border:1px solid rgba(80,20,15,.1);border-radius:var(--radius-lg);background:#fff}.landing-contact-links>a:hover{border-color:var(--accent)}.landing-contact-links span{color:var(--muted);font-size:13px}.landing-contact-links strong{overflow-wrap:anywhere;color:var(--text);font-size:14px}.landing-footer{width:min(1120px,100%);display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 auto;padding:26px 0 30px;color:var(--muted);font-size:13px}.landing-footer>a{color:var(--text);font-weight:750}.landing-footer a:hover{color:var(--accent)}.public-home :focus-visible{outline:3px solid #851010;outline-offset:3px}.landing-contact[id],.landing-metuopen[id],.landing-section[id]{scroll-margin-top:88px}@media(max-width:1000px){.landing-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px;padding:30px}.landing-hero-visual{min-height:380px}.landing-history{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.landing-history-stamp{grid-column:2;grid-row:1;justify-self:end;width:122px;height:122px}.landing-history-copy{grid-column:1/-1;max-width:760px;padding-top:0}.landing-shows{grid-template-columns:86px minmax(0,1fr)}.landing-show-aside{grid-column:2;max-width:340px;min-height:100px}}@media(max-width:760px){.public-home{padding:10px 10px 0}.landing-hero{min-height:0;grid-template-columns:1fr;gap:24px;padding:24px;border-radius:22px}.landing-hero-copy{padding:10px 0 0}.landing-hero h1{margin:17px 0 14px;font-size:clamp(43px,10vw,64px)}.landing-hero-visual{min-height:330px}.landing-hero-facts{width:100%;justify-content:space-between;margin-top:28px}.landing-hero-facts div{min-width:0;padding-right:12px;margin-right:12px}.landing-section{padding-top:64px}.landing-heading-row{align-items:flex-start;flex-direction:column;gap:12px}.landing-section-intro{max-width:520px}.landing-dance-grid{grid-template-columns:1fr}.landing-dance-card{min-height:0}.landing-metuopen{min-height:0;grid-template-columns:1fr;gap:22px;margin-top:64px;padding:34px 24px;border-radius:22px}.landing-open-side{justify-self:start;font-size:54px}.landing-shows{grid-template-columns:1fr;gap:18px}.landing-show-aside{grid-column:auto;max-width:none}.landing-contact{grid-template-columns:1fr;gap:22px;margin-top:64px;padding:26px 20px}.landing-footer{align-items:flex-start;flex-direction:column;padding:24px 4px}}@media(max-width:480px){.landing-hero{padding:20px}.landing-hero-visual{min-height:270px}.landing-logo-seal{left:13px;bottom:13px;width:70px;height:70px}.landing-image-caption{right:12px;bottom:16px;max-width:58%;font-size:12px;text-align:right}.landing-hero-facts strong{font-size:16px}.landing-hero-facts span{font-size:12px}.landing-contact h2,.landing-section-heading h2,.landing-show-copy h2{font-size:36px}.landing-event-card{grid-template-columns:72px minmax(0,1fr);gap:13px;padding:16px 4px}.landing-event-year{font-size:20px}.landing-event-copy strong{font-size:16px}.landing-event-mark{display:none}.landing-open-stats{gap:15px}.landing-contact-links{grid-template-columns:1fr}}input[type=checkbox],input[type=radio]{min-height:auto;width:auto;accent-color:var(--color-accent)}.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}.dashboard-term-card{display:block}.personal-attendance-block+.personal-attendance-block{margin-top:20px}.personal-attendance-block>p{margin:4px 0 12px;font-size:13px}.compact-matrix tbody td,.compact-matrix tbody th{padding:3px 5px;height:32px;font-size:12px}.compact-matrix .name-col{min-width:165px}.compact-matrix .name-col strong{font-size:12px;margin:0;line-height:1.3}.compact-matrix .name-col small{font-size:9px;margin-top:0}.compact-matrix .matrix-cell{width:27px;height:27px;padding:0;border-radius:var(--radius-sm);font-size:12px}.matrix-read-cell{display:inline-grid;place-items:center;cursor:default}.compact-matrix .current-member-row .name-col{background:var(--accent-soft)}.compact-status-card{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.compact-status-card p{flex-basis:100%;margin:0;font-size:13px}.compact-table td,.compact-table th{padding:8px 10px;vertical-align:middle;font-size:12px}.compact-table td strong,.request-item strong{display:inline;font-size:13px;margin:0}.compact-table .muted{font-size:11px}.request-list{display:grid}.request-item{border-bottom:1px solid var(--line)}.request-item:last-child{border-bottom:0}.request-item>summary{cursor:pointer;display:grid;grid-template-columns:minmax(130px,1fr) minmax(140px,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:9px 0;list-style:none}.request-item>summary::-webkit-details-marker{display:none}.request-item>summary:after{content:"＋";color:var(--muted);grid-column:4}.request-item[open]>summary:after{content:"−"}.request-item .request-main{display:grid;grid-gap:3px;gap:3px;min-width:0}.request-item small{color:var(--muted);font-size:11px}.request-detail{padding:10px 0 14px;border-top:1px solid var(--line);font-size:13px}.request-detail p{margin:4px 0 10px;overflow-wrap:anywhere}.request-detail .form{margin-top:12px;gap:10px}.request-item .status-pill{font-size:11px;padding:5px 8px}.request-filter-box,.request-list-box{padding:10px 12px}.user-detail-cell{min-width:250px}.user-edit-form{margin:12px 0}.user-row-summary{cursor:pointer;min-height:32px}.users-table{min-width:850px}.role-checks{display:flex;flex-wrap:wrap;gap:12px}.role-checks label{display:flex;gap:6px;align-items:center}.role-checks input{width:auto;min-height:auto}@media(max-width:700px){.request-item>summary{grid-template-columns:1fr auto;gap:6px 10px;padding:10px 0;min-height:44px}.request-item>summary>.request-period{grid-column:1;grid-row:2}.request-item>summary:after{grid-column:2;grid-row:2;text-align:right}.request-item .status-pill{grid-column:2;grid-row:1}.user-row-summary{min-height:44px;display:flex;align-items:center}.compact-matrix .name-col{min-width:140px}.attendance-actions{flex-wrap:wrap}}.public-nav-links a.active{color:var(--accent)}.public-nav-links a.active:after{position:absolute;right:0;bottom:3px;left:0;height:2px;border-radius:2px;background:var(--accent);content:""}.public-nav-links a{position:relative}.public-mobile-panel a.active{color:var(--accent);background:var(--accent-soft)}.landing-contact h1,.landing-section-heading h1,.landing-show-copy h1{margin:14px 0 0;color:var(--text);font-size:clamp(34px,4.2vw,54px);font-weight:600;line-height:1.08;letter-spacing:-.035em}.public-inner-page{min-height:calc(100vh - 68px);display:flex;flex-direction:column}.public-inner-page .public-page-section{flex:1 1;padding-top:52px;padding-bottom:32px}.public-inner-page .landing-dance-card h2{margin:24px 0 9px;color:var(--text);font-size:24px;font-weight:720;letter-spacing:-.04em}.public-inner-page .public-contact-page,.public-inner-page .public-metuopen-page{flex:1 1;margin-top:28px;margin-bottom:28px}.public-inner-page .landing-footer{margin-top:auto}.public-home-page{min-height:calc(100vh - 68px);display:flex;flex-direction:column}.public-home-page .landing-footer{margin-top:auto}@media(max-width:480px){.landing-contact h1,.landing-section-heading h1,.landing-show-copy h1{font-size:36px}}.public-home{padding:0}.landing-hero{position:relative;width:100%;min-height:calc(100vh - 68px);margin:0;padding:clamp(30px,5vw,76px);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,68px);border-radius:0;background:linear-gradient(112deg,#190d0e,#2a1012 55%,#160d0e)}.landing-hero-copy{max-width:620px;padding:0}.landing-hero h1{margin:0 0 18px}.landing-hero-actions{margin-top:28px}.landing-hero-visual{min-width:0;display:flex;flex-direction:column;justify-content:center;overflow:visible;border-radius:0;background:radial-gradient(ellipse at 16% 49%,rgba(255,255,255,.78) 0 9%,rgba(255,255,255,.2) 15%,transparent 31%),radial-gradient(ellipse at 50% 49%,rgba(255,255,255,.78) 0 9%,rgba(255,255,255,.2) 15%,transparent 31%),radial-gradient(ellipse at 84% 49%,rgba(255,255,255,.78) 0 9%,rgba(255,255,255,.2) 15%,transparent 31%)}.landing-dance-image{position:relative;display:block;height:auto;object-fit:contain}.landing-dance-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:5px;color:rgba(255,255,255,.84);font-size:14px;font-weight:750;text-align:center;text-transform:uppercase}@media(max-width:1000px){.landing-hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;padding:32px}}@media(max-width:760px){.landing-hero{min-height:calc(100vh - 64px);grid-template-columns:1fr;gap:18px;padding:32px 22px 26px}.landing-hero-copy{padding:0}.landing-hero h1{margin:0 0 15px;font-size:clamp(43px,10vw,64px)}.landing-hero-visual{width:100%}.landing-dance-labels{margin-top:0;font-size:14px}.landing-footer{width:min(1120px,calc(100% - 40px))}}@media(max-width:480px){.landing-hero{padding:28px 18px 22px}.landing-dance-labels{letter-spacing:.04em}}.landing-hero-visual{padding:clamp(10px,1.4vw,18px);border:1px solid rgba(255,255,255,.38);background:linear-gradient(145deg,#fff,#f7f1ef 52%,#eadfdd);box-shadow:0 18px 48px rgba(0,0,0,.24)}.landing-dance-image{width:102%;margin-left:-1%}.landing-dance-labels{color:#241b1a;letter-spacing:.06em}@media(max-width:760px){.landing-hero-visual{padding:10px;border-radius:var(--radius-xl)}}.landing-hero-visual{padding:clamp(10px,1.6vw,22px);border:0;border-radius:var(--radius-2xl);background:radial-gradient(ellipse 25% 88% at 16% 48%,rgba(255,194,104,.98) 0,rgba(244,113,57,.68) 26%,rgba(177,20,34,.18) 70%,transparent 100%),radial-gradient(ellipse 25% 88% at 50% 48%,rgba(255,205,126,.98) 0,rgba(242,116,55,.68) 26%,rgba(177,20,34,.18) 70%,transparent 100%),radial-gradient(ellipse 25% 88% at 84% 48%,rgba(255,190,98,.98) 0,rgba(239,94,48,.68) 26%,rgba(177,20,34,.18) 70%,transparent 100%),linear-gradient(145deg,#3a0a11,#74121c 50%,#300910);box-shadow:0 22px 60px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.18)}.landing-dance-image{width:100%;max-width:none;margin:0;filter:drop-shadow(0 12px 18px rgba(0,0,0,.28))}.landing-dance-labels{color:#fff0d2;letter-spacing:.1em;text-shadow:0 2px 10px rgba(35,5,7,.65)}.app-brand-logo{background:#fff;border-radius:50%;padding:3px;box-shadow:0 0 0 1px rgba(25,6,2,.12)}@media(max-width:820px){.app-header .public-member-link{display:none}.app-brand>span{max-width:none;overflow:visible;text-overflow:clip}}@media(max-width:760px){.landing-hero-visual{width:100%;padding:10px;border-radius:var(--radius-xl)}}@media(max-width:430px){.app-brand{font-size:12px;gap:6px}.app-brand>span{max-width:none}}.landing-hero-visual{position:relative;display:block;width:100%;min-height:0;aspect-ratio:1.14/1;align-self:center;overflow:hidden;padding:0;border:1px solid rgba(255,226,185,.25);border-radius:30px;background:radial-gradient(ellipse 34% 54% at 50% 40%,rgba(255,157,82,.38),transparent 75%),radial-gradient(ellipse 26% 65% at 15% 70%,rgba(225,34,46,.22),transparent 78%),radial-gradient(ellipse 26% 65% at 88% 70%,rgba(224,74,39,.22),transparent 78%),linear-gradient(145deg,#28070d,#68101b 52%,#27070d);box-shadow:0 22px 60px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.16)}.landing-photo-card{position:absolute;margin:0;overflow:hidden;border:2px solid rgba(255,239,214,.88);border-radius:17px;background:#24070b;box-shadow:0 18px 38px rgba(13,2,4,.48),0 0 24px rgba(255,157,82,.12)}.landing-photo-card.standard{top:2%;left:21%;z-index:3;width:58%;height:51%;transform:rotate(-1.5deg)}.landing-photo-card.latin{left:2%;bottom:2%;z-index:2;width:56%;height:51%;transform:rotate(-4deg)}.landing-photo-card.tango{right:2%;bottom:2%;z-index:1;width:56%;height:51%;transform:rotate(4deg)}.landing-photo-card img{object-fit:cover}.landing-photo-card.standard img{object-position:center 42%}.landing-photo-card.latin img{object-position:center 47%}.landing-photo-card.tango img{object-position:center 45%}.landing-photo-card figcaption{position:absolute;left:10px;bottom:10px;z-index:2;padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(35,5,10,.82);color:#fff2dc;font-size:clamp(9px,1vw,12px);font-weight:800;letter-spacing:.13em;line-height:1;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:760px){.landing-hero-visual{width:100%;min-height:0;aspect-ratio:1.14/1}.landing-photo-card{border-radius:13px}.landing-photo-card figcaption{left:7px;bottom:7px;padding:6px 8px;font-size:9px;letter-spacing:.09em}}@media(max-width:430px){.landing-hero-visual{border-radius:22px}.landing-photo-card{border-width:1.5px;border-radius:11px}}.landing-photo-card.tango figcaption{left:auto;right:10px}@media(max-width:760px){.landing-photo-card.tango figcaption{right:7px}}@media (min-width:761px){.public-home-page{min-height:calc(100svh - 68px)}.public-home-page .landing-hero{min-height:calc(100svh - 130px);grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(24px,3.5vw,54px);padding:clamp(24px,3vw,46px)}.public-home-page .landing-hero-visual{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;grid-gap:clamp(10px,1.25vw,18px);gap:clamp(10px,1.25vw,18px);width:100%;aspect-ratio:auto;overflow:visible;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.public-home-page .landing-photo-card{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:.78;transform:none;scroll-snap-align:start}.public-home-page .landing-photo-card figcaption{left:8px;right:8px;bottom:9px;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 16px);padding:7px 9px;font-size:clamp(10px,.9vw,12px);letter-spacing:.06em}.public-home-page .landing-photo-card.tango figcaption{left:8px;right:8px}}@media (max-width:760px){.public-home-page .landing-hero{min-height:0}.public-home-page .landing-hero-visual{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,74vw);grid-template-columns:none;grid-gap:14px;gap:14px;width:100%;aspect-ratio:auto;overflow-x:auto;overflow-y:hidden;padding:2px 2px 12px;border:0;border-radius:0;background:none;box-shadow:none;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.public-home-page .landing-photo-card{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:.8;transform:none;scroll-snap-align:start}.public-home-page .landing-photo-card figcaption{left:10px;right:auto;bottom:10px;padding:7px 10px;font-size:11px;letter-spacing:.05em}.public-home-page .landing-photo-card.tango figcaption{left:10px;right:auto}}@media (max-height:700px) and (min-width:761px){.public-home-page .landing-hero{padding-top:20px;padding-bottom:20px}.public-home-page .landing-hero h1{font-size:clamp(38px,4vw,52px)}.public-home-page .landing-hero-visual .landing-photo-card{aspect-ratio:.92}}.app-header.signed-in .public-member-link,.app-header.signed-in .public-nav{display:none}.public-home-page .landing-photo-card{border:0;border-radius:0;background:transparent;box-shadow:none}.public-home-page .landing-photo-card figcaption,.public-home-page .landing-photo-card.tango figcaption{position:static;display:block;width:auto;max-width:none;margin:0;padding:10px 0 0;border:0;border-radius:0;background:none;color:#fff2dc;font-size:14px;font-weight:700;letter-spacing:.02em;line-height:1.3;text-transform:none;text-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.public-home-page .landing-photo-card{cursor:default}@media (max-width:760px){.public-home-page .landing-hero-visual{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;overflow:visible;padding:0;scroll-snap-type:none}.public-home-page .landing-photo-card{width:100%;aspect-ratio:auto;transform:none}.public-home-page .landing-photo-card img{position:static!important;display:block;width:100%!important;height:auto!important;object-fit:contain}}@media (min-width:761px){.public-inner-page .public-metuopen-page{width:min(1240px,100%);min-height:calc(100svh - 148px);height:auto;flex:0 0 auto;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(22px,3vw,44px);margin:0 auto;padding:clamp(20px,3vh,34px) clamp(24px,4vw,58px);border-radius:0}.public-inner-page .public-metuopen-page .landing-open-copy h1{margin:12px 0 14px;font-size:clamp(37px,4vw,54px)}.public-inner-page .public-metuopen-page .landing-open-copy>p:not(.landing-eyebrow){max-width:590px;font-size:15px;line-height:1.5}.public-inner-page .public-metuopen-page .landing-open-stats{gap:clamp(12px,2vw,24px);margin:18px 0}.public-inner-page .public-metuopen-page .landing-open-stats strong{font-size:20px}.public-inner-page .public-metuopen-page .landing-open-stats span{font-size:12px}}.landing-open-gallery{display:grid;grid-gap:10px;gap:10px;min-width:0;align-content:center}.metuopen-venue-photo{position:relative;overflow:hidden;margin:0;aspect-ratio:1.75;border:1px solid rgba(255,255,255,.32);border-radius:14px;background:rgba(0,0,0,.25)}.metuopen-panel-photos img,.metuopen-venue-photo img{display:block;width:100%;height:100%;object-fit:cover}.metuopen-venue-photo figcaption{position:absolute;right:8px;bottom:8px;left:8px;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 16px);padding:6px 9px;border-radius:6px;background:rgba(20,8,8,.76);color:#fff;font-size:12px;font-weight:700}.metuopen-panel-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.metuopen-panel-photos figure{position:relative;overflow:hidden;margin:0;aspect-ratio:.95;border:1px solid rgba(255,255,255,.32);border-radius:10px;background:rgba(0,0,0,.25)}.metuopen-panel-photos figure figcaption{position:absolute;right:4px;bottom:4px;left:4px;padding:4px 5px;border-radius:4px;background:rgba(20,8,8,.78);color:#fff;font-size:11px;font-weight:650;text-align:center}.landing-open-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.landing-open-schedule{color:#fff;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}@media (max-width:760px){.public-inner-page .public-metuopen-page{width:100%;height:auto;min-height:0;grid-template-columns:1fr;gap:22px;margin:0 auto;padding:30px 20px;border-radius:0}.public-inner-page .public-metuopen-page .landing-open-copy h1{margin:12px 0;font-size:clamp(36px,9vw,52px)}.landing-open-gallery{width:100%}.metuopen-venue-photo{aspect-ratio:1.55}}.public-inner-page .public-contact-page{width:min(1080px,100%);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:center;margin:auto;padding:clamp(26px,5vw,56px)}.public-inner-page .public-contact-page h1{margin-top:10px;font-size:clamp(34px,4vw,50px)}.public-contact-page .landing-contact-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-contact-page .landing-contact-links>a{position:relative;min-height:148px;align-content:center;padding:22px}.public-contact-page .landing-contact-links svg{width:26px;height:26px;margin-bottom:8px;color:var(--accent)}@media (max-width:760px){.public-inner-page .public-contact-page{width:100%;grid-template-columns:1fr;gap:20px;margin:0 auto;padding:30px 20px;border-radius:0}.public-contact-page .landing-contact-links{grid-template-columns:1fr}.public-contact-page .landing-contact-links>a{min-height:112px}}.public-inner-page .public-metuopen-page .landing-button-light{color:var(--color-accent-strong)}@media (min-width:761px){.public-inner-page .public-metuopen-page{min-height:calc(100svh - 148px);height:auto}.public-inner-page .public-contact-page,.public-inner-page .public-metuopen-page,.public-inner-page .public-page-section{width:min(1480px,calc(100% - 64px))}.public-inner-page .public-metuopen-page{min-height:calc(100svh - 148px);height:auto}}@media (max-width:760px){.public-inner-page .public-contact-page,.public-inner-page .public-metuopen-page,.public-inner-page .public-page-section{width:100%}}.landing-dance-grid{align-items:stretch}.landing-dance-card{min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0}.landing-dance-photo{position:relative;width:100%;aspect-ratio:1.7;overflow:hidden}.landing-dance-photo img{object-fit:cover;transition:transform .35s ease}.landing-dance-copy{display:flex;flex:1 1;flex-direction:column;padding:22px 24px 24px}.public-inner-page .landing-dance-card h2{margin:0 0 10px}.landing-dance-card p{max-width:none}.landing-dance-styles{margin-top:auto;padding-top:14px}.landing-card-number,.landing-source-note{display:none}.metuopen-main-photo{position:relative;overflow:hidden;margin:0;aspect-ratio:1.75;border-radius:14px;background:#24070b}.metuopen-main-photo img{display:block;width:100%;height:100%;object-fit:cover}.metuopen-main-photo figcaption{position:absolute;right:10px;bottom:10px;left:10px;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 20px);padding:8px 11px;border-radius:7px;background:rgba(20,8,8,.78);color:#fff;font-size:13px;font-weight:700}.metuopen-main-photo figcaption a{color:inherit}.metuopen-main-photo figcaption a:hover{color:#ffd8d8}.metuopen-small-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.metuopen-small-photos figure{position:relative;overflow:hidden;margin:0;aspect-ratio:1.15;border-radius:9px;background:rgba(0,0,0,.25)}.metuopen-small-photos img{display:block;width:100%;height:100%;object-fit:cover}.metuopen-small-photos figcaption{position:absolute;right:4px;bottom:4px;left:4px;padding:4px 5px;border-radius:4px;background:rgba(20,8,8,.78);color:#fff;font-size:12px;font-weight:650;text-align:center}.app-brand-logo{background:transparent;border-radius:0;padding:0;box-shadow:none}.button:hover:not(:disabled){transition:background-color .16s ease,border-color .16s ease,color .16s ease}.primary:hover:not(:disabled){background:#790000}.secondary:hover:not(:disabled){background:#f6e2e2;border-color:#be0000}.landing-button-primary:hover{background:#790000}.landing-button-light:hover{background:#e9caca;color:#680000;box-shadow:0 3px 12px rgba(58,0,0,.16)}.landing-button-quiet:hover{background:rgba(255,255,255,.2)}.public-member-link:hover{background:#790000}@media (max-width:760px){.metuopen-small-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.public-home{--public-mobile-gutter:24px;padding:0}.public-home-page .landing-hero{min-height:calc(100svh - 64px);align-content:start;padding:32px var(--public-mobile-gutter) 28px;gap:28px}.public-inner-page .public-contact-page,.public-inner-page .public-metuopen-page,.public-inner-page .public-page-section{padding-inline:var(--public-mobile-gutter);border-radius:0}.public-home .landing-footer{width:100%;padding-inline:var(--public-mobile-gutter)}}.public-home-page .landing-hero-immersive{display:flex;align-items:center;min-height:calc(100svh - 68px);isolation:isolate;background:#190d0e}.landing-hero-immersive .landing-hero-background{z-index:-2;object-fit:cover;object-position:center}.landing-hero-immersive:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(15,5,7,.87),rgba(15,5,7,.55) 35%,rgba(15,5,7,.08) 70%),linear-gradient(0deg,rgba(15,5,7,.35),transparent 45%)}.landing-hero-immersive .landing-hero-copy{max-width:540px}@media (max-width:760px){.public-home-page .landing-hero-immersive{min-height:calc(100svh - 64px);align-items:flex-end;padding-block:48px}.landing-hero-immersive .landing-hero-background{object-position:64% center}.landing-hero-immersive:after{background:linear-gradient(0deg,rgba(15,5,7,.96),rgba(15,5,7,.8) 30%,rgba(15,5,7,.22) 65%,rgba(15,5,7,.12))}}.public-home{font-optical-sizing:auto}.public-home h1{font-weight:600;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}.public-home h1 em{font-style:normal;font-weight:inherit}.public-home p{text-wrap:pretty}.public-home .landing-footer a,.public-home .landing-open-schedule,.public-home .metuopen-main-photo figcaption a{display:inline-flex;align-items:center;min-height:var(--control-height)}.public-home .landing-button{font-weight:600}.public-home .landing-dance-card h2{font-weight:600;letter-spacing:-.025em}.public-home :focus-visible{outline:3px solid var(--color-accent-strong);outline-offset:4px}@media (max-width:760px){.landing-history{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.landing-history-stamp{grid-column:1;grid-row:auto;justify-self:start}.landing-history-copy{grid-column:1}.landing-section-heading h1,.landing-show-copy h1{font-size:clamp(32px,8vw,44px)}}@media (prefers-reduced-motion:reduce){.public-home *,.public-member-link,.public-nav *{transition:none}.public-home .landing-button:hover{transform:none}}.dance-group-picker{min-width:0;width:100%;grid-column:1/-1;margin:0;padding:0;border:0}.dance-group-picker legend{padding:0 0 9px;font-size:var(--text-label);font-weight:650}.dance-group-picker-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));grid-gap:8px;gap:8px}.dance-group-picker-option{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:44px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);background:var(--surface);cursor:pointer;font-weight:550}.dance-group-picker-option input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;padding:0;margin:0;accent-color:var(--color-accent)}.dance-group-picker-option:has(input:checked){background:var(--accent-soft);border-color:var(--color-accent)}.dance-group-picker-option:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.dance-group-picker small{display:block;margin-top:9px;font-size:12px;font-weight:400}.board-decision-controls,.board-evidence{min-width:0;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.board-evidence legend{font-weight:650}.board-evidence-checks{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.board-evidence-checks label{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--control-height)}.board-evidence-checks input{width:auto;flex-shrink:0}.board-evidence p{margin:0}.excuse-review>.compact-form{flex:1 1;min-width:0}