: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}.docs-gate{justify-items:start;gap:10px;max-width:560px;display:grid}.docs-gate svg{width:28px;height:28px;color:var(--fmu-blue-strong)}.docs-gate h3{margin:0}.docs-gate p{color:var(--muted);margin:0}.docs-gate-form{flex-wrap:wrap;gap:10px;width:100%;margin-top:6px;display:flex}.docs-gate-form input{flex:240px}.docs-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.docs-search{background:var(--white);border:1px solid var(--rule);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.docs-search input{background:0 0;border:none;width:190px;min-height:36px;padding:0}.docs-list{margin:0;padding:0;list-style:none}.docs-row{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);align-items:flex-start;gap:12px;margin-bottom:10px;padding:14px 16px;display:flex}.docs-row-icon{color:var(--fmu-blue-strong);flex:none;margin-top:2px}.docs-row-main{flex:auto;min-width:0}.docs-row-title{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:1.02rem;display:flex}.docs-row-meta{color:var(--muted);margin:2px 0 0;font-size:.82rem}.docs-row-desc{color:var(--muted);margin:6px 0 0;font-size:.9rem}.docs-row-actions{flex:none;gap:8px;display:flex}.docs-row-actions button{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);background:0 0;align-items:center;gap:6px;padding:6px 12px;font-size:.86rem;display:inline-flex}.docs-row-actions button:hover{border-color:var(--fmu-blue-strong);color:var(--ink)}.docs-row-actions button.is-danger:hover{border-color:var(--danger);color:var(--danger)}.docs-status-chip{letter-spacing:.05em;text-transform:uppercase;background:var(--card);border:1px solid var(--rule);color:var(--muted);border-radius:999px;margin-left:8px;padding:2px 9px;font-size:.72rem}.docs-status-chip[data-status=granted]{border-color:var(--sage);color:#48543c;background:#e4e9dd}.docs-status-chip[data-status=requested]{border-color:var(--fmu-peach);color:#8a4a1e;background:#f7e2cd}.docs-status-chip[data-status=revoked],.docs-status-chip[data-status=declined]{border-color:var(--warm-rose);color:#7a3f2f;background:#f2e0da}.lessons-index-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:18px;display:grid}.lessons-song-form{gap:10px;margin-bottom:14px;display:grid}.lessons-song-form label{gap:4px;display:grid}.lessons-song-list{margin:0;padding:0;list-style:none}.lessons-song-list li{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.lessons-song-list li:first-child{border-top:none}.lessons-song-title{align-items:center;gap:7px;margin:0;font-size:1rem;display:inline-flex}.lessons-song-sections{flex-wrap:wrap;gap:5px;margin:4px 0 0;display:flex}.lessons-section-chip{background:var(--card);border:1px solid var(--rule);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:.76rem}.lessons-week-create{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.lessons-week-create label{gap:4px;display:grid}.lessons-week-create input{width:auto}.lessons-week-list{margin:0;padding:0;list-style:none}.lessons-week-list li{border-top:1px solid var(--rule);padding:8px 0}.lessons-week-list li:first-child{border-top:none}.lessons-week-list a{color:var(--fmu-blue-strong);text-decoration:none}.lessons-week-list a:hover{text-decoration:underline}.lessons-song-picker{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-bottom:12px;display:grid}.lessons-proposal-note{background:var(--card);border-left:3px solid var(--fmu-blue-strong);margin:0 0 12px;padding:9px 13px;font-size:.9rem}.lessons-week-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));align-items:start;gap:12px;display:grid}.lessons-day{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);padding:12px 14px}.lessons-day-name{justify-content:space-between;align-items:baseline;margin:0 0 8px;font-size:1.02rem;display:flex}.lessons-day-name span{color:var(--muted);font-size:.8rem}.lessons-day-minutes{color:var(--muted);align-items:center;gap:6px;margin-bottom:10px;font-size:.84rem;display:flex}.lessons-day-minutes input{width:80px;min-height:36px;padding:4px 8px}.lessons-day-minutes-static{color:var(--muted);margin:0 0 10px;font-size:.84rem}.lessons-target-list{margin:0 0 10px;padding:0;list-style:none}.lessons-target{border-top:1px solid var(--rule);align-items:center;gap:7px;padding:6px 0;display:flex}.lessons-target:first-child{border-top:none}.lessons-target-empty{color:var(--muted);padding:6px 0}.lessons-target-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.9rem}.lessons-kind{border:1px solid var(--rule);background:var(--card);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-radius:999px;flex:none;padding:2px 9px;font-size:.72rem}.lessons-kind.is-learn{border-color:var(--fmu-blue);color:#24405f;background:#dde6f1}.lessons-kind.is-review{border-color:var(--sage);color:#48543c;background:#e4e9dd}.lessons-kind.is-polish{border-color:var(--fmu-peach);color:#8a4a1e;background:#f7e2cd}.lessons-add-button{border:1px dashed var(--rule);border-radius:var(--radius);color:var(--muted);background:0 0;align-items:center;gap:5px;padding:5px 11px;font-size:.82rem;display:inline-flex}.lessons-add-button:hover{border-color:var(--fmu-blue-strong);color:var(--ink)}.lessons-add-target{align-items:center;gap:6px;display:flex}.lessons-add-target select{flex:1;min-height:36px;padding:4px 8px;font-size:.86rem}.lessons-add-target button{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);background:0 0;padding:6px 10px;font-size:.84rem}.lessons-day-notes{width:100%;min-height:0;margin-top:10px;padding:6px 9px;font-size:.84rem}.lessons-day-notes-static{color:var(--muted);margin:10px 0 0;font-size:.84rem}@media print{.lessons-add-button,.lessons-add-target,.lessons-day-notes:placeholder-shown,.lab-add-row{display:none!important}.lessons-week-grid{grid-template-columns:repeat(5,1fr);gap:6px}.lessons-day{break-inside:avoid;border:1px solid #999}}:is(body:has(.shed-portal) .topbar,body:has(.shed-portal) .site-footer){display:none}.shed-portal{max-width:560px;margin:0 auto;padding-top:10px}.shed-head{margin-bottom:14px}.shed-card{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:14px;padding:16px 18px}.shed-lede{color:var(--muted);margin:0;font-size:.95rem}.shed-name-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:12px;display:grid}.shed-name{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);text-align:left;align-items:center;gap:7px;padding:12px;font-size:.95rem;display:inline-flex}.shed-name:hover{border-color:var(--fmu-blue-strong)}.shed-leader-chip{border:1px solid var(--fmu-blue);color:#24405f;letter-spacing:.05em;text-transform:uppercase;background:#dde6f1;border-radius:999px;margin-left:4px;padding:1px 8px;font-size:.7rem}.shed-me{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.shed-me p{align-items:center;gap:7px;margin:0;font-size:.98rem;display:inline-flex}.shed-me button{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);background:0 0;padding:5px 11px;font-size:.82rem}.shed-h3{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 10px;font-size:1.05rem;display:flex}.shed-hint{color:var(--muted);font-size:.78rem;font-style:italic}.shed-checklist{margin:0;padding:0;list-style:none}.shed-checklist li{border-top:1px solid var(--rule)}.shed-checklist li:first-child{border-top:none}.shed-check{text-align:left;width:100%;color:var(--ink);background:0 0;border:none;align-items:center;gap:12px;padding:12px 4px;font-size:1rem;display:flex}.shed-check:disabled{cursor:default;color:var(--ink);opacity:1}.shed-check-box{border:2px solid var(--rule);background:var(--white);width:24px;height:24px;color:var(--white);border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.shed-check.is-checked .shed-check-box{background:var(--fmu-blue-strong);border-color:var(--fmu-blue-strong)}.shed-check.is-checked{color:var(--muted)}.shed-day{border-top:1px solid var(--rule);padding:10px 0}.shed-day:first-of-type{border-top:none}.shed-day.is-today{background:var(--card);margin:0 -18px;padding:10px 18px}.shed-day-name{align-items:center;gap:8px;margin:0 0 4px;font-size:.95rem;display:flex}.shed-today-chip{border:1px solid var(--fmu-peach);color:#8a4a1e;letter-spacing:.05em;text-transform:uppercase;background:#f7e2cd;border-radius:999px;padding:1px 8px;font-size:.7rem}.shed-day-none{color:var(--muted);margin:0}.shed-day-targets{margin:0;padding:0;list-style:none}.shed-day-targets li{padding:3px 0;font-size:.92rem}.shed-day-targets li.is-done{color:var(--muted);text-decoration:line-through}.shed-section-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.shed-section-card{margin:0}.shed-qr-block{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.shed-qr{border:1px solid var(--rule);border-radius:var(--radius);background:#fff}.shed-qr-side{flex:180px;min-width:0}.shed-qr-title{margin:0 0 6px;font-size:.92rem}.shed-qr-url{color:var(--muted);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;display:block}.shed-roster-line{color:var(--muted);margin:0 0 10px;font-size:.88rem}.shed-roster-help{color:var(--muted);margin:8px 0;font-size:.84rem}.shed-matrix-scroll{overflow-x:auto}.shed-matrix{border-collapse:collapse;min-width:100%}.shed-matrix th,.shed-matrix td{text-align:center;padding:4px 6px}.shed-matrix-song{border-bottom:1px solid var(--rule);padding-top:8px;font-size:.82rem;font-weight:400}.shed-matrix-label{color:var(--muted);font-size:.76rem;font-weight:400}.shed-matrix-row{text-align:left;white-space:nowrap;padding-right:12px;font-size:.9rem;font-weight:400}.shed-matrix-corner{text-align:left;color:var(--muted);font-size:.76rem;font-weight:400}.shed-cell{border:1px solid var(--rule);background:var(--white);width:30px;height:30px;color:var(--white);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.shed-cell.is-done{background:var(--sage);border-color:var(--sage);color:#2c3624}.shed-cell:disabled{cursor:default;opacity:1}@media print{.shed-section-grid{display:block}.shed-section-card{break-after:page;box-shadow:none;border:none}.shed-qr{width:320px!important;height:320px!important}.season-row-actions,.season-resolved,.lab-add-row{display:none!important}}.att-pickers{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:10px;display:grid}.att-event-line{color:var(--muted);margin:0 0 10px;font-size:.88rem}.att-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.att-progress{color:var(--muted);font-size:.85rem}.att-roll-list,.att-roster-list,.att-event-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.att-roll-list li,.att-roster-list li,.att-event-list li{border:1px solid var(--line,#00000014);background:var(--panel,transparent);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.att-roll-list li.is-present{border-color:#2e7d3273}.att-roll-list li.is-late{border-color:#f0960c8c}.att-roll-list li.is-absent{border-color:#c6282880}.att-roster-list li.is-inactive{opacity:.55}.att-student-name,.att-event-title{margin:0;font-weight:600}.att-event-meta{color:var(--muted);margin:0;font-size:.82rem}.att-mark-buttons{flex:none;align-items:center;gap:6px;display:inline-flex}.att-mark{border-radius:10px;min-width:44px;min-height:40px;font-weight:700}.att-mark.is-active{color:#fff}.att-mark-buttons button:first-child.is-active{background:#2e7d32;border-color:#2e7d32}.att-mark-buttons button:nth-child(2).is-active{background:#ef6c00;border-color:#ef6c00}.att-mark-buttons button:nth-child(3).is-active{background:#c62828;border-color:#c62828}input.att-minutes{text-align:center;width:64px;min-height:40px}.att-save-row{margin-top:12px}.att-chip{color:var(--muted);vertical-align:1px;background:#00000014;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:.72rem;font-weight:600;display:inline-block}.att-table-wrap{overflow-x:auto}.att-table{border-collapse:collapse;width:100%;font-size:.88rem}.att-table th,.att-table td{text-align:left;border-bottom:1px solid var(--line,#00000014);white-space:nowrap;padding:7px 10px}.att-num{text-align:right;font-variant-numeric:tabular-nums}.att-table .is-present{color:#2e7d32}.att-table .is-late{color:#ef6c00}.att-table .is-absent{color:#c62828}.att-form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:12px;display:grid}.att-form-wide{grid-column:1/-1}.att-manage-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:14px;display:grid}.att-roster-section{margin-top:8px}.att-roster-toggle{text-align:left;width:100%;padding:9px 10px;font-weight:600}.att-roster-section .att-roster-list{margin-top:6px}.att-roster-list li.is-editing{border-color:var(--accent,#3b5b8c);padding:12px;display:block}.att-roster-list li.is-editing .att-form-grid{margin-bottom:0}.att-form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.att-form-actions .att-remove{margin-left:auto}.att-remove{color:var(--danger,#b3261e);border-color:#0000}.att-remove.is-confirm{background:var(--danger,#b3261e);color:#fff;border-color:#0000}.att-remove-confirm{border-left:3px solid var(--danger,#b3261e);background:#f5e6e3;border-radius:6px;padding:10px 12px}.att-remove-confirm p{margin:0 0 8px;font-size:.9rem}:is(body:has(.book-page) .topbar,body:has(.book-page) .site-footer){display:none}.book-page{max-width:880px;margin:0 auto}.book-hero{border-radius:var(--radius);margin-bottom:28px;position:relative;overflow:hidden}.book-hero img{object-fit:cover;object-position:center 30%;width:100%;height:clamp(300px,48vw,440px)}.book-hero-copy{color:#f4f8fd;background:linear-gradient(#04162c00 0%,#04162cd1 55%);padding:clamp(18px,4vw,34px);position:absolute;inset:auto 0 0}.book-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#a8c6e8;margin:0;font-size:.76rem}.book-hero-copy h1{color:#fff;max-width:none;margin:4px 0 8px;font-size:clamp(1.7rem,5vw,2.7rem);font-weight:400;line-height:1.05}.book-credits{flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.book-credits li{color:#e8f0fa;border:1px solid #ffffff73;border-radius:999px;padding:4px 12px;font-size:.8rem}.book-cta{background:var(--fmu-peach);color:#3b2412;border-radius:var(--radius);padding:11px 22px;font-size:1rem;text-decoration:none;display:inline-block}.book-section{margin-bottom:28px}.book-section h2{margin-bottom:14px;font-size:clamp(1.3rem,3vw,1.7rem)}.book-ensembles{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.book-ensemble{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.book-ensemble img{object-fit:cover;object-position:center 22%;width:100%;height:190px}.book-ensemble>div{padding:12px 14px 14px}.book-ensemble h3{margin:0 0 4px;font-size:1.05rem}.book-ensemble p{color:var(--muted);margin:0;font-size:.9rem}.book-quote-note{color:var(--muted);margin:14px 0 0;font-size:.92rem}.book-reqs{margin:0;padding-left:22px}.book-reqs li{margin:6px 0;font-size:.96rem}.book-gallery{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:28px;display:grid}.book-gallery img{object-fit:cover;object-position:center 20%;border-radius:var(--radius);width:100%;height:240px}.book-card{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:16px;padding:20px 22px}.book-form-title{margin:0 0 4px;font-size:1.25rem}.book-form-sub{color:var(--muted);margin:0 0 16px;font-size:.92rem}.book-note{border-left:3px solid var(--danger);background:#f2e0da;margin:0 0 14px;padding:9px 13px;font-size:.9rem}.book-form-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.book-form-grid label,.book-notes-label{flex-direction:column;gap:4px;display:flex}.book-form-grid span,.book-notes-label span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-style:normal}.book-notes-label{margin-top:12px}.book-conflict{border-left:3px solid var(--fmu-peach);background:#f7e2cd;align-items:flex-start;gap:8px;margin:14px 0 0;padding:10px 13px;font-size:.9rem;display:flex}.book-submit{background:var(--fmu-blue-strong);border-radius:var(--radius);color:var(--white);border:none;align-items:center;gap:8px;margin-top:16px;padding:12px 24px;font-size:1rem;display:inline-flex}.book-fine{color:var(--muted);margin:10px 0 0;font-size:.82rem}.book-thanks{text-align:center;padding:40px 22px}.book-thanks svg{color:var(--sage)}.book-thanks h3{margin:10px 0 6px}.book-thanks p{max-width:420px;color:var(--muted);margin:0 auto}.book-footer{text-align:center;color:var(--muted);margin:30px 0 10px;font-size:.82rem;font-style:italic}.book-manage-head{margin-bottom:16px}.book-manage-head h1{margin:4px 0 2px;font-size:clamp(1.5rem,4vw,2rem)}.book-manage-sub{color:var(--muted);margin:0;font-size:.92rem}.book-status-card{align-items:baseline;gap:14px;display:flex}.book-status-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem}.book-status-value{margin:0;font-size:1.05rem}.book-thread{margin:0 0 14px;padding:0;list-style:none}.book-thread li,.book-msg{border-radius:var(--radius);margin-bottom:8px;padding:10px 14px}.book-thread li.is-band,.book-msg.is-band{background:#dde6f1}.book-thread li.is-client,.book-msg.is-client{background:var(--card)}.book-msg-meta{color:var(--muted);margin:0 0 3px;font-size:.76rem}.book-msg-body{white-space:pre-wrap;margin:0;font-size:.94rem}.book-reply{align-items:flex-end;gap:8px;display:flex}.book-reply textarea{flex:1}.book-reply button{background:var(--fmu-blue-strong);border-radius:var(--radius);color:var(--white);border:none;align-items:center;gap:6px;padding:10px 16px;display:inline-flex}.bookings-card{margin-bottom:12px;padding:0;overflow:hidden}.bookings-card-head{text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.bookings-org{flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:1.05rem;display:flex}.bookings-conflict{border:1px solid var(--fmu-peach);color:#8a4a1e;background:#f7e2cd;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:.72rem;display:inline-flex}.bookings-meta{color:var(--muted);margin:3px 0 0;font-size:.85rem}.bookings-meta.is-pay{font-style:italic}.bookings-head-right{flex:none;align-items:center;gap:10px;display:flex}.bookings-stage{letter-spacing:.05em;text-transform:uppercase;background:var(--card);border:1px solid var(--rule);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 11px;font-size:.74rem}.bookings-stage.is-new{border-color:var(--fmu-peach);color:#8a4a1e;background:#f7e2cd}.bookings-stage.is-signed,.bookings-stage.is-confirmed,.bookings-stage.is-paid{border-color:var(--sage);color:#48543c;background:#e4e9dd}.bookings-body{border-top:1px solid var(--rule);padding:0 18px 16px}.bookings-facts{padding:12px 0;font-size:.92rem}.bookings-facts p{margin:3px 0}.bookings-facts a{color:var(--fmu-blue-strong)}.bookings-notes{color:var(--muted);font-style:italic}.bookings-received{color:var(--muted);font-size:.8rem}.bookings-stage-row{flex-wrap:wrap;align-items:flex-end;gap:10px;padding-bottom:14px;display:flex}.bookings-stage-row label{flex-direction:column;gap:4px;display:flex}.bookings-stage-row label.is-grow{flex:220px}.bookings-stage-row span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.76rem;font-style:normal}.bookings-stage-row input,.bookings-stage-row select{min-height:38px}.bookings-stage-row button{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);background:0 0;align-items:center;gap:6px;padding:9px 14px;display:inline-flex}.bookings-thread{margin-bottom:10px}:is(body:has(.agr-page) .topbar,body:has(.agr-page) .site-footer,body:has(.inv-page) .topbar,body:has(.inv-page) .site-footer){display:none}.agr{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);max-width:720px;margin:0 auto;padding:clamp(24px,5vw,48px)}.agr-head{text-align:center;margin-bottom:26px}.agr-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem}.agr-head h1{margin:6px 0 4px;font-size:clamp(1.7rem,4vw,2.3rem)}.agr-sub{color:var(--muted);margin:0;font-size:.9rem;font-style:italic}.agr-section{border-top:1px solid var(--rule);margin-top:26px;padding-top:18px}.agr-section h2{margin-bottom:10px;font-size:1.15rem}.agr-section h3{margin:14px 0 4px;font-size:.98rem}.agr-section p{margin-bottom:8px;font-size:.95rem}.agr-table{border-collapse:collapse;width:100%;margin:10px 0}.agr-table td,.agr-table th{text-align:left;border-bottom:.5px solid var(--rule);padding:7px 10px;font-size:.92rem}.agr-table td:first-child{color:var(--muted);width:38%;font-style:italic}.agr-table th{color:var(--muted);font-style:italic;font-weight:400}.agr-note{color:var(--muted);font-size:.86rem;font-style:italic}.agr-prewrap{white-space:pre-wrap}.agr-fee{text-align:center;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:12px;padding:16px}.agr-fee-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.76rem}.agr-fee-amount{margin:2px 0;font-size:2.1rem}.agr-fee-sub{color:var(--muted);margin:0;font-size:.88rem}.agr-sig-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:16px;display:grid}.agr-sig{border-top:2px solid var(--ink);padding-top:8px}.agr-sig-role{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:.76rem}.agr-sig-name{margin:0;font-size:1.35rem;font-style:italic}.agr-sig-meta{color:var(--muted);margin:2px 0 0;font-size:.8rem}.agr-sig-pending{color:var(--muted);margin:0;font-style:italic}.agr-page .book-card{max-width:720px;margin:16px auto}.agr-sign-box .book-form-title{align-items:center;gap:8px;display:flex}.agr-sign-name{flex-direction:column;gap:4px;display:flex}.agr-sign-name span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-style:normal}.agr-sign-name input{font-size:1.2rem;font-style:italic}.agr-signed-box{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.agr-signed-msg{margin:0}.inv{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);max-width:720px;margin:0 auto;padding:clamp(24px,5vw,48px);font-size:.95rem}.inv-top{border-bottom:2.5px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.inv-org{margin:0;font-size:1.15rem}.inv-org-line{color:var(--muted);margin:2px 0 0;font-size:.84rem}.inv-word{letter-spacing:.22em;font-variant:small-caps;text-align:right;margin:0;font-size:1.6rem}.inv-meta{color:var(--muted);margin-top:4px;font-size:.84rem}.inv-meta td{text-align:right;padding:1px 0 1px 16px}.inv-meta td:first-child{font-style:italic}.inv-paid{color:#3b6d11;letter-spacing:.08em;font-weight:700}.inv-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 5px;font-size:.74rem}.inv-parties{margin:20px 0 4px}.inv-parties p{margin:0;font-size:.94rem}.inv-lines{border-collapse:collapse;width:100%;margin-top:20px}.inv-lines th{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--ink);padding-bottom:6px;font-size:.74rem;font-weight:400}.inv-lines td{border-bottom:.5px solid var(--rule);vertical-align:top;padding:12px 0}.inv-lines .inv-amt{text-align:right;white-space:nowrap}.inv-desc{margin:0}.inv-desc-sub{color:var(--muted);margin:4px 0 0;font-size:.86rem}.inv-total{justify-content:flex-end;align-items:baseline;gap:20px;padding:10px 0;display:flex}.inv-grand{border-top:2.5px solid var(--ink);padding-top:4px;font-size:1.5rem}.inv-pay{background:var(--card);border:1px solid var(--rule);margin-top:22px;padding:14px 18px}.inv-pay table{border-collapse:collapse;font-size:.9rem}.inv-pay td{padding:2px 0}.inv-pay td:first-child{color:var(--muted);white-space:nowrap;padding-right:22px;font-style:italic}.inv-paylink{margin:10px 0 0;font-size:.9rem}.inv-paylink a{color:var(--fmu-blue-strong);overflow-wrap:anywhere}.inv-notes{color:var(--muted);margin-top:20px;font-size:.88rem}.inv-notes p{margin:0}.inv-actions{text-align:right;max-width:720px;margin:14px auto}.deal-desk{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);margin:4px 0 14px;padding:12px 14px}.deal-row{flex-wrap:wrap;align-items:baseline;gap:14px;padding:6px 0;display:flex}.deal-row-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;min-width:120px;margin:0;font-size:.82rem;display:inline-flex}.deal-row-body{flex:1;min-width:240px}.deal-status{margin:0;font-size:.92rem}.deal-hint{color:var(--muted);margin:0;font-size:.86rem;font-style:italic}.deal-form{border-top:.5px solid var(--rule);margin-top:6px;padding:10px 0 6px}.deal-desk .season-row-actions a{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);align-items:center;gap:5px;padding:5px 11px;font-size:.84rem;text-decoration:none;display:inline-flex}.deal-desk .season-row-actions a:hover{border-color:var(--fmu-blue-strong);color:var(--ink)}@media print{.agr-sign-box,.agr-signed-box,.inv-actions,.book-card{display:none!important}.agr,.inv{border:none;max-width:none;padding:0}body{background:#fff}}.log-inq{margin-bottom:16px;padding:0;overflow:hidden}.log-inq-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:13px 16px;font-size:.95rem;font-weight:600;display:flex}.log-inq-form{padding:0 16px 16px}.log-inq-done{border-left:3px solid var(--accent,#4a6741);background:#e3ecdd;align-items:center;gap:7px;margin:0 0 14px;padding:9px 13px;font-size:.9rem;display:flex}.log-inq-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}
