:root{--fmu-blue:#8fa8c7;--fmu-blue-strong:#315b8f;--fmu-peach:#f0b894;--soft-gold:#dcc58f;--sage:#b5c0a8;--warm-rose:#d9a99a;--page:#f4efe3;--card:#faf6ec;--ink:#2e2a24;--muted:#6b665d;--rule:#c9c2b4;--white:#fffdf7;--danger:#a8553f;--shadow:0 18px 60px #2e2a241f;--radius:6px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--page);margin:0;font-family:Georgia,Iowan Old Style,Cambria,Times New Roman,serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}a{color:inherit}.topbar{z-index:20;border-bottom:1px solid var(--rule);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#faf6ecf0;justify-content:space-between;align-items:center;gap:18px;padding:14px clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.brand{min-width:220px;color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{background:#fffdf7b8;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.brand-mark img{object-fit:contain;width:44px;height:44px}.brand-text{gap:2px;display:grid}.brand-text strong{font-size:1.02rem;font-weight:400}.brand-text span{color:var(--muted);font-size:.78rem;font-style:italic}.tabs,.segmented{align-items:center;gap:6px;display:flex}.tabs{flex-wrap:wrap;justify-content:flex-end}.tab,.segment{border-radius:var(--radius);min-height:38px;color:var(--muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;text-decoration:none;display:inline-flex}.tab{padding:0 12px}.segment{min-width:74px;padding:0 9px;font-size:.86rem}.tab svg,button svg{stroke-width:1.8px;width:17px;height:17px}.tab.is-active,.segment.is-active{color:var(--ink);background:var(--white);border-color:var(--rule)}main{width:min(1420px,100%);min-width:0;margin:0 auto;padding:26px clamp(16px,4vw,48px) 48px}.hero-shell{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:stretch;gap:24px;min-height:360px;margin-bottom:34px;padding-bottom:24px;display:grid}.hero-image{border-radius:var(--radius);min-height:300px;box-shadow:var(--shadow);background:var(--card);overflow:hidden}.logo-hero{background:linear-gradient(90deg, #315b8f21 0 28%, transparent 28% 34%, #f0b8942e 34% 100%), var(--card);border:1px solid var(--rule);place-items:center;min-height:360px;padding:clamp(28px,5vw,54px);display:grid;position:relative}.logo-hero:before{content:"";aspect-ratio:1;filter:blur(1px);pointer-events:none;background:#8fa8c738;border-radius:50%;grid-area:1/1;width:min(252px,66%)}.logo-hero>img{object-fit:contain;filter:drop-shadow(0 18px 28px #2e2a2433);z-index:1;grid-area:1/1;width:min(210px,56%);height:auto}.logo-hero-copy{border-top:1px solid #2e2a2442;gap:5px;max-width:min(360px,100% - 44px);padding-top:14px;display:grid;position:absolute;bottom:20px;right:22px}.logo-hero-copy strong{overflow-wrap:anywhere;font-size:clamp(1.4rem,3vw,2.15rem);font-weight:400;line-height:1}.logo-hero-copy span{color:var(--muted);overflow-wrap:anywhere;font-size:.98rem;font-style:italic}.hero-copy{flex-direction:column;justify-content:center;gap:16px;min-width:0;padding:clamp(18px,3vw,34px) 0;display:flex}.eyebrow{color:var(--muted);text-transform:uppercase;margin:0;font-size:.76rem;font-style:italic}h1,h2,h3,p{margin-top:0}h1{max-width:720px;margin-bottom:0;font-size:clamp(2rem,5vw,4.2rem);font-weight:400;line-height:.98}h2{margin-bottom:0;font-size:clamp(1.55rem,3vw,2.2rem);font-weight:400;line-height:1.1}h3{margin-bottom:0;font-size:1.2rem;font-weight:400;line-height:1.15}.lede{max-width:680px;color:var(--muted);margin-bottom:0;font-size:1.05rem;line-height:1.55}.hero-actions,.form-actions{flex-wrap:wrap;gap:10px;display:flex}.primary-action,.secondary-action,.ghost-action,.danger-action{border-radius:var(--radius);border:1px solid var(--rule);justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;text-decoration:none;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.primary-action{color:var(--white);background:var(--fmu-blue-strong);border-color:var(--fmu-blue-strong)}.secondary-action{color:var(--ink);background:var(--white)}.ghost-action{color:var(--muted);background:0 0}.danger-action{color:var(--white);background:var(--danger);border-color:var(--danger)}.primary-action:hover,.secondary-action:hover,.ghost-action:hover{border-color:var(--fmu-blue-strong);transform:translateY(-1px)}.danger-action:hover{transform:translateY(-1px)}.primary-action:disabled,.secondary-action:disabled,.danger-action:disabled{opacity:.55;cursor:wait;transform:none}.small{min-height:34px;padding:0 11px;font-size:.88rem}.icon-only{width:44px;padding:0}.stat-strip{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);min-width:0;min-height:112px;padding:18px}.stat-card strong{margin:6px 0 4px;font-size:2.1rem;font-weight:400;line-height:1;display:block}.stat-card span{color:var(--muted);font-size:.92rem;font-style:italic}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.section-heading.compact{margin-top:30px}.booking-layout,.message-layout,.office-layout,.admin-grid{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);align-items:start;gap:20px;display:grid}.office-layout{grid-template-columns:minmax(280px,.42fr) minmax(0,1fr)}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.35fr);margin-bottom:20px}.panel{border:1px solid var(--rule);border-radius:var(--radius);background:#faf6ecd6;padding:clamp(16px,3vw,24px);box-shadow:0 12px 32px #2e2a240f}.panel-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.status-pill,.tag{min-height:28px;color:var(--ink);background:var(--white);border:1px solid var(--rule);white-space:nowrap;border-radius:999px;align-items:center;padding:0 9px;font-size:.78rem;font-style:italic;display:inline-flex}.status-pill.pending{background:#dcc58f52}.status-pill.approved{background:#b5c0a86b}.status-pill.declined,.status-pill.cancelled{background:#d9a99a5c}.status-pill.completed{background:#8fa8c74d}.status-pill.video_received{background:#f0b8945c}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}label{color:var(--muted);gap:7px;font-size:.88rem;font-style:italic;display:grid}label.checkbox{align-items:center;gap:8px;font-style:normal;display:inline-flex}label.checkbox input{width:auto;min-height:0}.wide{grid-column:1/-1}input,select,textarea{width:100%;min-height:44px;color:var(--ink);background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);outline:none;padding:10px 12px}textarea{resize:vertical;min-height:108px}input:focus,select:focus,textarea:focus{border-color:var(--fmu-blue-strong);box-shadow:0 0 0 3px #8fa8c747}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-actions{margin-top:18px}.form-feedback{border-radius:var(--radius);border:1px solid var(--rule);background:var(--white);margin:14px 0 0;padding:12px 14px;line-height:1.45}.form-feedback.error{border-color:var(--danger);color:var(--danger)}.form-feedback.success{border-color:var(--sage)}.slot-list,.calendar-stack{gap:10px;display:grid}.slot-card,.staff-card,.thread-button,.appointment-row{border:1px solid var(--rule);border-radius:var(--radius);background:var(--white)}.slot-card,.staff-card,.thread-button{padding:14px}.slot-card{text-align:left;gap:10px;display:grid}.slot-card.is-selected{border-color:var(--fmu-blue-strong);box-shadow:inset 4px 0 0 var(--fmu-blue-strong)}.slot-card.is-full{opacity:.55}.slot-top,.staff-top{justify-content:space-between;align-items:start;gap:12px;display:flex}.slot-date{font-size:1.05rem;line-height:1.2}.slot-meta,.staff-meta,.appointment-meta{color:var(--muted);font-size:.88rem;font-style:italic;line-height:1.35}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag.blue{background:#8fa8c738}.tag.peach{background:#f0b8943d}.tag.sage{background:#b5c0a847}.tag.rose{background:#d9a99a3d}.staff-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.staff-identity{align-items:center;gap:12px;min-width:0;display:flex}.profile-avatar{width:52px;height:52px;color:var(--white);background:var(--fmu-blue-strong);border:2px solid var(--fmu-peach);border-radius:50%;flex:none;place-items:center;font-size:1rem;display:grid;overflow:hidden}.profile-avatar.large{width:82px;height:82px;font-size:1.4rem}.profile-avatar img{object-fit:cover;width:100%;height:100%}.staff-card{align-content:space-between;gap:18px;min-height:220px;display:grid}.staff-card p{color:var(--muted);margin-bottom:0;font-size:.94rem;line-height:1.45}.staff-actions{flex-wrap:wrap;gap:8px;display:flex}.profile-summary{border-bottom:1px solid var(--rule);grid-template-columns:82px minmax(0,1fr);align-items:center;gap:16px;margin-bottom:22px;padding-bottom:18px;display:grid}.profile-summary p{color:var(--muted);margin-bottom:8px;line-height:1.45}.office-appointments{border-top:1px solid var(--rule);gap:10px;margin-top:20px;padding-top:18px;display:grid}.alert-list{gap:10px;display:grid}.alert-card{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.alert-card.is-read{opacity:.64}.alert-card p{color:var(--muted);margin-bottom:0;font-style:italic}.admin-lock{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.admin-lock svg{width:34px;height:34px;color:var(--fmu-blue-strong)}.admin-lock p{color:var(--muted);margin-bottom:0;line-height:1.45}.appointment-table{gap:10px;display:grid}.appointment-row{gap:12px;padding:14px;display:grid}.appointment-main{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.appointment-name{margin-bottom:4px;font-size:1.05rem}.row-controls{flex-wrap:wrap;gap:8px;display:flex}.empty-state{color:var(--muted);background:var(--white);border:1px dashed var(--rule);border-radius:var(--radius);padding:24px;font-style:italic;line-height:1.4}.message-feed{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);align-content:start;gap:10px;max-height:320px;padding:14px;display:grid;overflow:auto}.message{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);width:min(86%,620px);padding:12px 14px}.message.requester{background:#8fa8c72e;justify-self:end}.message strong{margin-bottom:5px;font-weight:400;display:block}.message p{margin-bottom:6px;line-height:1.45}.message time{color:var(--muted);font-size:.78rem;font-style:italic}.message-composer{grid-template-columns:minmax(0,1fr) 44px;gap:8px;margin-top:12px;display:grid}.upload-progress{background:var(--white);border:1px solid var(--rule);border-radius:999px;height:8px;overflow:hidden}.upload-progress div{background:var(--fmu-blue-strong);height:100%;transition:width .2s}.detail-list{gap:8px;margin:0;padding:0;display:grid}.detail-list div{border-bottom:1px dashed var(--rule);grid-template-columns:160px minmax(0,1fr);gap:12px;padding:8px 0;display:grid}.detail-list dt{color:var(--muted);font-size:.9rem;font-style:italic}.detail-list dd{overflow-wrap:anywhere;margin:0}.notice-strip{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);background:#dcc58f38;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:.92rem;line-height:1.4;display:flex}@media (max-width:1120px){.hero-shell,.booking-layout,.message-layout,.office-layout,.admin-grid{grid-template-columns:1fr}.staff-grid,.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:780px){.topbar{flex-direction:column;align-items:stretch;position:static}.tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.tab{width:100%;min-width:0;padding-inline:8px}.tab span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}main{padding-top:18px}.hero-shell{gap:18px;min-height:auto}.logo-hero{min-height:310px;padding-bottom:112px}.logo-hero>img{width:min(190px,70%)}.logo-hero-copy{max-width:none;bottom:18px;left:18px;right:18px}.hero-copy{padding:0}.staff-grid,.form-grid{grid-template-columns:1fr}.panel-head,.section-heading,.admin-lock{flex-direction:column;align-items:stretch}.admin-lock{grid-template-columns:1fr;display:grid}.segmented{width:100%;overflow:auto}.segment{flex:1 0 96px}.detail-list div{grid-template-columns:1fr;gap:2px}}@media (max-width:560px){.tabs,.stat-strip{grid-template-columns:1fr}.tab{justify-content:center}h1{font-size:1.92rem;line-height:1.04}.hero-actions{grid-template-columns:1fr;display:grid}.primary-action,.secondary-action,.ghost-action,.danger-action{width:100%}}.weekly-grid{gap:2px;display:grid}.weekly-row{border-bottom:1px dashed var(--rule);grid-template-columns:40px minmax(0,1fr);align-items:start;gap:12px;padding:12px 0;display:grid;position:relative}.weekly-content{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.weekly-row:last-child{border-bottom:none}.day-dot{background:var(--fmu-blue-strong);width:34px;height:34px;color:var(--white);border-radius:50%;place-items:center;margin-top:3px;font-size:.85rem;display:grid}.weekly-ranges{gap:8px;padding-top:4px;display:grid}.weekly-unavail{color:var(--muted);padding-top:6px;font-style:italic}.weekly-range{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.weekly-range input[type=time]{width:132px;min-height:40px}.weekly-actions{gap:6px;display:flex}.icon-btn{border:1px solid var(--rule);border-radius:var(--radius);background:var(--white);width:38px;height:40px;color:var(--muted);place-items:center;transition:border-color .14s,color .14s;display:grid}.icon-btn:hover{border-color:var(--fmu-blue-strong);color:var(--ink)}.copy-popover{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);grid-column:1/-1;gap:10px;margin-top:10px;padding:14px;display:grid}.copy-popover p{color:var(--muted);margin:0;font-size:.9rem;font-style:italic}.copy-days{flex-wrap:wrap;gap:6px;display:flex}.weekly-tz{color:var(--fmu-blue-strong);margin:16px 0 0;font-style:italic}.time-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.time-selected{border-color:var(--fmu-blue-strong);background:#8fa8c738}.help-sub{margin:20px 0 10px;font-size:1.02rem}.help-p{color:var(--muted);margin-bottom:0;line-height:1.55}.help-steps{color:var(--muted);gap:8px;margin:0;padding-left:20px;line-height:1.5;display:grid}.help-q{border:1px solid var(--rule);border-radius:var(--radius);background:var(--white);margin-bottom:8px}.help-q summary{cursor:pointer;padding:12px 34px 12px 14px;list-style:none;position:relative}.help-q summary::-webkit-details-marker{display:none}.help-q summary:after{content:"+";color:var(--fmu-blue-strong);font-size:1.2rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.help-q[open] summary:after{content:"–"}.help-q[open] summary{border-bottom:1px dashed var(--rule)}.help-a{color:var(--muted);padding:12px 14px;line-height:1.55}.office-config{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;margin-top:20px;display:grid}@media (max-width:1120px){.office-config{grid-template-columns:1fr}}.share-wrap{gap:12px;display:grid}.share-actions{flex-wrap:wrap;gap:10px;display:flex}.share-qr{border:1px solid var(--rule);border-radius:var(--radius);background:var(--white);flex-wrap:wrap;align-items:center;gap:16px;padding:16px;display:flex}.share-qr img{border:1px solid var(--rule);border-radius:var(--radius);width:176px;height:176px}.share-qr-caption{color:var(--muted);max-width:280px;margin-bottom:10px;font-style:italic;line-height:1.4}.join-callout{border:1px solid #c9d4ee;border-left:4px solid var(--fmu-blue-strong);border-radius:var(--radius);background:#eef3fb;margin-bottom:18px;padding:18px 20px}.site-footer{background:#f6f8fc;border-top:1px solid #dbe2f0;margin-top:48px}.site-footer-inner{text-align:center;gap:10px;max-width:1120px;margin:0 auto;padding:24px 24px 32px;display:grid}.site-footer-brand{color:var(--fmu-blue-strong);margin:0;font-size:.9rem;font-weight:600}.site-footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:.88rem;display:flex}.site-footer-links a{color:var(--fmu-blue-strong);text-decoration:none}.site-footer-links a:hover{text-decoration:underline}.site-footer-links span{color:var(--muted)}.site-footer-sms{max-width:680px;color:var(--muted);margin:4px auto 0;font-size:.78rem;line-height:1.5}.site-footer-sms a{color:var(--fmu-blue-strong)}.season-shell{flex-direction:column;gap:18px;display:flex}.season-nav{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:6px;padding-bottom:4px;display:flex}.season-nav-item{border-radius:var(--radius);color:var(--muted);align-items:center;gap:7px;padding:8px 14px;font-size:.94rem;text-decoration:none;display:inline-flex}.season-nav-item:hover{background:var(--card);color:var(--ink)}.season-nav-item.is-active{background:var(--fmu-blue-strong);color:var(--white)}.section-heading-note{color:var(--muted);margin:0;font-size:.86rem;font-style:italic}.season-stat-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:18px;display:grid}.season-stat{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:16px 18px}.season-stat.is-deadline{border-color:var(--fmu-peach);background:#f6e6d6}.season-stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:.78rem}.season-stat-value{margin:0;font-size:1.28rem;line-height:1.3}.season-stat-value.is-quiet{color:var(--muted);font-size:1.05rem;font-style:italic}.season-stat-note{color:var(--muted);min-height:1.2em;margin:6px 0 0;font-size:.88rem}.season-panel{margin-bottom:18px}.season-panel-foot{margin:12px 0 0;font-size:.88rem}.season-count{color:var(--muted);font-size:.86rem}.season-empty{color:var(--muted);margin:0;font-style:italic}.season-note{background:var(--card);border-left:3px solid var(--fmu-blue-strong);border-radius:0;margin:0 0 12px;padding:9px 13px;font-size:.9rem}.season-chip{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--card);border:1px solid var(--rule);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:.74rem;display:inline-block}.season-chip.is-performance{border-color:var(--fmu-blue);color:#24405f;background:#dde6f1}.season-chip.is-recording{border-color:var(--warm-rose);color:#7a3f2f;background:#f2e0da}.season-chip.is-rehearsal{border-color:var(--sage);color:#48543c;background:#e4e9dd}.season-chip.is-deadline{border-color:var(--fmu-peach);color:#8a4a1e;background:#f7e2cd}.season-chip.is-announcement{border-color:var(--soft-gold);color:#6d5c2c;background:#efe7d3}.season-chip.is-status-submitted,.season-chip.is-status-recorded{border-color:var(--sage);color:#48543c;background:#e4e9dd}.season-chip.is-status-retired{background:var(--card);color:var(--muted)}.season-event{background:var(--white);border:1px solid var(--rule);border-left:4px solid var(--rule);border-radius:var(--radius);padding:16px 18px}.season-event.is-performance{border-left-color:var(--fmu-blue-strong)}.season-event.is-recording{border-left-color:var(--warm-rose)}.season-event.is-rehearsal{border-left-color:var(--sage)}.season-event.is-deadline{border-left-color:var(--fmu-peach)}.season-event.is-announcement{border-left-color:var(--soft-gold)}.season-event-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.season-event-head h3{margin:2px 0 0;font-size:1.1rem}.season-event-date{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.8rem}.season-event-activity{color:var(--muted);margin:4px 0 0;font-style:italic}.season-event-meta{color:var(--muted);margin:8px 0 0;font-size:.88rem}.season-focus{margin:10px 0 0;padding-left:20px}.season-focus li{margin:3px 0;font-size:.94rem}.season-event-notes{color:var(--muted);margin:10px 0 0;font-size:.9rem}.season-show-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.season-show-tile{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:12px 14px;text-decoration:none;display:block}.season-show-tile:hover{border-color:var(--fmu-blue-strong)}.season-show-code{margin:0;font-size:1rem}.season-show-status{color:var(--muted);margin:2px 0 0;font-size:.84rem}.season-show-note{color:var(--muted);margin:4px 0 0;font-size:.8rem}.season-shows{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.season-show-card{margin:0}.season-show-facts{flex-wrap:wrap;gap:18px;margin:0 0 12px;display:flex}.season-show-facts dt{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:.74rem}.season-show-facts dd{margin:2px 0 0;font-size:.96rem}.season-show-notes{color:var(--muted);margin:0 0 12px;font-size:.9rem}.season-checklist{margin:0 0 12px;padding:0;list-style:none}.season-checklist li{margin:5px 0}.season-checklist label,.season-check{color:var(--ink);align-items:center;gap:9px;font-size:.94rem;font-style:normal;display:flex}.season-checklist input[type=checkbox],.season-check input[type=checkbox],.season-form-grid label.season-check input[type=checkbox]{flex:none;width:auto;min-height:0;margin:0}.season-checklist label span,.season-check span{flex:auto}.season-show-edit{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:flex-end;gap:10px;padding-top:12px;display:flex}.season-show-edit label{flex-direction:column;flex:140px;gap:4px;display:flex}.season-show-edit span,.season-filters span,.season-form-grid span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.season-legend{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.season-cal-row.is-head,.season-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.season-cal-row.is-head{margin-bottom:4px}.season-cal-head{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px;font-size:.74rem}.season-cal-cell{background:var(--white);border:1px solid var(--rule);border-radius:4px;min-height:76px;padding:5px 6px}button.season-cal-cell{width:100%;min-height:76px;font:inherit;color:inherit;text-align:left;cursor:pointer;display:block}button.season-cal-cell:hover{border-color:var(--fmu-blue-strong)}.season-cal-cell.is-selected{border-color:var(--fmu-blue-strong);background:var(--card);border-width:2px}.season-cal-bars{gap:2px;margin-top:3px;display:none}.season-cal-bar{background:var(--rule);border-radius:2px;height:4px;display:block}.season-cal-bar.is-performance{background:var(--fmu-blue-strong)}.season-cal-bar.is-recording{background:var(--warm-rose)}.season-cal-bar.is-rehearsal{background:var(--sage)}.season-cal-bar.is-deadline{background:var(--fmu-peach)}.season-cal-bar.is-announcement{background:var(--soft-gold)}.season-cal-hint{color:var(--muted);margin:0 0 12px;font-size:.86rem;font-style:italic;display:none}.season-cal-detail{border-top:1px solid var(--rule);flex-direction:column;gap:12px;margin-top:14px;padding-top:14px;display:flex}.season-cal-detail-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.season-cal-detail-head h4{margin:0;font-size:1rem}.season-cal-detail-head button{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);background:0 0;padding:4px 10px;font-size:.82rem}.season-cal-cell.is-empty{background:0 0;border-color:#0000}.season-cal-cell.is-today{border-color:var(--fmu-blue-strong);border-width:2px}.season-cal-day{color:var(--muted);font-size:.8rem}.season-cal-event{background:var(--card);border-left:3px solid var(--rule);border-radius:3px;margin-top:3px;padding:2px 5px;font-size:.72rem;line-height:1.25;display:block}.season-cal-event.is-performance{border-left-color:var(--fmu-blue-strong);background:#dde6f1}.season-cal-event.is-recording{border-left-color:var(--warm-rose);background:#f2e0da}.season-cal-event.is-rehearsal{border-left-color:var(--sage);background:#e4e9dd}.season-cal-event.is-deadline{border-left-color:var(--fmu-peach);background:#f7e2cd;font-weight:700}.season-cal-event.is-announcement{border-left-color:var(--soft-gold);background:#efe7d3}.season-week-stack,.season-list{flex-direction:column;gap:14px;display:flex}.season-list-row{position:relative}.season-row-actions{gap:8px;margin-top:8px;display:flex}.season-row-actions button{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);background:0 0;align-items:center;gap:6px;padding:5px 11px;font-size:.84rem;display:inline-flex}.season-row-actions button:hover{border-color:var(--fmu-blue-strong);color:var(--ink)}.season-row-actions button.is-danger:hover{border-color:var(--danger);color:var(--danger)}.season-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.season-filters label{flex-direction:column;gap:4px;display:flex}.season-filters button{background:var(--fmu-blue-strong);border-radius:var(--radius);color:var(--white);border:none;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;display:inline-flex}.season-form{margin-bottom:18px}.season-form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.season-form-grid label{flex-direction:column;gap:4px;display:flex}.season-form-grid label.is-wide{grid-column:1/-1}.season-form-grid label.season-check{flex-direction:row;align-items:center}.season-form-grid input,.season-form-grid select,.season-form-grid textarea,.season-filters select,.season-show-edit input,.season-show-edit select,.season-item-resolve input,.season-item-add input{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);padding:8px 10px}.season-form-grid label.season-check input{width:auto}.season-form-actions{margin-top:14px}.season-open-list,.season-item-list{margin:0;padding:0;list-style:none}.season-open-list li,.season-item-list li{border-top:1px solid var(--rule);padding:10px 0}.season-open-list li:first-child,.season-item-list li:first-child{border-top:none}.season-open-list p,.season-item-q{margin:0;font-size:.95rem}.season-item-q.is-done{color:var(--muted);text-decoration:line-through}.season-item-a{margin:4px 0 0;font-size:.9rem;font-style:italic}.season-due{color:var(--muted);margin-top:4px;font-size:.8rem;display:inline-block}.season-due.is-soon{color:var(--danger)}.season-item-resolve,.season-item-add{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.season-item-resolve input,.season-item-add input{flex:200px}.season-item-resolve button,.season-item-add button,.season-item-list button{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);background:0 0;align-items:center;gap:6px;padding:7px 13px;font-size:.86rem;display:inline-flex}.season-item-resolve button:hover,.season-item-add button:hover{border-color:var(--fmu-blue-strong);color:var(--ink)}.season-item-add{border-top:1px solid var(--rule);margin-top:14px;padding-top:14px}.season-resolved{margin-top:14px}.season-resolved summary{cursor:pointer;color:var(--muted);font-size:.88rem}.season-change-list{margin:0;padding:0;list-style:none}.season-change-list li{border-top:1px solid var(--rule);justify-content:space-between;gap:12px;padding:7px 0;font-size:.9rem;display:flex}.season-change-list li:first-child{border-top:none}.season-change-list time{color:var(--muted);white-space:nowrap;font-size:.82rem}@media (max-width:720px){.season-cal-cell,button.season-cal-cell{min-height:52px}.season-cal-event{display:none}.season-cal-bars{flex-direction:column;display:flex}.season-cal-hint{display:block}.season-cal-head{letter-spacing:.04em;font-size:.66rem}.season-cal-day{font-size:.76rem}.season-stat-value{font-size:1.12rem}}@media print{.topbar,.season-nav,.site-footer,.season-row-actions,.season-filters button,.season-item-add,.season-show-edit{display:none!important}.season-event,.panel{break-inside:avoid}body{background:#fff}}.season-heading-actions{align-items:center;gap:12px;display:flex}.season-print-button,.season-rotate{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:7px 13px;font-size:.86rem;display:inline-flex}.season-print-button:hover,.season-rotate:hover{border-color:var(--fmu-blue-strong);color:var(--ink)}.season-rotate{margin-top:14px}.season-share-lead{margin:0 0 14px;font-size:.95rem}.season-feed-url{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.season-feed-url code{overflow-wrap:anywhere;min-width:0;color:var(--ink);flex:260px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.season-feed-url button{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);align-items:center;gap:6px;padding:6px 12px;font-size:.84rem;display:inline-flex}.season-feed-url button:hover{border-color:var(--fmu-blue-strong);color:var(--ink)}.season-howto{margin-top:14px}.season-howto summary{cursor:pointer;color:var(--muted);font-size:.88rem}.season-howto ul{margin:10px 0 0;padding-left:20px;font-size:.9rem}.season-howto li{margin:6px 0}.season-share-caution{border-left:3px solid var(--fmu-peach);background:#f6e6d6;margin:14px 0 0;padding:9px 13px;font-size:.86rem}.season-optin-list{margin:0;padding:0;list-style:none}.season-optin-list li{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.season-optin-list li:first-child{border-top:none}.season-optin-email{color:var(--muted);font-size:.84rem}@media print{.season-print-button,.season-heading-actions .section-heading-note,.season-legend,.season-cal-hint{display:none!important}.season-event{border:1px solid #999;border-left-width:4px;padding:10px 12px}.season-list-row,.season-week-stack>*{margin-bottom:8px}a[href]:after{content:""}}.lab-back{color:var(--muted);text-transform:none;align-items:center;gap:5px;font-style:normal;text-decoration:none;display:inline-flex}.lab-back:hover{color:var(--ink)}.lab-board-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.lab-board-tile{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:16px;text-decoration:none;display:block}.lab-board-tile:hover{border-color:var(--fmu-blue-strong)}.lab-board-title{margin:0;font-size:1.05rem}.lab-board-meta{color:var(--muted);margin:4px 0 0;font-size:.84rem}.lab-segment-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;display:flex}.lab-segment{border:1px solid var(--rule);color:var(--muted);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:6px 13px;font-size:.86rem;display:inline-flex}.lab-segment:hover{border-color:var(--fmu-blue-strong);color:var(--ink)}.lab-segment.is-active{background:var(--fmu-blue-strong);border-color:var(--fmu-blue-strong);color:var(--white)}.lab-segment-add input{border:1px dashed var(--rule);background:0 0;border-radius:999px;width:110px;min-height:0;padding:6px 13px;font-size:.86rem}.lab-add-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.lab-type-picker{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.lab-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:14px;display:grid}.lab-card{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px}.lab-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.lab-card-kind{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:5px;margin:0;font-size:.76rem;display:inline-flex}.lab-card-title{margin:6px 0 0;font-size:1.05rem}.lab-card-body{white-space:pre-wrap;margin:8px 0 0;font-size:.93rem}.lab-card-foot{border-top:1px solid var(--rule);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:8px;font-size:.8rem;display:flex}.lab-embed{aspect-ratio:16/9;border-radius:var(--radius);background:var(--card);margin-top:8px;position:relative;overflow:hidden}.lab-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.lab-audio{width:100%;margin-top:8px}.lab-image{border-radius:var(--radius);border:1px solid var(--rule);width:100%;margin-top:8px}.lab-linkout{color:var(--fmu-blue-strong);overflow-wrap:anywhere;align-items:center;gap:6px;margin-top:8px;font-size:.86rem;display:inline-flex}.lab-icon-button{color:var(--muted);background:0 0;border:none;padding:4px;display:inline-flex}.lab-icon-button:hover{color:var(--danger)}.lab-comment-toggle{border:1px solid var(--rule);color:var(--muted);background:0 0;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:.8rem;display:inline-flex}.lab-comment-toggle:hover{border-color:var(--fmu-blue-strong);color:var(--ink)}.lab-comments{margin-top:10px}.lab-comment{padding:8px 0 0}.lab-comment-meta{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:.76rem;display:flex}.lab-comment-body{white-space:pre-wrap;margin:2px 0 0;font-size:.9rem}.lab-comment-add{gap:8px;margin-top:10px;display:flex}.lab-comment-add input{flex:1;min-height:36px;padding:6px 10px;font-size:.9rem}.lab-comment-add button{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);background:0 0;padding:6px 14px;font-size:.86rem}.lab-comment-add button:hover{border-color:var(--fmu-blue-strong);color:var(--ink)}.season-show-lab{margin:0 0 12px;font-size:.88rem}.season-show-lab a{color:var(--fmu-blue-strong);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.season-show-lab a:hover{text-decoration:underline}
