:root{--bg: #f3f4fb;--bg2: #e8eafa;--fg: #1a1c2c;--mut: #6b7089;--card: #ffffff;--line: #e2e5f3;--off: #eff0f9;--acc: #5b5bf0;--acc2: #2f9bff;--bad: #e5484d;--ok: #16a34a;--warn: #d97706;--r: 16px;--r-sm: 10px;--r-pill: 999px;--sh1: 0 1px 2px rgba(25, 30, 70, .06), 0 2px 10px rgba(25, 30, 70, .05);--sh2: 0 10px 34px rgba(30, 36, 100, .16), 0 2px 8px rgba(30, 36, 100, .08);--glass: rgba(255, 255, 255, .72);--lw: 460px;--cw: 48px;--s-unscheduled: #64748b;--s-todo: #0891b2;--s-progress: #2563eb;--s-test: #d97706;--s-done: #16a34a;--s-later: #7c3aed;--ease: cubic-bezier(.2, .8, .2, 1);color-scheme:light}[data-theme=dark]{--bg: #12131c;--bg2: #181a28;--fg: #ecedf6;--mut: #9a9db4;--card: #1c1e2d;--line: #2d3045;--off: #171926;--acc: #8b8bff;--acc2: #5db3ff;--bad: #ff6b70;--glass: rgba(24, 26, 40, .72);--sh1: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 10px rgba(0, 0, 0, .3);--sh2: 0 14px 40px rgba(0, 0, 0, .55);color-scheme:dark}@media (max-width: 640px){:root{--lw: 250px}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.92)}60%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes growx{0%{transform:scaleX(.2);opacity:0}to{transform:none;opacity:1}}@keyframes modalin{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes toastin{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ripple{0%{transform:translate(-50%,-50%) scale(0);opacity:.45}to{transform:translate(-50%,-50%) scale(14);opacity:0}}@keyframes pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--acc) 45%,transparent)}50%{box-shadow:0 0 0 6px transparent}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.45 Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--fg);background:radial-gradient(1200px 500px at 10% -10%,var(--bg2),transparent),var(--bg);min-height:100vh}.boot{display:grid;place-items:center;gap:12px;min-height:60vh;color:var(--mut)}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--acc);animation:spin .8s linear infinite}:focus-visible{outline:3px solid color-mix(in srgb,var(--acc) 70%,transparent);outline-offset:2px}button,select,input,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 12px;min-height:38px;width:100%;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--acc) 45%,var(--line))}input:focus,select:focus,textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 20%,transparent);outline:none}.mut{color:var(--mut)}@media (pointer: coarse){input,select,button{min-height:44px}}.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;justify-content:center;padding:8px 14px;min-height:38px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card);box-shadow:var(--sh1);cursor:pointer;font-weight:500;white-space:nowrap;transition:transform .15s var(--ease),box-shadow .2s,border-color .15s,background .15s}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh2);border-color:var(--acc)}.btn:active:not(:disabled){transform:translateY(0) scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.primary{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--acc),var(--acc2))}.btn.danger{color:var(--bad)}.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--bad) 10%,var(--card));border-color:var(--bad)}.btn.ghost{background:transparent;box-shadow:none;padding:6px 10px}.rip{position:absolute;width:14px;height:14px;border-radius:50%;background:currentColor;pointer-events:none;animation:ripple .6s var(--ease) forwards}.x{border:0;background:none;cursor:pointer;border-radius:8px;min-height:28px;padding:0 8px;color:var(--mut);transition:background .15s,color .15s,transform .15s}.x:hover{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad);transform:scale(1.1)}.topbar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 16px;background:var(--glass);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}.brand{margin:0 6px 0 0;font-size:1.1rem;letter-spacing:-.01em;display:flex;gap:8px;align-items:center}.logo{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#fff;font-size:.8rem;background:linear-gradient(135deg,var(--acc),var(--acc2));box-shadow:var(--sh1)}.sp{flex:1}.usermenu,.monthnav,.seg{display:flex;align-items:center;gap:6px}.usermenu select,.monthnav input{width:auto}.seg{background:var(--off);padding:3px;border-radius:var(--r-sm);gap:2px}.seg a{padding:6px 12px;border-radius:8px;color:var(--mut);text-decoration:none;font-weight:500;transition:all .2s var(--ease)}.seg a:hover{color:var(--fg)}.seg a.on{background:var(--card);color:var(--fg);box-shadow:var(--sh1)}.page{padding:14px 16px 24px;animation:fade .35s both}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.toolbar-actions{display:flex;gap:8px}.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;gap:7px;align-items:center;padding:6px 12px;border-radius:var(--r-pill);border:1.5px solid var(--c);background:var(--card);color:var(--fg);cursor:pointer;font-weight:500;transition:transform .15s var(--ease),background .2s,color .2s,box-shadow .2s,opacity .2s}.chip:hover{transform:translateY(-2px);box-shadow:var(--sh1)}.chip[aria-pressed=true]{background:var(--c);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--c) 45%,transparent);animation:pop .3s var(--ease)}.chip[aria-pressed=true] .dot{background:#fff}.chip[aria-pressed=false]{border-style:dashed;opacity:.6}.dot{width:9px;height:9px;border-radius:50%;background:var(--c);display:inline-block;flex:none}.lg{display:flex;gap:4px;align-items:center;margin-inline-start:8px;font-size:.75rem;color:var(--mut)}.lg span,.lcell{transition:transform .15s var(--ease)}.lg span{padding:2px 8px;border-radius:6px}.l0{color:var(--mut)}.l1{background:#bbf7d0;color:#14532d}.l2{background:#4ade80;color:#052e16}.l3{background:#fbbf24;color:#451a03}.l4{background:#ef4444;color:#fff;font-weight:700}.empty{text-align:center;padding:56px 16px;color:var(--mut);background:var(--card);border:1px dashed var(--line);border-radius:var(--r);display:grid;gap:14px;justify-items:center}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--r-pill);font-size:.78rem;font-weight:600;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--card));white-space:nowrap}.pill.sm{padding:1px 8px;font-size:.72rem}.tag{display:inline-block;margin:2px 4px 2px 0;padding:1px 8px;border-radius:8px;background:var(--off);font-size:.78rem;border:1px solid var(--line)}.tag.ok{background:color-mix(in srgb,var(--ok) 12%,var(--card));border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.tag.warn{background:color-mix(in srgb,var(--warn) 14%,var(--card))}.btn-tag{cursor:pointer;font:inherit;font-size:.78rem;transition:transform .15s}.btn-tag:hover{transform:translateY(-1px) scale(1.04)}.warnline{margin-top:6px;padding:6px 10px;border-radius:8px;font-size:.82rem;color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--card));border:1px solid color-mix(in srgb,var(--bad) 30%,var(--line))}.warnline.soft{color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--card));border-color:color-mix(in srgb,var(--warn) 30%,var(--line))}.tip{position:fixed;z-index:1000;max-width:min(400px,92vw);padding:10px 12px;border-radius:12px;font-size:.8rem;pointer-events:none;color:var(--fg);background:var(--card);border:1px solid var(--line);box-shadow:var(--sh2);animation:rise .15s both;overflow-wrap:anywhere}.tt{display:grid;gap:4px}.tt strong{font-size:.88rem}.tt-line{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.toaster{position:fixed;inset-inline:12px;bottom:16px;display:flex;justify-content:center;z-index:2000;pointer-events:none}.toast{pointer-events:auto;display:flex;gap:14px;align-items:center;padding:11px 16px;border-radius:14px;background:var(--fg);color:var(--bg);box-shadow:var(--sh2);animation:toastin .35s var(--ease) both}.toast button{background:none;border:1px solid currentColor;color:inherit;border-radius:8px;padding:3px 10px;cursor:pointer;transition:transform .15s}.toast button:hover{transform:scale(1.06)}.scroll{overflow:auto;max-height:calc(100dvh - 190px);border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--sh1)}.tl{position:relative;direction:ltr;min-width:calc(var(--lw) + var(--n) * var(--cw))}.ov{position:absolute;inset-block:0;inset-inline-start:var(--lw);inset-inline-end:0;display:grid;grid-template-columns:repeat(var(--n),1fr);pointer-events:none;z-index:0}.ov i{border-inline-start:1px solid var(--line);transition:background .15s}.ov .off{background:var(--off)}.ov .td{background:color-mix(in srgb,var(--acc) 10%,transparent);border-inline:2px solid color-mix(in srgb,var(--acc) 55%,transparent)}.ov .drop{background:color-mix(in srgb,var(--acc) 22%,transparent);outline:2px dashed var(--acc);outline-offset:-2px}.r{display:grid;grid-template-columns:var(--lw) 1fr;position:relative;min-height:46px;border-block-end:1px solid var(--line)}.tl-head{position:sticky;top:0;z-index:8;background:var(--card);box-shadow:0 6px 14px -10px #14183c73}.hd{background:var(--card);min-height:40px}.hd .trk{align-items:stretch}.hd .lab{font-weight:700;display:flex;align-items:center}.dcell,.lcell{border:0;background:transparent;cursor:pointer;padding:2px 0;display:grid;place-items:center;font-size:.68rem;line-height:1.15;color:var(--mut);transition:background .15s,transform .15s var(--ease),color .15s}.dcell b{font-size:.82rem;color:var(--fg)}.dcell.off{background:var(--off)}.dcell.td{background:color-mix(in srgb,var(--acc) 16%,var(--card));color:var(--acc)}.dcell:hover{background:color-mix(in srgb,var(--acc) 22%,var(--card));transform:translateY(-1px)}.lcell{font-weight:600;border-radius:6px;margin:3px 2px}.lcell:hover{transform:scale(1.12);box-shadow:var(--sh1);z-index:2}.lab{position:sticky;inset-inline-start:0;z-index:3;background:var(--card);padding:5px 10px;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto auto;gap:2px 8px;align-items:center;border-inline-end:1px solid var(--line);min-width:0;transition:background .15s}.row{animation:rise .35s var(--ease) both;animation-delay:calc(var(--i) * 22ms);transition:background .15s}.row:hover .lab{background:color-mix(in srgb,var(--acc) 6%,var(--card));box-shadow:inset 3px 0 0 var(--acc)}.row.dragging{opacity:.4}.row.drop-before:after,.row.drop-after:after{content:"";position:absolute;inset-inline:0;height:3px;background:var(--acc);z-index:7;border-radius:3px;box-shadow:0 0 10px var(--acc);pointer-events:none}.row.drop-before:after{top:-2px}.row.drop-after:after{bottom:-2px}.handle{border:0;background:none;cursor:grab;color:var(--mut);font-size:1.1rem;padding:0 2px;min-height:28px;border-radius:6px;transition:color .15s,background .15s}.handle:hover{color:var(--acc);background:var(--off)}.handle:active{cursor:grabbing}.ss{width:112px;padding:3px 8px;min-height:30px;font-size:.78rem;font-weight:600;color:#fff;background:var(--c);border-color:transparent;border-radius:var(--r-pill);cursor:pointer}.ss:hover{border-color:transparent;filter:brightness(1.08)}.ss option{color:var(--fg);background:var(--card)}.ss.full{width:100%;border-radius:var(--r-sm);min-height:38px}.lab .t{text-align:start;border:0;background:none;padding:2px;min-height:28px;line-height:1.25;cursor:pointer;font-weight:600;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lab .t:hover{color:var(--acc)}.lab small{color:var(--mut)}.sub{grid-column:1 / -1;color:var(--mut);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;padding-inline-start:22px}.bdg{font-size:.72rem;color:var(--mut);white-space:nowrap}.bdg.bad{color:var(--bad);font-weight:700}.mini{border:1px solid var(--line);background:var(--card);border-radius:9px;min-height:28px;padding:0 9px;cursor:pointer;transition:transform .15s var(--ease),background .15s,color .15s}.mini:hover{background:var(--acc);color:#fff;transform:scale(1.1)}.mini:active{transform:scale(.92)}.trk{display:grid;grid-template-columns:repeat(var(--n),1fr);align-items:center;position:relative;z-index:1}.trk-cells{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(var(--n),1fr);pointer-events:auto;z-index:1;height:100%}.tcell{border:0;background:transparent;cursor:pointer;padding:0;height:100%;display:grid;place-items:center;position:relative;transition:background .15s ease;border-inline-start:1px solid transparent}.tcell:hover{background:color-mix(in srgb,var(--acc) 14%,transparent)}.tcell.off{background:color-mix(in srgb,var(--off) 45%,transparent)}.tcell.off:hover{background:color-mix(in srgb,var(--acc) 12%,var(--off))}.tcell.td{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 25%,transparent)}.tcell.has-slot{border-bottom:2px solid color-mix(in srgb,var(--acc) 40%,transparent)}.tcell .tcell-add{font-size:1rem;font-weight:700;color:var(--acc);opacity:0;transform:scale(.7);transition:opacity .15s ease,transform .15s ease;pointer-events:none;line-height:1}.tcell:hover .tcell-add{opacity:.9;transform:scale(1)}.bar{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:36px;margin-block:3px;padding:0 4px;overflow:hidden;cursor:pointer;position:relative;z-index:2;font-size:.65rem;font-weight:700;line-height:1.15;color:var(--c);background:color-mix(in srgb,var(--c) 16%,var(--card));border:1px solid var(--c);border-inline-start-width:4px;border-radius:9px;transform-origin:left center;animation:growx .4s var(--ease) both;transition:transform .15s var(--ease),box-shadow .2s,background .2s}.bar:hover{transform:scale(1.05);z-index:3;box-shadow:0 6px 18px color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 26%,var(--card))}[data-theme=dark] .bar{color:color-mix(in srgb,var(--c) 55%,#fff)}.act{grid-row:1;align-self:end;height:5px;margin-bottom:1px;background:#111;border-radius:3px;position:relative;z-index:2}[data-theme=dark] .act{background:#fff}.un{grid-column:1 / -1;color:var(--mut);font-size:.75rem;padding-inline:10px;position:relative;z-index:2;pointer-events:none}.g{display:flex;gap:8px;align-items:center;width:100%;padding:8px 12px;border:0;background:color-mix(in srgb,var(--c) 9%,var(--off));text-align:start;font-weight:700;cursor:pointer;position:sticky;inset-inline-start:0;z-index:3;grid-column:1 / -1;transition:background .2s}.g:hover{background:color-mix(in srgb,var(--c) 18%,var(--off))}.grp{grid-template-columns:1fr;min-height:0}.caret{display:inline-block;transition:transform .25s var(--ease)}.caret.open{transform:rotate(90deg)}.is-dragging .row:not(.dragging){transition:none}.modal{border:0;padding:0;background:transparent;color:var(--fg);width:min(560px,94vw);max-height:92vh;overflow:visible}.modal.wide{width:min(760px,95vw)}.modal::backdrop{background:#0e102880;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade .25s both}.modal[open]{animation:modalin .3s var(--ease) both}.modal-body{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh2);padding:18px 20px 20px;max-height:92vh;overflow:auto;display:grid;gap:12px}.modal-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-18px;background:var(--card);z-index:3;padding-block:4px}.modal-head h2{margin:0;font-size:1.15rem}form{display:grid;gap:12px}label,.lbl{display:grid;gap:4px;font-size:.85rem;color:var(--mut);font-weight:500}label>*{color:var(--fg)}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.err{color:var(--bad);margin:0;min-height:1.2em;font-size:.88rem}.acts{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.acts .mut{margin-inline-end:auto}.slots{display:grid;gap:10px;margin-top:6px}.slot{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--off);animation:rise .25s both}.slot-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.dayinfo{display:grid;gap:3px;font-size:.8rem;color:var(--mut)}.pk{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--off);margin-top:6px}.pk-chosen{display:flex;flex-wrap:wrap;gap:6px;min-height:30px;align-items:center}.pk-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--c) 14%,var(--card));border:1px solid color-mix(in srgb,var(--c) 40%,var(--line));font-size:.82rem;animation:pop .25s var(--ease);max-width:100%}.pk-chip small{color:var(--c);font-weight:700}.pk-chip>span:not(.dot){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.pk-chip button{border:0;background:none;cursor:pointer;border-radius:50%;width:20px;height:20px;color:var(--mut)}.pk-chip button:hover{background:var(--bad);color:#fff}.pk-search{display:flex;gap:8px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding-inline:10px}.pk-search input{border:0;box-shadow:none!important;padding-inline:0}.pk-search small{white-space:nowrap}.pk-filters{display:flex;flex-wrap:wrap;gap:6px}.pk-filters button{border:1px solid var(--line);background:var(--card);border-radius:var(--r-pill);padding:3px 12px;cursor:pointer;font-size:.78rem;transition:all .15s}.pk-filters button:hover{transform:translateY(-1px)}.pk-filters button.on{background:var(--c, var(--acc));border-color:transparent;color:#fff}.pk-list{max-height:220px;overflow:auto;display:grid;gap:4px;padding:2px}.opt{display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;align-items:center;text-align:start;width:100%;padding:7px 10px;background:var(--card);border:1px solid var(--line);border-inline-start:4px solid var(--c);border-radius:10px;cursor:pointer;transition:transform .12s var(--ease),background .15s,border-color .15s}.opt:hover{transform:translate(3px);background:color-mix(in srgb,var(--c) 8%,var(--card))}.opt.on{background:color-mix(in srgb,var(--acc) 12%,var(--card));border-color:var(--acc)}.opt .box{width:20px;height:20px;border-radius:6px;border:2px solid var(--line);display:grid;place-items:center;font-size:.8rem;color:#fff;transition:all .15s}.opt.on .box{background:var(--acc);border-color:var(--acc);animation:pop .25s}.opt .ttl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opt .pill{color:var(--c)}mark{background:color-mix(in srgb,var(--warn) 35%,transparent);color:inherit;border-radius:3px;padding:0 1px}.pk-empty{text-align:center;color:var(--mut);padding:14px;margin:0}.daybar{display:flex;align-items:center;justify-content:space-between;gap:8px}.tabs{display:flex;gap:2px;background:var(--off);padding:3px;border-radius:var(--r-sm)}.tabs button{border:0;background:none;padding:6px 18px;border-radius:8px;cursor:pointer;font-weight:600;color:var(--mut);transition:all .2s var(--ease)}.tabs button.on{background:var(--card);color:var(--fg);box-shadow:var(--sh1)}.workhrs{font-size:.88rem}.panel{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--off);animation:rise .3s both}.panel h3{margin:0;font-size:.95rem}.strip{padding:6px 0 0}.strip-area{position:relative;background:var(--off);border:1px solid var(--line);border-radius:12px;overflow:hidden}.strip-work{position:absolute;inset-block:0;background:color-mix(in srgb,var(--ok) 12%,transparent)}.strip-tick{position:absolute;inset-block:0;border-inline-start:1px dashed var(--line)}.strip-item{position:absolute;height:26px;border-radius:8px;padding:0 6px;display:flex;align-items:center;overflow:hidden;font-size:.72rem;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 20%,var(--card));border:1px solid var(--c);animation:growx .35s var(--ease) both;transform-origin:left}.strip-item.done{opacity:.5}.strip-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strip-item.preview{--c: var(--acc);border-style:dashed;animation:pulse 1.4s infinite}.strip-item.preview.bad{--c: var(--bad)}.strip-axis{position:relative;height:18px;font-size:.68rem;color:var(--mut)}.strip-axis span{position:absolute;transform:translate(-50%)}.dtask{display:flex;gap:10px;align-items:center;padding:6px 10px;border-radius:10px;background:var(--card);border:1px solid var(--line);border-inline-start:4px solid var(--c);transition:transform .15s var(--ease)}.dtask:hover{transform:translate(3px)}.dtask .link{flex:1}.link{border:0;background:none;color:var(--acc);cursor:pointer;text-align:start;padding:0;font-weight:600}.link:hover{text-decoration:underline}.assign-list{max-height:190px;overflow:auto;display:grid;gap:4px}.arow{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:start;padding:7px 10px;background:var(--card);border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:transform .12s var(--ease),border-color .15s,background .15s}.arow:hover{transform:translate(3px);border-color:var(--acc)}.arow.on{background:color-mix(in srgb,var(--acc) 12%,var(--card));border-color:var(--acc)}.arow .ttl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assign-form{display:grid;gap:8px;padding:12px;border-radius:12px;background:var(--card);border:1px solid var(--acc);animation:rise .25s both}.assign-form-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px}.assign-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mini-change{font-size:.8rem;padding:4px 10px}.free-windows{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.82rem}.btn-tag{border:0;cursor:pointer;font-family:inherit;font-size:.78rem;transition:transform .12s var(--ease),filter .15s}.btn-tag:hover{transform:translateY(-1px);filter:brightness(1.1)}.day-selector-card{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:var(--off);border:1px solid var(--line);border-radius:14px}.month-info-banner{display:grid;gap:2px}.month-info-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:700}.month-info-val{font-size:1rem;color:var(--fg)}.day-control-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.day-control-label{font-size:.85rem;font-weight:600;color:var(--mut)}.day-stepper-row{display:inline-flex;align-items:center;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 4px}.day-dropdown{border:0;background:transparent;font-weight:600;font-size:.88rem;cursor:pointer;padding:4px 8px;outline:none;width:auto;min-height:32px}.step-btn{min-height:30px;padding:2px 8px;font-size:1.1rem}.workload-summary{display:grid;gap:10px;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:14px}.workload-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.workload-head h4{margin:0;font-size:.95rem}.workhrs-chips{display:flex;flex-wrap:wrap;gap:6px}.kpis-compact{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.kpi-box{background:var(--off);border:1px solid var(--line);border-radius:10px;padding:6px 10px;display:grid}.kpi-box strong{font-size:1.1rem}.day-tasks-section{display:grid;gap:6px;margin-top:4px}.day-tasks-title{font-size:.85rem;font-weight:700;color:var(--mut)}.day-tasks-list{display:grid;gap:6px;max-height:160px;overflow-y:auto}.daybar-tabs{display:flex;justify-content:flex-start;margin-top:-4px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.kpis div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 12px;display:grid}.kpis b{font-size:1.2rem}.meter{height:12px;border-radius:8px;background:var(--card);border:1px solid var(--line);overflow:hidden}.meter i{display:block;height:100%;border-radius:8px;transition:width .5s var(--ease)}.wl{width:100%;border-collapse:collapse;font-size:.85rem}.wl th{text-align:start;color:var(--mut);font-weight:600;padding:4px 6px}.wl td{padding:6px;border-top:1px solid var(--line)}.wl tr.done{opacity:.5}.wl tbody tr:hover{background:var(--card)}.cfg{max-width:780px;margin-inline:auto}.cfg-list{display:grid;gap:8px}.cfgrow{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;box-shadow:var(--sh1);animation:rise .35s var(--ease) both;animation-delay:calc(var(--i) * 40ms);transition:transform .15s var(--ease),box-shadow .2s}.cfgrow:hover{transform:translateY(-2px);box-shadow:var(--sh2)}.ivs{display:flex;flex-wrap:wrap;gap:8px}.iv{display:flex;gap:4px;align-items:center}.iv input{width:112px}@media (max-width: 640px){.two,.kpis{grid-template-columns:1fr 1fr}.slot-row{grid-template-columns:1fr}}
