:root{--bg:#f7f8fd;--bg-elevated:#fff;--bg-muted:#e8eef2;--text:#334155;--text-strong:#0f1c2e;--text-muted:#64748b;--border:#d5dee7;--border-strong:#b7c4d1;--primary:#0b4f6c;--primary-hover:#083d54;--primary-soft:#d9ebf2;--accent:#b45309;--danger:#b91c1c;--danger-soft:#fee2e2;--success:#166534;--success-soft:#dcfce7;--warning:#92400e;--warning-soft:#ffedd5;--info:#1d4ed8;--info-soft:#dbeafe;--shadow:0 10px 30px #0f1c2e14;--radius:14px;--radius-sm:10px;--focus:0 0 0 3px #0b4f6c47;--font-sans:"Montserrat", "Segoe UI", sans-serif;--font-display:"Montserrat", "Segoe UI", sans-serif;--max-width:1100px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;max-width:100%;overflow-x:clip}html::-webkit-scrollbar{display:none}body{min-width:320px;max-width:100%;font-family:var(--font-sans);color:var(--text);background:var(--bg);margin:0;font-size:16px;line-height:1.5;overflow-x:clip}#root{max-width:100%;min-height:100svh;overflow-x:clip}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3{color:var(--text-strong);font-family:var(--font-display);margin:0;font-weight:600;line-height:1.15}h1{letter-spacing:-.03em;font-size:clamp(2rem,4vw,3rem)}h2{font-size:1.35rem}p{margin:0}code{overflow-wrap:anywhere;font-family:ui-monospace,Consolas,monospace;font-size:.9em}button,input,textarea,select{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{flex-direction:column;max-width:100%;min-height:100svh;display:flex;overflow-x:clip}.site-header{z-index:40;background:var(--bg);border-bottom:1px solid #d7e2ec;max-width:100%;transition:transform .25s;position:sticky;top:0}.site-header--hidden{transform:translateY(-100%)}.site-header__inner{width:min(100% - 1.5rem, var(--max-width));grid-template-columns:minmax(5.5rem,1fr) auto minmax(5.5rem,1fr);align-items:center;gap:.75rem 1rem;min-height:4.75rem;margin:0 auto;padding:.3rem 0;display:grid;position:relative}.site-header__slot--left{justify-self:start;align-items:center;display:flex}.site-header__slot--right{justify-content:flex-end;justify-self:end;align-items:center;gap:.5rem;display:flex}.brand-logo{border-radius:8px;flex-shrink:0;align-items:center;padding:.1rem;line-height:0;text-decoration:none;display:inline-flex}.brand-logo__image{object-fit:contain;width:auto;max-width:14rem;height:4.5rem;display:block}.brand-logo--active,.brand-logo:hover{opacity:.92}.menu-toggle{color:#0f2340;cursor:pointer;background:#f7fafc;border:1px solid #c5d3e0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;display:none}.menu-toggle__bars{flex-direction:column;justify-content:space-between;width:1.1rem;height:.85rem;display:flex}.menu-toggle__bars span{background:currentColor;border-radius:999px;width:100%;height:2px;display:block}.menu-toggle:focus-visible,.nav-link:focus-visible,.nav-profile:focus-visible,.button:focus-visible,.input:focus-visible,.textarea:focus-visible,.select:focus-visible,.text-link:focus-visible,.quick-link:focus-visible,.brand-logo:focus-visible,summary:focus-visible{box-shadow:var(--focus);outline:none}.main-nav{justify-content:center;align-items:center;min-width:0;display:flex}.main-nav__links{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.15rem .45rem;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:#0f2340;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;padding:.4rem .55rem;font-family:inherit;font-size:.84rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.nav-link:after{content:"";transform-origin:50%;pointer-events:none;background:#2f6fbf;border-radius:999px;height:2px;transition:transform .28s;position:absolute;bottom:.12rem;left:.45rem;right:.45rem;transform:scaleX(0)}.nav-link:hover{color:#164e9b;background:0 0}.nav-link--active{color:#2f6fbf;background:0 0}.nav-link--active:after{transform:scaleX(1)}.nav-link--login{border:1px solid #c5d3e0;border-radius:999px;padding:.4rem .85rem}.nav-link--login:after{display:none}.nav-link--login.nav-link--active{border-color:#2f6fbf}.nav-profile{--nav-avatar-size:2.55rem;--nav-role-staff:#f6ae2d;--nav-role-student:#72429a;max-width:100%;color:var(--text-strong);background:#fff;border:1px solid #e6ebf1;border-radius:999px;align-items:center;gap:.45rem;padding:.22rem .8rem .22rem .22rem;text-decoration:none;transition:opacity .15s;display:inline-flex;box-shadow:0 2px 8px #0f1c2e14}.nav-profile:hover,.nav-profile--active{opacity:.94;background:#fff}.nav-profile__meta{min-width:0;min-height:calc(var(--nav-avatar-size) - .2rem);text-align:left;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:.1rem;padding:0;line-height:1.05;display:flex}.nav-profile__student-number,.nav-profile__role{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:9.5rem;display:block;overflow:hidden}.nav-profile__student-number{letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--text-strong);font-size:.78rem;font-weight:700}.nav-profile__role{letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:600}.nav-profile__meta--staff .nav-profile__role{color:var(--nav-role-staff)}.nav-profile__meta--student .nav-profile__role{color:var(--nav-role-student)}.nav-avatar{width:var(--nav-avatar-size);height:var(--nav-avatar-size);background:#d9e6f2;border:2px solid #c5d3e0;border-radius:50%;flex-shrink:0;text-decoration:none;transition:border-color .15s;display:inline-flex;overflow:hidden}.nav-profile:hover .nav-avatar,.nav-profile--active .nav-avatar{border-color:#2f6fbf}.nav-avatar__image{object-fit:cover;width:100%;height:100%;display:block}.nav-avatar__fallback{color:#0b3d7a;letter-spacing:.02em;place-items:center;width:100%;height:100%;font-size:.78rem;font-weight:700;display:grid}.subtabs{border:1px solid var(--border);background:var(--bg-elevated);border-radius:14px;flex-wrap:wrap;gap:.4rem;padding:.35rem;display:flex;overflow:visible}.subtabs--nested{background:0 0;border-style:dashed}.subtab{color:#0f2340;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;padding:.55rem .95rem .7rem;font-size:.9rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex;position:relative;overflow:visible}.subtab:after{content:"";transform-origin:50%;pointer-events:none;will-change:transform;background:#2f6fbf;border-radius:999px;height:2px;transition:transform .28s;position:absolute;bottom:.28rem;left:.65rem;right:.65rem;transform:scaleX(0)}.subtab:hover{color:#164e9b;background:0 0}.subtab--active{color:#2f6fbf;background:0 0}.subtab--active:after{transform:scaleX(1)}.subtab:focus-visible{box-shadow:var(--focus);border-radius:8px;outline:none}.exec-section{gap:1rem;display:grid}.exec-section__title{margin:0;font-size:1.15rem}.supervisor-split{grid-template-areas:"req-intro""req-body""pend-intro""pend-body";align-items:start;gap:.75rem 1.25rem;display:grid}.supervisor-split__intro{align-content:start;gap:.35rem;display:grid}.supervisor-split__intro h3,.supervisor-split__intro p{margin:0}.supervisor-split__intro--requests{grid-area:req-intro}.supervisor-split__intro--pending{grid-area:pend-intro}.supervisor-split__body{min-width:0}.supervisor-split__body--requests{grid-area:req-body}.supervisor-split__body--pending{grid-area:pend-body}.club-supervisor-request-card{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);width:100%;box-shadow:var(--shadow);gap:.9rem;padding:1rem 1.1rem;display:grid}.card-list{margin:0;padding-left:0;list-style:none}.club-supervisor-request-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.club-supervisor-request-card__header .badge{flex-shrink:0;margin-left:auto}.pending-supervisor-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--shadow);gap:.9rem;padding:1rem 1.1rem;display:grid}.pending-supervisor-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.pending-supervisor-card__club{min-width:0;color:var(--text-strong);text-decoration:none}.pending-supervisor-card__club h3{margin:0}.pending-supervisor-card__club:hover,.pending-supervisor-card__club:focus-visible{color:var(--primary);text-underline-offset:.15em;text-decoration:underline}.pending-supervisor-card__header>.badge{white-space:nowrap;flex-shrink:0;margin-left:auto}@media (width>=900px){.supervisor-split{grid-template-columns:1fr 1fr;grid-template-areas:"req-intro pend-intro""req-body pend-body"}}.hero-panel--compact{margin-bottom:.25rem}.user-chip{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;align-items:center;gap:.75rem;padding:.45rem .7rem;display:flex}.user-chip strong,.user-chip span{display:block}.user-chip strong{color:var(--text-strong);font-size:.92rem}.user-chip span{color:var(--text-muted);font-size:.8rem}.user-chip__roles{flex-wrap:wrap;gap:.35rem;display:flex}.site-main{flex-direction:column;flex:1;gap:1.25rem;width:100%;max-width:100%;margin:0;padding:2rem 0 3rem;display:flex;overflow-x:clip}.site-main>.home-banner{margin-inline:0;flex-shrink:0;width:100%;max-width:100%;margin-top:-2rem}.site-main__body{width:min(100% - 2rem, var(--max-width));box-sizing:border-box;max-width:100%;margin-inline:auto}.site-main__body--home{width:100%;max-width:100%;margin-inline:0}.auth-gate{isolation:isolate;border-radius:var(--radius);border:1px solid var(--border);background:#eef1f4;width:100%;height:min(78svh,100svh - 9rem);min-height:28rem;max-height:calc(100svh - 9rem);position:relative;overflow:hidden}.auth-gate__blur{filter:blur(16px)saturate(1.05);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden;transform:scale(1.04)}.auth-gate__ghost{gap:1rem;min-height:100%;padding:1.5rem;display:grid}.auth-gate__ghost-line{background:color-mix(in srgb, var(--text-muted,#64748b) 22%, transparent);border-radius:999px;width:55%;height:1rem}.auth-gate__ghost-line--wide{width:78%;height:1.35rem}.auth-gate__ghost-line--mid{width:42%}.auth-gate__ghost-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.auth-gate__ghost-card,.auth-gate__ghost-block{border-radius:var(--radius-sm,10px);background:color-mix(in srgb, var(--primary,#0b4f6c) 10%, #e8eef2);border:1px solid color-mix(in srgb, var(--border,#d5dee7) 80%, transparent)}.auth-gate__ghost-card{height:6.5rem}.auth-gate__ghost-block{height:4.5rem}.auth-gate__ghost-block--tall{height:8rem}.auth-gate__scrim{pointer-events:none;background:#eef1f46b;position:absolute;inset:0}.auth-gate__prompt{z-index:1;pointer-events:none;place-items:center;padding:1.25rem;display:grid;position:absolute;inset:0;overflow:hidden}.auth-gate__card{pointer-events:auto;border-radius:var(--radius);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#fffffff0;justify-items:center;gap:.75rem;width:min(100%,24rem);padding:1.5rem 1.4rem;display:grid;box-shadow:0 12px 32px #0f1c2e1f}.auth-gate__title{color:#1e293b;margin:0;font-size:1.35rem;line-height:1.25}.auth-gate__description{color:#64748b;margin:0;font-size:.95rem;line-height:1.45}.login-page{background:0 0;border-radius:0;place-items:center;width:100%;min-height:calc(100svh - 9rem);padding:2rem 1rem 3rem;display:grid}.sign-in-view{justify-items:center;gap:1.15rem;width:min(100%,26rem);display:grid}.sign-in-view__logo-frame{background:#e8ecf1;border-radius:.85rem;place-items:center;width:5.75rem;height:5.75rem;padding:0;display:grid;overflow:hidden;box-shadow:0 8px 24px #0f1c2e14}.sign-in-view__logo{object-fit:contain;width:100%;height:100%}.sign-in-view__card{text-align:center;background:#fff;border-radius:1rem;justify-items:stretch;gap:.85rem;width:100%;padding:1.75rem 1.5rem 1.35rem;display:grid;box-shadow:0 12px 32px #0f1c2e1a}.sign-in-view__title{letter-spacing:-.02em;color:#1e293b;margin:0;font-size:1.65rem;font-weight:700}.sign-in-view__subtitle{color:#64748b;margin:0;font-size:.95rem;line-height:1.45}.sign-in-view__google{color:#1e293b;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #d5dee7;border-radius:.65rem;justify-content:center;align-items:center;gap:.65rem;margin-top:.35rem;padding:.8rem 1rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.sign-in-view__google:hover:not(:disabled){background:#f8fafc;border-color:#c5d0db}.sign-in-view__google:disabled{opacity:.7;cursor:wait}.sign-in-view__google-icon{flex-shrink:0}.sign-in-view__footer{border-top:1px solid #e8eef2;justify-content:center;align-items:center;gap:.45rem;margin-top:.35rem;padding-top:1rem;display:flex}.sign-in-view__info-icon{color:#94a3b8;border:1.5px solid #94a3b8;border-radius:50%;flex-shrink:0;place-items:center;width:1rem;height:1rem;font-size:.65rem;font-style:italic;font-weight:700;line-height:1;display:inline-grid}.sign-in-view__help{color:#94a3b8;margin:0;font-size:.82rem;line-height:1.35}.site-footer{color:var(--text);background:0 0;background-image:repeating-linear-gradient(to right, var(--border-strong) 0 12px, transparent 12px 24px);background-position:0 0;background-repeat:no-repeat;background-size:100% 1px;border-top:none;margin-top:auto}.site-footer__inner{width:min(100% - 2rem, var(--max-width));grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem 1rem;margin:0 auto;padding:1rem 0 1.25rem;display:grid}.site-footer__brand{border-radius:.5rem;grid-row:1/-1;align-self:center;line-height:0;text-decoration:none;transition:opacity .15s;display:inline-flex}.site-footer__brand:hover,.site-footer__brand:focus-visible{opacity:.92}.site-footer__logo{object-fit:contain;width:auto;max-width:5.5rem;height:2.85rem;display:block}.site-footer__lines{gap:.3rem;min-width:0;display:grid}.site-footer__line{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.35}.site-footer__line a{color:var(--primary);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--primary) 35%, transparent);text-underline-offset:.12em;font-weight:600}.site-footer__line a:hover,.site-footer__line a:focus-visible{text-decoration-color:currentColor}.site-footer__line--meta{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.25rem;display:flex}.site-footer__copy--short{display:none}@media (width<=720px){.site-footer__inner{grid-template-columns:auto minmax(0,1fr);gap:.55rem .75rem;padding:.9rem 0 1.1rem}.site-footer__logo{max-width:4.25rem;height:2.35rem}.site-footer__lines{gap:.2rem}.site-footer__line{font-size:.7rem;line-height:1.3}p.site-footer__copy--full{display:none}p.site-footer__copy--short{display:block}.site-footer__line--meta .site-footer__copy--full{display:none}.site-footer__line--meta .site-footer__copy--short{display:inline}.site-footer__line--meta{flex-direction:column;align-items:flex-start;gap:.1rem}}.page,.narrow-page{gap:1.25rem;display:grid}.home-page{gap:1.25rem}.home-page>:not(.home-banner){width:min(100% - 2rem, var(--max-width));box-sizing:border-box;max-width:100%;margin-inline:auto}.clubs-page{gap:1.25rem}.clubs-page__content{gap:1.25rem;min-width:0;display:grid}.clubs-page__content>.page{display:contents}.home-banner{color:#fff;width:100%;max-width:100%;box-shadow:none;background:#213659;border:0;margin:0;position:relative;overflow:hidden}.home-page>.home-banner{margin-top:-2rem}.home-banner__waves{pointer-events:none;z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.home-banner__inner{z-index:1;width:min(100% - 2rem, var(--max-width));justify-content:space-between;align-items:center;gap:1.5rem;min-height:clamp(14rem,28vw,20rem);margin:0 auto;padding:clamp(2rem,4.5vw,3.4rem) 0;display:flex;position:relative}.home-banner__copy{flex:auto;min-width:0;max-width:38rem}.home-banner__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#e2eeffc7;margin:0 0 .85rem;font-size:.78rem;font-weight:700}.home-banner__title{font-family:var(--font-sans);letter-spacing:-.02em;color:#fff;margin:0;font-size:clamp(2.35rem,5.6vw,4rem);font-weight:400;line-height:1.05}.home-banner__line{display:block}.home-banner__accent{color:#6eb6ff;font-style:italic;font-weight:700;display:block}.home-banner__description{color:#e2eeffdb;max-width:32rem;margin:.9rem 0 0;font-size:clamp(.98rem,1.7vw,1.12rem);font-weight:400;line-height:1.45}.narrow-page{max-width:720px}.page-header,.section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header__name{font-family:var(--font-display);color:var(--text-strong);margin:0;font-size:1.35rem;font-weight:600;line-height:1.2}.eyebrow{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font-size:.8rem;font-weight:700}.lede,.note,.muted,.form-hint{color:var(--text-muted)}.lede{max-width:60ch;margin-top:.6rem;font-size:1.05rem}.hero-panel,.panel,.stat-card,.club-card,.counsellor-card,.request-card,.empty-state,.loading-screen,.diagnostics{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-panel,.panel,.empty-state,.loading-screen,.diagnostics,.request-card,.stat-card{padding:1.4rem}.hero-panel{background:linear-gradient(135deg, #0b4f6c14, transparent 45%), var(--bg-elevated);padding:2rem}.stack,.stat-grid,.club-grid,.counsellor-grid,.quick-links,.toolbar--split{gap:1rem;display:grid}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.club-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.club-card{grid-template-columns:88px minmax(0,1fr);gap:1rem;min-width:0;height:100%;max-height:16.5rem;padding:1.1rem;display:grid;overflow:hidden}.club-card__body{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.club-card__body .text-link{flex-shrink:0;margin-top:auto}.club-card__logo,.club-hero__logo{object-fit:cover;aspect-ratio:1;border:1px solid var(--border);background:var(--bg-muted);border-radius:18px;width:88px;max-width:100%;height:88px}.club-card__logo--fallback,.club-hero__logo--fallback{font-family:var(--font-display);color:var(--primary);place-items:center;font-size:2rem;font-weight:700;display:grid}.club-card h2{-webkit-line-clamp:2;text-overflow:ellipsis;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex-shrink:0;margin-bottom:.4rem;display:-webkit-box;overflow:hidden}.club-card h2 a{text-decoration:none}.club-card h2 a:hover{color:var(--primary)}.club-card__summary{-webkit-line-clamp:3;text-overflow:ellipsis;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex-shrink:0;margin-bottom:.75rem;display:-webkit-box;overflow:hidden}.club-card .meta-list{flex:auto;gap:.4rem;min-height:0;margin:0;overflow:hidden}.club-card .meta-list>div{min-width:0}.club-card .meta-list dd{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.club-card--skeleton{pointer-events:none}.counsellor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.counsellor-card{min-width:0;color:inherit;cursor:pointer;flex-direction:column;gap:.85rem;padding:1.15rem 1.3rem;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.counsellor-card:hover,.counsellor-card:focus-visible{border-color:var(--primary);transform:translateY(-3px)scale(1.015);box-shadow:0 18px 36px #0f1c2e29}.counsellor-card:focus-visible{box-shadow:var(--focus), 0 18px 36px #0f1c2e29;outline:none}.counsellor-card__top{align-items:center;gap:.9rem;display:flex}.counsellor-card__avatar{color:#fff;width:2.75rem;height:2.75rem;font-family:var(--font-display);letter-spacing:.02em;border-radius:999px;flex-shrink:0;place-items:center;font-size:.82rem;font-weight:700;display:grid}.counsellor-card__heading{flex-direction:column;gap:.2rem;min-width:0;display:flex}.counsellor-card__name{font-family:var(--font-display);color:var(--text-strong);font-weight:700}.counsellor-card__range{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:.76rem;font-weight:700}.counsellor-card__arrow{color:var(--text-muted);opacity:0;flex-shrink:0;margin-left:auto;transition:opacity .16s,transform .16s,color .16s;transform:translate(-3px,3px)}.counsellor-card:hover .counsellor-card__arrow,.counsellor-card:focus-visible .counsellor-card__arrow{opacity:1;color:var(--primary);transform:translate(0)}.counsellor-card__email{color:var(--text-muted);overflow-wrap:anywhere;font-size:.92rem}.counsellor-hint{white-space:nowrap;align-self:flex-end;margin:0 0 1.15rem;font-size:.88rem}.skeleton{background:linear-gradient(90deg, var(--bg-muted) 0%, #f7fafc 45%, var(--bg-muted) 100%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.skeleton--logo{border-radius:18px;width:88px;height:88px}.skeleton--title{width:70%;height:1.15rem;margin-bottom:.65rem}.skeleton--line{width:100%;height:.75rem;margin-bottom:.45rem}.skeleton--line-short{width:58%;margin-bottom:.85rem}.skeleton--meta{width:48%;height:.7rem;margin-bottom:1rem}.skeleton--link{width:36%;height:.75rem;margin-top:auto}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.quick-links{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:1.25rem}.quick-link{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-strong);padding:1rem 1.1rem;font-weight:700;text-decoration:none;display:block}.quick-link:hover{border-color:var(--primary);background:var(--primary-soft)}.stat-value{color:var(--text-strong);margin-top:.5rem;font-size:2rem;font-weight:700}.button-row,.badge-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.button-row{margin-top:1rem}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.7rem 1.1rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.65}.button--primary{background:var(--primary);color:#fff}.button--primary:hover:not(:disabled){background:var(--primary-hover)}.button--secondary{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-strong)}.button--secondary:hover:not(:disabled){background:var(--bg-muted)}.button--danger{background:var(--danger);color:#fff}.button--danger:hover:not(:disabled){background:#991b1b}.text-link{color:var(--primary);text-underline-offset:.15em;font-weight:700;text-decoration:underline}.alert{border-radius:var(--radius-sm);border:1px solid;padding:1rem 1.1rem}.alert strong{margin-bottom:.25rem;display:block}.alert--error{background:var(--danger-soft);color:#7f1d1d;border-color:#fecaca}.alert--success{background:var(--success-soft);color:var(--success);border-color:#bbf7d0}.alert--warning{background:var(--warning-soft);color:var(--warning);border-color:#fed7aa}.badge{border:1px solid var(--border);background:var(--bg-muted);color:var(--text-strong);letter-spacing:.02em;border-radius:999px;align-items:center;gap:.35rem;padding:.28rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge--draft{background:#e2e8f0}.badge--submitted,.badge--under-review,.badge--info,.badge--active{background:var(--info-soft);color:var(--info);border-color:#bfdbfe}.badge--changes-requested,.badge--suspended,.badge--warning{background:var(--warning-soft);color:var(--warning);border-color:#fed7aa}.badge--approved,.badge--success{background:var(--success-soft);color:var(--success);border-color:#bbf7d0}.badge--rejected,.badge--withdrawn,.badge--inactive,.badge--cancelled,.badge--archived{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.urgency-text{font-size:.875rem;font-weight:600}.urgency-text--danger{color:var(--danger)}.urgency-text--warning{color:var(--warning)}.urgency-text--success{color:var(--success)}.badge--role-owner{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.badge--role-exec{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.badge--role-member{color:#334155;background:#f8fafc;border-color:#cbd5e1}.badge--role-sac-admin,.badge--role-site-admin,.badge--role-sac-exec,.badge--role-faculty-advisor{background:var(--primary-soft);color:var(--primary);border-color:#9fc6d6}.form-stack,.form-field{gap:.85rem;display:grid}.form-field label{color:var(--text-strong);margin-bottom:.35rem;font-weight:700;display:block}.required-mark{color:var(--danger)}.input,.textarea,.select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text-strong);background:#fff;padding:.75rem .85rem}.textarea{resize:vertical;min-height:6rem}.form-field--error .input,.form-field--error .textarea,.form-field--error .select{border-color:var(--danger)}.form-error{color:var(--danger);margin:0;font-size:.9rem}.form-hint{margin:0;font-size:.9rem}.grid-2{gap:.85rem;display:grid}@media (width>=640px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.checkbox{color:var(--text);cursor:pointer;align-items:flex-start;gap:.55rem;margin:0;font-size:.95rem;line-height:1.4;display:flex}.checkbox input{flex:none;margin-top:.2rem}.file-picker__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-picker__row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.file-picker__button{flex:none}.file-picker__meta{min-width:0;color:var(--text-muted);font-size:.95rem;line-height:1.35}.file-picker__name{color:var(--text-strong);word-break:break-word;font-weight:600}.meta-list{gap:.75rem;margin:1rem 0 0;display:grid}.meta-list>div{gap:.2rem;display:grid}.meta-list dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:700}.meta-list dd{color:var(--text-strong);margin:0}.club-hero{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow);overflow:hidden}.club-hero__banner{object-fit:cover;width:100%;height:180px}.club-hero__banner--fallback{background:linear-gradient(120deg,#0b4f6c59,#b4530940),#0b4f6c}.club-hero__content{background:#fff;align-items:flex-end;gap:1rem;margin-top:-2.5rem;padding:1.25rem;display:flex}.club-hero__title{flex:1;justify-content:space-between;align-items:flex-end;gap:1rem;min-width:0;display:flex}.club-hero__title h1{margin:.35rem 0 .6rem}.club-hero__applications{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.6rem;margin-left:0;display:flex}.club-hero__actions{flex-direction:column;flex-shrink:0;align-self:flex-start;align-items:flex-end;gap:.75rem;margin-left:auto;display:flex}.club-hero__owners{color:var(--text-muted);margin:.45rem 0 0}.club-promo-confirmation{color:#4b9462;text-align:right;margin:.35rem 0 0;font-weight:700;display:inline-block}.club-details-panel{gap:1.1rem;display:grid}.club-details-panel h2{margin:0}.club-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.club-detail-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-muted) 38%, var(--bg-elevated));gap:.35rem;min-width:0;padding:.95rem 1rem;display:grid}.club-detail-item dt{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:700}.club-detail-item dd{color:var(--text-strong);overflow-wrap:anywhere;margin:0}.prose{white-space:pre-wrap}.request-card__header,.request-card__actions{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.request-card__type,.announcement-card__type{margin-bottom:.55rem}.request-card__labels{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.request-card__labels .submission-type{margin-bottom:0}.request-card__aside{flex-shrink:0;justify-items:end;gap:.5rem;display:grid}.request-card__new-action{margin-top:1.5rem}.request-card__date{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.86rem;font-weight:600}.request-card__notes{border-radius:var(--radius-sm);background:var(--warning-soft);border:1px solid #fed7aa;margin-top:.85rem;padding:.85rem}.admin-request-card__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:0;display:grid}.admin-request-card__details>p{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius-sm);background:var(--bg-muted);overflow-wrap:anywhere;margin:0;padding:1rem;line-height:1.6}.admin-request-card__details>p:first-child{background:0 0;border:0;grid-column:1/-1;margin:.45rem 0 1.35rem;padding:0}.admin-request-card__details>p.admin-request-card__benefit{background:0 0;border:0;grid-column:1/-1;margin-bottom:1.25rem;padding:0}.admin-request-card__details>p>strong{color:var(--text-strong);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem;font-size:.82rem;display:block}.admin-request-card>.meta-list,.admin-request-card>.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:0;display:grid}.admin-request-card>.meta-list>div,.admin-request-card>.detail-list>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);min-width:0;padding:.9rem 1rem}.admin-request-card>.meta-list dt,.admin-request-card>.detail-list dt{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.3rem;font-size:.76rem;font-weight:700}.admin-request-card>.meta-list dd,.admin-request-card>.detail-list dd{overflow-wrap:anywhere;line-height:1.55}.admin-request-card>.detail-list>.detail-list__description{background:0 0;border:0;grid-column:1/-1;margin-bottom:1.25rem;padding:0}.admin-request-card>.detail-list>.detail-list__description dd{white-space:pre-wrap}.admin-request-review{margin-top:1.5rem}.admin-request-disclaimer{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius-sm);background:var(--bg-muted);margin:0 0 1rem;padding:.85rem 1rem}.admin-request-disclaimer--warning{border-color:#fed7aa;border-left-color:var(--warning);background:var(--warning-soft)}.admin-request-disclaimer--success{border-color:#bbf7d0;border-left-color:var(--success);background:var(--success-soft)}.admin-request-subsection{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.admin-request-subsection h3{color:var(--text-strong);margin:0 0 .9rem;font-size:1rem}.admin-request-subsection__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.5rem;display:grid}.admin-request-subsection__grid>div{gap:.25rem;min-width:0;display:grid}.admin-request-subsection__grid span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.admin-request-subsection__grid strong{color:var(--text-strong);overflow-wrap:anywhere;font-weight:400}.admin-request-hero{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow);padding:1.5rem}.admin-request-hero__eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.78rem;font-weight:800}.admin-request-hero__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-request-hero__heading .exec-section__title{margin:0;font-size:clamp(1.5rem,3vw,2.15rem)}.admin-request-hero__status{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.admin-request-hero__meta{border-top:1px solid var(--border);align-items:stretch;gap:1.25rem;margin-top:1.35rem;padding-top:1rem;display:flex}.admin-request-hero__meta>div{gap:.25rem;min-width:0;display:grid}.admin-request-hero__meta span:not(.admin-request-hero__divider){color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.admin-request-hero__meta strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:.92rem;font-weight:400}.admin-request-hero__divider{background:var(--border);width:1px}.exec-queue-list{gap:.75rem;display:grid}.funding-queue-item{gap:.45rem;display:grid}.funding-queue-item>.badge{justify-self:start;margin-left:1.3rem}.funding-guidelines{border-left:4px solid var(--warning)}.funding-guidelines h2{margin-top:0}.funding-guidelines ul{margin:1rem 0 0;padding-left:1.25rem}.funding-cost-breakdown{gap:1rem;display:grid}.funding-cost-row{grid-template-columns:minmax(12rem,2fr) minmax(9rem,1fr) minmax(7rem,.7fr) auto;align-items:start;gap:.75rem;display:grid}.funding-total{border-top:1px solid var(--border);justify-content:space-between;gap:1rem;margin:0;padding-top:1rem;font-size:1.1rem;display:flex}.funding-review-breakdown,.funding-signature-review{margin-top:1.5rem}.funding-review-breakdown h3,.funding-signature-review h3{margin-bottom:.75rem}.funding-review-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.funding-signature-review__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.funding-signature-review__grid h4{margin:0 0 .5rem}.funding-request-summary{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.9rem 0;display:flex}.funding-request-summary p{margin:.25rem 0 0}.funding-request-summary__main{gap:.2rem;display:grid}.funding-request-summary__meta{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.exec-queue-card{color:inherit;cursor:pointer;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.3rem;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.exec-queue-card:hover,.exec-queue-card:focus-visible{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 14px 28px #0f1c2e1f}.exec-queue-card:focus-visible{box-shadow:var(--focus), 0 14px 28px #0f1c2e1f;outline:none}.exec-queue-card__main{min-width:0}.exec-queue-card__title{font-family:var(--font-display);color:var(--text-strong);margin:0;font-size:1.05rem;font-weight:700}.exec-queue-card__submitter{color:var(--text-muted);margin:.25rem 0 0;font-size:.92rem}.exec-detail-back{margin:0 0 1rem}.diagnostics summary{cursor:pointer;color:var(--text-strong);font-weight:700}.diagnostics__pre{border-radius:var(--radius-sm);color:#e2e8f0;background:#0f1c2e;margin-top:1rem;padding:1rem;font-size:.85rem;overflow:auto}.loading-screen{text-align:center;align-content:center;place-items:center;gap:.85rem;min-height:40vh;display:grid}.empty-state{text-align:center}.spinner{align-items:center;display:inline-flex}.spinner__visual{border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin}.spinner--lg .spinner__visual{width:2rem;height:2rem}.spinner--sm .spinner__visual{width:.9rem;height:.9rem}@keyframes spin{to{transform:rotate(360deg)}}.dialog-backdrop{z-index:60;background:#0f1c2e73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border);width:min(100%,520px);max-height:90vh;box-shadow:var(--shadow);padding:1.35rem;overflow:auto}.dialog__body{gap:.85rem;margin:1rem 0 1.25rem;display:grid}.dialog__actions{justify-content:flex-end;gap:.65rem;display:flex}button.nav-link{font:inherit;cursor:pointer}.badge--published{background:var(--success-soft);color:var(--success);border-color:#bbf7d0}.exact-email-search{gap:.85rem;margin:1rem 0;display:grid}.student-result{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);align-items:center;gap:.85rem;margin-bottom:1rem;padding:.9rem;display:flex}.student-result__avatar{object-fit:cover;border:1px solid var(--border);background:var(--bg-elevated);border-radius:50%;width:48px;height:48px}.student-result__avatar--fallback{color:var(--primary);place-items:center;font-weight:700;display:grid}.add-member-panel h2{margin-bottom:.35rem}.announcement-grid{grid-template-columns:1fr;align-items:stretch;gap:1rem;margin-top:.75rem;display:grid}.announcement-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);min-width:0;height:100%;box-shadow:var(--shadow);grid-template-columns:112px minmax(0,1fr);gap:1rem;padding:1.1rem;display:grid}.announcement-card--text-only{grid-template-columns:minmax(0,1fr)}.announcement-card__image{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-muted);width:112px;height:112px}.announcement-card__image--fallback{background:linear-gradient(135deg, #0b4f6c33, #b4530926), var(--bg-muted);width:112px;height:112px}.announcement-card__body{flex-direction:column;gap:.4rem;min-width:0;display:flex}.announcement-card__header{justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;display:flex}.announcement-card__title{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;min-width:0;margin:0;font-size:1.15rem;line-height:1.25;display:-webkit-box;overflow:hidden}.announcement-card__title a{color:var(--text-strong);text-decoration:none}.announcement-card__title a:hover{color:var(--primary)}.announcement-card__date{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;margin-top:.15rem;font-size:.86rem;font-weight:600}.announcement-card__excerpt{color:var(--text);-webkit-line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.announcement-card__club{color:var(--text-muted);margin:auto 0 0;font-size:.92rem;font-weight:600}.announcement-card__club .text-link{color:inherit}.announcement-card__actions{margin-top:.35rem}.announcement-request-card__aside{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.announcement-request-card__footer{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.announcement-request-card__posting-date{color:var(--text-muted);text-align:right;gap:.2rem;margin-left:auto;font-size:.9rem;display:grid}.announcement-request-card__posting-date span{letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:700}.announcement-request-card__content{gap:1.35rem;margin:.45rem 0 1.35rem;display:grid}.announcement-request-card__field{overflow-wrap:anywhere;line-height:1.6}.announcement-request-card__field>strong{color:var(--text-strong);letter-spacing:.04em;text-transform:uppercase;margin-top:.6rem;font-size:.82rem;display:block}.announcement-request-card__field>p{margin:0}.announcement-detail__body{white-space:pre-wrap;margin:1rem 0}.manage-announcement-success{margin:1.5rem 0 2rem}.homepage-announcements{margin-top:.25rem}.homepage-announcements .section-heading{margin-bottom:1.5rem}.school-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.school-schedule{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);padding:1rem}.school-schedule--active{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:color-mix(in srgb, var(--primary-soft) 55%, var(--bg-elevated))}.school-schedule h3{margin:0 0 .65rem;font-size:1.05rem}.school-schedule__list{color:var(--text-strong);gap:.35rem;margin:0;padding-left:1.15rem;display:grid}.school-schedule-editor{border-top:1px solid var(--border);padding-top:.35rem}.school-schedule-editor__row{gap:.55rem;display:grid}.school-schedule-editor__label{margin:0}.school-schedule-editor__times{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (width<=700px){.school-schedule-grid,.school-schedule-editor__times{grid-template-columns:1fr}}.danger-zone{background:linear-gradient(180deg, #b91c1c0a, transparent 40%), var(--bg-elevated);border-color:#fecaca}.danger-zone__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.danger-zone__actions{gap:1rem;margin-top:1.25rem;display:grid}.danger-zone__action{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.danger-zone__action h3{margin:0 0 .35rem;font-size:1.05rem}.danger-zone__action p{color:var(--text-muted);max-width:52ch;margin:0}.danger-zone__action--delete{background:var(--danger-soft);border-color:#fecaca}.danger-zone__action--delete h3,.danger-zone__action--delete p{color:#7f1d1d}@media (width<=860px){.club-grid{grid-template-columns:1fr}.danger-zone__header,.danger-zone__action{flex-direction:column;align-items:stretch}}.role-section{margin-top:1.25rem}.role-section h3{margin-bottom:.65rem;font-size:1.05rem}.role-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.role-list__item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);align-items:flex-start;gap:.85rem;padding:.85rem;display:flex}.role-list__item strong{color:var(--text-strong);display:block}.role-list__item p{margin:.2rem 0 0}.dialog-list{gap:.35rem;margin:.75rem 0 0;padding-left:1.2rem;display:grid}.club-apply-notice{gap:.7rem;padding:1rem 1.15rem;display:grid}.club-apply-notice__disclaimer{color:var(--text);margin:0;font-size:.95rem;line-height:1.45}.club-apply-notice__deadline{margin:0;padding:.55rem .75rem;font-size:.92rem;line-height:1.35}.club-apply-notice__account{margin:0;font-size:.88rem;line-height:1.4}.club-liaison-contacts__title{margin:0;font-size:1rem;font-weight:600;line-height:1.25}.club-liaison-contacts--embedded{border-top:1px solid var(--border);gap:.4rem;margin-top:.15rem;padding-top:.75rem;display:grid}.club-liaison-contacts__lede{margin:0;font-size:.88rem;line-height:1.4}.club-liaison-contacts__list{gap:.45rem;margin:.15rem 0 0;padding:0;list-style:none;display:grid}@media (width>=560px){.club-liaison-contacts__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1rem}}.club-liaison-contacts__person{gap:.1rem;min-width:0;font-size:.88rem;line-height:1.35;display:grid}.club-liaison-contacts__name{color:var(--text-strong);font-size:.92rem}.club-liaison-contacts__person .text-link{overflow-wrap:anywhere}.button-row--compact{margin-top:0}.membership-role-line{color:var(--text-strong);margin:.35rem 0 .55rem;font-weight:700}.table-wrap{margin-top:1rem;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.85rem .7rem}.data-table th{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.member-identity{gap:.2rem;display:grid}.member-search__results{gap:.4rem;max-height:220px;margin:.5rem 0 0;padding:0;list-style:none;display:grid;overflow:auto}.member-search__result{text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);cursor:pointer;gap:.15rem;width:100%;padding:.75rem .85rem;display:grid}.member-search__result:hover,.member-search__result:focus-visible{border-color:var(--primary);background:var(--primary-soft)}.attachment-preview{gap:.5rem;margin-top:.75rem;display:grid}.attachment-preview--image{justify-items:start}.attachment-preview__link{border-radius:var(--radius-sm,.5rem);border:1px solid var(--border,#ddd);max-width:min(100%,420px);line-height:0;display:inline-block;overflow:hidden}.attachment-preview__link:focus-visible{box-shadow:var(--focus);outline:none}.attachment-preview__image,.signed-form-preview img,.signed-form-preview__image{object-fit:contain;background:var(--bg-muted,#f5f5f5);width:100%;max-width:min(100%,420px);height:auto;max-height:28rem;display:block}.attachment-preview--local{align-items:start}.signed-form-preview{gap:.75rem;margin-top:.75rem;display:grid}.logo-preview{object-fit:contain;border:1px solid var(--border,#ddd);border-radius:.5rem;max-width:8rem;max-height:8rem;margin-top:.75rem;display:block}.logo-preview-link{line-height:0;display:inline-block}.club-details-photo-heading{margin:0;font-size:1.05rem}.checkbox-row{align-items:flex-start;gap:.65rem;font-weight:600;display:flex}.checkbox-row input{margin-top:.2rem}.submission-type{background:var(--bg-muted);border-radius:999px;margin-bottom:.55rem;padding:.2rem .55rem;font-size:.8rem;font-weight:700;display:inline-flex}@media (width<=1024px){.club-grid,.counsellor-grid{grid-template-columns:1fr}.menu-toggle{z-index:2;width:2.25rem;height:2.25rem;display:inline-flex;position:relative}.site-header__inner{grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;min-height:3.75rem;padding:.2rem 0}.brand-logo__image{height:3.5rem}.site-header__slot--left{grid-area:1/1}.site-header__slot--right{grid-area:1/3}.main-nav{background:var(--bg);opacity:0;visibility:hidden;pointer-events:none;border-top:0 solid #0000;border-radius:0 0 .75rem .75rem;flex-direction:column;grid-area:2/1/auto/-1;align-items:stretch;gap:.35rem;width:100%;max-height:0;padding:0;transition:max-height .25s,padding .25s,opacity .2s,border-top-width .25s,visibility .2s;display:flex;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 .5rem 1rem #0f23401a}.main-nav--open{opacity:1;visibility:visible;pointer-events:auto;border-top-width:1px;border-top-color:#d7e2ec;max-height:min(70vh,28rem);padding:.6rem 0 .65rem;display:flex}.main-nav__links{flex-flow:column;align-items:stretch;gap:.1rem;width:100%}.nav-link{border-radius:8px;justify-content:flex-start;width:100%;padding:.55rem .75rem}.nav-link:after{transform-origin:0;width:1.65rem;bottom:.55rem;left:.75rem;right:auto}.nav-link--active{background:#2f6fbf1f}.nav-link--login{width:auto}.nav-link--login:after{display:none}.club-card,.club-hero__content,.club-hero__title,.page-header,.section-heading,.request-card__header{flex-direction:column;grid-template-columns:1fr}.club-hero__applications{align-self:flex-end}.club-card{flex-direction:column;max-height:22rem;display:flex}.club-card__media{display:flex}.skeleton--logo{width:72px;height:72px}.club-details-grid{grid-template-columns:1fr}}.combobox{width:100%;position:relative}.combobox>.input{width:100%}.combobox__list{z-index:20;background:var(--bg-elevated,#fff);border:1px solid var(--border,#ddd);max-height:16rem;box-shadow:var(--shadow,0 8px 24px #00000014);border-radius:.5rem;margin:.25rem 0 0;padding:.35rem 0;list-style:none;position:absolute;left:0;right:0;overflow:auto}.combobox__option{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:.55rem .85rem;display:block}.combobox__option--active,.combobox__option:hover{background:color-mix(in srgb, var(--accent,#1d4ed8) 12%, transparent)}.combobox__empty{color:var(--muted,#666);padding:.75rem .85rem}.club-reapply-selected{gap:.45rem;margin-top:.15rem;display:grid}.club-reapply-selected>p{margin:0;font-size:.92rem;line-height:1.4}.club-reapply-selected .button{justify-self:start}.teacher-supervisor-section__title{margin:0;font-size:1.15rem;font-weight:600;line-height:1.25}.teacher-supervisor-section__link-line{margin:0;font-size:.92rem;line-height:1.4}.meeting-day-picker{gap:.55rem}.meeting-day-picker legend{color:var(--text-strong);margin-bottom:.35rem;font-weight:700}.meeting-day-picker__row{flex-wrap:wrap;gap:.45rem;display:flex}.meeting-day-picker__day{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:3.1rem;color:var(--text-strong);font:inherit;cursor:pointer;background:#fff;padding:.55rem .7rem;font-size:.9rem;font-weight:600;line-height:1}.meeting-day-picker__day:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary) 45%, var(--border-strong))}.meeting-day-picker__day--selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, #fff);color:var(--primary)}.meeting-day-picker__day:disabled{opacity:.6;cursor:not-allowed}.notice-panel{border:1px solid var(--border,#ddd);background:color-mix(in srgb, var(--bg-elevated,#fff) 90%, #000 4%);border-radius:.75rem;padding:1rem}.checkbox-row{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.detail-list{gap:.65rem;margin:0 0 1rem;display:grid}.detail-list dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#666);font-size:.8rem}.detail-list dd{margin:.15rem 0 0}.home-info-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0 1.25rem;display:grid}.home-info-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:auto 1fr;align-items:start;gap:.9rem;padding:1.15rem 1.25rem;display:grid}.home-info-card__icon{border-radius:var(--radius-sm);background:var(--bg-muted);width:2.75rem;height:2.75rem;color:var(--primary);place-items:center;display:grid}.home-info-card__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:700}.home-info-card__value{color:var(--text-strong);flex-wrap:wrap;align-items:baseline;gap:.55rem;margin:.35rem 0 0;font-size:1.45rem;font-weight:700;display:flex}.home-info-card__condition{color:var(--text);font-size:1rem;font-weight:600}.home-info-card__meta{color:var(--text-muted);margin:.35rem 0 0;font-size:.92rem}.home-info-card--school-day{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);align-items:center;gap:.85rem 1rem;padding:.9rem 1rem}.home-info-card__school-main{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;min-width:0;display:grid}.home-info-card--school-day .home-info-card__value{gap:.4rem;margin-top:.2rem;font-size:1.3rem}.home-info-card--school-day .home-info-card__condition{letter-spacing:.03em;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:.15rem .5rem;font-size:.82rem;font-weight:700}.home-info-card--school-day .home-info-card__meta{margin-top:.25rem;font-size:.82rem}.home-info-card__periods{border-left:1px solid var(--border);background:color-mix(in srgb, var(--bg-muted) 70%, transparent);border-radius:var(--radius-sm);gap:.22rem;min-width:0;margin:0;padding:.55rem .7rem;list-style:none;display:grid}.home-info-card__periods li{grid-template-columns:4.5rem minmax(0,1fr);align-items:baseline;gap:.45rem;font-size:.8rem;line-height:1.25;display:grid}.home-info-card__period-label{color:var(--text-muted);letter-spacing:.01em;font-weight:700}.home-info-card__period-time{color:var(--text-strong);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.home-info-card__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.75rem 0 0;display:grid}.home-info-card__stats dt{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.72rem}.home-info-card__stats dd{color:var(--text-strong);margin:.15rem 0 0;font-weight:600}@media (width<=720px){.home-info-strip,.home-info-card--school-day{grid-template-columns:1fr}.home-info-card__periods{border-left:0;border-top:1px solid var(--border)}.home-info-card__stats{grid-template-columns:1fr}.home-banner__inner{min-height:0;padding:1.65rem 0 1.75rem}.home-banner__title{font-size:clamp(2rem,9vw,2.75rem)}}.team-page{max-width:1200px;margin:0 auto;padding:48px 24px 80px}.team-header{border-bottom:1px solid #e5e9f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:24px;display:flex}.team-title{color:#1e2a4a;margin:0;font-size:2.5rem;font-weight:700}.team-subtitle{color:#6b7280;max-width:320px;font-size:.95rem}.member-grid{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:56px;display:grid}@media (width<=900px){.member-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.member-grid{grid-template-columns:1fr}}.member-card{text-align:center;background:#fff;border:1px solid #e5e9f0;border-radius:12px;padding:36px 24px}.member-avatar,.member-avatar-photo{border-radius:50%;width:160px;height:160px;margin:0 auto 16px}.member-avatar{color:#fff;justify-content:center;align-items:center;font-size:2.8rem;font-weight:700;display:flex}.member-avatar-photo{object-fit:cover}.member-name{color:#1e2a4a;margin:0 0 4px;font-size:1.05rem;font-weight:700}.member-role{color:#2c5eb0;letter-spacing:.03em;text-transform:uppercase;margin:0 0 4px;font-size:.8rem;font-weight:600}.member-grade{color:#9ca3af;margin:0;font-size:.85rem}.officer-row{border-top:1px solid #e5e9f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:24px;display:flex}.who-we-are__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-left:auto;display:flex}.officer-list{flex-wrap:wrap;gap:40px;display:flex}.officer-list__item{min-width:140px}.officer-list__name{color:#1e2a4a;margin:0 0 2px;font-size:1.1rem;font-weight:700}.officer-list__role{color:#2c5eb0;letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:600}.btn-meet-team{color:#fff;white-space:nowrap;background:#1e2a4a;border:1px solid #0000;border-radius:999px;flex-shrink:0;padding:12px 24px;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.btn-meet-team:hover{color:#1e2a4a;background:0 0;border-color:#1e2a4a}.btn-meet-team--outline{color:#1e2a4a;background:0 0;border:1px solid #1e2a4a}.btn-meet-team--outline:hover{color:#fff;background:#1e2a4a}.who-we-are__top{grid-template-columns:280px 1fr;align-items:center;gap:32px;margin-bottom:32px;display:grid}@media (width<=700px){.who-we-are__top{grid-template-columns:1fr}}.who-we-are__photo{aspect-ratio:3/4;border-radius:16px;overflow:hidden}.who-we-are__photo img{object-fit:cover;width:100%;height:100%;display:block}.who-we-are__photo-placeholder{color:#9ca3af;text-align:center;background:#eef1f6;border:1px dashed #c7cdd8;border-radius:16px;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;font-size:.95rem;font-weight:600;display:flex}.sport-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=900px){.sport-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.sport-grid{grid-template-columns:1fr}}.sport-card{background:#fff;border:1px solid #e5e9f0;border-radius:12px;padding:28px 24px}.sport-card__icon{margin-bottom:12px;font-size:2rem}.sport-card__name{color:#1e2a4a;margin:0 0 8px;font-size:1.15rem;font-weight:700}.sport-card__description{color:#6b7280;margin:0;font-size:.9rem;line-height:1.5}.section-header{margin:40px 0 20px}.section-header__title{color:#1e2a4a;margin:0 0 4px;font-size:1.5rem;font-weight:700}.section-header__subtitle{color:#6b7280;margin:0;font-size:.9rem}.athlete-grid{grid-template-columns:repeat(5,1fr);gap:20px;margin-bottom:16px;display:grid}@media (width<=1000px){.athlete-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=620px){.athlete-grid{grid-template-columns:repeat(2,1fr)}}.athlete-card{text-align:center;background:#fff;border:1px solid #e5e9f0;border-radius:12px;padding:20px 16px;position:relative}.athlete-card__remove{z-index:1;color:#1e2a4a;cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;place-items:center;width:2rem;height:2rem;padding:0;font-size:1.5rem;line-height:1;display:grid;position:absolute;top:.55rem;right:.55rem}.athlete-card__remove:hover:not(:disabled){color:#b91c1c;background:#fee2e2}.athlete-card__remove:disabled{cursor:wait;opacity:.55}.athlete-card--add{aspect-ratio:.62;color:#1e2a4a;cursor:pointer;background:#fff;border:1px solid #e5e9f0;border-radius:12px;justify-content:center;place-items:center;transition:border-color .15s,background .15s,color .15s;display:grid}.athlete-card--add:hover,.athlete-card--add:active{color:#1e2a4a;background:#eaf3ff;border-color:#8db8e8}.athlete-card__add-icon{color:#2c5eb0;border:2px solid #2c5eb0;border-radius:50%;place-items:center;width:4rem;height:4rem;font-size:2.5rem;font-weight:400;line-height:1;transition:background .15s,color .15s;display:grid}.athlete-card--add:hover .athlete-card__add-icon,.athlete-card--add:active .athlete-card__add-icon{color:#2c5eb0;background:#fff;border-color:#2c5eb0}.athlete-card--editor{text-align:center;animation:.4s both athlete-editor-enter;display:block}@keyframes athlete-editor-enter{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}.athlete-card__photo-button{cursor:pointer;background:0 0;border:0;border-radius:12px;width:100%;margin:0 0 14px;padding:0;display:block}.athlete-card--editor .athlete-card__photo{margin:0}.athlete-card__photo-button:hover .athlete-card__photo--placeholder{color:#fff;background:#2c5eb0}.athlete-card--editor .athlete-card__photo--placeholder{color:#2c5eb0;background:#eaf3ff;transition:background .2s,color .2s}.athlete-card--editor .input{text-align:center;background:0 0;border:0;border-radius:0;width:100%;height:24px;margin:0 0 2px;padding:0 .25rem;font-size:1rem;font-weight:700;line-height:1;display:block}.athlete-card--editor .input:last-of-type{color:#6b7280;height:20px;margin-bottom:0;font-size:.85rem;font-weight:400}.athlete-editor-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1rem 0 0;display:flex}.athlete-card__photo{aspect-ratio:3/4;object-fit:cover;border-radius:12px;width:100%;margin:0 0 14px;display:block}.athlete-card__photo--placeholder{color:#fff;justify-content:center;align-items:center;font-size:2.2rem;font-weight:700;display:flex}.athlete-card__name{color:#1e2a4a;margin:0 0 2px;font-size:1rem;font-weight:700}.athlete-card__sport{color:#6b7280;margin:0;font-size:.85rem}@media (prefers-reduced-motion:reduce){.athlete-card--editor{animation:none}}.event-list{flex-direction:column;gap:32px;display:flex}.event-card{background:#fff;border:1px solid #e5e9f0;border-radius:16px;grid-template-columns:420px 1fr;gap:40px;padding:32px;display:grid}.event-tabs{margin-bottom:2rem}@media (width<=900px){.event-card{grid-template-columns:1fr}}.event-card__photo{aspect-ratio:4/3;border-radius:12px;overflow:hidden}.event-card__photo img{object-fit:cover;width:100%;height:100%;display:block}.event-card__photo-placeholder{color:#9ca3af;background:#eef1f6;border:1px dashed #c7cdd8;border-radius:12px;justify-content:center;align-items:center;width:100%;height:100%;font-size:1rem;font-weight:600;display:flex}.event-card__content{flex-direction:column;justify-content:center;display:flex}.event-card__date{color:#2c5eb0;letter-spacing:.03em;text-transform:uppercase;margin:0 0 10px;font-size:.9rem;font-weight:700}.event-card__title{color:#1e2a4a;margin:0 0 16px;font-size:1.8rem;font-weight:700}.event-card__club{color:#1e2a4a;margin:-6px 0 14px;font-size:.9rem;font-weight:700}.event-review-photo{object-fit:cover;border:1px solid var(--border);border-radius:.75rem;width:min(100%,34rem);max-height:24rem;display:block}.clubs-toolbar{flex-direction:row;align-items:flex-end;gap:.75rem;display:flex}.clubs-toolbar .form-field{flex:1;min-width:0}@media (width>=701px){.clubs-toolbar .form-field{order:1}.clubs-toolbar .promo-lunch-filter{order:2}}.promo-lunch-filter{color:#4b9462;min-height:2.75rem;font:inherit;cursor:pointer;background:0 0;border:1px solid #4b9462;border-radius:999px;padding:.7rem 1.1rem;font-weight:700;transition:background .15s,color .15s}.promo-lunch-filter:hover:not(:disabled){background:#4b94621f}.promo-lunch-filter--active{color:#fff;background:#4b9462}.promo-lunch-filter--active:hover:not(:disabled){background:#4b9462d9}.promo-lunch-filter:disabled{cursor:not-allowed;opacity:.65}@media (width<=700px){.clubs-toolbar{flex-direction:column;align-items:stretch}.clubs-toolbar .form-field,.promo-lunch-filter{width:100%}}.event-card__description{color:#6b7280;margin:0;font-size:1.05rem;line-height:1.7}.event-card__more{color:#2c5eb0;font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:.75rem;padding:0;font-weight:700}.event-card__more:hover{text-decoration:underline}@media (width<=720px){.admin-request-hero__heading{flex-direction:column}.admin-request-hero__status{justify-content:flex-start}.admin-request-hero__meta{flex-direction:column;gap:.8rem}.admin-request-hero__divider{width:100%;height:1px}.admin-request-subsection__grid,.admin-request-card__details,.admin-request-card>.meta-list,.admin-request-card>.detail-list{grid-template-columns:1fr}.admin-request-card__details>p:first-child,.admin-request-card>.detail-list>.detail-list__description{grid-column:auto}.funding-cost-row{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;padding:1rem 0}.funding-cost-row>:first-child{grid-column:1/-1}.funding-cost-row>button{justify-self:start}.funding-review-row,.funding-request-summary{flex-direction:column;align-items:flex-start}.funding-request-summary__meta{justify-content:space-between;width:100%}.funding-signature-review__grid{grid-template-columns:1fr}}
