.tt-grid-box{overflow-x:auto;-webkit-overflow-scrolling:touch}.tt-grid{width:100%;border-collapse:separate;border-spacing:4px;table-layout:fixed;min-width:640px}.tt-grid th.corner{width:74px}.tt-grid th.ph{font-size:13px;color:var(--sk-ink,#0f1733)}[dir] .tt-grid th.ph{text-align:center;padding:2px}.tt-grid th.ph b{display:block}.tt-grid th.ph small{display:block;font-size:10.5px;color:var(--sk-muted,#667085);font-weight:500}.tt-grid td.brk,.tt-grid th.brk{width:22px}[dir] .tt-grid td.brk,[dir] .tt-grid th.brk{padding:0}.tt-grid th.brk span{writing-mode:vertical-rl;font-size:10.5px;color:var(--sk-wai,#b54708);font-weight:700}[dir] .tt-grid td.brk{background:repeating-linear-gradient(0deg,#fff7e6,#fff7e6 6px,#ffefd1 0,#ffefd1 12px);border-radius:6px}.tt-grid th.day{font-size:13px;color:var(--sk-ink,#0f1733)}[dir] .tt-grid th.day{text-align:center;background:var(--sk-soft,#f6f7fb);border-radius:10px}.tt-grid td.cell{height:64px;vertical-align:top;position:relative}[dir] .tt-grid td.cell{border-radius:10px;padding:0}[dir] .tt-grid td.empty{background:#f8fafc;border:1.5px dashed #e2e8f0;cursor:pointer}[dir] .tt-grid td.off{border-radius:10px}[dir=ltr] .tt-grid td.off{background:repeating-linear-gradient(45deg,#f2f4f7,#f2f4f7 5px,#e9ecf1 0,#e9ecf1 10px)}[dir=rtl] .tt-grid td.off{background:repeating-linear-gradient(-45deg,#f2f4f7,#f2f4f7 5px,#e9ecf1 0,#e9ecf1 10px)}[dir] .tt-grid td.full{background:transparent}.tt-grid td.full.conflict{outline:2px solid var(--sk-bad,#d92d20);outline-offset:1px}.tt-grid .stack{display:flex;flex-direction:column;gap:3px;height:100%}.tt-cc{flex:1;min-height:30px;display:flex;flex-direction:column;justify-content:center;gap:1px;position:relative;transition:transform .08s ease,box-shadow .12s ease;overflow:hidden;user-select:none;-webkit-user-select:none}[dir] .tt-cc{border-radius:10px;padding:6px 8px;cursor:grab;border:1.5px solid rgba(15,23,51,.08)}.tt-cc b{font-size:13px;line-height:1.25}.tt-cc b,.tt-cc span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-cc span{font-size:11px;opacity:.8}[dir] .tt-cc:hover{box-shadow:0 4px 12px -4px rgba(15,23,51,.25)}.tt-cc .lk{position:absolute;top:4px;font-size:10px;opacity:.65}[dir=ltr] .tt-cc .lk{right:5px}[dir=rtl] .tt-cc .lk{left:5px}[dir] .tt-cc.locked{cursor:default;border-style:dashed;border-color:rgba(15,23,51,.3)}[dir] .tt-cc.sel{box-shadow:0 0 0 3px var(--sk-p,#1d4ed8);transform:translateY(-1px)}[dir] .tt-cc.sib{box-shadow:0 0 0 2px rgba(29,78,216,.45)}[dir] .tt-cc.err{border-color:var(--sk-bad,#d92d20);border-width:2px}[dir] .tt-cc.warn{border-color:var(--sk-wa,#dc6803);border-width:2px}.tt-cc.noteach span{color:var(--sk-badi,#b42318);opacity:1}[dir] .ro .tt-cc{cursor:default}[dir] .tt-grid td.t-ok.empty{background:#dcfae6;border:1.5px solid #47cd89}[dir] .tt-grid td.t-swap.full .tt-cc{box-shadow:0 0 0 3px #fac515}[dir] .tt-grid td.t-swap.empty{background:#fef7c3;border:1.5px solid #fac515}[dir] .tt-grid td.t-soft.empty{background:#ffead5;border:1.5px solid #fd853a}[dir] .tt-grid td.t-soft.full .tt-cc{box-shadow:0 0 0 3px #fd853a}[dir] .tt-grid td.t-bad.empty{background:#fef3f2;border:1.5px dashed #fda29b;cursor:not-allowed}.tt-grid td.t-bad.full .tt-cc{opacity:.55}.tt-drop-hint{position:absolute;inset:0;display:grid;place-items:center;color:#067647;font-size:15px;opacity:.7}.t-soft .tt-drop-hint{color:#c4320a}@media (max-width:991.98px){.tt-grid td.cell{height:58px}[dir] .tt-cc{padding:4px 6px}.tt-cc b{font-size:12px}}.tt-master-box{overflow:auto;max-height:74vh;-webkit-overflow-scrolling:touch}[dir] .tt-master-box{border:1px solid var(--sk-line2,#e6e9ef);border-radius:12px;background:#fff}.tt-master{border-collapse:separate;border-spacing:0;font-size:11.5px}[dir] .tt-master td,[dir] .tt-master th{border-bottom:1px solid #eef1f6;padding:0;text-align:center}[dir=ltr] .tt-master td,[dir=ltr] .tt-master th{border-left:1px solid #f2f4f7}[dir=rtl] .tt-master td,[dir=rtl] .tt-master th{border-right:1px solid #f2f4f7}.tt-master thead th{position:sticky;z-index:3;font-weight:700;color:var(--sk-ink,#0f1733)}[dir] .tt-master thead th{background:var(--sk-soft,#f6f7fb)}.tt-master thead tr.days th{top:0;height:26px}.tt-master thead tr.ps th{top:26px;height:22px;font-size:10.5px;color:var(--sk-muted,#667085);min-width:46px}[dir=ltr] .tt-master thead th.dg{border-right:2px solid var(--sk-line,#d5dae3)}[dir=rtl] .tt-master thead th.dg{border-left:2px solid var(--sk-line,#d5dae3)}[dir=ltr] .tt-master td.first,[dir=ltr] .tt-master th.first{border-right:2px solid var(--sk-line,#d5dae3)}[dir=rtl] .tt-master td.first,[dir=rtl] .tt-master th.first{border-left:2px solid var(--sk-line,#d5dae3)}.tt-master thead th.name{z-index:5;min-width:120px}[dir=ltr] .tt-master thead th.name{left:0}[dir=rtl] .tt-master thead th.name{right:0}.tt-master .rname{position:sticky;z-index:2;white-space:nowrap;font-weight:700;color:var(--sk-ink,#0f1733);max-width:170px;overflow:hidden;text-overflow:ellipsis}[dir] .tt-master .rname{background:#fff;text-align:start;padding:0 8px;cursor:pointer}[dir=ltr] .tt-master .rname{left:0}[dir=rtl] .tt-master .rname{right:0}.tt-master .rname:hover{color:var(--sk-p,#1d4ed8)}.tt-master td.mc{height:34px;min-width:46px;max-width:70px}[dir] .tt-master td.mc.empty{background:#fbfcfd}.tt-master .mcc{line-height:1.15;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;user-select:none;-webkit-user-select:none}[dir] .tt-master .mcc{margin:2px;border-radius:6px;padding:2px 3px;cursor:grab;border:1px solid rgba(15,23,51,.06)}.tt-master .mcc small{display:block;font-weight:500;font-size:10px;opacity:.8}[dir] .tt-master .mcc.err{border:2px solid var(--sk-bad,#d92d20)}[dir] .tt-master .mcc.warn{border:2px solid var(--sk-wa,#dc6803)}[dir] .tt-master .mcc.sel{box-shadow:0 0 0 2px var(--sk-p,#1d4ed8)}[dir] .tt-master .mcc.locked{border-style:dashed;border-color:rgba(15,23,51,.35);cursor:default}[dir] .tt-master td.conflict{background:#fef3f2}[dir] .tt-master td.t-ok{background:#dcfae6}[dir] .tt-master td.t-swap{background:#fef7c3}[dir] .tt-master td.t-soft{background:#ffead5}[dir] .tt-master td.t-bad.empty{background:#fef3f2}.tt-master td.t-bad .mcc{opacity:.5}.tt-master td.ld{font-weight:700;white-space:nowrap}[dir] .tt-master td.ld{padding:0 6px}[dir] .ro .tt-master .mcc{cursor:default}.tt-dl-days{display:flex;gap:6px;overflow-x:auto}[dir] .tt-dl-days{margin-bottom:10px}.tt-dl-days button{flex:1 0 auto;font-weight:700;font-size:13px;display:flex;flex-direction:column;align-items:center;line-height:1.2}[dir] .tt-dl-days button{border:1px solid var(--sk-line,#d5dae3);background:#fff;border-radius:12px;padding:7px 10px}.tt-dl-days button small{font-size:10.5px;color:var(--sk-muted,#667085);font-weight:600}.tt-dl-days button.on{color:#fff}[dir] .tt-dl-days button.on{background:var(--sk-p,#1d4ed8);border-color:var(--sk-p,#1d4ed8)}.tt-dl-days button.on small{color:hsla(0,0%,100%,.8)}.tt-dl-row{display:flex;align-items:stretch;gap:10px;min-height:58px}[dir] .tt-dl-row{padding:6px;border-radius:12px;margin-bottom:6px;background:#fff;border:1px solid var(--sk-line2,#e6e9ef)}.tt-dl-row .pn{width:52px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center}[dir] .tt-dl-row .pn{background:var(--sk-soft,#f6f7fb);border-radius:10px}.tt-dl-row .pn b{font-size:16px;color:var(--sk-ink,#0f1733)}.tt-dl-row .pn small{font-size:10.5px;color:var(--sk-muted,#667085)}.tt-dl-row .pc{flex:1;display:flex;flex-direction:column;gap:4px;justify-content:center;min-width:0}.tt-dl-row.cov{min-height:40px}.tt-dl-card{position:relative;display:flex;flex-direction:column}[dir] .tt-dl-card{border-radius:10px;padding:7px 10px;border:1.5px solid rgba(15,23,51,.08)}.tt-dl-card b{font-size:14px}.tt-dl-card span{font-size:12px;opacity:.85}.tt-dl-card .fa-lock{position:absolute;top:8px;font-size:11px;opacity:.6}[dir=ltr] .tt-dl-card .fa-lock{right:10px}[dir=rtl] .tt-dl-card .fa-lock{left:10px}[dir] .tt-dl-card.sel{box-shadow:0 0 0 3px var(--sk-p,#1d4ed8)}[dir] .tt-dl-card.err{border:2px solid var(--sk-bad,#d92d20)}[dir] .tt-dl-card.warn{border:2px solid var(--sk-wa,#dc6803)}[dir] .tt-dl-row.t-ok{background:#dcfae6;border-color:#47cd89}[dir] .tt-dl-row.t-swap{background:#fef7c3;border-color:#fac515}[dir] .tt-dl-row.t-soft{background:#ffead5;border-color:#fd853a}[dir] .tt-dl-row.t-bad{background:#fef3f2;border-style:dashed}.tt-dl-brk{font-size:12px;color:var(--sk-wai,#b54708);font-weight:700}[dir] .tt-dl-brk{text-align:center;background:#fff7e6;border-radius:10px;padding:4px;margin-bottom:6px}.tt-free-t td{vertical-align:top}