:root{--green: #41B654;--green-600: #379947;--green-700: #2C7A38;--red: #E5484D;--amber: #E9A23B;--orange: #F2552C;--font: "Inter", -apple-system, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--ease: cubic-bezier(.2, .8, .2, 1);--spring: cubic-bezier(.34, 1.56, .64, 1);--canvas: #F1F2F6;--bg: #F1F2F6;--chrome: #F7F8FA;--surface: #FFFFFF;--surface-2: #F6F7FA;--surface-3: #ECEEF3;--hover: rgba(22, 27, 45, .045);--border: #E3E6EC;--border-strong: #D1D5DE;--grid-line: #EEF0F4;--text: #171A21;--muted: #5E6573;--faint: #9AA1AE;--accent: #5B5BEF;--accent-text: #4747D6;--on-accent: #FFFFFF;--hi: inset 0 1px 0 rgba(255, 255, 255, .95);--shadow-1: 0 1px 2px rgba(22, 27, 45, .06), 0 1px 1px rgba(22, 27, 45, .03);--shadow-2: 0 1px 2px rgba(22, 27, 45, .05), 0 6px 16px -4px rgba(22, 27, 45, .08);--shadow-3: 0 2px 4px rgba(22, 27, 45, .05), 0 12px 28px -6px rgba(22, 27, 45, .16);--shadow-pop: 0 2px 6px rgba(22, 27, 45, .06), 0 24px 56px -8px rgba(22, 27, 45, .22);--shadow-card: var(--shadow-1);--block-mix: 15%;--block-mix-hover: 21%;--ink: 62%;color-scheme:light}:root[data-theme=dark]{--canvas: #0C0D11;--bg: #0C0D11;--chrome: #121419;--surface: #16181E;--surface-2: #1B1E25;--surface-3: #252830;--hover: rgba(255, 255, 255, .05);--border: #252830;--border-strong: #33363F;--grid-line: #1E2128;--text: #ECEEF2;--muted: #A0A6B3;--faint: #676D7A;--accent: #8484FF;--accent-text: #A3A3FF;--on-accent: #0C0D11;--red: #FF6369;--hi: inset 0 1px 0 rgba(255, 255, 255, .055);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 20px -6px rgba(0, 0, 0, .5);--shadow-3: 0 2px 4px rgba(0, 0, 0, .35), 0 14px 30px -8px rgba(0, 0, 0, .6);--shadow-pop: 0 0 0 1px rgba(255, 255, 255, .06), 0 24px 60px -10px rgba(0, 0, 0, .75);--block-mix: 21%;--block-mix-hover: 28%;--ink: 100%;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--canvas);color:var(--text);font:400 14px/1.45 var(--font);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:default;opacity:.35}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:color-mix(in srgb,var(--accent) 26%,transparent)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.97)}}@keyframes rise{0%{opacity:0;transform:translateY(16px) scale(.985)}}@keyframes viewIn{0%{opacity:0;transform:translateY(6px)}}@keyframes slideNext{0%{opacity:0;transform:translate(18px)}}@keyframes slidePrev{0%{opacity:0;transform:translate(-18px)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,14px) scale(.96)}}@keyframes pulse{50%{opacity:.5}}@keyframes ring{0%{box-shadow:0 0 color-mix(in srgb,var(--red) 55%,transparent)}70%,to{box-shadow:0 0 0 6px transparent}}@keyframes checkPop{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes spinIn{0%{opacity:0;transform:rotate(-90deg) scale(.6)}}@keyframes flash{0%,to{box-shadow:0 0 0 0 transparent}25%,75%{box-shadow:0 0 0 3px var(--accent),0 0 0 8px color-mix(in srgb,var(--accent) 22%,transparent)}}@keyframes lateGlow{50%{box-shadow:var(--hi),0 0 0 3px color-mix(in srgb,var(--red) 16%,transparent)}}.view-in{animation:viewIn .34s var(--ease)}.title-in{animation:viewIn .3s var(--ease)}.spin-in{display:grid;animation:spinIn .35s var(--spring)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{display:grid;grid-template-columns:76px 1fr;height:100vh;background:var(--canvas)}.sidebar{display:flex;flex-direction:column;align-items:center;padding:14px 0 12px;gap:4px}.sidebar .logo{width:44px;height:44px;display:grid;place-items:center;margin-bottom:14px}.sidebar .logo img{width:34px;height:auto;transition:transform .4s var(--spring)}.sidebar .logo:hover img{transform:rotate(-8deg) scale(1.06)}.nav-btn{width:62px;padding:7px 0 6px;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);transition:background .2s,color .2s,box-shadow .2s,transform .15s}.nav-btn .nav-ico{width:40px;height:30px;border-radius:10px;display:grid;place-items:center;transition:background .2s,color .2s,box-shadow .2s}.nav-btn .nav-lbl{font-size:10.5px;font-weight:500;letter-spacing:-.005em}.nav-btn:hover{color:var(--text)}.nav-btn:hover .nav-ico{background:var(--hover)}.nav-btn:active{transform:scale(.95)}.nav-btn.active{color:var(--text)}.nav-btn.active .nav-ico{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-2),var(--hi)}.nav-btn.active .nav-lbl{font-weight:600}.sidebar .spacer{flex:1}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:62px;flex:none;display:flex;align-items:center;gap:10px;padding:0 16px 0 6px}.topbar h1{font-size:20px;font-weight:700;letter-spacing:-.025em;margin:0;white-space:nowrap}.topbar .grow{flex:1}.search{display:flex;align-items:center;gap:9px;height:38px;padding:0 8px 0 13px;width:min(420px,34vw);background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--faint);box-shadow:var(--shadow-1),var(--hi);transition:border-color .2s,box-shadow .2s,transform .15s}.search:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2),var(--hi)}.search:active{transform:scale(.99)}.search .ph{flex:1;text-align:left;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbd{font-size:11px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:0 5px;line-height:17px;font-family:var(--font)}.btn{height:36px;padding:0 14px;border-radius:11px;display:inline-flex;align-items:center;gap:7px;font-weight:550;font-size:13.5px;white-space:nowrap;transition:background .18s,border-color .18s,box-shadow .18s,transform .12s var(--ease),color .18s}.btn:active{transform:translateY(1px) scale(.98)}.btn-primary{color:#08210d;background:linear-gradient(180deg,#55c868,#3cb04f);box-shadow:inset 0 1px #ffffff59,inset 0 -1px #00000014,0 1px 2px #1e6e2d4d,0 4px 10px -3px #28963c73}.btn-primary:hover{background:linear-gradient(180deg,#5fd072,#43b856);box-shadow:inset 0 1px #fff6,0 1px 2px #1e6e2d4d,0 6px 16px -4px #28963c8c}.btn-ghost{color:var(--text);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1),var(--hi)}.btn-ghost:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2),var(--hi)}.btn-danger-ghost{color:var(--muted);border:1px solid var(--border);width:36px;padding:0;justify-content:center;background:var(--surface);box-shadow:var(--shadow-1)}.btn-danger-ghost:hover{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,transparent)}.icon-btn{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--muted);transition:background .18s,color .18s,transform .12s}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn:active:not(:disabled){transform:scale(.92)}.icon-btn.sm{width:28px;height:28px;border-radius:8px}.icon-btn.danger:hover:not(:disabled){color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.seg{display:inline-flex;padding:3px;gap:2px;background:color-mix(in srgb,var(--surface-3) 80%,transparent);border-radius:12px;box-shadow:inset 0 1px 2px #161b2d0f}.seg button{height:28px;padding:0 12px;border-radius:9px;color:var(--muted);font-weight:550;font-size:13px;display:inline-flex;align-items:center;gap:6px;transition:background .2s,color .2s,box-shadow .2s}.seg button:hover{color:var(--text)}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1),var(--hi)}:root[data-theme=dark] .seg button.on{background:var(--surface-3)}.toolbar{flex:none;display:flex;align-items:center;gap:8px;padding:0 16px 12px 6px;min-height:48px;flex-wrap:wrap}.toolbar .sep{width:1px;height:22px;background:var(--border-strong);margin:0 4px;opacity:.7}.nav-arrows{display:flex}.range-label{font-size:16px;font-weight:650;letter-spacing:-.015em;min-width:196px;animation:fade .3s ease-out}.range-label:first-letter{text-transform:uppercase}.chips{display:flex;gap:3px;align-items:center}.chip{height:30px;padding:0 11px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:550;border:1px solid transparent;transition:all .18s var(--ease)}.chip:hover{background:var(--hover);color:var(--text)}.chip:active{transform:scale(.95)}.chip.on{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-1),var(--hi)}.chip.icon-only{width:30px;padding:0;justify-content:center}.label-chip{color:color-mix(in srgb,var(--c) 70%,var(--muted))}.label-chip:hover{color:color-mix(in srgb,var(--c) var(--ink),var(--text));background:color-mix(in srgb,var(--c) 12%,transparent)}.label-chip.on{color:color-mix(in srgb,var(--c) var(--ink),var(--text));background:color-mix(in srgb,var(--c) 16%,var(--surface));border-color:color-mix(in srgb,var(--c) 35%,transparent)}.dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.late-pill{height:30px;padding:0 11px 0 9px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;margin-left:4px;font-size:12.5px;font-weight:650;color:var(--red);background:color-mix(in srgb,var(--red) 11%,var(--surface));border:1px solid color-mix(in srgb,var(--red) 30%,transparent);transition:all .18s;animation:pop .3s var(--ease)}.late-pill svg{animation:pulse 2s ease-in-out infinite}.late-pill:hover{background:color-mix(in srgb,var(--red) 17%,var(--surface));box-shadow:0 4px 14px -4px color-mix(in srgb,var(--red) 45%,transparent)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-2);overflow:hidden;min-width:0;min-height:0;display:flex}.cal-wrap{flex:1;display:flex;gap:12px;min-height:0;padding:0 14px 14px 6px}.cal-panel{flex:1}.pipe-wrap{flex:1;display:flex;min-height:0}.cal{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.cal-head{display:grid;flex:none}.cal-head .gutter,.allday .gutter{font-size:10.5px;color:var(--faint);display:flex;align-items:flex-end;justify-content:flex-end;padding:0 9px 9px 0;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.day-head{height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--muted);font-weight:500;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none;position:relative;border-radius:12px;margin:4px 2px 2px}.day-head:hover{background:var(--hover)}.day-head .dname{text-transform:uppercase;font-size:10.5px;letter-spacing:.08em;font-weight:600;color:var(--faint)}.day-head .dnum{font-size:17px;font-weight:650;color:var(--text);min-width:30px;height:30px;border-radius:999px;padding:0 6px;display:grid;place-items:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em;transition:transform .2s var(--spring)}.day-head:hover .dnum{transform:scale(1.06)}.day-head.today .dname{color:var(--accent-text)}.day-head.today .dnum{background:var(--accent);color:var(--on-accent);box-shadow:0 4px 12px -3px color-mix(in srgb,var(--accent) 60%,transparent),inset 0 1px #ffffff40}.day-head.past .dnum{color:var(--muted)}.day-head.weekend .dnum{color:var(--faint)}.day-head .count{position:absolute;top:9px;right:9px;font-size:10.5px;color:var(--muted);font-weight:650;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--surface-3);display:grid;place-items:center;font-variant-numeric:tabular-nums}.day-head .count.late{color:#fff;background:var(--red);animation:ring 2.4s ease-out infinite}.allday{display:grid;flex:none;border-bottom:1px solid var(--border);min-height:36px}.allday .gutter{font-size:10px;text-transform:none;letter-spacing:0;padding:0 9px 0 0}.allday-cell{padding:4px 3px;display:flex;flex-direction:column;gap:3px;min-width:0;transition:background .2s;border-radius:8px}.allday-cell.drop{background:color-mix(in srgb,var(--accent) 10%,transparent)}.cal-scroll{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;scrollbar-gutter:stable}.cal-body{display:grid;position:relative}.hours{position:relative}.hour-label{position:absolute;right:9px;transform:translateY(-50%);font-size:10.5px;color:var(--faint);font-variant-numeric:tabular-nums;font-weight:500}.cols{position:relative;display:grid}.cols.slide-next>.col{animation:slideNext .32s var(--ease) backwards}.cols.slide-prev>.col{animation:slidePrev .32s var(--ease) backwards}.cols>.col:nth-child(2){animation-delay:15ms!important}.cols>.col:nth-child(3){animation-delay:30ms!important}.cols>.col:nth-child(4){animation-delay:45ms!important}.cols>.col:nth-child(5){animation-delay:60ms!important}.cols>.col:nth-child(6){animation-delay:75ms!important}.cols>.col:nth-child(7){animation-delay:90ms!important}.col{position:relative;border-left:1px solid var(--grid-line)}.col.weekend{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.col.today{background:color-mix(in srgb,var(--accent) 3.5%,transparent)}.hline{position:absolute;left:0;right:0;height:1px;background:var(--grid-line);pointer-events:none}.hline.half{display:none}.now-line{position:absolute;left:0;right:0;height:2px;background:var(--red);z-index:6;pointer-events:none;border-radius:2px}.now-line:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 22%,transparent)}.now-line.other{height:1.5px;opacity:.42;z-index:1}.now-line.other:before{display:none}.now-label{position:absolute;right:4px;transform:translateY(-50%);font-size:10px;font-weight:700;color:#fff;background:var(--red);border-radius:6px;padding:1px 5px;z-index:7;font-variant-numeric:tabular-nums;box-shadow:0 2px 6px -1px color-mix(in srgb,var(--red) 50%,transparent)}.lbl-tile{--c: var(--faint);width:18px;height:18px;border-radius:6px;flex:none;display:inline-grid;place-items:center;color:color-mix(in srgb,var(--c) var(--ink),var(--text));background:linear-gradient(160deg,color-mix(in srgb,var(--c) 30%,var(--surface)),color-mix(in srgb,var(--c) 16%,var(--surface)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 26%,transparent),var(--hi)}.lbl-tile.lg{width:30px;height:30px;border-radius:9px}.block{--c: var(--faint);position:absolute;border-radius:9px;padding:4px 6px 4px 11px;overflow:hidden;cursor:pointer;background:color-mix(in srgb,var(--c) var(--block-mix),var(--surface));border:1px solid color-mix(in srgb,var(--c) 24%,transparent);box-shadow:var(--hi),0 1px 2px #161b2d0d;color:var(--text);font-size:12.5px;line-height:1.3;-webkit-user-select:none;user-select:none;touch-action:none;transition:background .18s,box-shadow .2s,opacity .2s,transform .18s var(--ease),border-color .18s;z-index:2;animation:fade .25s ease-out}.block:before{content:"";position:absolute;left:3px;top:3px;bottom:3px;width:3px;border-radius:3px;background:color-mix(in srgb,var(--c) 85%,var(--text) 0%)}.block:hover{background:color-mix(in srgb,var(--c) var(--block-mix-hover),var(--surface));z-index:4;transform:translateY(-1px);box-shadow:var(--hi),var(--shadow-3)}.block.selected{outline:2px solid color-mix(in srgb,var(--c) 80%,var(--text));outline-offset:1px;z-index:5}.block.dragging{box-shadow:var(--shadow-pop);z-index:20;opacity:.96;cursor:grabbing;transform:scale(1.02);animation:none}.block.ghost-src{opacity:.3}.block .b-row{display:flex;align-items:flex-start;gap:6px;min-width:0}.block .b-icon{width:17px;height:17px;border-radius:5px;margin-top:-.5px}.block .b-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;letter-spacing:-.005em;padding-top:1px}.block .b-title[data-wrap]{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;overflow-wrap:normal}.block .b-meta{display:flex;align-items:center;gap:8px;margin-top:2px;padding-left:23px;min-width:0;color:var(--muted);font-size:11.5px}.block .b-time{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.block .b-proj{display:inline-flex;align-items:center;gap:5px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.block .b-proj .dot{width:6px;height:6px}.block .b-start{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;flex:none;padding-top:1.5px}.block .check{margin-top:.5px}.block.compact{padding-top:0;padding-bottom:0;display:flex;align-items:center}.block.compact .b-row{width:100%;align-items:center}.block.compact .b-title,.block.compact .b-start{padding-top:0}.block.tiny{padding-left:7px;padding-right:2px;justify-content:center}.block.tiny .b-row{justify-content:center}.block.done{background:color-mix(in srgb,var(--c) 6%,var(--surface));border-color:color-mix(in srgb,var(--c) 14%,transparent);box-shadow:none}.block.done .b-title{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}.block.done:before,.block.done .lbl-tile{opacity:.45}.block.prio-high:not(.done){border-color:color-mix(in srgb,var(--orange) 55%,transparent);box-shadow:var(--hi),0 0 0 1px color-mix(in srgb,var(--orange) 22%,transparent),0 2px 8px -3px color-mix(in srgb,var(--orange) 40%,transparent)}.block.prio-high:not(.done) .b-title{font-weight:700}.block .resize{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize}.block .resize:after{content:"";position:absolute;left:50%;bottom:2px;width:18px;height:3px;margin-left:-9px;border-radius:3px;background:var(--c);opacity:0;transition:opacity .2s}.block:hover .resize:after{opacity:.7}.block.flash,.tchip.flash{animation:flash 1.1s ease-in-out 2;z-index:6}.block.late{background:color-mix(in srgb,var(--red) 11%,var(--surface));border-color:color-mix(in srgb,var(--red) 48%,transparent);animation:lateGlow 2.8s ease-in-out infinite}.block.late:before{background:var(--red)}.block.late .b-title{color:color-mix(in srgb,var(--red) 75%,var(--text))}.block.late .b-time{color:color-mix(in srgb,var(--red) 70%,var(--muted));font-weight:600}.block.late:hover{background:color-mix(in srgb,var(--red) 16%,var(--surface))}.late-dot{position:absolute;right:6px;bottom:6px;width:7px;height:7px;border-radius:50%;background:var(--red);animation:ring 2s ease-out infinite;pointer-events:none}.block.compact .late-dot{display:none}.prio-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:2px;height:17px;min-width:17px;padding:0 2px;border-radius:5px;font-size:10.5px;font-weight:750;letter-spacing:.01em;line-height:1}.prio-badge.medium{color:color-mix(in srgb,var(--amber) var(--ink),#7A4A00);background:color-mix(in srgb,var(--amber) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--amber) 35%,transparent)}.prio-badge.high{color:#fff;background:linear-gradient(180deg,#ff7246,#ec4a1e);box-shadow:inset 0 1px #ffffff4d,0 1px 3px #ec4a1e73}.prio-badge.text{padding:0 6px 0 3px}.check{width:16px;height:16px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--faint) 85%,transparent);flex:none;display:grid;place-items:center;transition:all .18s;color:transparent;background:color-mix(in srgb,var(--surface) 70%,transparent)}.check:hover{border-color:var(--green);color:var(--green);transform:scale(1.1)}.check.on{background:var(--green);border-color:var(--green);color:#fff;animation:checkPop .35s var(--spring)}.check.lg{width:20px;height:20px}.sel-box{position:absolute;border-radius:9px;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1.5px dashed var(--accent);z-index:8;pointer-events:none;padding:4px 8px;font-size:12px;font-weight:600;color:var(--accent-text);font-variant-numeric:tabular-nums;animation:fade .15s}.tchip{--c: var(--faint);display:flex;align-items:center;gap:6px;min-width:0;padding:2px 7px 2px 3px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--c) var(--block-mix),var(--surface));font-size:12px;font-weight:550;cursor:pointer;border:1px solid color-mix(in srgb,var(--c) 20%,transparent);-webkit-user-select:none;user-select:none;transition:background .18s,transform .18s var(--ease),box-shadow .18s;box-shadow:var(--hi)}.tchip:hover{background:color-mix(in srgb,var(--c) var(--block-mix-hover),var(--surface));transform:translateY(-1px);box-shadow:var(--hi),var(--shadow-2)}.tchip .lbl-tile{width:17px;height:17px;border-radius:5px}.tchip .t{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tchip .tm{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.tchip.done{opacity:.55;box-shadow:none}.tchip.done .t{text-decoration:line-through;text-decoration-color:var(--faint)}.tchip.late{background:color-mix(in srgb,var(--red) 11%,var(--surface));border-color:color-mix(in srgb,var(--red) 45%,transparent)}.tchip.late .t,.tchip.late .tm{color:color-mix(in srgb,var(--red) 75%,var(--text))}.month{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;min-height:0;overflow:auto}.month-dow{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border);flex:none}.month-dow div{padding:12px 12px 9px;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:600}.mcell{border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);padding:6px;min-height:110px;display:flex;flex-direction:column;gap:3px;min-width:0;overflow:hidden;transition:background .2s;cursor:default}.mcell>*{flex:none}.mcell.other{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.mcell.other .mnum{color:var(--faint)}.mcell.drop{background:color-mix(in srgb,var(--accent) 9%,transparent)}.mnum{font-size:12px;font-weight:650;width:26px;height:26px;border-radius:999px;display:grid;place-items:center;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .18s,transform .18s var(--spring)}.mnum:hover{background:var(--hover);transform:scale(1.08)}.mcell.today .mnum{background:var(--accent);color:var(--on-accent)}.more{font-size:11.5px;color:var(--muted);font-weight:550;padding:1px 6px;text-align:left;border-radius:6px}.more:hover{background:var(--hover);color:var(--text)}.side{width:300px;flex:none;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-2);overflow:hidden;transition:background .2s,border-color .2s;animation:viewIn .3s var(--ease)}.side.drop{background:color-mix(in srgb,var(--accent) 6%,var(--surface));border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.side-head{padding:15px 16px 10px;display:flex;align-items:center;gap:8px;color:var(--muted)}.side-head h3{margin:0;font-size:13.5px;font-weight:650;flex:1;color:var(--text)}.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}.count-pill{font-size:11px;font-weight:650;color:var(--muted);background:var(--surface-3);border-radius:999px;padding:1px 7px;font-variant-numeric:tabular-nums}.quick-add{margin:0 12px 10px;display:flex;align-items:center;gap:8px;height:38px;padding:0 11px;border:1px dashed var(--border-strong);border-radius:12px;color:var(--faint);transition:all .2s}.quick-add:hover{border-color:var(--faint)}.quick-add:focus-within{border-style:solid;border-color:var(--accent);background:var(--surface);color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.quick-add input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--text);font-size:13px}.quick-add input::placeholder{color:var(--faint)}.side-list{flex:1;overflow-y:auto;padding:2px 12px 16px;display:flex;flex-direction:column;gap:7px}.side-hint{font-size:12px;color:var(--faint);padding:0 16px 12px;line-height:1.45}.card{--c: transparent;background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:10px 12px;cursor:grab;-webkit-user-select:none;user-select:none;position:relative;box-shadow:var(--shadow-1),var(--hi);transition:border-color .2s,box-shadow .2s,transform .2s var(--ease),opacity .2s}:root[data-theme=dark] .card{background:var(--surface-2)}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-3),var(--hi);transform:translateY(-1px)}.card:active{cursor:grabbing}.card.dragging{opacity:.4;transform:scale(.98)}.card .c-top{display:flex;align-items:flex-start;gap:8px}.card .c-title{flex:1;font-weight:550;font-size:13px;line-height:1.35;word-break:break-word}.card.done .c-title{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--faint)}.card .c-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.card .c-notes{font-size:12px;color:var(--muted);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meta{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--muted);font-weight:550;height:22px;padding:0 7px;border-radius:7px;background:var(--surface-2);font-variant-numeric:tabular-nums}:root[data-theme=dark] .meta{background:var(--surface-3)}.meta.today{color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,transparent)}.meta.overdue{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.meta.proj{background:none;padding-left:0}.type-ico{color:var(--muted);flex:none;margin-top:1px}.pipe{flex:1;display:flex;gap:12px;padding:0 16px 16px 6px;overflow-x:auto;min-height:0;align-items:stretch}.pcol{width:300px;flex:none;display:flex;flex-direction:column;min-height:0;border-radius:18px;background:color-mix(in srgb,var(--surface) 55%,var(--canvas));border:1px solid var(--border);transition:border-color .2s,background .2s,box-shadow .2s}:root[data-theme=dark] .pcol{background:var(--surface)}.pcol.drop{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 5%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.pcol-head{padding:13px 12px 10px 15px;display:flex;align-items:center;gap:8px}.pcol-head h3{margin:0;font-size:13.5px;font-weight:650;flex:1;letter-spacing:-.005em}.pcol-bar{height:3px;margin:0 15px 10px;border-radius:3px;background:var(--surface-3);overflow:hidden}.pcol-bar span{display:block;height:100%;border-radius:3px}.pcol-list{flex:1;overflow-y:auto;padding:2px 10px 10px;display:flex;flex-direction:column;gap:8px;min-height:60px}.drop-ind{height:3px;border-radius:3px;background:var(--accent);margin:-5px 2px;flex:none;animation:fade .15s}.pcol-foot{padding:0 10px 10px}.add-row{width:100%;height:34px;border-radius:10px;display:flex;align-items:center;gap:6px;padding:0 10px;color:var(--faint);font-size:13px;font-weight:550;transition:all .18s}.add-row:hover{background:var(--hover);color:var(--text)}.inline-add{background:var(--surface);border:1px solid var(--accent);border-radius:13px;padding:8px 10px;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);animation:pop .2s var(--ease)}.inline-add textarea{width:100%;border:0;outline:0;background:none;resize:none;font-size:13px;line-height:1.4}.inline-add .hint{font-size:11px;color:var(--faint);margin-top:4px}.show-more{font-size:12px;color:var(--muted);padding:6px;border-radius:8px;font-weight:550}.show-more:hover{background:var(--hover);color:var(--text)}.empty-col{text-align:center;color:var(--faint);font-size:12px;padding:18px 8px;border:1px dashed var(--border-strong);border-radius:13px}.popover{position:fixed;z-index:60;width:360px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-pop);animation:pop .2s var(--ease);overflow:hidden}:root[data-theme=dark] .popover{background:var(--surface-2)}.popover.late{border-top:3px solid var(--red)}.pop-body{padding:16px 16px 12px;display:grid;grid-template-columns:30px 1fr;gap:10px 12px;align-items:start}.pop-body .ico{color:var(--muted);display:grid;place-items:center;height:22px}.pop-title{font-size:16px;font-weight:650;letter-spacing:-.015em;line-height:1.3;word-break:break-word}.pop-sub{color:var(--muted);font-size:13px;margin-top:2px}.pop-sub:first-letter{text-transform:uppercase}.pop-row{font-size:13px;color:var(--text);display:flex;align-items:center;gap:8px;min-height:22px;flex-wrap:wrap}.pop-notes{font-size:13px;color:var(--muted);white-space:pre-wrap;max-height:120px;overflow:auto;line-height:1.5}.pop-alert{font-size:12.5px;font-weight:600;color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border-radius:9px;padding:5px 9px;line-height:1.4}.lbl-name{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;color:color-mix(in srgb,var(--c) var(--ink),var(--text));background:color-mix(in srgb,var(--c) 15%,transparent)}.pop-foot{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.pop-foot .grow{flex:1}.done-toggle{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px;border-radius:10px;color:var(--text);font-weight:550;font-size:13px;transition:background .18s;cursor:pointer}.done-toggle:hover{background:var(--hover)}.stage-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:550;background:color-mix(in srgb,var(--sc) 14%,transparent);color:var(--text)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0c0e1652;display:grid;place-items:center;padding:24px;animation:fade .2s ease-out;backdrop-filter:blur(6px) saturate(1.1);-webkit-backdrop-filter:blur(6px) saturate(1.1)}:root[data-theme=dark] .overlay{background:#0000008c}.modal{width:min(960px,100%);height:min(720px,calc(100vh - 48px));background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;overflow:hidden;animation:rise .3s var(--ease)}.modal-head{height:58px;flex:none;display:flex;align-items:center;padding:0 12px 0 22px;border-bottom:1px solid var(--border)}.modal-head h2{font-size:15px;font-weight:650;margin:0;flex:1}.modal-main{flex:1;display:grid;grid-template-columns:1fr 300px;min-height:0}.modal-form{overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:16px}.modal-side{border-left:1px solid var(--border);background:var(--surface-2);display:flex;flex-direction:column;min-height:0}.modal-foot{flex:none;display:flex;align-items:center;gap:10px;padding:12px 16px 12px 22px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.modal-foot .grow{flex:1}.modal-foot .hint{font-size:12px;color:var(--faint)}.title-input{width:100%;font-size:22px;font-weight:650;letter-spacing:-.02em;border:1px solid transparent;outline:0;background:none;padding:6px 10px;margin-left:-10px;border-radius:11px;transition:border-color .2s,background .2s,box-shadow .2s}.title-input:hover{background:var(--surface-2)}.title-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.title-input::placeholder{color:var(--faint)}.frow{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:center}.frow>.ico{color:var(--muted);display:grid;place-items:center}.frow.top{align-items:start}.frow.top>.ico{padding-top:9px}.flabel{font-size:12px;color:var(--muted);font-weight:550;margin-bottom:6px}.fgroup{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.type-picker{display:flex;gap:6px;flex-wrap:wrap}.type-picker button{height:34px;padding:0 12px 0 7px;border-radius:11px;display:inline-flex;align-items:center;gap:7px;color:var(--muted);border:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:550;transition:all .2s var(--ease);box-shadow:var(--shadow-1)}.type-picker button:hover{color:var(--text);border-color:color-mix(in srgb,var(--c) 40%,var(--border));transform:translateY(-1px)}.type-picker button.on{color:color-mix(in srgb,var(--c) var(--ink),var(--text));border-color:color-mix(in srgb,var(--c) 55%,transparent);background:color-mix(in srgb,var(--c) 13%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 14%,transparent)}.field{height:38px;border-radius:11px;border:1px solid var(--border);background:var(--surface);padding:0 10px;display:inline-flex;align-items:center;gap:8px;transition:border-color .2s,box-shadow .2s;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-1)}.field:hover{border-color:var(--border-strong)}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.field input,.field select{border:0;outline:0;background:none;height:100%}.field input[type=date]{width:128px}.field select{padding-right:4px;cursor:pointer}:root[data-theme=dark] .field select option{background:var(--surface-2)}.field .x{color:var(--faint);display:grid;place-items:center;width:18px;height:18px;border-radius:5px}.field .x:hover{color:var(--text);background:var(--hover)}.arrow{color:var(--faint)}.dur-label{font-size:12px;color:var(--faint)}.timesel{position:relative}.timesel .field{width:92px;cursor:pointer;justify-content:space-between}.timesel .field.empty{color:var(--faint)}.time-list{position:absolute;top:42px;left:0;z-index:10;width:132px;max-height:240px;overflow-y:auto;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow-pop);animation:pop .16s var(--ease)}:root[data-theme=dark] .time-list{background:var(--surface-2)}.time-list button{display:flex;justify-content:space-between;width:100%;padding:6px 8px;border-radius:8px;font-size:13px;font-variant-numeric:tabular-nums}.time-list button:hover{background:var(--hover)}.time-list button.on{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text);font-weight:650}.time-list .d{color:var(--faint);font-size:11.5px}.pills{display:flex;gap:6px;flex-wrap:wrap}.pill{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--border);display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:550;color:var(--muted);transition:all .2s;background:var(--surface);box-shadow:var(--shadow-1)}.pill:hover{color:var(--text);border-color:var(--border-strong)}.pill.on{color:var(--text);border-color:var(--pc, var(--accent));background:color-mix(in srgb,var(--pc, var(--accent)) 13%,var(--surface))}.notes{width:100%;min-height:150px;border-radius:13px;border:1px solid var(--border);background:var(--surface-2);padding:12px 14px;outline:0;resize:vertical;line-height:1.55;transition:border-color .2s,background .2s,box-shadow .2s}.notes:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.notes::placeholder{color:var(--faint)}.new-proj{display:inline-flex;align-items:center;gap:6px}.new-proj input{height:32px;border-radius:999px;border:1px solid var(--accent);background:var(--surface);padding:0 12px;outline:0;width:170px;font-size:13px}.mini-head{padding:14px 14px 10px;display:flex;align-items:center;gap:4px}.mini-head .t{flex:1;font-weight:650;font-size:13px}.mini-head .t:first-letter{text-transform:uppercase}.mini-scroll{flex:1;overflow-y:auto;position:relative}.mini-grid{position:relative;margin-left:46px;margin-right:10px}.mini-grid .slot{position:absolute;left:0;right:0;cursor:pointer;border-radius:4px}.mini-grid .slot:hover{background:var(--hover)}.mini-hour{position:absolute;left:-40px;font-size:10.5px;color:var(--faint);transform:translateY(-50%);font-variant-numeric:tabular-nums}.mini-block{--c: var(--faint);position:absolute;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:550;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb,var(--c) 16%,var(--surface));border-left:2px solid var(--c);pointer-events:none;color:var(--muted)}.mini-block.me{--c: var(--accent);background:var(--accent);color:var(--on-accent);font-weight:650;z-index:3;border-left-color:transparent;box-shadow:0 4px 12px -4px color-mix(in srgb,var(--accent) 60%,transparent)}.mini-empty{color:var(--faint);font-size:12px;padding:24px 16px;text-align:center;line-height:1.5}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:80;display:flex;align-items:center;gap:14px;background:#1b1e26;color:#f2f3f6;border-radius:14px;padding:10px 10px 10px 16px;font-weight:550;font-size:13px;box-shadow:0 16px 40px -8px #00000073,inset 0 1px #ffffff14;animation:toast .3s var(--spring)}:root[data-theme=dark] .toast{background:#2a2d36}.bulkbar~.toast{bottom:92px}.toast button{color:#9c9cff;font-weight:650;padding:4px 8px;border-radius:8px}.toast button:hover{background:#ffffff1a}.menu{position:absolute;z-index:70;min-width:220px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-pop);animation:pop .16s var(--ease)}.menu button{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:13px;text-align:left}.menu button:hover{background:var(--hover)}.menu .sep{height:1px;background:var(--border);margin:5px 4px}.menu .lbl{font-size:11px;color:var(--faint);padding:6px 10px 4px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.empty-state{flex:1;display:grid;place-items:center;text-align:center;color:var(--muted)}.empty-state img{width:72px;opacity:.9;margin-bottom:8px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--faint)}::-webkit-scrollbar-track{background:transparent}@media (max-width: 1100px){.side{width:250px}.modal-main{grid-template-columns:1fr}.modal-side{display:none}}.block.multi,.tchip.multi{box-shadow:0 0 0 2px var(--accent),0 0 0 5px color-mix(in srgb,var(--accent) 22%,transparent);z-index:5}.card.multi{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.block.multi:after{content:"✓";position:absolute;right:3px;bottom:3px;width:15px;height:15px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:9px;font-weight:800;display:grid;place-items:center;animation:checkPop .3s var(--spring)}.group-badge{position:absolute;right:6px;z-index:21;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px;pointer-events:none;box-shadow:var(--shadow-pop)}.bulkbar{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:55;display:flex;align-items:center;gap:4px;padding:7px 8px 7px 14px;border-radius:18px;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-pop),var(--hi);animation:toast .32s var(--spring);max-width:calc(100vw - 32px);flex-wrap:nowrap}:root[data-theme=dark] .bulkbar{background:var(--surface-2)}.bulkbar .n{font-weight:650;font-size:13px;margin-right:6px;white-space:nowrap;font-variant-numeric:tabular-nums}.bulkbar .n b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:var(--accent);color:var(--on-accent);margin-right:6px;padding:0 6px}.bulkbar .sep{width:1px;height:24px;background:var(--border);margin:0 4px}.bulkbar .btn{height:32px;padding:0 11px;font-size:13px;border-radius:10px}.bulkbar .lbl{font-size:12px;color:var(--muted);margin-right:2px;white-space:nowrap}.bulkbar .field{height:32px;box-shadow:none}.bulkbar .btn-ghost{border-color:transparent;background:transparent;box-shadow:none}.bulkbar .btn-ghost:hover{background:var(--hover);border-color:var(--border)}.bulkbar .field input[type=date]{width:118px}@media (max-width: 1180px){.bulkbar{flex-wrap:wrap;justify-content:center}}.cal-scroll-wrap{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.edge-hint{position:absolute;top:0;bottom:0;width:36px;z-index:30;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:4px;color:var(--muted);font-size:12px;font-weight:650;writing-mode:vertical-rl;background:linear-gradient(to right,color-mix(in srgb,var(--surface-3) 92%,transparent),transparent);transition:background .2s,color .2s,width .2s;animation:fade .2s ease-out}.edge-hint.right{right:0;background:linear-gradient(to left,color-mix(in srgb,var(--surface-3) 92%,transparent),transparent)}.edge-hint.left span{transform:rotate(180deg)}.edge-hint svg{writing-mode:horizontal-tb}.edge-hint.hot{width:52px;color:var(--on-accent);background:color-mix(in srgb,var(--accent) 88%,transparent)}.edge-hint.hot span{animation:pulse 1s ease-in-out infinite}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden;background:var(--canvas)}.auth-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(60% 45% at 50% 0%,rgba(91,91,239,.22),transparent 70%),radial-gradient(40% 30% at 70% 10%,rgba(65,182,84,.14),transparent 70%);pointer-events:none}.auth-card{position:relative;width:min(420px,100%);display:flex;flex-direction:column;gap:16px;padding:36px 32px;background:var(--surface);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow-pop),var(--hi);animation:rise .4s var(--ease)}.auth-logo{height:30px;align-self:flex-start;margin-bottom:12px}.auth-title{margin:0;font-size:34px;font-weight:750;letter-spacing:-.035em;line-height:1.1}.auth-title span{color:var(--green)}.auth-sub{margin:0;color:var(--muted);font-size:15px;line-height:1.5}.auth-field{width:100%;height:46px;border-radius:13px}.auth-field input{flex:1;font-size:15px}.auth-btn{height:46px;justify-content:center;font-size:15px}.auth-btn:disabled{opacity:.7;cursor:default}.auth-err{margin:0;color:var(--red);font-size:13px}.auth-foot{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:12px;color:var(--faint);margin:0}.sync-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--faint);font-weight:550;white-space:nowrap;padding:0 6px}.sync-pill .dot{width:7px;height:7px;transition:background .3s}.sync-pill.saving .dot{animation:pulse 1s ease-in-out infinite}.item-card{cursor:pointer;padding-left:15px;overflow:hidden}.item-card:before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:3px;border-radius:3px;background:var(--c)}.item-card.done:before{opacity:.4}.kind-badge{display:inline-flex;align-items:center;gap:4px;flex:none;height:20px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:650;color:var(--muted);background:var(--surface-2)}:root[data-theme=dark] .kind-badge{background:var(--surface-3)}.kind-badge.project{color:color-mix(in srgb,var(--c) var(--ink),var(--text));background:color-mix(in srgb,var(--c) 16%,transparent)}.kind-toggle{display:inline-flex;gap:2px;padding:2px;border-radius:9px;background:var(--surface-3);margin-bottom:6px}.kind-toggle button{height:24px;padding:0 9px;border-radius:7px;font-size:12px;font-weight:550;color:var(--muted);display:inline-flex;align-items:center;gap:5px;transition:all .18s}.kind-toggle button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1),var(--hi)}:root[data-theme=dark] .kind-toggle button.on{background:var(--surface-2)}.kind-toggle.lg{align-self:flex-start;padding:3px;border-radius:12px;margin:0}.kind-toggle.lg button{height:30px;padding:0 14px;font-size:13px;border-radius:9px}.swatches{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;outline:2px solid transparent;transition:transform .2s var(--spring),outline-color .15s;box-shadow:inset 0 1px #ffffff4d,inset 0 -2px 4px #0000001f}.swatch:hover{transform:scale(1.14)}.swatch.on{border-color:var(--surface);outline-color:var(--text)}.linked-list{flex:1;overflow-y:auto;padding:0 12px 14px;display:flex;flex-direction:column;gap:4px}.linked-list>.btn{margin-bottom:8px;flex:none}.linked-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;cursor:pointer;font-size:13px;transition:background .15s}.linked-row:hover{background:var(--hover)}.linked-row .t{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.linked-row .when{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.linked-row .when.overdue{color:var(--red)}.linked-row.done .t{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--faint)}.item-select{position:relative;min-width:0}.item-trigger{display:inline-flex;align-items:center;gap:7px;height:36px;max-width:100%;padding:0 12px;border-radius:11px;border:1px dashed var(--border-strong);color:var(--muted);font-size:13px;font-weight:550;transition:all .2s}.item-trigger:hover{color:var(--text);border-color:var(--faint)}.item-trigger.linked{border-style:solid;color:var(--text);border-color:color-mix(in srgb,var(--pc) 45%,var(--border));background:color-mix(in srgb,var(--pc) 10%,transparent)}.item-trigger.compact{height:28px;padding:0 9px;font-size:12.5px;border-radius:8px}.item-trigger .t{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.item-trigger .x{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;color:var(--faint);margin-right:-4px}.item-trigger .x:hover{color:var(--text);background:var(--hover)}.muted-ico{color:var(--muted);flex:none}.item-menu{position:absolute;left:0;z-index:80;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow-pop);animation:pop .16s var(--ease);overflow:hidden}:root[data-theme=dark] .item-menu{background:var(--surface-2)}.item-menu.bottom{top:calc(100% + 6px)}.item-menu.top{bottom:calc(100% + 8px)}.im-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--faint)}.im-search input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:13px;color:var(--text)}.im-list{max-height:280px;overflow-y:auto;padding:6px}.im-list .lbl{font-size:11px;color:var(--faint);padding:8px 8px 4px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.im-row{width:100%;display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;font-size:13px;text-align:left}.im-row.active{background:var(--hover)}.im-row.muted{color:var(--muted)}.im-row .t{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.im-row .cur{color:var(--accent-text);font-weight:700}.im-empty{font-size:12px;color:var(--faint);padding:12px 8px;line-height:1.45}.link-btn{font-size:12px;color:var(--accent-text);font-weight:650;padding:3px 6px;border-radius:6px}.link-btn:hover{background:var(--hover)}.code-field input{text-align:center;font-size:26px;font-weight:700;letter-spacing:.35em;font-variant-numeric:tabular-nums}.sp-overlay{place-items:start center;padding-top:11vh}.sp{width:min(680px,100%);background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-pop);overflow:hidden;animation:rise .25s var(--ease);display:flex;flex-direction:column;max-height:76vh}:root[data-theme=dark] .sp{background:var(--surface-2)}.sp-input{display:flex;align-items:center;gap:12px;padding:0 16px 0 18px;height:58px;border-bottom:1px solid var(--border);color:var(--faint);flex:none}.sp-input input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:16px;color:var(--text)}.sp-input input::placeholder{color:var(--faint)}.sp-list{overflow-y:auto;padding:6px 8px 8px;flex:1}.sp-lbl{font-size:10.5px;color:var(--faint);padding:10px 10px 5px;font-weight:650;text-transform:uppercase;letter-spacing:.09em}.sp-row{width:100%;display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:11px;text-align:left;transition:background .12s}.sp-row.active{background:color-mix(in srgb,var(--accent) 9%,var(--hover))}.sp-row .lbl-tile{width:26px;height:26px;border-radius:8px}.sp-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.sp-title{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-title.done{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--faint)}.sp-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:3px}.sp-sub .dot{width:6px;height:6px;margin:0 1px}.sp-late{color:var(--red);font-weight:600;display:inline-flex;align-items:center;gap:3px}.sp-enter{color:var(--faint);flex:none;animation:fade .15s}.sp mark{background:color-mix(in srgb,var(--accent) 22%,transparent);color:inherit;border-radius:3px;padding:0 1px}.sp-empty{color:var(--faint);font-size:13px;padding:28px 16px;text-align:center}.sp-foot{display:flex;align-items:center;gap:14px;padding:9px 16px;border-top:1px solid var(--border);font-size:11.5px;color:var(--faint);flex:none;background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.sp-foot .kbd{margin-right:3px}.sp-foot .grow{flex:1}.settings{flex:1;overflow-y:auto;padding:4px 16px 32px 6px}.settings-inner{max-width:860px;display:flex;flex-direction:column;gap:14px}.set-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-2);padding:20px 22px}.set-head{display:flex;align-items:flex-start;gap:16px}.set-head>div:first-child{flex:1}.set-head h2{margin:0 0 4px;font-size:16px;font-weight:700;letter-spacing:-.015em}.set-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.set-note{display:flex;align-items:center;gap:8px;margin-top:14px;padding:9px 12px;border-radius:11px;font-size:12.5px;color:var(--muted);background:color-mix(in srgb,var(--amber) 12%,transparent);border:1px solid color-mix(in srgb,var(--amber) 30%,transparent)}.set-note code{font-size:12px;background:var(--surface);padding:1px 5px;border-radius:5px}.set-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.set-actions .grow{flex:1}.label-list{display:flex;flex-direction:column;gap:2px;margin-top:16px}.label-row{position:relative;display:flex;align-items:center;gap:12px;padding:6px 8px 6px 6px;border-radius:13px;transition:background .15s;animation:viewIn .25s var(--ease)}.label-row:hover{background:var(--surface-2)}.label-pick{border-radius:10px;transition:transform .2s var(--spring)}.label-pick:hover{transform:scale(1.08)}.label-pick .lbl-tile{width:36px;height:36px;border-radius:11px}.label-name{flex:1;min-width:0;height:36px;border:1px solid transparent;border-radius:10px;background:none;padding:0 10px;outline:0;font-size:14px;font-weight:600;transition:all .2s}.label-name:hover{border-color:var(--border);background:var(--surface)}.label-name:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.label-count{font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:92px;text-align:right}.label-actions{display:flex;gap:2px;opacity:.55;transition:opacity .15s}.label-teams{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:99px;font-size:12px;font-weight:600;color:var(--faint);border:1px dashed var(--border-strong, var(--border));opacity:.6;transition:all .18s var(--ease)}.label-row:hover .label-teams{opacity:1}.label-teams:hover{color:var(--text);border-style:solid}.label-teams.on{opacity:1;color:color-mix(in srgb,var(--accent) 85%,var(--text));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.label-teams.on:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.teams-status{display:flex;align-items:center;gap:9px;margin-top:14px;padding:10px 12px;border-radius:12px;font-size:13px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);animation:viewIn .25s var(--ease)}.teams-status .grow{flex:1}.teams-status .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 20%,transparent)}.teams-status.syncing{color:var(--text)}.teams-status.error{color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent);border-color:color-mix(in srgb,var(--red) 25%,transparent)}.teams-hint{display:flex;align-items:center;gap:6px;margin:-4px 0 2px;font-size:12px;font-weight:550;color:color-mix(in srgb,var(--accent) 80%,var(--text));animation:viewIn .2s var(--ease)}.teams-hint.warn{color:color-mix(in srgb,var(--amber) 70%,var(--text))}.pop-teams{color:var(--muted);font-size:13px}.pop-teams.ok{color:color-mix(in srgb,var(--accent) 85%,var(--text));font-weight:600}.teams-pill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:99px;font-size:12.5px;font-weight:600;color:color-mix(in srgb,var(--amber) 70%,var(--text));background:color-mix(in srgb,var(--amber) 12%,transparent);border:1px solid color-mix(in srgb,var(--amber) 32%,transparent);animation:pop .25s var(--spring);transition:all .15s}.teams-pill:hover{background:color-mix(in srgb,var(--amber) 20%,transparent)}.teams-pill.error{color:var(--red);background:color-mix(in srgb,var(--red) 9%,transparent);border-color:color-mix(in srgb,var(--red) 28%,transparent)}.teams-account{font-size:12.5px;color:var(--faint)}.label-row:hover .label-actions{opacity:1}.label-picker{position:absolute;left:6px;top:calc(100% + 4px);z-index:20;width:404px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-pop);animation:pop .18s var(--ease)}:root[data-theme=dark] .label-picker{background:var(--surface-2)}.lp-lbl{font-size:10.5px;color:var(--faint);font-weight:650;text-transform:uppercase;letter-spacing:.09em;margin:2px 0 8px}.label-picker .swatches{margin-bottom:14px;gap:7px}.icon-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:4px}.icon-grid button{height:34px;border-radius:9px;display:grid;place-items:center;color:var(--muted);transition:all .15s}.icon-grid button:hover{background:var(--hover);color:var(--text);transform:scale(1.08)}.icon-grid button.on{color:color-mix(in srgb,var(--c) var(--ink),var(--text));background:color-mix(in srgb,var(--c) 18%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c) 50%,transparent)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
