:root{--bg: #f4f6f8;--card: #fff;--text: #17212b;--muted: #6a7885;--line: #dfe5ea;--accent: #0a74da;--accent-ink: #fff;--accent-soft: #e3f0fd;--free: #e7f4e4;--free-line: #a9d3a1;--sel: #0a74da;--busy: #d6453d;--busy-bg: #fbe3e1;--past: #eceff2;--radius: 12px;--shadow: 0 1px 2px rgb(0 0 0 / .06), 0 6px 20px rgb(0 0 0 / .05);--fa: #0a74da;--fs: #0f8a7d;--fixed: #e4e7eb;--warn: #8a5300;--warn-bg: #fdf0d5;--warn-line: #e6b655;--ok: #1d6b34;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #0f1419;--card: #182028;--text: #e8edf2;--muted: #93a1ae;--line: #2a3541;--accent: #4aa3ff;--accent-ink: #06121f;--accent-soft: #14304d;--free: #1d3320;--free-line: #3c6a41;--sel: #4aa3ff;--busy: #ff7b72;--busy-bg: #3a1e1d;--past: #1c242d;--shadow: none;--fa: #4aa3ff;--fs: #4cc9b8;--fixed: #232c36;--warn: #f0b95c;--warn-bg: #3a2c12;--warn-line: #8a6420;--ok: #7fd695}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.app{max-width:1180px;margin:0 auto;padding:16px}header h1{margin:8px 0 2px;font-size:1.6rem}header p{margin:0 0 16px;color:var(--muted)}.layout{display:grid;gap:16px;grid-template-columns:380px 1fr;align-items:start}.right{display:grid;gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.card h2{margin:0 0 12px;font-size:1.1rem;display:flex;align-items:center;gap:8px}.card h2 small{margin-left:auto;font-weight:400;color:var(--muted);font-size:.85rem}.step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:.8rem}.hint{color:var(--muted);font-size:.9rem;margin:8px 0 0}.banner{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:var(--radius);margin-bottom:16px}.banner.ok{background:var(--free);border:1px solid var(--free-line)}.banner.error{background:var(--busy-bg);border:1px solid var(--busy)}.banner .ghost{margin-left:auto}button.ghost,button.chip{background:transparent;border:1px solid var(--line);border-radius:999px;padding:4px 12px}button.ghost:hover:not(:disabled),button.chip:hover{background:var(--accent-soft)}button.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.icon{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-size:1.4rem;line-height:1}button.icon:hover:not(:disabled){background:var(--accent-soft)}.datepicker{position:relative;margin-bottom:14px}.daystepper{display:flex;gap:6px;align-items:center}.daystepper .current{flex:1;min-width:0;display:flex;gap:8px;align-items:center;justify-content:center;height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-weight:600;white-space:nowrap}.daystepper .current span:last-child{overflow:hidden;text-overflow:ellipsis}.daystepper .current:hover{background:var(--accent-soft)}.cal-ico{color:var(--accent)}.popover{position:absolute;z-index:20;top:48px;left:0;width:100%;min-width:300px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 40px #00000040;padding:12px}.pop-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;text-transform:capitalize}.pop-head .icon{width:34px;height:34px;font-size:1.1rem}.grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.grid7.head{color:var(--muted);font-size:.8rem;margin-bottom:2px}.day{aspect-ratio:1;border:0;border-radius:50%;background:transparent}.day:hover:not(:disabled){background:var(--accent-soft)}.day.weekend{color:var(--muted)}.day.today{box-shadow:inset 0 0 0 2px var(--accent)}.day.sel{background:var(--accent);color:var(--accent-ink)}.tr-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:40px}.tr-summary label{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:.9rem}.tr-summary select{padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-weight:600}.tr-summary .dur{font-weight:600;color:var(--accent)}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.slots{-webkit-user-select:none;user-select:none;touch-action:none;max-height:560px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:6px 8px 6px 4px;touch-action:pan-y}.row{display:flex;align-items:stretch;height:28px}.tick{width:48px;flex:none;text-align:right;padding-right:8px;color:var(--muted);font-size:.75rem;transform:translateY(-8px)}.slot{flex:1;position:relative;background:var(--free);border-top:1px solid var(--free-line);cursor:pointer;touch-action:none}.row:nth-child(odd) .slot{border-top-style:dashed}.slot:hover:not(.busy):not(.past):not(.sel){background:var(--accent-soft)}.slot.sel{background:var(--sel);border-color:var(--sel);color:var(--accent-ink)}.slot.sel.top{border-top-left-radius:8px;border-top-right-radius:8px}.slot.sel.bottom{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.slot.busy{background:var(--busy-bg);border-top-color:transparent;cursor:not-allowed;color:var(--busy)}.slot.past{background:var(--past);border-color:transparent;cursor:not-allowed}.who{position:absolute;left:8px;top:3px;right:6px;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}.plan{width:100%;height:auto;display:block}.plan .walls{fill:none;stroke:var(--text);stroke-width:5}.plan .fixed{fill:var(--past);stroke:var(--line);stroke-width:1}.plan .stairs line{stroke:var(--muted);stroke-width:1;opacity:.6}.plan .fixed-label{fill:var(--muted);font-size:14px}.plan .room{cursor:pointer;outline:none}.plan .room rect{fill:var(--free);stroke:var(--free-line);stroke-width:2;transition:fill .15s,stroke .15s}.plan .room:hover rect{stroke:var(--accent)}.plan .room:focus-visible rect{stroke:var(--accent);stroke-width:4}.plan .room.picked rect{fill:var(--accent-soft);stroke:var(--sel);stroke-width:4}.plan .room.busy rect{fill:url(#hatch);stroke:var(--busy)}.plan .room text{pointer-events:none;fill:var(--text)}.plan .room .code{font-size:34px;font-weight:700}.plan .room .name{font-size:15px}.plan .room .check{font-size:22px;font-weight:700;fill:var(--sel)}.legend{display:flex;flex-wrap:wrap;gap:14px;list-style:none;padding:0;margin:10px 0 0;font-size:.85rem;color:var(--muted)}.legend li{display:flex;align-items:center;gap:6px}.sw{width:16px;height:16px;border-radius:4px;display:inline-block;border:2px solid var(--free-line);background:var(--free)}.sw.sel{border-color:var(--sel);background:var(--accent-soft)}.sw.busy{border-color:var(--busy);background:var(--busy-bg)}.summary{margin:0 0 12px;padding:8px 12px;background:var(--accent-soft);border-radius:8px}.warn{color:var(--busy);font-weight:600}.form{display:grid;gap:12px;grid-template-columns:1fr 1fr}.form label{display:grid;gap:4px;font-weight:600;font-size:.9rem}.form input,.form select{padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-weight:400}.form .errors,.form .primary{grid-column:1 / -1}.errors{margin:0;padding:10px 14px 10px 30px;background:var(--busy-bg);border:1px solid var(--busy);border-radius:8px;color:var(--busy)}.primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px;padding:12px 20px;font-weight:700;font-size:1.05rem}@media (max-width: 560px){.form{grid-template-columns:1fr}}.layout{grid-template-columns:470px 1fr}.daygrid{--cols: 6}.dg-head{display:flex;gap:2px;padding:0 8px 4px 4px}.dg-head .tick{transform:none}.colhead{flex:1;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:4px 0;font-weight:700}.colhead:hover{background:var(--accent-soft)}.colhead.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.row{gap:2px}.cell{flex:1;min-width:0;position:relative;background:var(--free);border-top:1px solid var(--free-line);cursor:pointer;touch-action:none}.row:nth-child(odd) .cell{border-top-style:dashed}.cell.colsel:not(.busy):not(.sel):not(.past){background:var(--accent-soft)}.cell:hover:not(.busy):not(.past):not(.sel){background:var(--accent-soft)}.cell.sel{background:var(--sel);border-color:var(--sel)}.cell.sel.top{border-top-left-radius:6px;border-top-right-radius:6px}.cell.sel.bottom{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.cell.busy{background:var(--busy-bg);border-top-color:transparent;cursor:not-allowed;color:var(--busy)}.cell.busy.first{border-top:2px solid var(--busy)}.cell.past{background:var(--past);border-color:transparent;cursor:not-allowed}.cell .who{position:absolute;left:3px;top:2px;right:2px;font-size:.68rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slots{padding-top:10px}.daylist-title{margin:16px 0 6px;font-size:.95rem}.daylist{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.85rem}.daylist li{padding:6px 10px;border-radius:8px;background:var(--busy-bg);border-left:3px solid var(--busy)}.daylist span{color:var(--muted);margin:0 4px}@media (max-width: 900px){.layout{grid-template-columns:1fr}}.cell.ghost{background:var(--accent-soft);outline:2px dashed var(--sel);outline-offset:-2px;cursor:copy;z-index:1}.cell.ghost:after{content:"+";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:700;color:var(--sel)}.cell .x{position:absolute;top:2px;right:2px;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:var(--card);color:var(--sel);font-size:15px;font-weight:700;line-height:1;display:grid;place-items:center;z-index:2;box-shadow:0 1px 3px #00000059;cursor:pointer}.cell .x:hover{background:var(--busy-bg);color:var(--busy)}.hint.pending{color:var(--accent);font-weight:600;margin:0}.slots{touch-action:pan-y}.cell{touch-action:manipulation}.app.mobile{padding:0 0 24px}.app.mobile>.card{margin:12px}.topbar{position:sticky;top:0;z-index:30;background:var(--bg);padding:10px 12px 8px;border-bottom:1px solid var(--line);box-shadow:0 4px 12px #00000014}.topbar .datepicker{margin-bottom:8px}.topbar .daystepper button.ghost{padding:4px 8px}.plan-compact{display:flex;justify-content:center}.plan-compact .plan{max-height:118px;width:auto;max-width:100%}.plan-compact .plan .name,.plan-compact .plan .fixed-label,.plan-compact .plan .stairs{display:none}.plan-compact .plan .room .code{font-size:44px}.plan-compact .plan .room .check{font-size:30px}.app.mobile .slots{max-height:58vh}.app.mobile .banner{margin:12px}.app.mobile .popover{position:fixed;left:12px;right:12px;top:64px;width:auto}.d-short,.app.mobile .d-full{display:none}.app.mobile .d-short{display:inline}.app.login{display:grid;place-items:center;min-height:100vh}.loginbox{width:min(420px,100%);display:grid;gap:12px}.loginbox h1{margin:0;font-size:1.4rem}.loginbox label{display:grid;gap:4px;font-weight:600;font-size:.9rem}.loginbox input{padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-weight:400}.loginbox .errors{margin:0;padding:10px 14px}header.top{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.app.mobile header.top{padding:12px 12px 0}.userbar{display:flex;gap:8px;align-items:center;font-size:.9rem;color:var(--muted);white-space:nowrap}.userbar span{max-width:38vw;overflow:hidden;text-overflow:ellipsis}.picker{max-width:760px}.app.mobile .picker{margin:12px}.tabs{display:flex;gap:4px;margin:0 0 12px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:transparent;padding:8px 14px;border-bottom:3px solid transparent;font-weight:600;color:var(--muted)}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.events{list-style:none;margin:0;padding:0;display:grid;gap:8px}.event{display:grid;grid-template-columns:96px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.ev-when{display:grid;font-size:.9rem}.ev-when span{color:var(--muted)}.ev-what{display:grid;min-width:0}.ev-what small{color:var(--muted)}.primary.small{padding:8px 14px;font-size:.95rem}.manual{margin:16px 0 0;text-align:right}.evcal .day{position:relative;padding-bottom:6px}.evcal .day.has{font-weight:700;background:var(--accent-soft)}.evcal .day.sel{background:var(--accent);color:var(--accent-ink)}.evcal .day:disabled{opacity:.35}.evcal .dots{position:absolute;bottom:1px;left:0;right:0;font-style:normal;font-size:.6rem;line-height:1;color:var(--accent)}.evcal .day.sel .dots{color:var(--accent-ink)}@media (max-width: 480px){.event{grid-template-columns:1fr auto}.ev-when{grid-column:1 / -1;grid-auto-flow:column;justify-content:start;gap:8px}}.source{display:flex;gap:12px;align-items:center;margin-bottom:16px;padding:12px 16px}.app.mobile .source{margin:12px}.src-main{display:grid;min-width:0;flex:1}.src-main small{color:var(--muted)}.src-main small.warn{color:var(--busy);font-weight:600}.form input.locked{background:var(--past);color:var(--muted)}.cell.preview{background:var(--accent-soft);outline:2px dashed var(--sel);outline-offset:-2px}.viewnav{display:inline-flex;gap:4px;margin-top:10px;padding:3px;background:var(--card);border:1px solid var(--line);border-radius:999px}.viewnav button{border:0;background:transparent;padding:6px 14px;border-radius:999px;font-weight:600;color:var(--muted)}.viewnav button.on{background:var(--accent);color:var(--accent-ink)}.app.mobile .viewnav{margin-top:8px}.daylist li{padding:0}.daylist li.fixed{background:var(--past);border-left-color:var(--muted)}.dl-head{all:unset;box-sizing:border-box;display:flex;gap:6px;align-items:baseline;width:100%;padding:6px 10px;cursor:pointer;flex-wrap:wrap}.dl-head em{font-style:normal;flex:1;min-width:0}.dl-head i{margin-left:auto;color:var(--muted);font-style:normal}.dl-head:focus-visible{outline:3px solid var(--accent);outline-offset:-2px;border-radius:8px}.dl-details,.ev-details,.mb-details{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:0;padding:4px 10px 10px;font-size:.85rem}.dl-details dt,.ev-details dt,.mb-details dt{color:var(--muted)}.dl-details dd,.ev-details dd,.mb-details dd{margin:0;overflow-wrap:anywhere}.ev-desc{white-space:pre-line;max-height:14em;overflow:auto}.event.open{background:var(--bg)}.ev-actions{display:flex;gap:6px;align-items:center}.ev-details{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:8px}button.small{padding:6px 12px;font-size:.9rem}@media (max-width: 480px){.ev-actions{grid-column:1 / -1;justify-content:flex-end}}.mine{max-width:860px}.app.mobile .mine{margin:12px}.mine-bar{display:flex;gap:12px;align-items:center;margin:8px 0}.check{display:inline-flex;gap:8px;align-items:center;font-weight:600}.check input{width:22px;height:22px}.mylist{list-style:none;margin:0;padding:0;display:grid;gap:8px}.mybooking{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.mybooking.on{border-color:var(--sel);background:var(--accent-soft)}.mb-title .rooms{margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--past);font-size:.8rem;font-weight:600}.mb-when{color:var(--muted);font-size:.9rem}.mb-preview{margin-top:4px;padding:4px 8px;border-radius:6px;font-size:.85rem}.mb-preview.ok{background:var(--free)}.mb-preview.conflict,.mb-preview.error{background:var(--busy-bg);color:var(--busy)}.mb-preview.unchanged{background:var(--past);color:var(--muted)}.actionbar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px -4px 0;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 -4px 16px #0000001f}.actionbar.danger-box{border-color:var(--busy)}button.danger{background:var(--busy);color:#fff;border:0;border-radius:10px;padding:8px 14px;font-weight:700}.editpanel{margin-top:14px;padding:14px;border:1px solid var(--sel);border-radius:12px;background:var(--card);display:grid;gap:12px}.editpanel h3{margin:0;font-size:1rem}.editpanel h3 small{font-weight:400;color:var(--muted)}.ep-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.ep-label{width:110px;font-weight:600;font-size:.9rem}.ep-row label{display:flex;gap:6px;align-items:center;font-size:.9rem;color:var(--muted)}.ep-row select{padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--card)}.stepper{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.shift{min-width:90px;text-align:center;color:var(--accent)}button.chip.remove.on{background:var(--busy);border-color:var(--busy);color:#fff}.ep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ep-grid label{display:grid;gap:4px;font-weight:600;font-size:.9rem}.ep-grid input{padding:9px 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-weight:400}.ep-actions{display:flex;gap:8px}@media (max-width: 640px){.ep-grid{grid-template-columns:1fr}.ep-label{width:100%}.mybooking{grid-template-columns:auto 1fr}.mybooking>.ghost{grid-column:2;justify-self:start}}.period{white-space:nowrap}.period select{padding:4px 8px;border-radius:8px;border:1px solid var(--line);background:var(--card)}.source.editing{border-color:var(--sel);background:var(--accent-soft)}.mb-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.mybooking{grid-template-columns:1fr auto}.confirm{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px;padding:8px 10px;border:1px solid var(--busy);border-radius:8px;background:var(--busy-bg)}button.ghost.del:hover{background:var(--busy-bg);color:var(--busy)}@media (max-width: 640px){.mybooking{grid-template-columns:1fr}.mb-actions{justify-content:flex-start}}.daychips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.daychip{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--card)}.daychip button{border:0;background:transparent;padding:5px 10px;font-size:.85rem}.daychip button.x{padding:5px 8px;color:var(--muted);border-left:1px solid var(--line)}.daychip button.x:hover{background:var(--busy-bg);color:var(--busy)}.daychip.on{border-color:var(--sel);background:var(--accent-soft)}.daychip.on button:first-child{font-weight:700}.app.mobile .topbar .daychips{margin-bottom:6px}.absorb{margin:0 0 10px;display:grid;gap:6px;justify-items:start}.absorbed{list-style:none;margin:0;padding:0;display:grid;gap:4px}.absorbed li{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.absorbed-chip{border-color:var(--busy);background:var(--busy-bg)}.absorbed-chip .lbl{padding:5px 10px;font-size:.85rem}.absorbed-chip button.x{border-left:1px solid var(--busy)}.absorbed small.warn{color:var(--busy)}.candidates{display:grid;gap:4px;width:100%;max-height:220px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.cand{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.cand:hover{background:var(--accent-soft);border-color:var(--sel)}.cand small{color:var(--muted)}.cand .rooms{margin-left:4px;padding:1px 8px;border-radius:999px;background:var(--past);font-size:.8rem;font-weight:600}.cell.busy.mine{background:repeating-linear-gradient(45deg,var(--accent-soft) 0 6px,transparent 6px 12px),var(--card);color:var(--sel);cursor:copy;border-top-color:var(--sel)}.cell.busy.mine:hover{background:var(--accent-soft);outline:2px solid var(--sel);outline-offset:-2px;z-index:1}.cell.folded{background:repeating-linear-gradient(135deg,var(--free) 0 6px,transparent 6px 12px),var(--card);outline:2px dashed var(--free-line);outline-offset:-2px}.cell.folded .who{color:var(--text)}.cell .x.unfold{right:2px;top:2px;color:var(--busy)}.cell.sel.folded{background:repeating-linear-gradient(135deg,var(--sel) 0 6px,color-mix(in srgb,var(--sel) 55%,white) 6px 12px);outline:none}.cell.sel.folded .who{color:var(--accent-ink)}.cv-top{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;margin-bottom:12px}.feeds{display:flex;flex-wrap:wrap;gap:8px}.feed{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 14px 6px 10px;font-weight:700;cursor:pointer;min-height:40px;position:relative}.feed input{position:absolute;opacity:0;pointer-events:none}.feed i{width:20px;height:20px;border-radius:5px;border:2px solid var(--c);display:inline-grid;place-items:center;color:var(--card);font-style:normal;font-size:14px;line-height:1}.feed input:checked+i{background:var(--c)}.feed input:checked+i:after{content:"✓"}.feed input:focus-visible+i{outline:3px solid var(--accent);outline-offset:2px}.feed small{font-weight:400;color:var(--muted)}.feed.akkk{--c: var(--fa)}.feed.sb{--c: var(--fs)}.cv-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.cv-bar{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-bottom:10px}.cv-bar .ttl{font-size:1.05rem;text-transform:capitalize;min-width:130px;text-align:center}.cv-bar>.chip{margin-right:auto;min-height:38px}.cv-bar select{padding:8px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card)}.cv-bar .icon{width:40px;height:40px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.seg button{border:0;background:var(--card);padding:8px 14px;font-size:.88rem;min-height:38px}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.cv-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.cv-grid .dh,.rp-grid .dh{background:var(--card);padding:5px;font-size:.72rem;font-weight:700;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.05em}.cv-grid .dh.we,.rp-grid .dh.we{color:var(--busy)}.cd{background:var(--card);min-height:112px;padding:4px;display:flex;flex-direction:column;gap:3px;min-width:0}.cd.out{background:var(--bg)}.cd .n{display:flex;justify-content:space-between;align-items:center;border:0;background:none;padding:0;text-align:left;width:100%;font-size:.78rem;color:var(--muted)}.cd.we .n{color:var(--busy)}.cd .n .plus{opacity:0;color:var(--accent);font-weight:700;padding:0 5px}.cd:hover .n .plus,.cd .n:focus-visible .plus{opacity:1}.cd.today .n b{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 6px}.cd:hover{background:color-mix(in srgb,var(--accent-soft) 40%,var(--card))}.cv-ev{display:flex;gap:5px;align-items:baseline;width:100%;border:0;border-left:3px solid var(--line);background:var(--bg);border-radius:4px;padding:2px 5px;font-size:.72rem;text-align:left;min-width:0;overflow:hidden}.cv-ev .t{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.cv-ev .ti{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cv-ev .bdg{margin-left:auto;flex:none;font-size:.62rem;font-weight:700;padding:0 5px;border-radius:999px;background:var(--free);color:var(--ok);border:1px solid var(--free-line)}.cv-ev.sb{border-left-color:var(--fs)}.cv-ev.akkk{border-left-color:var(--fa)}.cv-ev.mine{background:var(--accent-soft)}.cv-ev.busy{background:var(--busy-bg)}.cv-ev.fixed{background:var(--fixed);color:var(--muted)}.cv-ev.sel,.ag-row.sel{outline:2px solid var(--accent)}.more{border:0;background:none;color:var(--accent);font-size:.72rem;text-align:left;padding:0 5px}.cv-agenda{display:grid;gap:0}.cv-agenda .ag-day{display:flex;align-items:center;gap:8px;font-weight:700;margin-top:10px;padding-bottom:2px;border-bottom:1px solid var(--line)}.cv-agenda .ag-day .add{margin-left:auto;font-weight:400;font-size:.85rem;min-height:36px}.ag-row{display:grid;grid-template-columns:104px minmax(0,1fr);gap:4px 10px;align-items:center;width:100%;text-align:left;border:1px solid var(--line);border-left:4px solid var(--line);background:var(--card);border-radius:10px;padding:9px 10px;margin-top:6px;min-height:48px}.ag-row.akkk{border-left-color:var(--fa)}.ag-row.sb{border-left-color:var(--fs)}.ag-row.mine{background:var(--accent-soft)}.ag-row.busy{background:var(--busy-bg)}.ag-row.fixed{background:var(--fixed)}.ag-row .t{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.85rem}.ag-row .tt small{display:block;color:var(--muted)}.feedtag{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-right:6px}.ag-row.akkk .feedtag{color:var(--fa)}.ag-row.sb .feedtag{color:var(--fs)}.lg{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid var(--line);vertical-align:-2px;margin-right:5px}.lg.akkk{background:var(--fa)}.lg.sb{background:var(--fs)}.lg.mine{background:var(--accent-soft);border-color:var(--accent)}.lg.busy{background:var(--busy-bg);border-color:var(--busy)}.lg.fixed{background:var(--fixed)}.cv-drawer{position:sticky;top:12px;display:grid;gap:10px}.cv-drawer h2{margin:0;font-size:1.1rem;display:block}.kv{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;font-size:.9rem;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.link-st{padding:8px 10px;border-radius:8px;font-size:.88rem;background:var(--free);border:1px solid var(--free-line)}.link-st.no{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}.acts{display:grid;gap:8px}.acts>button{min-height:44px;border-radius:10px}.acts>button.primary{border:0;background:var(--accent);color:var(--accent-ink);font-weight:700}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.row-actions button{min-height:44px;border-radius:10px;padding:0 16px}.addp{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.addp>button.ghost{min-height:44px;border-radius:10px}.addp input[type=search]{padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);width:100%;font-size:1rem}.dl-note{padding:8px 10px;border-radius:8px;background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn);font-size:.88rem}.mlist{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:220px;overflow:auto}.mlist button{width:100%;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:10px 12px;display:flex;justify-content:space-between;gap:8px;min-height:44px}.mlist button:hover{border-color:var(--accent);background:var(--accent-soft)}.steps{margin:0;padding-left:20px;display:grid;gap:2px;font-size:.9rem;color:var(--ok)}.ce-bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:25;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 14px #0000001a;margin-bottom:14px}.ce-bar .ttl{font-weight:700;margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.ce-bar button{min-height:40px}.ce-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start}.ce-main,.ce-side{display:grid;gap:12px;min-width:0;grid-template-columns:minmax(0,1fr)}.ce-side{position:sticky;top:76px}details.sec{padding:0}details.sec>summary{cursor:pointer;font-weight:700;padding:14px;display:flex;gap:10px;align-items:baseline;list-style:none;min-height:48px}details.sec>summary::-webkit-details-marker{display:none}details.sec>summary:before{content:"▸";color:var(--muted);transition:transform .15s}details.sec[open]>summary:before{transform:rotate(90deg)}details.sec>summary small{font-weight:400;color:var(--muted);margin-left:auto;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.fbody{padding:0 14px 14px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}.fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 12px}.f{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;font-size:.85rem;font-weight:600;min-width:0;align-content:start}.f input:not([type=checkbox]):not([type=color]),.f select,.f textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);width:100%;min-width:0;font-weight:400;font-size:1rem}.f textarea{min-height:84px;resize:vertical;font-family:inherit}.f.wide2{grid-column:span 2}.f small{font-weight:400;color:var(--muted)}.ck{display:grid;grid-template-columns:24px 1fr;gap:2px 8px;align-items:start;padding:8px 0;cursor:pointer}.ck.first{padding-top:0}.ck input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent)}.ck small{grid-column:2;color:var(--muted);font-size:.84rem}.dchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dchip,.rbadge{display:inline-flex;gap:6px;align-items:center;border-radius:999px;padding:3px 5px 3px 12px;font-weight:600;font-size:.88rem}.dchip{background:var(--accent-soft);border:1px solid var(--accent)}.rbadge{background:var(--fixed)}.dchip button,.rbadge button{border:0;background:var(--card);color:var(--accent);border-radius:50%;width:26px;height:26px;padding:0;line-height:1;font-weight:700}.dadd{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dadd input{padding:8px;border-radius:8px;border:1px solid var(--line);background:var(--card)}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:6px;max-width:460px}.csw{aspect-ratio:1;min-height:36px;border-radius:8px;border:2px solid transparent;box-shadow:inset 0 0 0 1px #0000002e;padding:0;color:#fff;font-size:16px;font-weight:700}.csw[aria-pressed=true]{border-color:var(--text);outline:2px solid var(--card);outline-offset:-4px}.csw[aria-pressed=true]:after{content:"✓"}.csw.light{color:#222}.sublbl{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.hexrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hexrow input[type=text]{width:120px!important;font-family:ui-monospace,Consolas,monospace}.hexrow input[type=color]{width:48px;height:42px;padding:2px;border-radius:8px;border:1px solid var(--line);background:var(--card)}.bad{color:var(--busy)}.prev{border-radius:8px;padding:8px 10px;border-left:6px solid var(--pc, var(--accent));background:color-mix(in srgb,var(--pc, var(--accent)) 18%,var(--card));display:grid;gap:1px}.prev small{color:var(--muted);font-weight:400}.prev .sbt{color:var(--fs);margin-top:6px}.copyresp{display:grid;gap:8px;padding:10px;border:1px dashed var(--accent);border-radius:10px}.copytools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.copytools input{flex:1 1 200px;min-width:0;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:1rem}.copytools .chip{min-height:38px}.clist{display:grid;gap:6px;max-height:300px;overflow:auto}.clist .opt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--card)}.clist .opt small{grid-column:1 / -1;color:var(--muted)}.clist .opt.past b{color:var(--muted)}.clist .chip{min-height:36px}.sbcard{border-color:var(--fs);display:grid;gap:8px}.sbcard h2{color:var(--fs);margin:0}.sbinfo{margin:0;display:grid;gap:2px 10px;grid-template-columns:max-content 1fr;font-size:.88rem}.sbinfo dt{color:var(--muted)}.sbinfo dd{margin:0}.rooms-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rm{padding:0 8px;border-radius:999px;background:var(--fixed);font-size:.8rem;font-weight:600}.sbcard>button.ghost{min-height:44px;border-radius:10px}.ce-foot{display:none}.rp{display:grid;gap:8px}.rp-bar{display:flex;align-items:center;justify-content:space-between;text-transform:capitalize}.rp-bar .icon{width:40px;height:40px}.rp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.rd{background:var(--card);border:0;border-radius:0;min-height:66px;padding:3px;display:flex;flex-direction:column;gap:2px;text-align:left;min-width:0;align-items:stretch}.rd.out{background:var(--bg)}.rd:not(.out):hover{background:var(--accent-soft)}.rd .n{font-size:.78rem;font-weight:700;color:var(--muted)}.rd.we .n{color:var(--busy)}.rd .e{font-size:.64rem;line-height:1.25;padding:0 3px;border-left:3px solid var(--fa);background:var(--bg);border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd .mo{font-size:.64rem;color:var(--muted);padding-left:3px}.rd.inr{background:var(--accent-soft)}.rd.inr .n{color:var(--accent)}.rd.rs,.rd.re{background:var(--accent)}.rd.rs .n,.rd.re .n,.rd.rs .lbl,.rd.re .lbl{color:var(--accent-ink)}.rd .lbl{font-size:.66rem;font-weight:700}.rd.rs .e,.rd.re .e{background:color-mix(in srgb,var(--accent-ink) 85%,transparent);color:var(--text)}.rp-quick{display:flex;flex-wrap:wrap;gap:6px}.rp-quick .chip{min-height:38px}.rp-times{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:end}.rp-times fieldset{border:1px solid var(--line);border-radius:10px;margin:0;padding:4px 10px 8px;display:flex;gap:8px;align-items:center;min-width:0}.rp-times legend{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-inline:4px}.rp-times input[type=time]{padding:8px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:1rem}.rp-times .dur{font-weight:700;color:var(--accent);align-self:center}.strips{display:grid;gap:6px}.strip{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:center}.strip .sl{font-size:.78rem;color:var(--muted);font-weight:600}.strip.scale{font-size:.66rem;color:var(--muted)}.strip.scale div{display:flex;justify-content:space-between}.trk{position:relative;height:40px;background:var(--free);border:1px solid var(--free-line);border-radius:6px;touch-action:none;background-image:linear-gradient(to right,var(--free-line) 1px,transparent 1px);background-size:25% 100%;margin-top:16px}.trk .sblk{position:absolute;top:3px;bottom:3px;background:var(--fixed);border:1px solid var(--line);border-radius:4px;font-size:.62rem;color:var(--muted);overflow:hidden;white-space:nowrap;padding:0 3px}.trk .ssel{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--accent) 70%,transparent);border-radius:4px}.trk .hd{position:absolute;top:-3px;bottom:-3px;width:28px;margin-left:-14px;cursor:ew-resize;touch-action:none;z-index:2;display:grid;place-items:center}.trk .hd:before{content:"";width:6px;height:100%;background:var(--accent);border-radius:3px;box-shadow:0 0 0 2px var(--card)}.trk .hd .tp{position:absolute;bottom:calc(100% + 1px);left:50%;transform:translate(-50%);background:var(--accent);color:var(--accent-ink);font-size:.74rem;font-weight:700;padding:0 7px;border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums}.trk .hd.end .tp{bottom:auto;top:calc(100% + 1px)}.trk .hd:focus-visible{outline:none}.trk .hd:focus-visible:before{box-shadow:0 0 0 3px var(--card),0 0 0 6px var(--accent)}@media (max-width: 900px){.cv-wrap,.ce-grid{grid-template-columns:minmax(0,1fr)}.cv-drawer,.ce-side{position:static}}@media (max-width: 640px){header.top{flex-wrap:wrap;gap:8px}.userbar{flex-wrap:wrap}.cd{min-height:64px;padding:2px}.cv-ev .t,.cv-ev .bdg{display:none}.cv-ev{font-size:.64rem;padding:1px 3px}.cd .n .plus{display:none}.ag-row{grid-template-columns:1fr}.f.wide2{grid-column:auto}.rd{min-height:46px}.rd .e{display:none}.strip{grid-template-columns:46px minmax(0,1fr)}.ce-bar .ttl{display:none}.ce-bar{justify-content:space-between}.ce-bar .primary{display:none}.ce{padding-bottom:80px}.ce-foot{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:var(--card);border-top:1px solid var(--line)}.ce-foot .primary{width:100%;min-height:48px}.cv-bar .ttl{flex-basis:100%;order:-1}}.link-st.maybe{background:var(--accent-soft);border-color:var(--accent)}.link-st .why{display:block;color:var(--muted);margin-top:3px}.cv-ev.cont{border-left-style:dashed}.cv-ev .bdg.go{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}@media (max-width: 640px){.cv-ev .bdg.go{display:inline-block}}button.danger{background:var(--busy);color:#fff;border:0;border-radius:10px;padding:8px 16px;font-weight:700;min-height:44px}button.danger-ghost{background:transparent;color:var(--busy);border:1px solid var(--busy);border-radius:10px;padding:8px 16px;font-weight:700;min-height:40px}button.danger-ghost:hover:not(:disabled){background:var(--busy-bg)}.confirm{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--busy);border-radius:12px;background:var(--busy-bg);margin:0 0 14px}.ed .confirm{margin:10px 0 0}.ce-foot .danger-ghost{flex:0 0 auto;min-height:48px;margin-right:8px}.cv-ev.both,.ag-row.both{border-left-color:transparent;border-image:linear-gradient(var(--fa) 50%,var(--fs) 50%) 1;border-image-slice:1}.ag-row.both{border-left-width:4px}.ag-row.both .feedtag{color:var(--text)}.lg.both{background:linear-gradient(135deg,var(--fa) 50%,var(--fs) 50%)}.app.wide{max-width:min(1900px,100%)}.cv-wrap{grid-template-columns:minmax(0,1fr)}.cv-top-actions{display:flex;gap:8px;flex-wrap:wrap}.cv-top-actions button{min-height:44px;border-radius:10px;padding:0 16px}.cd{min-height:164px;gap:4px}.ev2{display:grid;gap:2px;width:100%;border:0;border-left:4px solid var(--line);background:var(--bg);border-radius:6px;padding:4px 7px;text-align:left;min-width:0;font-size:.8rem;line-height:1.25}.ev2 .l1{display:flex;gap:6px;align-items:baseline;min-width:0}.ev2 .t{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.74rem}.ev2 .ti{font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;min-width:0}.ev2 .l2{display:flex;flex-wrap:wrap;gap:3px 5px;align-items:center}.ev2 .pill{padding:0 6px;border-radius:999px;font-size:.66rem;font-weight:700;background:var(--fixed)}.ev2 .pill.room{background:var(--free);color:var(--ok);border:1px solid var(--free-line)}.ev2 .pill.go{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent)}.ev2 .mini{width:36px;height:4px;border-radius:2px;background:var(--line);overflow:hidden;display:inline-block}.ev2 .mini i{display:block;height:100%;background:var(--accent)}.ev2 .cnt{font-size:.66rem;color:var(--muted)}.ev2.akkk{border-left-color:var(--fa)}.ev2.sb{border-left-color:var(--fs)}.ev2.both{border-left-color:transparent;border-image:linear-gradient(var(--fa) 50%,var(--fs) 50%) 1;border-image-slice:1}.ev2.mine{background:var(--accent-soft)}.ev2.busy{background:var(--busy-bg)}.ev2.fixed{background:var(--fixed);color:var(--muted)}.ev2.cont{border-left-style:dashed}.ev2.sel{outline:2px solid var(--accent)}.cv-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000073;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));overflow:auto}.cv-modal .cv-drawer{position:relative;top:auto;width:min(560px,100%);max-height:100%;overflow:auto;box-shadow:0 20px 60px #0006;padding-top:28px}.cv-close{position:absolute;top:6px;right:8px;width:40px;height:40px;border:0;background:none;font-size:1.8rem;line-height:1;color:var(--muted)}.cv-close:hover{color:var(--text)}@media (max-width: 900px){.cd{min-height:120px}}@media (max-width: 640px){.cv-modal{place-items:end center;padding:0}.cv-modal .cv-drawer{width:100%;border-radius:16px 16px 0 0;max-height:88%;padding-bottom:max(14px,env(safe-area-inset-bottom,0px))}.cd{min-height:76px}.ev2{padding:2px 4px;font-size:.68rem}.ev2 .t,.ev2 .l2{display:none}}.rd .e.mine{background:var(--accent-soft);border-left-color:var(--accent)}.rd .e.busy{background:var(--busy-bg);border-left-color:var(--busy)}.rd .e.fixed{background:var(--fixed);border-left-color:var(--muted);color:var(--muted)}.sbrc .rd{min-height:78px}.sbrc .rd .e b{font-weight:700}.rd.rs .e,.rd.re .e{color:var(--text)}@media (max-width: 640px){.sbrc .rd{min-height:52px}.sbrc .rd .e{display:none}}.cv-create{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;min-height:44px;padding:6px 12px;margin-bottom:8px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.9rem}.cv-create b{color:var(--fg)}.cd .n{cursor:pointer}.cd.pick{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}.cd .addday{align-self:flex-start;border:0;border-radius:6px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:.72rem;padding:3px 8px;cursor:pointer}.cd{cursor:pointer}.ag-day .agd{flex:1;text-align:left;border:0;background:none;padding:4px 0;font:inherit;font-weight:700;color:inherit;cursor:pointer}.ag-day.pick{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px;background:var(--accent-soft)}.roompick{margin:8px 0}.clonebar{display:grid;gap:8px}.csliders{display:grid;gap:8px;max-width:460px;margin-top:6px}.csliders label{display:grid;gap:4px;font-size:.8rem;color:var(--muted)}.csliders input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:28px;border-radius:14px;border:1px solid var(--line);outline-offset:3px;margin:0}.csliders input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:34px;height:34px;border-radius:50%;background:#fff;border:3px solid #222;box-shadow:0 1px 4px #0006}.csliders input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:3px solid #222}.ed .bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:25;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 14px #0000001a}.ed .bar .ttl{font-weight:700;margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.ed .undo{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 14px;font-weight:700}.ed .undo:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.ed .layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px;align-items:start}.ed .side{display:grid;gap:14px;min-width:0}.ed .picker{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:end;margin-bottom:10px}.ed .picker fieldset{border:1px solid var(--line);border-radius:10px;margin:0;padding:4px 8px 8px;min-width:0}.ed .picker legend{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-inline:4px}.ed .picker .pair{display:flex;gap:6px}.ed .picker select{padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--card);min-width:0;font-variant-numeric:tabular-nums}.ed .picker .dur{font-weight:700;color:var(--accent);align-self:center}.ed .picker .jump{display:flex;gap:6px}.ed .roll{position:relative;height:600px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--card);overscroll-behavior:contain}.ed .rinner{position:relative}.ed .rhead,.ed .rrow{display:grid;grid-template-columns:44px repeat(6,minmax(0,1fr));gap:2px;padding-inline:4px}.ed .rhead{position:sticky;top:0;z-index:6;height:36px;padding-block:4px;background:var(--card);border-bottom:1px solid var(--line)}.ed .rh{border:1px solid var(--line);background:var(--card);border-radius:8px;font-weight:700;font-size:.85rem;padding:0;display:flex;align-items:center;justify-content:center;gap:5px;min-width:0}.ed .rh.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ed .dot{width:8px;height:8px;border-radius:50%;background:var(--free-line);flex:none}.ed .dot.warn{background:var(--warn-line)}.ed .dot.busy{background:var(--busy)}.ed .dot.mine{background:var(--accent)}.ed .on .dot{box-shadow:0 0 0 2px var(--accent-ink)}.ed .rx{margin-left:1px;font-weight:400;opacity:.9}.ed .day-banner{position:sticky;top:36px;z-index:5;height:30px;display:flex;align-items:center;padding-inline:10px;font-weight:700;background:var(--bg);border-block:1px solid var(--line)}.ed .rrow{height:22px}.ed .tm{font-size:.7rem;color:var(--muted);text-align:right;padding-right:6px;font-variant-numeric:tabular-nums;position:relative;top:-7px}.ed .c{position:relative;border-top:1px solid var(--free-line);background:var(--free);font-size:.66rem;line-height:20px;padding-inline:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:default;min-width:0}.ed .rrow.half .c{border-top-style:dashed}.ed .c.addable{cursor:copy}.ed .c.addable:hover{background:var(--accent-soft)}.ed .c.addable:hover:after{content:"+ " attr(data-room);color:var(--accent);font-weight:700}.ed .c.preview{box-shadow:inset 0 0 0 1px var(--accent)}.ed .c.busy{background:var(--busy-bg);color:var(--busy);border-top-color:transparent}.ed .c.fixed{background:var(--fixed);color:var(--muted);border-top-color:transparent}.ed .c.mine{background:repeating-linear-gradient(45deg,var(--accent-soft) 0 5px,transparent 5px 10px),var(--card);color:var(--accent);border-top-color:var(--accent)}.ed .c.mine.addable{cursor:copy}.ed .c.mine.addable:hover{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.ed .c.folded{background:repeating-linear-gradient(135deg,var(--free) 0 5px,transparent 5px 10px),var(--card);color:var(--text)}.ed .c.base{box-shadow:inset 0 0 0 1px var(--accent)}.ed .c.sel{background:var(--accent);color:var(--accent-ink);border-top-color:var(--accent)}.ed .c.sel.addable{cursor:default}.ed .c.sel.folded{background:repeating-linear-gradient(135deg,var(--accent) 0 5px,color-mix(in srgb,var(--accent) 60%,#fff) 5px 10px)}.ed .c .x{position:absolute;right:2px;top:2px;z-index:5;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:var(--card);color:var(--accent);font-size:13px;line-height:1;font-weight:700;box-shadow:0 1px 3px #00000059}.ed .grab{position:absolute;left:0;right:0;height:18px;z-index:4;cursor:ns-resize;touch-action:none}.ed .grab:before{content:"";position:absolute;left:44px;right:4px;top:7px;height:4px;border-radius:2px;background:var(--accent);box-shadow:0 0 0 2px var(--card)}.ed .grab .pill{position:absolute;left:50px;padding:2px 10px 2px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.74rem;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:0 1px 4px #0000004d}.ed .grab[data-grab=start] .pill{bottom:11px}.ed .grab[data-grab=end] .pill{top:11px}.ed .grab:focus-visible{outline:none}.ed .grab:focus-visible:before{box-shadow:0 0 0 3px var(--card),0 0 0 6px var(--accent)}.ed .pk-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}.ed .pk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:10px}.ed .pk-row.in{border-color:var(--accent);background:var(--accent-soft)}.ed .pk-main{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;min-width:0}.ed .pk-main small{color:var(--muted)}.ed .pk-sub{list-style:none;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:6px}.ed .pk-when{grid-column:1;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.ed .pk-row>button,.ed .pk-row>.lock{grid-column:2;grid-row:1 / span 2}.ed .pk{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:4px 12px;font-size:.82rem}.ed .lock{font-size:.78rem;color:var(--muted)}.ed .series{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:9px 12px;border-radius:10px;background:var(--accent-soft)}.ed .series .lbl{display:block;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ed .series b{font-size:1rem;font-variant-numeric:tabular-nums}.ed .series .arrow{font-size:1.2rem;color:var(--accent)}.ed .series .dur{margin-left:auto;font-weight:700;color:var(--accent)}.ed .rooms-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.ed .warns{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:var(--warn-bg);color:var(--warn);font-size:.84rem;display:grid;gap:2px}.ed .row-fields{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end;margin-top:10px}.ed .row-fields label{display:grid;gap:4px;font-weight:600;font-size:.82rem}.ed .row-fields input{padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);min-width:180px}@media (max-width: 640px){.ed .roll{height:420px}.ed .bar .ttl{display:none}.ed .bar{justify-content:space-between}.ed .undo{flex:1;justify-content:center}.ed .rh{position:relative;font-size:.8rem;gap:1px}.ed .rh .dot{position:absolute;top:3px;right:3px;width:6px;height:6px}.ed .rh:not(.on) .rx{display:none}}@media (max-width: 900px){.ed .layout{grid-template-columns:minmax(0,1fr)}}.ed .days-ctl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.ed .days-ctl .chip{min-height:34px}.ed .warns.err{background:var(--busy-bg);color:var(--busy)}.ed .plan-card summary{cursor:pointer;font-weight:700}.ed .plan-card[open] summary{margin-bottom:8px}.ed .quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ed .bad{color:var(--busy)}.ed .legend i{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:-2px;margin-right:5px;border:1px solid var(--line)}.ed .rm{padding:0 8px;border-radius:999px;background:var(--fixed);font-size:.76rem;font-weight:600}.ed .pk-row>button.pk{min-height:36px}.ed .undo{min-height:40px}.ed .lg-free{background:var(--free);border-color:var(--free-line)!important}.ed .lg-busy{background:var(--busy-bg);border-color:var(--busy)!important}.ed .lg-fixed{background:var(--fixed)}.ed .lg-mine{background:repeating-linear-gradient(45deg,var(--accent-soft) 0 4px,transparent 4px 8px),var(--card);border:1px dashed var(--accent)!important}.ed .lg-folded{background:repeating-linear-gradient(135deg,var(--free) 0 4px,transparent 4px 8px),var(--card)}.ed .lg-sel{background:var(--accent)}.ed .legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.78rem;color:var(--muted);margin:10px 0 0;padding:0;list-style:none}.ed .pdate{align-self:center;min-width:96px;font-variant-numeric:tabular-nums}.ed .sbrc{margin-bottom:12px}.ed .picker .dur-jump{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}@media (max-width: 700px){.ed .picker{display:grid;grid-template-columns:minmax(0,1fr)}.ed .picker .pair{justify-content:space-between;align-items:center}}.ed .plan-mobile{border:1px solid var(--line);border-radius:12px;padding:8px 10px 10px;margin-bottom:10px;background:var(--card)}.ed .plan-mobile h3{margin:0 0 6px;font-size:.95rem}
