:root{--chrome:#1f2430;--chrome-2:#2b3242;--paper:#f3f1ed;--panel:#fff;--line:#d9d5cd;--text:#1b1b1b;--muted:#6b6b6b;--accent:#0b6bcb;--danger:#b3261e;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);overflow:hidden}button{font:inherit;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:6px;padding:5px 10px;font-size:13px}button:hover:not(:disabled){border-color:#b3ada2}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger);border-color:#e2c4c1}button.link{color:var(--accent);text-align:left;background:0 0;border:none;padding:2px 0}button.active{border-color:var(--accent);color:var(--accent);background:#e3edf9}input,textarea,select{font:inherit;border:1px solid var(--line);color:var(--text);background:#fff;border-radius:6px;width:100%;padding:5px 7px;font-size:13px}textarea{resize:vertical}label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:10px;font-size:11px;display:block}label input,label textarea,label select{text-transform:none;letter-spacing:normal;color:var(--text);margin-top:3px;font-size:13px}.hint{color:var(--muted);font-size:11px}.empty{color:var(--muted);font-size:12px;font-style:italic}.error{color:var(--danger);font-size:12px}.loading{height:100%;color:var(--muted);place-items:center;display:grid}.library{justify-content:center;height:100%;padding:60px 20px;display:flex;overflow-y:auto}.library-inner{width:100%;max-width:620px}.library h1{letter-spacing:-.02em;margin:0;font-size:34px}.tagline{color:var(--muted);margin-top:4px}.new-production{gap:8px;margin:28px 0;display:flex}.production-list{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.production-list li{align-items:stretch;gap:8px;display:flex}.production-open{text-align:left;background:var(--panel);flex-direction:column;flex:1;gap:3px;padding:12px 14px;display:flex}.production-title{font-size:16px;font-weight:600}.dropzone{border:1.5px dashed var(--line);border-radius:8px;align-items:center;gap:10px;margin-top:8px;padding:14px;display:flex}.dropzone.over{border-color:var(--accent);background:#eaf2fc}.dropzone.busy{color:var(--muted);font-style:italic}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--chrome);color:#fff;flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.topbar .spacer{flex:1}.topbar button{background:var(--chrome-2);color:#e8eaef;border-color:#3b455a}.topbar button:hover:not(:disabled){border-color:#5a678a}.topbar button.active{color:var(--chrome);background:#e3edf9;border-color:#e3edf9}.topbar button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.topbar button.link{color:#b9c2d6;background:0 0;border:none}.production-name{color:#fff;background:0 0;border-color:#0000;width:240px;font-size:15px;font-weight:600}.production-name:hover,.production-name:focus{background:var(--chrome-2);border-color:#3b455a}.toolgroup{gap:4px;display:flex}.where{color:#dfe4ee;background:#ffffff14;border-radius:6px;align-items:center;gap:6px;min-width:0;padding:3px 9px;font-size:12px;display:flex}.where-scene{white-space:nowrap;font-weight:600}.where-sep{color:#8b94a8}.where-moment{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.where-index{color:#9aa3b5;font-variant-numeric:tabular-nums;flex:none}.notes-drawer{border-bottom:1px solid var(--line);background:#fffdf5;flex:none;gap:16px;padding:12px 14px;display:flex;position:relative}.notes-field{flex-direction:column;flex:1;gap:4px;min-width:0;margin:0;display:flex}.notes-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.notes-field textarea{resize:vertical;font-size:13px}.notes-empty{justify-content:flex-start}.notes-close{position:absolute;top:8px;right:10px}.menu-wrap{position:relative}.menu{border:1px solid var(--line);z-index:20;background:#fff;border-radius:8px;flex-direction:column;gap:2px;min-width:210px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #0000002e}.menu button{text-align:left;width:100%;color:var(--text);background:0 0;border:none}.menu button:hover{background:#eef2f8}.menu hr{border:none;border-top:1px solid var(--line);margin:4px 0}.menu-toggle{justify-content:space-between;align-items:center;gap:16px;display:flex}.menu-state{color:var(--muted);background:#eceae6;border-radius:9px;padding:1px 7px;font-size:11px}.menu-state.warn{color:#fff;background:#b3541e;font-weight:600}.ungroup-zone{border:1.5px dashed var(--line);text-align:center;color:var(--muted);border-radius:7px;flex-direction:column;gap:2px;margin-top:8px;padding:10px;font-size:12px;list-style:none;display:flex}.ungroup-zone.active{border-color:var(--accent);color:var(--accent);background:#eaf2fc;border-style:solid}.notes-name{margin-bottom:2px;font-weight:600}.workspace{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:288px minmax(0,1fr) 300px;min-height:0;display:grid}.workspace>*{min-width:0;min-height:0}.panel{background:var(--panel);padding:14px;overflow-y:auto}.panel-left,.panel-right{flex-direction:column;padding:0;display:flex;overflow:hidden}.panel-left{border-right:1px solid var(--line)}.panel-right{border-left:1px solid var(--line)}.panel-head{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);flex:none;align-items:center;gap:6px;padding:9px 8px 9px 4px;font-size:11px;display:flex}.panel-rail{cursor:pointer;background:#e8f1fc;border:none;border-radius:0;flex-direction:column;align-items:center;gap:10px;width:100%;height:100%;padding:10px 0 0;display:flex;overflow:hidden}.panel-rail:hover{background:#d4e6fb}.panel-rail-left{border-right:1px solid #bcd7f2}.panel-rail-right{border-left:1px solid #bcd7f2}.rail-chevron{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:15px;font-weight:700;line-height:1;display:grid}.panel-rail:hover .rail-chevron{background:#0a56a4}.rail-label{writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);-webkit-user-select:none;user-select:none;font-size:10px;font-weight:600}.rail-toggle{color:var(--accent);background:#e8f1fc;border:1px solid #bcd7f2;border-radius:6px;flex:none;padding:4px 9px;font-size:14px;font-weight:700;line-height:1}.rail-toggle:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.tabs .rail-toggle{align-self:center;margin:0 6px 0 2px}.tabs{border-bottom:1px solid var(--line);flex:none;display:flex}.tab{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 6px;font-size:11px;display:flex}.tab:hover{background:#f5f6f8}.tab[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);background:#f2f7fd}.count{color:#555;background:#e6e6e6;border-radius:9px;min-width:17px;padding:0 4px;font-size:10px;line-height:1.6}.tab[aria-selected=true] .count{background:var(--accent);color:#fff}.panel-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:10px 12px 18px;overflow-y:scroll}.panel-scroll::-webkit-scrollbar{width:13px}.panel-scroll::-webkit-scrollbar-track{background:#f0eeea}.panel-scroll::-webkit-scrollbar-thumb{background:#a8a29a;border:3px solid #f0eeea;border-radius:7px}.panel-scroll::-webkit-scrollbar-thumb:hover{background:#857f76}.panel-left .add-row{border-top:1px solid var(--line);background:#fafafa;flex:none;padding:8px 12px}.panel-footer{border-top:1px solid var(--line);background:#fafafa;flex:none;padding:8px 12px 12px}.plan-link{margin-bottom:12px}.plan-hint{margin:-6px 0 12px}.pane-heading{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-top:1px solid var(--line);margin:18px 0 8px;padding-top:12px;font-size:11px}.moment-nav{align-items:center;gap:4px;display:flex}.moment-count{color:var(--muted);text-align:center;min-width:46px;font-size:12px}.moment-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.moment-row{border:1px solid #0000;border-radius:6px;align-items:center;gap:3px;padding:1px;display:flex}.moment-row.active{border-color:var(--accent);background:#e9f0fa}.moment-row.drop-above{box-shadow:inset 0 3px 0 -1px var(--accent)}.moment-row.drop-below{box-shadow:inset 0 -3px 0 -1px var(--accent)}.scene-header.drop-into{outline:2px solid var(--accent);outline-offset:-1px;background:#e3edf9;border-radius:5px}.moment-jump{text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:7px;min-width:0;padding:4px 5px;display:flex}.moment-row>button:not(.moment-jump){background:0 0;border-color:#0000;flex:none;padding:2px 6px;font-size:11px}.moment-row>button:not(.moment-jump):hover:not(:disabled){border-color:var(--line);background:#fff}.moment-row.in-scene{border-left:3px solid #0000;border-radius:0 6px 6px 0;margin-left:7px}.moment-row.picked{background:#fff4d6;border-color:#e0a92b}.pick-btn{cursor:pointer;color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:4px;min-width:22px;padding:1px 4px}.pick-btn:hover{border-color:var(--accent);color:var(--accent);background:#eaf2fc}.moment-row.picked .pick-btn{color:#fff;background:#b8860b;border-color:#b8860b}.scene-strip{border-bottom:1px solid var(--line);background:#fafafa;flex:none;align-items:center;gap:7px;padding:8px 12px;font-size:12px;display:flex}.scene-chip{border-radius:3px;flex:none;width:12px;height:12px}.scene-strip-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.scene-strip-name.muted{color:var(--muted);font-weight:400}.pick-help{margin:0 0 8px}.pick-bar{background:#fff4d6;border:1px solid #e0a92b;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:8px;font-size:12px;display:flex}.scene-header{border-left:3px solid var(--line);margin-top:10px;padding:0 0 0 7px;list-style:none}.scene-header-main{align-items:center;gap:4px;display:flex}.scene-collapse,.scene-menu{color:var(--muted);background:0 0;border:none;flex:none;padding:2px 5px;font-size:11px}.scene-name{background:0 0;border-color:#0000;flex:1;min-width:0;padding:3px 5px;font-size:12px;font-weight:600}.scene-name:hover,.scene-name:focus{border-color:var(--line);background:#fff}.scene-count{color:var(--muted);background:#eceae6;border-radius:8px;flex:none;padding:0 6px;font-size:10px}.scene-options{padding:8px 4px 4px}.scene-swatches{grid-template-columns:repeat(8,1fr)}.ripple-hint{color:#fff;pointer-events:none;background:#14161ce0;border-radius:999px;padding:6px 12px;font-size:12px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.topbar button.ripple-off{color:#fff;background:#b3541e;border-color:#b3541e}.panel-section{margin-bottom:22px}.panel-section h2{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 8px;font-size:11px}.roster{margin:0;padding:0;list-style:none}.roster-row{border-radius:6px;align-items:center;gap:4px;display:flex}.roster-row.selected{background:#e9f0fa}.roster-row.offstage .roster-main{opacity:.42}.roster-main{text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;min-width:0;padding:4px 6px;display:flex}.roster-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-toggle{min-width:34px;padding:2px 6px;font-size:10px}.shape-swatch{flex:none;width:24px;height:24px}.prop-swatch{background:#fff;border:2.5px solid;flex:none;width:22px;height:14px}.prop-swatch.ellipse{border-radius:50%}.note-dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.add-row{gap:6px;display:flex}.add-row button{flex:none;width:32px}.editor{border:1px solid var(--line);background:#f7f8fa;border-radius:8px;margin:4px 0 10px;padding:10px}.field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.chip-row{gap:4px;margin-bottom:10px;display:flex}.chip{color:#6a7180;width:32px;height:32px;padding:3px}.chip.active{color:var(--accent);border-color:var(--accent);background:#e3edf9}.chip svg{width:100%;height:100%}.swatch-grid{grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:10px;display:grid}.swatch{border:2px solid #0000;border-radius:4px;height:20px;padding:0}.swatch.active{border-color:var(--chrome);outline-offset:-3px;outline:1px solid #fff}.note-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.note-list li{flex-direction:column;gap:3px;display:flex}.note-name{background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:600;display:flex}.dot{border-radius:50%;flex:none;width:10px;height:10px}.stage-area{min-width:0;padding:12px;display:flex}.stage-wrap{border:1px solid var(--line);background:#e7e4de;border-radius:8px;flex:1;min-width:0;position:relative;overflow:hidden}.stage-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.pb-figure{transition:transform .32s cubic-bezier(.4,0,.2,1)}.pb-figure.pb-dragging{transition:none}.stage-empty{text-align:center;background:#f3f1edf0;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.stage-empty-title{margin:0;font-size:16px;font-weight:600}.stage-empty p{margin:0}.stage-tools{border:1px solid var(--line);background:#fffffff0;border-radius:9px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;max-width:calc(100% - 20px);padding:5px 7px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0000001f}.stage-tools button{min-width:30px}.tool-divider{background:var(--line);align-self:stretch;width:1px;margin:0 3px}.filmstrip{background:var(--panel);border-top:1px solid var(--line);flex:none;align-items:center;gap:8px;height:148px;padding:8px 12px;display:flex}.strip-nav{flex:none;width:28px;height:60px}.strip-add{flex:none}.strip-list{flex:1;gap:8px;min-width:0;height:100%;margin:0;padding:4px;list-style:none;display:flex;overflow-x:auto}.strip-item{background:#f7f8fa;border:2px solid #0000;border-radius:8px;flex:none;width:150px;padding:3px;position:relative}.strip-item.active{border-color:var(--accent);background:#e9f0fa}.strip-item.drop-target{border-style:dashed;border-color:#9aa3b5}.strip-thumb{border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;height:82px;padding:0;display:block;overflow:hidden}.thumb-svg{width:100%;height:100%;display:block}.strip-caption{align-items:center;gap:5px;min-width:0;padding:4px 2px 0;font-size:11px;display:flex}.strip-index{background:var(--chrome);color:#fff;border-radius:3px;flex:none;padding:0 4px;font-size:10px}.strip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.strip-actions{gap:3px;display:none;position:absolute;top:5px;right:5px}.strip-item:hover .strip-actions{display:flex}.strip-actions button{padding:1px 5px;font-size:11px;line-height:1.4}.modal-backdrop{z-index:50;background:#14141973;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:100%;max-width:460px;max-height:84vh;padding:20px;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.modal.wide{max-width:720px}.modal h2{margin:0 0 14px;font-size:18px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.plan-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.plan-list li{border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;padding:8px;display:flex}.plan-preview{object-fit:contain;background:#f2f2f2;border-radius:4px;flex:none;width:92px;height:66px}.plan-meta{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.plan-actions{flex-direction:column;flex:none;gap:4px;display:flex}.page-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.page-thumb{flex-direction:column;align-items:center;gap:4px;padding:6px;font-size:11px;display:flex}.page-thumb img{border:1px solid var(--line);width:100%}.signin .tabs{margin:26px 0 0}.signin-form{flex-direction:column;gap:6px;padding:18px 0 4px;display:flex}.signin-form label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:8px;font-size:12px;font-weight:600}.signin-form .primary{align-self:flex-start;margin-top:16px;padding:9px 20px}.signed-in-as{color:var(--muted);align-items:baseline;gap:10px;margin-top:10px;font-size:13px;display:flex}.local-productions{border-top:1px solid var(--line);margin:28px 0 20px;padding-top:20px}.local-productions h2{margin:0 0 4px;font-size:15px}.local-productions .hint{margin:0 0 12px}.production-open.static{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:1;gap:3px;padding:12px 14px;display:flex}.save-error{color:var(--danger);white-space:nowrap;font-size:12px;font-weight:600}.cast-roles{align-items:center;gap:3px;margin-left:auto;padding-left:8px;display:flex}.role-dot{border:1px solid #00000059;border-radius:50%;flex:none;width:9px;height:9px}.cast-roles .uncast{color:var(--muted);font-size:11px;font-style:italic}.cover-count{color:var(--muted);margin-left:2px;font-size:10px;font-weight:700}.role-chips{flex-wrap:wrap;gap:4px}.role-chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:11px;line-height:1.5}.role-chip:hover{border-color:var(--accent);color:var(--text)}.role-chip.active{border-color:#00000059;font-weight:600}.played-by{margin:2px 0 0;font-size:12px;line-height:1.45}.played-by .muted{color:var(--muted)}.song-add{margin:12px 0 4px}.song-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.song-list>li{border:1px solid var(--line);border-radius:8px;overflow:hidden}.song-list>li.open{border-color:var(--accent)}.song-row{text-align:left;background:var(--panel);border:0;align-items:baseline;gap:10px;width:100%;padding:10px 12px;display:flex}.song-name{font-size:14px;font-weight:600}.song-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-size:12px;display:flex}.song-count{border-left:1px solid var(--line);padding-left:6px}.song-actions{gap:8px;margin-top:12px;display:flex}.seeded{color:var(--accent);margin:8px 0 0}.modal.schedule{flex-direction:column;width:96vw;max-width:1100px;max-height:90vh;display:flex}.schedule-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:10px;display:flex}.schedule-head h2{margin:0 auto 0 0}.schedule-head label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:3px;font-size:11px;font-weight:600;display:flex}.schedule-hint{margin:0 0 10px}.schedule-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:16px;min-height:0;display:grid}.calendar,.rehearsal-editor{min-height:0;padding-right:4px;overflow-y:scroll}.calendar::-webkit-scrollbar{width:10px}.rehearsal-editor::-webkit-scrollbar{width:10px}.calendar::-webkit-scrollbar-thumb{background:#c9c5bd;border-radius:5px}.rehearsal-editor::-webkit-scrollbar-thumb{background:#c9c5bd;border-radius:5px}.calendar-month h3{margin:4px 0 6px;font-size:13px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:14px;display:grid}.calendar-weekday{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;padding-bottom:2px;font-size:10px;font-weight:700}.calendar-day{border:1px solid var(--line);background:var(--panel);border-radius:5px;flex-direction:column;gap:2px;min-height:56px;padding:2px;display:flex}.calendar-day.outside{opacity:.5;background:0 0;border-style:dashed}.calendar-day.drop-target{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.calendar-date{color:var(--muted);padding-left:2px;font-size:10px}.cal-call{border:0;border-left:3px solid var(--accent);text-align:left;cursor:grab;background:#eef4fb;border-radius:3px;align-items:center;gap:3px;padding:2px 4px;font-size:10px;display:flex}.cal-call.active{outline:2px solid var(--accent)}.cal-call.kind-music{background:#f6eefa;border-left-color:#9b45b5}.cal-call.kind-run{background:#eef7ea;border-left-color:#4f9d3a}.cal-call.kind-tech{background:#fdf2e6;border-left-color:#e07a1f}.cal-call.kind-other{background:#eef1f3;border-left-color:#5b6b76}.cal-time{font-weight:700}.cal-kind{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.cal-moved{color:var(--danger);margin-left:auto;font-weight:700}.rehearsal-form-head{justify-content:space-between;align-items:baseline;display:flex}.moved-badge{color:var(--danger);background:#fdecea;border-radius:5px;align-items:baseline;gap:8px;margin:6px 0;padding:5px 8px;font-size:12px;font-weight:600;display:flex}.time-row{gap:8px;display:flex}.time-row label{flex:1}.role-chip.active.song{color:#5c2b70;background:#efe6f6;border-color:#9b45b5}.call-picker{margin:4px 0 0;padding:0;list-style:none}.call-picker button{text-align:left;background:0 0;border:0;align-items:baseline;gap:6px;width:100%;padding:3px 4px;font-size:12px;display:flex}.call-tick{width:12px;color:var(--accent);font-weight:700}.call-picker .call-why{color:var(--muted);margin-left:auto;font-size:10px}.call-picker .call-not-called button,.call-picker .call-excused button{color:var(--muted)}.call-picker .call-excused .call-why{color:var(--danger)}.call-count{background:var(--accent);color:#fff;text-align:center;border-radius:9px;min-width:18px;padding:0 5px;font-size:11px;display:inline-block}.hint.warn{color:var(--danger)}.call-board{z-index:60;background:var(--paper);padding:24px;position:fixed;inset:0;overflow-y:auto}.call-board-bar{justify-content:flex-end;gap:8px;max-width:720px;margin:0 auto 12px;display:flex}.call-board-sheet{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:720px;margin:0 auto;padding:28px 32px}.call-board-sheet h1{margin:0;font-size:24px}.call-when{margin:6px 0 0;font-size:15px}.call-kind{color:var(--muted);text-transform:capitalize;margin:2px 0 0}.call-board-sheet section{margin-top:22px}.call-board-sheet h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px}.call-work{margin:0;padding:0;list-style:none}.call-work li{align-items:center;gap:6px;padding:2px 0;display:flex}.song-marker{color:#9b45b5;font-weight:700}.call-table{border-collapse:collapse;width:100%}.call-table td{vertical-align:baseline;border-bottom:1px solid #eee;padding:5px 0}.call-table .call-name{font-weight:600}.call-table .call-role{color:var(--muted);text-align:right;font-size:13px}.call-excused{color:var(--muted);margin:0}.call-warning p{color:var(--danger);margin:0}.call-notes{white-space:pre-wrap;margin:0}.call-board-sheet footer{border-top:1px solid var(--line);color:var(--muted);margin-top:26px;padding-top:10px;font-size:12px}@media print{.no-print,.modal-backdrop{display:none!important}.call-board{background:#fff;padding:0;position:static;overflow:visible}.call-board-sheet{border:0;border-radius:0;max-width:none;padding:0}}.conflict-add{gap:6px;margin:2px 0 6px;display:flex}.conflict-add input{flex:1}.conflict-list{margin:0;padding:0;font-size:12px;list-style:none}.conflict-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:2px 0;display:flex}.clash-banner{border-left:3px solid var(--danger);color:var(--danger);background:#fdecea;border-radius:5px;flex-direction:column;gap:2px;margin:6px 0;padding:7px 9px;font-size:12px;display:flex}.clash-flag{background:var(--danger);color:#fff;border-radius:8px;margin-left:5px;padding:0 5px;font-size:10px;font-weight:700;display:inline-block}.call-picker li.clashing .call-name{color:var(--danger)}.plan-notice{border-left:3px solid var(--accent);color:var(--text);background:#eef4fb;border-radius:6px;margin:0 0 12px;padding:8px 10px;font-size:13px}.plan-status{z-index:5;background:var(--panel);border:1px solid var(--line);max-width:min(90%,560px);color:var(--muted);text-align:center;border-radius:7px;margin:0;padding:7px 12px;font-size:12px;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0000001f}.plan-status.failed{border-color:var(--danger);color:var(--danger)}
