:root{--bg:#f5f6f8;--fg:#1b1f24;--card:#fff;--line:#d9dde3;--accent:#2457c5;--err:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14171b;--fg:#e6e8eb;--card:#1d2228;--line:#343b44;--accent:#6b95f0;--err:#f2897f}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0}.topbar{background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.spacer{flex:1}main{max-width:1100px;margin:1rem auto;padding:0 1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1rem}.login{gap:.8rem;max-width:320px;margin:15vh auto;display:grid}label{gap:.25rem;font-size:.9rem;display:grid}label.check,label.switch{align-items:center;gap:.4rem;display:flex}input,textarea,button{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:6px;padding:.4rem .6rem}button{background:var(--accent);color:#fff;cursor:pointer;border:0}button.secondary{color:var(--fg);border:1px solid var(--line);background:0 0}.row{align-items:center;gap:.6rem;display:flex}table{border-collapse:collapse;width:100%;margin-top:.5rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.4rem .5rem}tr.inactive{opacity:.5}.editor{border-top:1px solid var(--line);gap:.6rem;max-width:460px;margin-top:1rem;padding-top:1rem;display:grid}.error{color:var(--err);margin:0}.tabs{flex-wrap:wrap;gap:.3rem;margin-bottom:1rem;display:flex}.tab{color:var(--fg);border:1px solid var(--line);background:0 0}.tab.on{background:var(--accent);color:#fff;border-color:var(--accent)}.hint{color:color-mix(in srgb, var(--fg) 60%, transparent);margin:.3rem 0;font-size:.85rem}.actions button{margin-left:.3rem}select{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:6px;padding:.4rem .6rem}fieldset{border:1px solid var(--line);border-radius:6px;gap:.3rem;margin:0;padding:.5rem .7rem;display:grid}.item{flex-wrap:wrap;gap:.3rem}.item input[type=number]{width:4rem}.pos{text-align:right;width:1.8rem}button:disabled{opacity:.4;cursor:default}.editor:has(.builder){max-width:none}.builder{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:1rem;display:grid}.builder-col{border:1px solid var(--line);border-radius:6px;gap:.5rem;padding:.6rem;display:grid}.builder-col h4{align-items:baseline;gap:.6rem;margin:0;display:flex}.builder-col.drop{align-content:start;min-height:8rem}.builder-col.drop.over{outline:2px dashed var(--accent)}.pool-list{flex-direction:column;gap:.3rem;max-height:26rem;display:flex;overflow:auto}.pool-item{border:1px solid var(--line);background:var(--bg);cursor:grab;touch-action:none;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.pool-item.dragging{background:var(--accent);color:#fff;cursor:grabbing}.template-row{border:1px solid var(--line);background:var(--bg);border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .4rem;display:flex}.template-row .name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.template-row input[type=number]{width:3.8rem}.handle{cursor:grab;touch-action:none;padding:.2rem .5rem}input[type=search]{flex:1;min-width:0}@media (width<=800px){.builder{grid-template-columns:1fr}}.builder-col{min-width:0}.builder-col select{max-width:50%}.main-nav{flex-wrap:nowrap;margin:0 0 0 1rem}main.wide{max-width:none}.row.wrap{flex-wrap:wrap}.sep{background:var(--line);align-self:stretch;width:1px;margin:0 .3rem}.plan-controls{gap:.6rem;margin-bottom:.8rem;display:grid}.seg{gap:.2rem;display:flex}.plan-body{align-items:flex-start;gap:.8rem;display:flex}.tl-scroll{border:1px solid var(--line);background:var(--card);border-radius:8px;flex:1;min-width:0;max-height:calc(100vh - 12rem);overflow:auto}.rail{flex-direction:column;flex:none;gap:.4rem;display:flex;position:sticky;top:.5rem}button.rail-btn{justify-items:center;gap:.15rem;width:3.6rem;padding:.45rem .2rem;font-size:.7rem;display:grid}button.rail-btn.on{background:var(--accent);border-color:var(--accent);color:#fff}.rail-label{line-height:1}.aside{flex:none;align-content:start;gap:.8rem;width:22rem;max-height:calc(100vh - 1rem);display:grid;position:sticky;top:.5rem;overflow:auto}.detail{width:auto}.detail h3{margin:0}.detail dl{grid-template-columns:6rem 1fr;gap:.3rem .6rem;margin:.6rem 0;display:grid}.detail dt{color:color-mix(in srgb, var(--fg) 60%, transparent)}.detail dd{margin:0}.placeholder{color:color-mix(in srgb, var(--fg) 55%, transparent);font-style:italic}.conflicts{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.conflicts li{border:1px solid var(--line);border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex}.conflicts li.error-item{border-color:var(--err)}.conflicts li.warning-item{border-color:#d9a400}.conflicts li.acked{opacity:.65}.tl{min-width:max-content;display:grid;position:relative}.tl-head{z-index:3;background:var(--card);border-bottom:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;padding:.4rem .5rem;font-weight:600;position:sticky;top:0;overflow:hidden}.tl-corner{z-index:4;left:0}.tl-bg{z-index:0;border-top:1px solid var(--line)}.tl-bg.week-start{border-top:2px solid color-mix(in srgb, var(--fg) 35%, transparent)}.tl-bg.half{border-top:1px dashed color-mix(in srgb, var(--line) 70%, transparent)}.tl-bg.off{background:repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--fg) 6%, transparent) 6px 12px)}.tl-date{z-index:2;background:var(--card);border-right:1px solid var(--line);flex-direction:column;gap:.1rem;padding:.2rem .4rem;font-size:.8rem;display:flex;position:sticky;left:0;overflow:hidden}.tl-date .kw{color:var(--accent);font-weight:600}.off-label{color:var(--err);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.tl-abs{z-index:1;border-right:1px solid var(--line);flex-wrap:wrap;align-content:flex-start;gap:.2rem;padding:.2rem;display:flex;overflow:hidden}.chip{background:color-mix(in srgb, var(--fg) 14%, transparent);white-space:nowrap;border-radius:10px;padding:.05rem .35rem;font-size:.7rem}.chip.abs-trainer{background:#e0903f59}.chip.abs-it{background:#4f8ef759}.chip.abs-room{background:#b06bd659}div.scard{cursor:pointer;z-index:1;text-align:left;background:color-mix(in srgb, var(--accent) 12%, var(--card));color:var(--fg);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:6px;align-content:start;gap:.1rem;margin:2px;padding:.25rem .4rem;font-size:.8rem;display:grid;position:relative;overflow:hidden}div.scard.warning{outline:2px solid #d9a400}div.scard.error{outline:2px solid var(--err)}div.scard.cancelled{opacity:.5;text-decoration:line-through}div.scard.merged{border-style:dashed dashed dashed solid}div.scard.selected{box-shadow:0 0 0 2px var(--accent)}div.scard.compact{align-items:center;gap:.4rem;padding:.1rem .3rem;font-size:.72rem;display:flex}.card-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.card-meta{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.scard.compact .card-meta{opacity:.85;flex:0 auto;padding-right:2.2rem}.scard.compact .card-title{flex:0 auto}.card-notes{opacity:.8;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;display:-webkit-box;overflow:hidden}.badge{background:var(--card);border-radius:8px;padding:0 .25rem;font-size:.68rem;position:absolute;top:2px;right:3px}.badge.merge{inset:auto 3px 2px auto}@media (width<=900px){.plan-body{flex-direction:column;align-items:stretch}.tl-scroll{box-sizing:border-box;flex:none;width:100%;max-width:100%}.aside{order:2;width:100%;max-height:none;position:static}.aside.has-flyout{height:auto;display:grid;overflow:visible}.aside.has-flyout .pool{display:block}.aside.has-flyout .pool .pool-list{max-height:22rem}.rail{flex-direction:row;order:1;position:static}.tl-scroll{order:3}button.rail-btn{flex:1;grid-auto-flow:column;justify-content:center;gap:.4rem;width:auto;font-size:.8rem}}.pool h3{margin:0 0 .4rem}.pool .pool-list{max-height:22rem}.aside.has-flyout{flex-direction:column;height:calc(100vh - 12rem);min-height:16rem;display:flex;overflow:hidden}.aside.has-flyout .pool{flex-direction:column;flex:auto;min-height:0;display:flex}.aside.has-flyout .pool .pool-list{flex:auto;align-content:start;min-height:0;max-height:none}.aside.has-flyout .detail{flex:none;max-height:45%;overflow:auto}.pool .pool-item{cursor:grab}.drop-hint{min-height:1.4em;margin:0;font-size:.9rem}.drop-hint.idle{visibility:hidden}.drop-hint.ok{color:#4fb286}.drop-hint.warning{color:#d9a400}.drop-hint.error{color:var(--err)}.zone{z-index:2;border:2px dashed color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:6px;margin:2px}.zone.ok{background:#4fb2864d;border-color:#4fb286}.zone.warning{background:#d9a4004d;border-color:#d9a400}.zone.error{background:color-mix(in srgb, var(--err) 30%, transparent);border-color:var(--err)}.tl.dragging .scard:not(.drag-source){pointer-events:none}div.scard[draggable=true]{cursor:grab}div.scard.drag-source{opacity:.45}div.scard.marked{outline:2px dashed var(--accent);outline-offset:-2px;background:color-mix(in srgb, var(--accent) 22%, var(--card))}div.scard.mark-start{outline:2px solid var(--accent)}.badge.start{color:var(--accent);top:2px;left:3px;right:auto}.mark-hint{align-items:center;gap:.5rem;margin:0;font-size:.9rem;display:flex}.ctx-menu{z-index:50;background:var(--card);border:1px solid var(--line);border-radius:8px;min-width:13rem;padding:.3rem;display:grid;position:fixed;box-shadow:0 8px 24px #00000059}.ctx-menu button{color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.4rem .6rem}.ctx-menu button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 20%, transparent)}.ctx-menu button:disabled{opacity:.4;cursor:default}.ctx-menu button.danger{color:var(--err)}.ctx-menu hr{border:0;border-top:1px solid var(--line);width:100%;margin:.2rem 0}div.scard{-webkit-user-select:none;user-select:none}div.scard.moving{opacity:.35}.ghost{z-index:3;pointer-events:none;border:2px dashed var(--accent);background:color-mix(in srgb, var(--accent) 28%, transparent);border-radius:6px;align-content:start;gap:.1rem;margin:2px;padding:.25rem .4rem;font-size:.8rem;display:grid;overflow:hidden}.ghost.ok{background:#4fb2864d;border-color:#4fb286}.ghost.warning{background:#d9a4004d;border-color:#d9a400}.ghost.error{border-color:var(--err);background:color-mix(in srgb, var(--err) 30%, transparent)}.ghost-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ghost-note{opacity:.9;font-size:.72rem}div.scard,.pool .pool-item{touch-action:none;-webkit-user-select:none;user-select:none}body.dnd-active{cursor:grabbing;-webkit-user-select:none;user-select:none}body.dnd-active *{cursor:grabbing!important}.drag-overlay{z-index:1000;pointer-events:none;background:var(--accent);color:#fff;opacity:.95;border-radius:8px;width:15rem;padding:.4rem .5rem;font-size:.85rem;position:fixed;top:0;left:0;box-shadow:0 8px 20px #0006}.drag-overlay div{white-space:nowrap;text-overflow:ellipsis;padding:.05rem 0;overflow:hidden}.drag-overlay .drag-overlay-count{border-top:1px solid #ffffff80;margin-top:.2rem;padding-top:.2rem;font-weight:600}.stack{gap:1rem;display:grid}.holiday-import h3{margin:0 0 .3rem}.ok{color:#4fb286;margin:0}.modal-backdrop{z-index:2000;background:#00000080;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:10px;gap:.8rem;width:min(26rem,100%);padding:1.1rem 1.2rem;display:grid;box-shadow:0 16px 48px #00000073}.modal h3{margin:0}.modal-body{color:color-mix(in srgb, var(--fg) 85%, transparent)}.modal-details{background:var(--bg);border:1px solid var(--line);border-radius:6px;margin:0;padding:.5rem .8rem .5rem 1.6rem;font-size:.9rem}.modal-actions{justify-content:flex-end;gap:.6rem;margin-top:.2rem;display:flex}.modal button.danger{background:var(--err);color:#fff}.modal form{gap:.4rem;display:grid}.modal.wide{width:min(42rem,100%);max-height:92vh;overflow:auto}.modal-scroll{border:1px solid var(--line);border-radius:6px;max-height:18rem;overflow:auto}.modal-scroll table{margin:0}.modal{max-height:92vh;overflow:auto}.modal.xwide{width:min(66rem,100%)}.modal-form{gap:.7rem;display:grid}.modal-form label{gap:.25rem;display:grid}.modal-form label.check{align-items:center;gap:.5rem;display:flex}.modal-form label.check input{flex:none;width:auto}.icon{flex:none;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button.icon-btn{place-items:center;width:2rem;height:2rem;padding:.3rem;display:inline-grid}button.icon-btn.danger-icon:hover{color:var(--err);border-color:var(--err)}.actions{white-space:nowrap;text-align:right}.actions .icon-btn+.icon-btn{margin-left:.25rem}td.center,th.icon-th{text-align:center}th.icon-th .icon{margin:0 auto}.check-mark{color:#4fb286;place-items:center;display:inline-grid}.dash{color:color-mix(in srgb, var(--fg) 45%, transparent)}th.icon-th{color:color-mix(in srgb, var(--fg) 75%, transparent)}.table-wrap{overflow-x:auto}@media (width<=640px){main{padding:0 .5rem}.card{padding:.7rem}th,td{padding:.3rem .35rem}}.topbar{gap:.6rem}.topbar>strong{white-space:nowrap}.main-nav{min-width:0;margin-left:.4rem}.profile{flex:none;position:relative}.undo-controls{flex:none;gap:.25rem;display:flex}.undo-controls button:disabled{opacity:.35;cursor:default}.toast{z-index:80;background:var(--card);max-width:min(90vw,32rem);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:.55rem .9rem;font-size:.9rem;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}button.profile-btn{position:relative}button.profile-btn.admin-on:after{content:"";background:var(--accent);border:1px solid var(--card);border-radius:50%;width:8px;height:8px;position:absolute;top:3px;right:3px}.profile-menu{z-index:60;background:var(--card);min-width:14rem;color:var(--fg);border:1px solid var(--line);border-radius:8px;gap:.3rem;padding:.5rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 8px 24px #00000059}.profile-head{border-bottom:1px solid var(--line);padding:.2rem .4rem .4rem;display:grid}.profile-switch{cursor:pointer;border-radius:6px;padding:.4rem}.profile-switch:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.profile-menu hr{border:0;border-top:1px solid var(--line);width:100%;margin:.1rem 0}button.menu-item{color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:.5rem;padding:.45rem .5rem;display:flex}button.menu-item:hover{background:color-mix(in srgb, var(--accent) 20%, transparent)}@media (width<=640px){.topbar{gap:.3rem;padding:.45rem .6rem}.main-nav{flex:auto;margin-left:0}.main-nav .tab{white-space:nowrap;padding:.3rem .4rem;font-size:.8rem}.undo-controls{gap:.1rem}.undo-controls .icon-btn,.profile .icon-btn{width:1.8rem;height:1.8rem}}@media (width<=520px){.topbar>strong{display:none}}.inline-label{align-items:center;gap:.4rem;font-size:.9rem;display:flex}.pill{color:var(--fg);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.9rem;display:inline-flex}.pill.on{background:var(--accent);border-color:var(--accent);color:#fff}.pill:disabled{opacity:.5;cursor:default}.filters-toggle{display:none}@media (width<=760px){.filters-toggle{margin-left:auto;display:inline-flex}.filters:not(.open){display:none}.plan-controls{gap:.5rem}}main.narrow{max-width:46rem}.myview{gap:.8rem;display:grid}.myview .summary{color:color-mix(in srgb, var(--fg) 70%, transparent);margin:0}.day-list{gap:.5rem;display:grid}.day .kw{color:var(--accent);margin:.5rem 0 .2rem;font-size:.85rem;font-weight:600}.day-row{background:var(--card);border:1px solid var(--line);border-radius:8px;grid-template-columns:5rem 1fr;align-items:start;gap:.6rem;padding:.6rem;display:grid}.day.off .day-row{background:repeating-linear-gradient(135deg, var(--card) 0 8px, color-mix(in srgb, var(--fg) 6%, var(--card)) 8px 16px)}.day-date{padding-top:.2rem;font-weight:600}.day-items{gap:.4rem;min-width:0;display:grid}.my-card{text-align:left;background:color-mix(in srgb, var(--accent) 12%, var(--card));color:var(--fg);border:1px solid var(--line);border-left:4px solid var(--accent);cursor:pointer;border-radius:6px;gap:.15rem;padding:.55rem .7rem;font-size:.95rem;display:grid;position:relative}.my-card.warning{outline:2px solid #d9a400}.my-card.error{outline:2px solid var(--err)}.my-card.cancelled{opacity:.55;text-decoration:line-through}.my-slot{text-transform:uppercase;letter-spacing:.03em;color:color-mix(in srgb, var(--fg) 65%, transparent);font-size:.75rem}.my-title{font-weight:600}.my-meta,.my-notes{color:color-mix(in srgb, var(--fg) 80%, transparent);overflow-wrap:anywhere;font-size:.85rem}.my-card .badge{top:.4rem;right:.5rem}.chip.off-chip{background:color-mix(in srgb, var(--err) 25%, transparent);justify-self:start}.empty p{margin:.3rem 0}.modal-dl{grid-template-columns:7rem 1fr;gap:.3rem .6rem;margin:0;display:grid}.modal-dl dt{color:color-mix(in srgb, var(--fg) 60%, transparent)}.modal-dl dd{margin:0}@media (width<=520px){.day-row{grid-template-columns:1fr;gap:.3rem}.day-date{padding:0}.modal-dl{grid-template-columns:1fr;gap:0}.modal-dl dt{margin-top:.4rem}}@media (width>=901px){#root{flex-direction:column;height:100dvh;display:flex}.topbar{flex:none}main{box-sizing:border-box;flex:auto;width:100%;min-height:0;margin:0 auto;padding-top:1rem;padding-bottom:1rem;overflow:auto}main.wide{flex-direction:column;padding-top:.6rem;padding-bottom:.6rem;display:flex;overflow:hidden}main.wide>section{flex-direction:column;flex:auto;min-height:0;display:flex}.plan-body{flex:auto;align-items:stretch;min-height:0}.tl-scroll{max-height:none}.aside{height:auto;max-height:none;position:static}.aside.has-flyout{height:auto}.rail{position:static}}.bundle-grip{border:1px solid var(--line);cursor:grab;touch-action:none;border-radius:6px;flex:none;align-items:center;gap:.15rem;padding:.3rem .4rem;display:inline-flex}.bundle-grip:hover{border-color:var(--accent);color:var(--accent)}.bundle-count{font-size:.75rem}div.scard.assign-target{outline:3px solid var(--accent);outline-offset:1px}div.scard.assign-target.ok{outline-color:#4fb286}div.scard.assign-target.warning{outline-color:#d9a400}div.scard.assign-target.error{outline-color:var(--err)}.assign-list{gap:.15rem;max-height:50vh;display:grid;overflow:auto}.assign-row{border-radius:6px;flex-wrap:wrap;padding:.25rem .3rem}.assign-row:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.assign-name{min-width:8rem}.assign-hint{color:#d9a400;font-size:.8rem}.assign-hint.error{color:var(--err)}.blk-band{z-index:0;pointer-events:none;border-left:4px solid var(--blk);background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--blk) 16%, transparent) 0 8px, color-mix(in srgb, var(--blk) 7%, transparent) 8px 16px);border-radius:6px;margin:2px}div.scard.blk{background:color-mix(in srgb, var(--blk) 24%, var(--card));border-color:color-mix(in srgb, var(--blk) 55%, var(--line))}div.scard.blk.join-prev{border-top:0;border-top-left-radius:0;border-top-right-radius:0;margin-top:0}div.scard.blk.join-next{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.badge.blk-badge{background:var(--blk);color:#111;inset:auto auto 2px 6px}.modal-form .tabs button{color:var(--fg);border:1px solid var(--line);background:0 0}.modal-form .tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.pool-list,.pool-item>div{min-width:0}div.scard.cut{opacity:.55;outline:2px dashed var(--accent);outline-offset:-2px}.tl-cell{z-index:0}.pool-item{flex-shrink:0}.builder-col{grid-template-columns:minmax(0,1fr)}.builder-col .row{flex-wrap:wrap}.builder-col .row select{flex:0 11rem;min-width:0;max-width:100%}th .sort-head{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;margin:0;padding:0}th .sort-head:hover{text-decoration:underline}.admin-tabs{flex-wrap:nowrap;overflow-x:auto}.admin-tabs .tab{white-space:nowrap;flex:none;align-items:center;gap:.4rem;display:inline-flex}.admin-tabs .tab:not(.on) .tab-label{display:none}.gap-list{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.swap-list{gap:.3rem;max-height:22rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.swap-row{text-align:left;grid-template-columns:9rem 1fr;gap:.2rem .8rem;width:100%;display:grid}.swap-row .assign-hint{grid-column:1/-1}.template-row .toggle.on{background:var(--accent);color:#fff;border-color:var(--accent)}.template-row .check{white-space:nowrap;font-size:.85rem}.transfer-table td.diff{background:#d9a40047;font-weight:600}.transfer-table tr.gone td:not(.status){opacity:.7;text-decoration:line-through}.transfer-table tr.t-new .status{color:#4fb286;font-weight:600}.transfer-table tr.t-changed .status{color:#d9a400;font-weight:600}.transfer-table tr.gone .status{color:var(--err);font-weight:600}.transfer-table tr.t-same{opacity:.6}@media print{.topbar,.transfer-controls,.undo-controls{display:none!important}body,main,.card{color:#000!important;box-shadow:none!important;background:#fff!important}.transfer-table{font-size:9pt}.transfer-table td,.transfer-table th{color:#000!important;border-color:#999!important}.transfer-table td.diff{background:#ffe9a3!important}}button.link{color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:0;padding:.2rem 0;text-decoration:underline}.requests{border:1px solid var(--accent);border-radius:6px;margin:.6rem 0;padding:.6rem .8rem}.requests h3{margin:0 0 .4rem}.requests ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.requests li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.builder{align-items:stretch;height:clamp(20rem,52vh,36rem)}.builder .builder-col{flex-direction:column;min-height:0;display:flex;overflow:hidden}.builder .builder-col.drop{align-content:initial;min-height:0;overflow:auto}.builder .pool-list{flex:auto;min-height:0;max-height:none}.builder-head{background:var(--card);z-index:1;align-items:center;gap:.4rem;padding-bottom:.2rem;position:sticky;top:-.6rem}.builder-head h4{margin:0}.builder-hint{margin:0;font-size:.8rem}.pool-item.seminar{border-left:3px solid var(--accent)}.template-row.chained{border-left:3px solid var(--accent);margin-left:1.2rem}@media (width<=800px){.builder{height:auto}.builder .builder-col{max-height:22rem}}.modal:has(.builder){flex-direction:column;height:calc(100vh - 2rem);max-height:none;display:flex;overflow:hidden}.modal:has(.builder)>form.modal-form{flex-direction:column;flex:auto;min-height:0;display:flex}.modal:has(.builder) .builder{flex:auto;height:auto;min-height:12rem}@media (width<=800px){.modal:has(.builder){height:auto;max-height:calc(100vh - 2rem);overflow:auto}.modal:has(.builder) .builder{flex:none}}.modal:has(.modal-scroll,.swap-list,.assign-list){flex-direction:column;max-height:calc(100vh - 2rem);display:flex;overflow:hidden}.modal:has(.modal-scroll,.swap-list,.assign-list)>.modal-form{flex-direction:column;flex:auto;min-height:0;display:flex}.modal:has(.modal-scroll,.swap-list,.assign-list)>form{flex-direction:column;flex:auto;min-height:0;display:flex}.modal .modal-scroll,.modal .swap-list,.modal .assign-list{flex:auto;min-height:6rem;max-height:none;overflow:auto}.modal:has(.modal-scroll,.swap-list,.assign-list) .modal-actions{flex:none}.badge.note{top:auto;bottom:2px}.detail.card{padding:.6rem .75rem}.detail dl{grid-template-columns:5rem 1fr;gap:.2rem .5rem;margin:.35rem 0;font-size:.9rem}.detail h3{font-size:1rem}.detail h4{margin:.4rem 0 .2rem;font-size:.9rem}.detail .conflicts{margin:0;padding-left:1rem;font-size:.85rem}.detail textarea{box-sizing:border-box;width:100%;padding:.3rem .4rem}.detail select{max-width:100%;padding:.2rem .3rem}.detail .inline-fields{flex-wrap:wrap;gap:.3rem .8rem;display:flex}.detail .inline-fields label{align-items:center;gap:.3rem;display:flex}.detail .inline-fields input{width:3.6rem;padding:.2rem .3rem}.group-changes tr.covers td{background:color-mix(in srgb, var(--accent) 18%, transparent)}.detail button.link-btn{margin-left:.5rem;padding:.05rem .5rem;font-size:.8rem}
