:root{--canvas: #f8fffe;--surface: #e8faf4;--emerald: #10b981;--deep: #059669;--ink: #0d2e22;--tint: #d1fae5;--warm: #f5f2ec;--paper: #ffffff;--ink-80: #1a3d30;--ink-60: #355a4c;--ink-40: #6b8a7d;--ink-20: #b9c9c2;--ink-10: #d8e2dc;--line: #e6efe9;--line-2: #cfe3d9;--tg: #229ED9;--signal-up: #10b981;--signal-down: #e0533d;--signal-warn: #d9a441;--prio-high: #e0533d;--prio-norm: #6b8a7d;--prio-low: #b9c9c2;--radius-xs: 6px;--radius-s: 10px;--radius-m: 14px;--radius-l: 20px;--radius-xl: 28px;--shadow-card: 0 1px 0 rgba(13,46,34,.04), 0 1px 2px rgba(13,46,34,.04), 0 4px 14px rgba(13,46,34,.04);--shadow-pop: 0 1px 0 rgba(13,46,34,.04), 0 14px 38px rgba(13,46,34,.1);--type-sans: "DM Sans", system-ui, -apple-system, sans-serif;--type-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--type-sans);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","ss02"}a{color:inherit;text-decoration:none}button{font-family:inherit}.app{display:grid;grid-template-columns:264px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 18px;gap:28px}.brand{display:inline-flex;align-items:center;gap:13px;padding:4px 8px}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--emerald),var(--deep));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:21px;letter-spacing:-.04em;box-shadow:0 6px 16px -6px #0596698c}.brand-mark:before{content:"Я"}.brand-text{display:flex;flex-direction:column;gap:4px;line-height:1}.brand-name{font-weight:700;font-size:18px;letter-spacing:-.02em}.brand-name span{color:var(--deep);font-weight:500}.brand-tag{font-family:var(--type-mono);font-size:9px;letter-spacing:.1em;color:var(--ink-40);text-transform:uppercase}.nav-group{display:flex;flex-direction:column;gap:4px}.nav-group .nav-label{font-family:var(--type-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);padding:8px 12px 6px}.nav-item{display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:var(--radius-s);font-size:14.5px;font-weight:500;color:var(--ink-60);transition:background .15s,color .15s;cursor:pointer}.nav-item:hover{background:var(--surface);color:var(--ink)}.nav-item.active{background:var(--surface);color:var(--ink);font-weight:600}.nav-item .ic{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--ink-40)}.nav-item.active .ic{color:var(--deep)}.nav-sub{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px}.nav-subitem{display:flex;align-items:center;gap:10px;height:34px;padding:0 12px 0 40px;border-radius:var(--radius-s);font-size:13.5px;font-weight:500;color:var(--ink-40);transition:background .15s,color .15s;cursor:pointer;position:relative}.nav-subitem:before{content:"";position:absolute;left:22px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--ink-20)}.nav-subitem:hover{background:var(--surface);color:var(--ink)}.nav-subitem:hover:before{background:var(--ink-40)}.nav-subitem.active{background:var(--surface);color:var(--ink);font-weight:600}.nav-subitem.active:before{background:var(--deep)}.nav-subitem .count{margin-left:auto;font-family:var(--type-mono);font-size:10.5px;color:var(--ink-40);min-width:20px;text-align:right}.app.nav-collapsed .nav-sub{display:none}.nav-item .count{margin-left:auto;font-family:var(--type-mono);font-size:11px;font-weight:500;color:var(--ink-40);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:2px 8px;min-width:26px;text-align:center}.nav-item.active .count{background:var(--tint);border-color:#b6ecd1;color:var(--deep)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:6px}.user-chip{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--canvas)}.user-chip .av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#d6ecfd,#aedaff);color:#1c5687;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.user-chip .who{line-height:1.2;min-width:0}.user-chip .who .nm{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip .who .pl{font-family:var(--type-mono);font-size:10px;color:var(--ink-40);letter-spacing:.04em}.main{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:20;background:#f8fffedb;backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line);padding:18px 40px;display:flex;align-items:center;gap:18px}.topbar .crumbs{display:flex;align-items:center;gap:9px;font-family:var(--type-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-40)}.topbar .crumbs .sep{color:var(--ink-20)}.topbar .crumbs b{color:var(--ink-60);font-weight:500}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}.content{padding:36px 40px 80px;max-width:1080px;width:100%;margin-inline:auto}.content.narrow{max-width:760px}.app.nav-collapsed .content{max-width:1280px}.page-head{margin-bottom:28px}.page-head .row{display:flex;align-items:flex-start;gap:18px}.page-head h1{font-size:34px;font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0}.page-head .sub{font-size:15px;color:var(--ink-60);line-height:1.5;margin:10px 0 0;max-width:620px}.page-head .head-actions{margin-left:auto;display:flex;gap:10px;align-items:center;flex-shrink:0}.eyebrow{font-family:var(--type-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60);display:inline-flex;align-items:center;gap:10px;margin:0 0 14px}.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--emerald)}.back-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px 0 12px;border-radius:999px;background:var(--paper);border:1px solid var(--ink-10);color:var(--ink-60);font-size:13.5px;font-weight:500;cursor:pointer;transition:border-color .2s,color .2s,transform .15s}.back-btn:hover{border-color:var(--ink-40);color:var(--ink);transform:translate(-2px)}.back-btn .chev{font-family:var(--type-mono);font-size:16px;line-height:1}.btn{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 20px;border-radius:999px;font-family:var(--type-sans);font-weight:500;font-size:14.5px;border:1px solid transparent;cursor:pointer;line-height:1;transition:transform .15s ease,background .2s,color .2s,border-color .2s,box-shadow .2s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn .ic{width:17px;height:17px;flex-shrink:0}.btn-emerald{background:var(--emerald);color:#fff;box-shadow:0 8px 20px -10px #10b981b3}.btn-emerald:hover{background:var(--deep)}.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:var(--ink-80)}.btn-ghost{background:var(--paper);color:var(--ink);border-color:var(--ink-10)}.btn-ghost:hover{border-color:var(--ink-40)}.btn-soft{background:var(--surface);color:var(--ink);border-color:var(--line-2)}.btn-soft:hover{background:#ddf3ea}.btn-danger{background:var(--paper);color:#a83825;border-color:#f0c1b6}.btn-danger:hover{background:#fbe8e3}.btn-tg{background:var(--tg);color:#fff;box-shadow:0 8px 20px -10px #229ed999}.btn-tg:hover{background:#1c87b8}.btn-sm{height:36px;padding:0 15px;font-size:13px}.btn-lg{height:52px;padding:0 26px;font-size:16px}.btn .arr{font-family:var(--type-mono);font-weight:500;transition:transform .2s}.btn:hover .arr{transform:translate(3px)}.btn-icon{width:38px;height:38px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--ink-10);color:var(--ink-60);cursor:pointer;transition:border-color .2s,color .2s}.btn-icon:hover{border-color:var(--ink-40);color:var(--ink)}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.list-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);padding:22px;display:flex;align-items:center;gap:16px;transition:transform .2s,box-shadow .2s,border-color .2s;cursor:pointer}.list-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop);border-color:var(--line-2)}.list-card .glyph{width:50px;height:50px;border-radius:var(--radius-m);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;background:var(--surface)}.list-card .glyph.g-emerald{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.list-card .glyph.g-blue{background:linear-gradient(135deg,#d6ecfd,#aedaff)}.list-card .glyph.g-gold{background:linear-gradient(135deg,#ffe9b4,#f5d27a)}.list-card .glyph.g-violet{background:linear-gradient(135deg,#e2def7,#c5bcef)}.list-card .glyph.g-rose{background:linear-gradient(135deg,#ffd8c8,#ffb89b)}.list-card .glyph.g-ink{background:var(--ink)}.list-card .body{min-width:0;flex:1}.list-card .body .nm{font-size:17px;font-weight:600;letter-spacing:-.01em}.list-card .body .meta{font-family:var(--type-mono);font-size:11.5px;color:var(--ink-40);margin-top:4px;letter-spacing:.02em}.list-card .chev-end{color:var(--ink-20);font-size:20px;font-family:var(--type-mono)}.list-card.add{border-style:dashed;border-color:var(--line-2);background:var(--canvas);color:var(--deep);justify-content:center;font-weight:600}.list-card.add:hover{background:var(--surface)}.list-card.add .plus{width:38px;height:38px;border-radius:50%;background:var(--tint);color:var(--deep);display:flex;align-items:center;justify-content:center;font-size:20px;flex:0 0 auto}.list-stack{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}.row-item{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line);transition:background .15s}.row-item:last-child{border-bottom:none}.row-item:hover{background:var(--canvas)}.check{width:22px;height:22px;border-radius:7px;flex-shrink:0;border:1.8px solid var(--ink-20);background:var(--paper);cursor:pointer;transition:border-color .15s,background .15s;display:flex;align-items:center;justify-content:center;color:transparent;font-size:13px}.check:hover{border-color:var(--deep)}.check.done{background:var(--emerald);border-color:var(--emerald);color:#fff}.row-main{flex:1;min-width:0}.row-title{font-size:15.5px;font-weight:500;letter-spacing:-.005em;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.row-title .recur{color:var(--ink-40);font-size:13px}.row-sub{display:flex;align-items:center;gap:12px;margin-top:6px;font-family:var(--type-mono);font-size:11.5px;color:var(--ink-40);flex-wrap:wrap}.row-item.is-done .row-title{color:var(--ink-40);text-decoration:line-through;text-decoration-color:var(--ink-20)}.row-item.is-done{background:var(--canvas)}.row-end{display:flex;align-items:center;gap:12px;flex-shrink:0}.row-end .go{color:var(--ink-20);font-size:18px;font-family:var(--type-mono);cursor:pointer;transition:color .15s}.row-item:hover .row-end .go{color:var(--ink-40)}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--type-mono);font-size:11px;font-weight:500;padding:3px 9px;border-radius:999px;letter-spacing:.02em}.chip .d{width:6px;height:6px;border-radius:50%;background:currentColor}.chip.overdue{background:#fbe8e3;color:#a83825}.chip.today{background:#fdf2dc;color:#8a6418}.chip.soon{background:var(--tint);color:var(--deep)}.chip.none{background:var(--surface);color:var(--ink-40)}.prio{display:inline-flex;align-items:center;gap:6px;font-family:var(--type-mono);font-size:11px;letter-spacing:.04em;color:var(--ink-40)}.prio .pd{width:9px;height:9px;border-radius:3px;flex-shrink:0}.prio.high .pd{background:var(--prio-high)}.prio.norm .pd{background:var(--prio-norm)}.prio.low .pd{background:var(--prio-low)}.prio.high{color:#a83825}.stack-divider{padding:12px 20px;font-family:var(--type-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.stack-divider .ln{flex:1;height:1px;background:var(--line-2)}.note-row{cursor:pointer}.note-row .nm{font-size:15.5px;font-weight:500}.note-row .ex{font-size:13px;color:var(--ink-40);margin-top:4px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.detail{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-xl);padding:40px}.detail .d-head{display:flex;align-items:flex-start;gap:16px}.detail h1{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0;flex:1}.detail .d-status{display:flex;align-items:center;gap:10px;margin:18px 0 0;flex-wrap:wrap}.detail .section-lbl{font-family:var(--type-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);margin:0 0 10px}.detail .d-block{margin-top:30px;padding-top:30px;border-top:1px solid var(--line)}.detail .d-desc{font-size:16px;line-height:1.65;color:var(--ink-80);margin:0}.detail .d-meta-row{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--ink-60)}.detail .d-meta-row .ic{width:36px;height:36px;border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--deep);flex-shrink:0}.detail .d-meta-row b{color:var(--ink);font-weight:600}.detail .d-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}.status-badge{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 13px;border-radius:999px;font-size:12.5px;font-weight:500}.status-badge .d{width:7px;height:7px;border-radius:50%;background:currentColor}.status-badge.active{background:var(--tint);color:var(--deep);border:1px solid #b6ecd1}.status-badge.done{background:var(--surface);color:var(--ink-60);border:1px solid var(--line-2)}.note-body{font-size:16.5px;line-height:1.7;color:var(--ink-80)}.note-body p{margin:0 0 18px}.note-body p:last-child{margin-bottom:0}.link-preview{margin-top:24px;display:flex;align-items:center;gap:16px;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px;transition:border-color .2s}.link-preview:hover{border-color:var(--line-2)}.link-preview .thumb{width:64px;height:64px;border-radius:var(--radius-s);flex-shrink:0;background:repeating-linear-gradient(135deg,var(--surface) 0 8px,var(--canvas) 8px 16px);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;color:var(--ink-40);font-size:22px}.link-preview .lp-body{min-width:0}.link-preview .lp-title{font-size:14.5px;font-weight:600}.link-preview .lp-url{font-family:var(--type-mono);font-size:11.5px;color:var(--deep);margin-top:4px}.link-preview .lp-desc{font-size:13px;color:var(--ink-40);margin-top:5px;line-height:1.4}.form{display:flex;flex-direction:column;gap:24px}.field{display:flex;flex-direction:column;gap:8px}.field>label{font-family:var(--type-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40)}.field .hint{font-size:12.5px;color:var(--ink-40)}.inp{height:50px;padding:0 16px;border-radius:var(--radius-m);background:var(--paper);border:1px solid var(--ink-10);font-family:var(--type-sans);font-size:15.5px;color:var(--ink);width:100%;transition:border-color .2s,box-shadow .2s}.inp:focus{outline:none;border-color:var(--deep);box-shadow:0 0 0 4px #0596691f}textarea.inp{height:auto;min-height:110px;padding:14px 16px;line-height:1.6;resize:vertical}.inp::placeholder{color:var(--ink-40)}.inp-num{width:110px;text-align:center;font-family:var(--type-mono)}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:4px;gap:4px}.seg button{height:38px;padding:0 20px;border-radius:999px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:var(--ink-60);transition:background .2s,color .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}.seg button .pd{width:9px;height:9px;border-radius:3px}.seg button.on{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-card)}.seg.prio button[data-p=high] .pd{background:var(--prio-high)}.seg.prio button[data-p=norm] .pd{background:var(--prio-norm)}.seg.prio button[data-p=low] .pd{background:var(--prio-low)}.recur-tabs{display:flex;gap:10px;flex-wrap:wrap}.recur-tab{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 20px;border-radius:var(--radius-m);background:var(--paper);border:1.5px solid var(--ink-10);cursor:pointer;transition:border-color .2s,background .2s;text-align:left}.recur-tab:hover{border-color:var(--line-2)}.recur-tab.on{border-color:var(--emerald);background:var(--surface);box-shadow:0 0 0 3px #10b9811a}.recur-tab .ic{width:34px;height:34px;border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.recur-tab.on .ic{background:var(--tint);border-color:#b6ecd1}.recur-tab .t{line-height:1.25}.recur-tab .t .a{font-size:14.5px;font-weight:600}.recur-tab .t .b{font-family:var(--type-mono);font-size:10px;color:var(--ink-40);margin-top:2px;letter-spacing:.03em}.recur-panel{margin-top:18px;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-l);padding:24px}.recur-panel .rp-head{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-family:var(--type-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40)}.recur-panel .rp-head .badge{display:inline-flex;align-items:center;gap:6px;background:var(--tint);color:var(--deep);border:1px solid #b6ecd1;border-radius:999px;padding:3px 10px;font-size:10px;letter-spacing:.1em}.pick-row{display:flex;gap:8px;flex-wrap:wrap}.pick{min-width:46px;height:46px;padding:0 6px;border-radius:var(--radius-s);background:var(--paper);border:1px solid var(--ink-10);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:var(--ink-60);font-family:var(--type-mono);transition:border-color .15s,background .15s,color .15s}.pick:hover{border-color:var(--deep)}.pick.on{background:var(--emerald);border-color:var(--emerald);color:#fff}.pick.wide{min-width:64px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;max-width:380px}.month-grid .pick{min-width:0;width:100%}.recur-preview{margin-top:20px;display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:var(--radius-m);padding:16px 20px}.recur-preview .ic{font-size:18px}.recur-preview .tx{font-size:14.5px}.recur-preview .tx b{color:var(--emerald);font-weight:600}.recur-preview .tx .lbl{display:block;font-family:var(--type-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#d1fae599;margin-bottom:3px}.recur-desc{display:inline-flex;align-items:center;gap:7px;font-family:var(--type-mono);font-size:12px;color:var(--deep);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:4px 11px}.month-block{margin-bottom:30px}.month-header{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}.month-header .mname{font-size:20px;font-weight:600;letter-spacing:-.01em}.month-header .mname.now{color:var(--deep)}.month-header .mtag{font-family:var(--type-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40)}.month-header .mtag.now{background:var(--tint);color:var(--deep);border:1px solid #b6ecd1;border-radius:999px;padding:2px 9px}.month-header .ln{flex:1;height:1px;background:var(--line);align-self:center}.bday-row{display:flex;align-items:center;gap:16px}.bday-row .date{width:58px;flex-shrink:0;text-align:center;font-family:var(--type-mono)}.bday-row .date .d{font-size:20px;font-weight:600;color:var(--ink);line-height:1}.bday-row .date .m{font-size:10px;color:var(--ink-40);letter-spacing:.1em;text-transform:uppercase;margin-top:3px}.bday-row .who{flex:1;min-width:0}.bday-row .who .nm{font-size:15.5px;font-weight:500}.bday-row .who .rel{font-size:12.5px;color:var(--ink-40);margin-top:3px}.bday-row .age{font-family:var(--type-mono);font-size:11px;color:var(--ink-40);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:4px 10px}.bday-row .av{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px}.count-line{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-family:var(--type-mono);font-size:12px;color:var(--ink-40);letter-spacing:.03em}.count-line .pill-count{background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:3px 10px;color:var(--ink-60)}@media(max-width:920px){.app{grid-template-columns:1fr}.sidebar{display:none}.overview-grid{grid-template-columns:1fr}.content{padding:28px 22px 60px}.topbar{padding:16px 22px}.stat-row{grid-template-columns:1fr 1fr}.form-grid2{grid-template-columns:1fr}}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat-tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px 18px;display:flex;align-items:center;gap:14px}.stat-tile .ic{width:42px;height:42px;border-radius:var(--radius-s);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:var(--surface);color:var(--ink-60)}.stat-tile .n{font-family:var(--type-mono);font-weight:600;font-size:24px;letter-spacing:-.02em;line-height:1;color:var(--ink)}.stat-tile .l{font-size:12px;color:var(--ink-40);margin-top:5px}.stat-tile.alert .ic{background:#fbe8e3;color:#a83825}.stat-tile.alert .n{color:#a83825}.stat-tile.warn .ic{background:#fdf2dc;color:#8a6418}.stat-tile.warn .n{color:#8a6418}.stat-tile.ok .ic{background:var(--tint);color:var(--deep)}.stat-tile.neutral .ic{background:var(--surface);color:var(--ink-60)}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);padding:16px 18px;margin-bottom:18px}.filter{display:flex;flex-direction:column;gap:6px}.filter>label{font-family:var(--type-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);padding-left:2px}.filter select,.filter input{height:40px;padding:0 12px;border-radius:var(--radius-s);border:1px solid var(--ink-10);background:var(--paper);font-family:var(--type-sans);font-size:13.5px;color:var(--ink);cursor:pointer}.filter input[type=date]{width:152px;font-family:var(--type-mono);font-size:12.5px}.filter select:focus,.filter input:focus{outline:none;border-color:var(--deep);box-shadow:0 0 0 3px #0596691a}.filter-sep{width:1px;align-self:stretch;background:var(--line);margin:0 2px}.filter-reset{margin-left:auto;align-self:flex-end}.status-chips{display:flex;gap:8px;flex-wrap:wrap}.st-chip{height:32px;padding:0 13px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);cursor:pointer;font-family:var(--type-sans);font-size:13px;font-weight:500;color:var(--ink-60);display:inline-flex;align-items:center;gap:7px;transition:background .12s,border-color .12s,color .12s}.st-chip .sd{width:7px;height:7px;border-radius:50%;background:currentColor}.st-chip:hover{border-color:var(--ink-40)}.st-chip.todo.on{background:#eaf4fb;color:#1c5687;border-color:#cfe4f3}.st-chip.pending.on{background:#fdf2dc;color:#8a6418;border-color:#f3dca2}.st-chip.blocked.on{background:#fbe8e3;color:#a83825;border-color:#f0c1b6}.st-chip.postponed.on{background:#eef1f4;color:#5a6b7a;border-color:#dde3e9}.st-chip.done.on{background:var(--tint);color:var(--deep);border-color:#b6ecd1}.table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}.table-scroll{overflow-x:auto}table.tasks{width:100%;border-collapse:collapse;min-width:940px}table.tasks thead th{text-align:left;font-family:var(--type-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);font-weight:500;padding:13px 16px;background:var(--surface);border-bottom:1px solid var(--line);white-space:nowrap}table.tasks th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.tasks th.sortable:hover{color:var(--ink-60)}table.tasks th .sarr{color:var(--deep);margin-left:5px;font-family:var(--type-mono)}table.tasks tbody td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:14px}table.tasks tbody tr:last-child td{border-bottom:none}table.tasks tbody tr{transition:background .12s;cursor:pointer}table.tasks tbody tr:hover{background:var(--canvas)}.td-title{font-weight:600;font-size:14.5px;letter-spacing:-.005em;display:flex;align-items:center;gap:8px}.td-title .recur{color:var(--ink-40);font-size:13px}.td-desc{color:var(--ink-40);font-size:12.5px;line-height:1.45;max-width:260px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.assignee{display:inline-flex;align-items:center;gap:9px}.assignee .av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.assignee .nm{font-size:13.5px;white-space:nowrap}table.tasks tr.is-done td{background:var(--canvas)}table.tasks tr.is-done .td-title{color:var(--ink-40);text-decoration:line-through;text-decoration-color:var(--ink-20)}.row-hidden{display:none!important}.table-empty{padding:40px;text-align:center;color:var(--ink-40);font-size:14px}.tstatus{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 11px;border-radius:999px;font-size:12.5px;font-weight:500;white-space:nowrap;border:1px solid transparent}.tstatus .d{width:7px;height:7px;border-radius:50%;background:currentColor}.tstatus.todo{background:#eaf4fb;color:#1c5687;border-color:#cfe4f3}.tstatus.pending{background:#fdf2dc;color:#8a6418;border-color:#f3dca2}.tstatus.blocked{background:#fbe8e3;color:#a83825;border-color:#f0c1b6}.tstatus.postponed{background:#eef1f4;color:#5a6b7a;border-color:#dde3e9}.tstatus.done{background:var(--tint);color:var(--deep);border-color:#b6ecd1}.chip.urgent{background:#fbe8e3;color:#a83825}.chip.week{background:var(--tint);color:var(--deep)}.chip.month{background:#eaf4fb;color:#1c5687}.chip.quarter{background:#eef1f4;color:#5a6b7a}.chip.someday{background:var(--surface);color:var(--ink-40)}.hide-toggle{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px;color:var(--ink-60);-webkit-user-select:none;user-select:none}.hide-toggle .sw{width:38px;height:22px;border-radius:999px;background:var(--ink-10);position:relative;transition:background .2s;flex-shrink:0}.hide-toggle .sw:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:left .2s}.hide-toggle.on .sw{background:var(--emerald)}.hide-toggle.on .sw:after{left:19px}.pager{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;flex-wrap:wrap}.pager .pager-info{font-family:var(--type-mono);font-size:12px;color:var(--ink-40)}.pager .pager-info b{color:var(--ink-80);font-weight:600}.pager-ctrls{display:flex;align-items:center;gap:6px}.pager-btn{min-width:36px;height:36px;padding:0 10px;border-radius:var(--radius-s);border:1px solid var(--line-2);background:var(--paper);color:var(--ink-80);font-family:var(--type-sans);font-size:13.5px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s,color .12s}.pager-btn:hover:not(:disabled){border-color:var(--deep);color:var(--deep)}.pager-btn.active{background:var(--deep);border-color:var(--deep);color:#fff}.pager-btn:disabled{opacity:.4;cursor:default}.pager-ellipsis{color:var(--ink-40);padding:0 2px}.pager-size{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-40)}.pager-size select{height:34px;padding:0 8px;border-radius:var(--radius-s);border:1px solid var(--line-2);background:var(--paper);font-family:var(--type-sans);font-size:13px;color:var(--ink);cursor:pointer}.pager:empty{display:none}.proj-stats{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.proj-stats .pbar{width:96px;height:6px;border-radius:999px;background:var(--surface);overflow:hidden;flex-shrink:0}.proj-stats .pbar>span{display:block;height:100%;border-radius:999px;background:var(--emerald)}.proj-stats .pct{font-family:var(--type-mono);font-size:11.5px;font-weight:600;color:var(--deep)}.proj-stats .stat-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-family:var(--type-mono);font-size:11px;font-weight:600;cursor:default}.proj-stats .stat-chip.blk{background:#fbe8e3;color:#a83825}.proj-stats .stat-chip.ovr{background:#fdf2dc;color:#8a6418}#activeGrid .lc-link{align-items:flex-start!important}#activeGrid .glyph{margin-top:2px}.proj-toolbar{display:flex;align-items:center;gap:14px;margin:4px 0 18px;flex-wrap:wrap}.member-stack{display:flex;align-items:center}.member-stack .av{width:32px;height:32px;border-radius:50%;border:2px solid var(--paper);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;margin-left:-8px;position:relative;cursor:default}.member-stack .av:first-child{margin-left:0}.member-stack .av.blocked{filter:grayscale(1);opacity:.55}.member-stack .av.more{background:var(--surface);color:var(--ink-60);font-family:var(--type-mono);font-size:11px}.btn-members,.btn-stages{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);font-family:var(--type-sans);font-size:13px;font-weight:500;color:var(--deep);cursor:pointer}.btn-members:hover,.btn-stages:hover{border-color:#b6ecd1;background:var(--tint)}.toolbar-spacer{flex:1}.view-switch{display:inline-flex;gap:4px;background:var(--surface);border-radius:999px;padding:4px}.view-switch button{height:32px;padding:0 14px;border-radius:999px;border:none;background:transparent;font-family:var(--type-sans);font-size:13px;font-weight:500;color:var(--ink-60);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .12s,color .12s}.view-switch button:hover{color:var(--ink)}.view-switch button.on{background:var(--paper);color:var(--deep);font-weight:600;box-shadow:var(--shadow-card)}.view{display:none}.view.on{display:block}.eval-table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}.eval-table thead th{text-align:left;font-family:var(--type-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-40);padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.eval-table tbody td{padding:14px 16px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}.eval-table tbody tr:last-child td{border-bottom:none}.eval-table tbody tr:hover{background:var(--canvas);cursor:pointer}.eval-table .et-title{font-weight:600;color:var(--ink)}.lvl{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.lvl .ld{width:8px;height:8px;border-radius:50%}.lvl.hi{color:#a83825}.lvl.hi .ld{background:var(--prio-high)}.lvl.mid{color:#8a6418}.lvl.mid .ld{background:var(--prio-norm)}.lvl.lo{color:var(--ink-40)}.lvl.lo .ld{background:var(--prio-low)}.stage-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:999px;font-size:12.5px;font-weight:500;background:var(--surface);border:1px solid var(--line-2);color:var(--ink-80)}.stage-pill .sdot{width:7px;height:7px;border-radius:50%}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(248px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px}.kan-col{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-l);display:flex;flex-direction:column;min-height:200px}.kan-head{display:flex;align-items:center;gap:8px;padding:14px 14px 10px}.kan-head .kdot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.kan-head .ktitle{font-size:14px;font-weight:600;letter-spacing:-.01em}.kan-head .kcount{margin-left:auto;font-family:var(--type-mono);font-size:11px;color:var(--ink-40);background:var(--paper);border:1px solid var(--line-2);border-radius:999px;padding:1px 8px}.kan-body{display:flex;flex-direction:column;gap:9px;padding:4px 12px 14px;flex:1}.kan-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:12px 13px;cursor:pointer;transition:border-color .12s,transform .12s,box-shadow .12s}.kan-card:hover{border-color:var(--line-2);transform:translateY(-1px);box-shadow:var(--shadow-card)}.kan-card .kc-title{font-size:13.5px;font-weight:600;line-height:1.35;margin-bottom:9px}.kan-card .kc-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.kan-empty{padding:16px 12px;color:var(--ink-20);font-size:12.5px;text-align:center}.kan-card{-webkit-user-select:none;user-select:none}.kan-card.dragging{opacity:.45}.kan-col.drop-target{background:var(--tint)}.kan-col.drop-target .kan-body{outline:2px dashed #b6ecd1;outline-offset:-4px;border-radius:var(--radius-m)}.mlist{display:flex;flex-direction:column;gap:8px}.mrow{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-m)}.mrow .av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.mrow.blocked .av,.mrow.blocked .mwho{filter:grayscale(1);opacity:.6}.mrow .mwho{flex:1;min-width:0}.mrow .mwho .mn{font-size:14px;font-weight:600}.mrow .mwho .mh{font-size:12px;color:var(--ink-40);font-family:var(--type-mono)}.mstatus{font-family:var(--type-mono);font-size:10.5px;letter-spacing:.04em;padding:3px 9px;border-radius:999px}.mstatus.active{background:var(--tint);color:var(--deep)}.mstatus.pending{background:#fdf2dc;color:#8a6418}.mstatus.blocked{background:#f1f3f2;color:var(--ink-40)}.micon-btn{width:32px;height:32px;border-radius:var(--radius-s);border:1px solid var(--line-2);background:var(--paper);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;color:var(--ink-60)}.micon-btn:hover{border-color:var(--deep);color:var(--deep)}.micon-btn.danger:hover{border-color:#a83825;color:#a83825;background:#fbe8e3}.invite-row{display:flex;gap:10px;margin-top:4px}.invite-row input{flex:1;height:44px;padding:0 14px;border:1px solid var(--ink-10);border-radius:var(--radius-m);font-family:var(--type-sans);font-size:14px;background:var(--surface)}.invite-row input:focus{outline:none;border-color:var(--deep);background:var(--paper)}.invite-tabs{display:inline-flex;gap:4px;background:var(--surface);border-radius:999px;padding:4px;margin-bottom:4px}.invite-tabs button{height:32px;padding:0 14px;border-radius:999px;border:none;background:transparent;font-family:var(--type-sans);font-size:13px;font-weight:500;color:var(--ink-60);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .12s,color .12s}.invite-tabs button:hover{color:var(--ink)}.invite-tabs button.on{background:var(--paper);color:var(--deep);font-weight:600;box-shadow:var(--shadow-card)}.invite-pane{display:none}.invite-pane.on{display:block}.link-box{display:flex;gap:10px;align-items:stretch}.link-box .lfield{flex:1;display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-m);font-family:var(--type-mono);font-size:12.5px;color:var(--ink-80);overflow:hidden}.link-box .lfield .lk{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-hint{font-size:12.5px;color:var(--ink-40);margin:8px 0 0;line-height:1.5}.link-perm{display:flex;align-items:center;gap:10px;margin-top:12px}.link-perm label{font-size:13px;color:var(--ink-60)}.link-perm select{height:36px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--radius-s);background:var(--paper);font-family:var(--type-sans);font-size:13px;cursor:pointer}.existing-search{position:relative;margin-bottom:10px}.existing-search input{width:100%;height:44px;padding:0 14px 0 40px;border:1px solid var(--ink-10);border-radius:var(--radius-m);font-family:var(--type-sans);font-size:14px;background:var(--surface)}.existing-search input:focus{outline:none;border-color:var(--deep);background:var(--paper)}.existing-search .lupa{position:absolute;left:13px;top:13px;width:18px;height:18px}.existing-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.exrow{display:flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid var(--line);border-radius:var(--radius-m)}.exrow .av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:600;flex-shrink:0}.exrow .exwho{flex:1;min-width:0}.exrow .exwho .exn{font-size:14px;font-weight:600}.exrow .exwho .exh{font-size:11.5px;color:var(--ink-40);font-family:var(--type-mono)}.exrow .exwho .exp{font-size:11.5px;color:var(--ink-40);margin-top:2px}.exrow .ex-add{height:32px;padding:0 13px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);color:var(--deep);font-family:var(--type-sans);font-size:12.5px;font-weight:600;cursor:pointer;flex-shrink:0}.exrow .ex-add:hover{border-color:#b6ecd1;background:var(--tint)}.exrow.added .ex-add{background:var(--tint);border-color:#b6ecd1;color:var(--deep);pointer-events:none}.existing-empty{padding:22px;text-align:center;color:var(--ink-40);font-size:13px}.stage-list{display:flex;flex-direction:column;gap:8px}.stage-item{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper)}.stage-item .grip{color:var(--ink-20);cursor:grab;font-size:15px}.stage-item .sdot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.stage-item .sname{flex:1;font-size:14px;font-weight:500}.stage-item input.sname-edit{flex:1;height:34px;border:1px solid var(--ink-10);border-radius:var(--radius-s);padding:0 10px;font-family:var(--type-sans);font-size:14px}.stage-move{display:flex;gap:4px}.stage-move button,.stage-del{width:30px;height:30px;border-radius:var(--radius-s);border:1px solid var(--line-2);background:var(--paper);cursor:pointer;color:var(--ink-60);font-size:13px;display:flex;align-items:center;justify-content:center}.stage-move button:hover{border-color:var(--deep);color:var(--deep)}.stage-move button:disabled{opacity:.35;cursor:default}.stage-del:hover{border-color:#a83825;color:#a83825;background:#fbe8e3}.add-stage-row{display:flex;gap:10px;margin-top:6px}.add-stage-row input{flex:1;height:44px;padding:0 14px;border:1px solid var(--ink-10);border-radius:var(--radius-m);font-family:var(--type-sans);font-size:14px;background:var(--surface)}.add-stage-row input:focus{outline:none;border-color:var(--deep);background:var(--paper)}.eval-table tbody td.editable,.tasks tbody td.editable{cursor:pointer;position:relative}.eval-table tbody td.editable:hover,.tasks tbody td.editable:hover{background:var(--surface)}.eval-table tbody td.editable .caret,.tasks tbody td.editable .caret{opacity:0;margin-left:6px;font-size:9px;color:var(--ink-40);transition:opacity .12s}.eval-table tbody td.editable:hover .caret,.tasks tbody td.editable:hover .caret{opacity:1}.eval-pop button .av{margin-right:0}.eval-pop{position:absolute;z-index:120;min-width:180px;margin-top:6px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-pop);padding:6px;display:none}.eval-pop.open{display:block}.eval-pop button{display:flex;align-items:center;gap:9px;width:100%;height:36px;padding:0 10px;border:none;background:transparent;border-radius:var(--radius-s);font-family:var(--type-sans);font-size:13.5px;color:var(--ink);cursor:pointer;text-align:left}.eval-pop button:hover{background:var(--surface)}.eval-pop button.cur{color:var(--deep);font-weight:600}.eval-pop button .ld,.eval-pop button .sdot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.eval-pop button .ld.hi{background:var(--prio-high)}.eval-pop button .ld.mid{background:var(--prio-norm)}.eval-pop button .ld.lo{background:var(--prio-low)}.eval-pop .ck{margin-left:auto;color:var(--deep)}.checklist{display:flex;flex-direction:column;gap:2px}.check-item{display:flex;align-items:center;gap:11px;padding:8px 6px;border-radius:var(--radius-s)}.check-item:hover{background:var(--canvas)}.check-item .cbox{width:20px;height:20px;border-radius:6px;border:2px solid var(--line-2);background:var(--paper);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;transition:background .12s,border-color .12s}.check-item.done .cbox{background:var(--emerald);border-color:var(--emerald)}.check-item .ctext{flex:1;min-width:0;font-size:14.5px;color:var(--ink);cursor:text;outline:none;border-radius:4px;padding:2px 4px}.check-item.done .ctext{color:var(--ink-40);text-decoration:line-through}.check-item .cdel{width:26px;height:26px;border:none;background:transparent;color:var(--ink-20);cursor:pointer;font-size:14px;border-radius:var(--radius-s);opacity:0;transition:opacity .12s,color .12s,background .12s}.check-item:hover .cdel{opacity:1}.check-item .cdel:hover{color:#a83825;background:#fbe8e3}.check-progress{display:flex;align-items:center;gap:10px;margin-bottom:12px}.check-progress .pbar{flex:1;height:6px;border-radius:999px;background:var(--surface);overflow:hidden}.check-progress .pbar>span{display:block;height:100%;background:var(--emerald);border-radius:999px;transition:width .2s}.check-progress .ptxt{font-family:var(--type-mono);font-size:11.5px;color:var(--ink-40);font-weight:600}.check-add{display:flex;align-items:center;gap:11px;padding:8px 6px}.check-add .plus{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--ink-40);flex-shrink:0}.check-add input{flex:1;border:none;background:transparent;font-family:var(--type-sans);font-size:14.5px;color:var(--ink);outline:none;padding:2px 4px}.check-add input::placeholder{color:var(--ink-40)}.kebab-wrap{position:relative;flex-shrink:0}.kebab{width:34px;height:34px;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--ink-40);cursor:pointer;font-size:18px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}.kebab:hover{background:var(--surface);color:var(--ink);border-color:var(--line-2)}.menu-pop{position:absolute;top:40px;right:0;z-index:40;min-width:196px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-pop);padding:6px;display:none}.menu-pop.open{display:block}.menu-pop button{display:flex;align-items:center;gap:11px;width:100%;height:38px;padding:0 12px;border:none;background:transparent;border-radius:var(--radius-s);font-family:var(--type-sans);font-size:13.5px;color:var(--ink);cursor:pointer;text-align:left}.menu-pop button:hover{background:var(--surface)}.menu-pop button .mi{width:16px;text-align:center}.menu-pop button.danger{color:#a83825}.menu-pop button.danger:hover{background:#fbe8e3}.menu-pop .sep{height:1px;background:var(--line);margin:6px}.list-card .nm-edit{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--ink);border:1px solid var(--deep);border-radius:8px;padding:3px 8px;outline:none;box-shadow:0 0 0 3px #0596691f;font-family:var(--type-sans);width:100%}.list-card.archived{opacity:.58}.list-card .arch-tag{font-family:var(--type-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:2px 8px;margin-left:8px}.section-sep{display:flex;align-items:center;gap:12px;margin:34px 0 16px;font-family:var(--type-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40)}.section-sep .ln{flex:1;height:1px;background:var(--line)}.section-sep .toggle-arch{cursor:pointer;color:var(--deep)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d2e226b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:none;align-items:flex-start;justify-content:center;padding:56px 20px;overflow:auto}.modal-overlay.open{display:flex}.modal{width:100%;max-width:640px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop)}.modal-head{display:flex;align-items:center;gap:14px;padding:24px 28px;border-bottom:1px solid var(--line)}.modal-head .ic{width:40px;height:40px;border-radius:var(--radius-s);background:var(--tint);color:var(--deep);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}.modal-head h2{font-size:21px;font-weight:600;letter-spacing:-.02em;margin:0;flex:1}.modal-head .x{width:34px;height:34px;border-radius:50%;border:1px solid var(--ink-10);background:var(--paper);color:var(--ink-40);cursor:pointer;font-size:17px}.modal-head .x:hover{color:var(--ink);border-color:var(--ink-40)}.modal-body{padding:26px 28px;display:flex;flex-direction:column;gap:20px}.modal-foot{display:flex;gap:10px;align-items:center;padding:20px 28px;border-top:1px solid var(--line)}.form-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}select.inp{height:50px;padding:0 14px;border-radius:var(--radius-m);border:1px solid var(--ink-10);background:var(--paper);font-family:var(--type-sans);font-size:15px;color:var(--ink);width:100%;cursor:pointer}select.inp:focus{outline:none;border-color:var(--deep);box-shadow:0 0 0 4px #0596691f}.recur-inline-note{display:none;align-items:center;gap:10px;margin-top:4px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-m);padding:12px 14px;font-size:13px;color:var(--ink-60)}.recur-inline-note.show{display:flex}.recur-inline-note a{color:var(--deep);font-weight:600}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 0}.nav-toggle{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink-40);cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.nav-toggle:hover{background:var(--surface);color:var(--ink);border-color:var(--line-2)}.nav-item .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app.nav-collapsed{grid-template-columns:76px 1fr}.app.nav-collapsed .sidebar{padding:24px 12px}.app.nav-collapsed .sidebar-head{flex-direction:column;gap:14px}.app.nav-collapsed .brand{gap:0;padding:0;justify-content:center}.app.nav-collapsed .brand-text,.app.nav-collapsed .nav-label,.app.nav-collapsed .nav-item .lbl,.app.nav-collapsed .nav-item .count,.app.nav-collapsed .user-chip .who{display:none}.app.nav-collapsed .nav-item{justify-content:center;padding:0;gap:0}.app.nav-collapsed .user-chip{justify-content:center;padding:10px}.stat-mini-row{display:flex;align-items:center;gap:8px;margin-right:4px}.stat-mini{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 11px;border-radius:999px;font-family:var(--type-mono);font-size:13px;font-weight:600;border:1px solid var(--line);background:var(--paper);color:var(--ink-60)}.stat-mini .i{font-size:13px}.stat-mini.alert{background:#fbe8e3;color:#a83825;border-color:#f0c1b6}.stat-mini.warn{background:#fdf2dc;color:#8a6418;border-color:#f3dca2}.stat-mini.ok{background:var(--tint);color:var(--deep);border-color:#b6ecd1}.table-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:14px}.table-toolbar .spacer{flex:1}.table-toolbar .shown{font-family:var(--type-mono);font-size:12px;color:var(--ink-40)}.btn .lupa{width:17px;height:17px}.filter-panel{display:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);padding:18px;margin-bottom:18px}.filter-panel.open{display:block}.filter-panel .filter-bar{border:none;padding:0;margin:0;background:transparent}.filter-search{position:relative;margin-bottom:16px}.filter-search input{width:100%;height:46px;padding:0 16px 0 44px;border-radius:var(--radius-m);border:1px solid var(--ink-10);font-family:var(--type-sans);font-size:14.5px;color:var(--ink);background:var(--paper)}.filter-search input:focus{outline:none;border-color:var(--deep);box-shadow:0 0 0 4px #0596691f}.filter-search .lupa{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:18px;height:18px}.filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.filter-panel .filter-search input,.filter-panel .filter select,.filter-panel .filter input{background:var(--surface);border-color:var(--line-2)}.filter-panel .filter select{color:var(--ink)}.filter-panel .filter-search input::placeholder{color:var(--ink-40)}.filter-panel .filter-search input:focus,.filter-panel .filter select:focus,.filter-panel .filter input:focus{background:var(--paper)}.filter-panel .status-chips .st-chip{background:var(--surface);border-color:var(--line-2)}.home-head{display:flex;align-items:flex-end;gap:20px;margin-bottom:24px}.home-head h1{font-size:30px;font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0}.home-head .date{font-family:var(--type-mono);font-size:12px;color:var(--ink-40);margin-top:8px;letter-spacing:.03em}.home-head .spacer{flex:1}.create-wrap{position:relative}.create-wrap .menu-pop{left:auto;right:0}.create-wrap .menu-pop a{display:flex;align-items:center;gap:11px;height:40px;padding:0 12px;border-radius:var(--radius-s);font-size:13.5px;color:var(--ink)}.create-wrap .menu-pop a:hover{background:var(--surface)}.create-wrap .menu-pop a .mi{width:18px;text-align:center}.ai-brief{display:flex;gap:18px;align-items:flex-start;background:linear-gradient(180deg,var(--surface),var(--tint));border:1px solid var(--line-2);border-radius:var(--radius-l);padding:22px 24px;margin-bottom:24px}.ai-brief .av{width:46px;height:46px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--emerald),var(--deep));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:19px;box-shadow:0 6px 16px -6px #0596698c}.ai-brief .body{min-width:0}.ai-brief .eyebrow{margin:2px 0 10px}.ai-brief .eyebrow .spark{color:var(--deep)}.ai-brief p{margin:0;font-size:15.5px;line-height:1.65;color:var(--ink-80)}.ai-brief p b{color:var(--ink);font-weight:600}.ai-brief .refresh{margin-left:auto;align-self:center;flex-shrink:0;font-family:var(--type-mono);font-size:11px;color:var(--ink-40);display:inline-flex;align-items:center;gap:6px;cursor:pointer}.ai-brief .refresh:hover{color:var(--deep)}.hstat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:8px}.hstat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);padding:20px 22px;transition:transform .2s,box-shadow .2s,border-color .2s;display:block}.hstat:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop);border-color:var(--line-2)}.hstat .top{display:flex;align-items:center;justify-content:space-between}.hstat .ic{width:38px;height:38px;border-radius:var(--radius-s);display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--surface);color:var(--ink-60)}.hstat .go{color:var(--ink-20);font-family:var(--type-mono);font-size:16px}.hstat .n{font-family:var(--type-mono);font-weight:600;font-size:38px;letter-spacing:-.03em;line-height:1;margin-top:16px;color:var(--ink)}.hstat .l{font-size:13px;color:var(--ink-40);margin-top:7px}.hstat.alert .ic{background:#fbe8e3;color:#a83825}.hstat.alert .n{color:#a83825}.hstat.warn .ic{background:#fdf2dc;color:#8a6418}.hstat.warn .n{color:#8a6418}.hstat.todo .ic{background:#eaf4fb;color:#1c5687}.hstat.ok .ic{background:var(--tint);color:var(--deep)}.hstat.ok .n{color:var(--deep)}.home-sec{margin-top:34px}.home-sec .sec-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.home-sec .sec-head h2{font-size:20px;font-weight:600;letter-spacing:-.015em;margin:0}.home-sec .sec-head .cnt-pill{font-family:var(--type-mono);font-size:11px;color:var(--ink-40);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:2px 9px}.home-sec .sec-head .all{margin-left:auto;font-size:13px;color:var(--deep);font-weight:500}.home-sec .sec-head .all:hover{text-decoration:underline}.proj-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.proj-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);padding:20px 22px;display:flex;flex-direction:column;gap:14px;transition:transform .2s,box-shadow .2s,border-color .2s}.proj-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop);border-color:var(--line-2)}.proj-card .head{display:flex;align-items:center;gap:12px}.proj-card .glyph{width:40px;height:40px;border-radius:var(--radius-s);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;background:var(--surface)}.proj-card .nm{font-size:16px;font-weight:600;letter-spacing:-.01em}.proj-card .kpi{margin-left:auto;font-family:var(--type-mono);font-size:11px;color:var(--ink-40);text-align:right}.proj-card .kpi b{color:var(--ink);font-weight:600}.progress{height:7px;border-radius:999px;background:var(--ink-10);overflow:hidden}.progress>i{display:block;height:100%;background:var(--emerald);border-radius:999px}.proj-card .mini-list{display:flex;flex-direction:column;gap:9px}.pmt{display:flex;align-items:center;gap:10px;font-size:13.5px}.pmt .dotp{width:8px;height:8px;border-radius:3px;flex-shrink:0}.pmt .dotp.high{background:var(--prio-high)}.pmt .dotp.norm{background:var(--prio-norm)}.pmt .dotp.low{background:var(--prio-low)}.pmt .t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-card .foot{display:flex;align-items:center;justify-content:space-between;font-family:var(--type-mono);font-size:11px;color:var(--ink-40);padding-top:4px}.proj-card .foot .open{color:var(--deep)}.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:16px}.tab{height:40px;padding:0 14px;border:none;background:transparent;cursor:pointer;font-family:var(--type-sans);font-size:14px;font-weight:500;color:var(--ink-60);border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:8px;transition:color .15s}.tab:hover{color:var(--ink)}.tab.on{color:var(--ink);border-bottom-color:var(--emerald);font-weight:600}.tab .cnt{font-family:var(--type-mono);font-size:11px;background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:1px 7px;color:var(--ink-40)}.tab.on .cnt{background:var(--tint);border-color:#b6ecd1;color:var(--deep)}.tabpanel{display:none}.tabpanel.on{display:block}.ctask-list{display:flex;flex-direction:column;gap:8px}.ctask{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper);transition:border-color .15s,background .15s;cursor:pointer}.ctask:hover{border-color:var(--line-2);background:var(--canvas)}.ctask .dotp{width:8px;height:8px;border-radius:3px;flex-shrink:0}.ctask .dotp.high{background:var(--prio-high)}.ctask .dotp.norm{background:var(--prio-norm)}.ctask .dotp.low{background:var(--prio-low)}.ctask .t{font-size:14px;font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctask .proj{font-family:var(--type-mono);font-size:10.5px;letter-spacing:.04em;color:var(--ink-40);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:2px 8px;flex-shrink:0}.ctask .av{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.ctask .recur{color:var(--ink-40);font-size:13px;flex-shrink:0}.sel-empty{padding:18px;text-align:center;color:var(--ink-40);font-size:13.5px}.sel-more{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:8px 4px;font-size:13px;font-weight:500;color:var(--deep);text-decoration:none}.sel-more:hover{text-decoration:underline}.rec-collapse{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}.rec-collapse>summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;letter-spacing:-.01em}.rec-collapse>summary::-webkit-details-marker{display:none}.rec-collapse>summary .chev{margin-left:auto;font-family:var(--type-mono);color:var(--ink-40);transition:transform .2s}.rec-collapse[open]>summary .chev{transform:rotate(90deg)}.rec-collapse>summary .cnt-pill{font-family:var(--type-mono);font-size:11px;color:var(--ink-40);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:2px 9px;font-weight:500}.rec-body{padding:4px 14px 14px;display:flex;flex-direction:column;gap:8px}.rec-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-s)}.rec-item:hover{background:var(--canvas)}.rec-item .ico{font-size:15px}.rec-item .t{font-size:14px;font-weight:500;flex:1}.rec-item .when{font-family:var(--type-mono);font-size:11.5px;color:var(--deep);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:3px 10px}@media(max-width:1080px){.hstat-row{grid-template-columns:1fr 1fr}.proj-grid{grid-template-columns:1fr}}.d-head{position:relative}.d-head .kebab-wrap .menu-pop{top:44px}.tag-panel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0 4px}.tag{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 6px 0 11px;border-radius:999px;font-size:13px;font-weight:500;background:var(--surface);border:1px solid var(--line-2);color:var(--ink-80)}.tag .x{width:18px;height:18px;border-radius:50%;border:none;background:transparent;color:var(--ink-40);cursor:pointer;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center}.tag .x:hover{background:var(--ink-10);color:var(--ink)}.tag.emerald{background:var(--tint);border-color:#b6ecd1;color:var(--deep)}.tag-add{height:30px;padding:0 12px;border-radius:999px;cursor:pointer;border:1px dashed var(--line-2);background:transparent;color:var(--ink-40);font-family:var(--type-sans);font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.tag-add:hover{border-color:var(--deep);color:var(--deep)}.tag-add-wrap{position:relative}.tag-pop{position:absolute;top:38px;left:0;z-index:40;min-width:200px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-pop);padding:6px;display:none}.tag-pop.open{display:block}.tag-pop input{width:100%;height:38px;padding:0 10px;border:1px solid var(--ink-10);border-radius:var(--radius-s);font-family:var(--type-sans);font-size:13.5px;margin-bottom:6px}.tag-pop input:focus{outline:none;border-color:var(--deep)}.tag-pop button{display:flex;align-items:center;gap:9px;width:100%;height:34px;padding:0 10px;border:none;background:transparent;border-radius:var(--radius-s);font-family:var(--type-sans);font-size:13.5px;color:var(--ink);cursor:pointer;text-align:left}.tag-pop button:hover{background:var(--surface)}.tag-cloud{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:2px 0 26px}.tag-cloud .lead{font-family:var(--type-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);margin-right:4px}.cloud-tag{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);font-family:var(--type-sans);font-size:13.5px;font-weight:500;color:var(--ink-80);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.cloud-tag:hover{border-color:var(--deep);color:var(--deep);background:var(--surface)}.cloud-tag .n{font-family:var(--type-mono);font-size:11px;color:var(--ink-40)}.cloud-tag.hot{background:var(--tint);border-color:#b6ecd1;color:var(--deep)}.cloud-tag.hot .n{color:var(--deep)}.row-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.mini-tag{font-size:11.5px;height:23px;padding:0 9px;border-radius:999px;background:var(--surface);border:1px solid var(--line-2);color:var(--ink-60);display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-family:var(--type-sans)}.mini-tag:hover{border-color:var(--deep);color:var(--deep)}.mini-tag.emerald{background:var(--tint);border-color:#b6ecd1;color:var(--deep)}.mini-tag .x{border:none;background:transparent;color:inherit;cursor:pointer;font-size:11px;padding:0;opacity:.55}.mini-tag .x:hover{opacity:1}.mini-tag-add{font-size:11.5px;height:23px;width:23px;border-radius:50%;padding:0;border:1px dashed var(--line-2);background:transparent;color:var(--ink-40);cursor:pointer}.mini-tag-add:hover{border-color:var(--deep);color:var(--deep)}.filter-banner{display:none;align-items:center;gap:12px;margin-bottom:18px;background:var(--tint);border:1px solid #b6ecd1;border-radius:var(--radius-m);padding:13px 16px;font-size:14px;color:var(--deep)}.filter-banner.show{display:flex}.filter-banner b{font-weight:600}.filter-banner .clear{margin-left:auto;color:var(--deep);font-weight:600;cursor:pointer;text-decoration:none}.filter-banner .clear:hover{text-decoration:underline}.row-item.tag-hidden{display:none}.edit-chip-wrap{position:relative;display:inline-flex}.chip-btn{cursor:pointer;font-family:var(--type-sans)}.chip-btn .cv{font-size:9px;opacity:.6;margin-left:2px}.edit-chip-wrap .menu-pop{top:38px;left:0;right:auto;min-width:210px}.edit-chip-wrap .menu-pop .sw,.edit-chip-wrap .menu-pop .pdt{width:9px;height:9px;border-radius:50%;flex-shrink:0}.edit-chip-wrap .menu-pop .sw.todo{background:#1c5687}.edit-chip-wrap .menu-pop .sw.pending{background:#8a6418}.edit-chip-wrap .menu-pop .sw.blocked{background:#a83825}.edit-chip-wrap .menu-pop .sw.postponed{background:#5a6b7a}.edit-chip-wrap .menu-pop .sw.done{background:var(--deep)}.edit-chip-wrap .menu-pop .pdt.high{background:var(--prio-high)}.edit-chip-wrap .menu-pop .pdt.norm{background:var(--prio-norm)}.edit-chip-wrap .menu-pop .pdt.low{background:var(--prio-low)}.week-grid{display:flex;flex-direction:column;gap:14px}.day-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);padding:0;overflow:hidden;display:grid;grid-template-columns:132px 1fr}.day-card.is-today{border-color:#b6ecd1;box-shadow:0 0 0 3px #10b9811a}.day-card.is-empty{opacity:.82}.day-side{padding:20px;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:2px}.day-card.is-today .day-side{background:var(--tint)}.day-side .dow{font-size:15px;font-weight:600;letter-spacing:-.01em;text-transform:capitalize}.day-side .dnum{font-family:var(--type-mono);font-size:12px;color:var(--ink-40);margin-top:2px}.day-side .today-pill{margin-top:10px;align-self:flex-start;font-family:var(--type-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--deep);background:var(--paper);border:1px solid #b6ecd1;border-radius:999px;padding:3px 8px}.day-side .cnt{margin-top:auto;font-family:var(--type-mono);font-size:11px;color:var(--ink-40);padding-top:12px}.day-body{padding:16px 18px;display:flex;flex-direction:column;gap:10px}.hero-task{display:flex;align-items:center;gap:12px;padding:13px 15px;background:linear-gradient(180deg,var(--surface),var(--tint));border:1px solid #b6ecd1;border-radius:var(--radius-m);cursor:pointer;transition:transform .15s}.hero-task:hover{transform:translate(2px)}.hero-task .star{font-size:16px;flex-shrink:0}.hero-task .tx{flex:1;min-width:0}.hero-task .tx .lead{font-family:var(--type-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--deep);margin-bottom:3px}.hero-task .tx .t{font-size:14.5px;font-weight:600;letter-spacing:-.01em}.hero-task .proj{font-family:var(--type-mono);font-size:10.5px;color:var(--ink-40);background:var(--paper);border:1px solid var(--line-2);border-radius:999px;padding:2px 8px;flex-shrink:0}.day-rest{display:flex;flex-direction:column;gap:7px}.drow{display:flex;align-items:center;gap:11px;padding:8px 6px;border-radius:var(--radius-s);cursor:pointer}.drow:hover{background:var(--canvas)}.drow .dotp{width:8px;height:8px;border-radius:3px;flex-shrink:0}.drow .dotp.high{background:var(--prio-high)}.drow .dotp.norm{background:var(--prio-norm)}.drow .dotp.low{background:var(--prio-low)}.drow .t{flex:1;min-width:0;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drow .recur{color:var(--ink-40);font-size:12px}.drow .proj{font-family:var(--type-mono);font-size:10px;color:var(--ink-40);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:2px 7px;flex-shrink:0}.day-empty{font-size:13px;color:var(--ink-40);padding:10px 6px}.hero-task,.drow{position:relative}.plan-actions{display:flex;gap:6px;margin-left:8px;opacity:0;transition:opacity .15s;flex-shrink:0;position:relative;z-index:10}.hero-task:hover .plan-actions,.drow:hover .plan-actions{opacity:1}.pa-wrap{position:relative}.pa-btn{height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-60);font-size:12px;font-family:var(--type-sans);cursor:pointer;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.pa-btn:hover{border-color:var(--deep);color:var(--deep)}.pa-btn.danger:hover{border-color:#a83825;color:#a83825;background:#fbe8e3}.pa-pop{position:absolute;top:34px;right:0;z-index:120;min-width:180px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-pop);padding:8px;display:none}.pa-pop.open{display:block}.pa-pop .ph{font-family:var(--type-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);padding:4px 8px 8px}.pa-pop button{display:flex;align-items:center;gap:9px;width:100%;height:34px;padding:0 10px;border:none;background:transparent;border-radius:var(--radius-s);font-family:var(--type-sans);font-size:13px;color:var(--ink);cursor:pointer;text-align:left}.pa-pop button:hover{background:var(--surface)}.pa-pop button.cur{color:var(--ink-40);cursor:default}.pa-pop button.cur:hover{background:transparent}.pa-pop .datebox{display:flex;gap:6px;padding:4px}.pa-pop .datebox input{flex:1;height:34px;border:1px solid var(--ink-10);border-radius:var(--radius-s);padding:0 8px;font-family:var(--type-mono);font-size:12px}.pa-pop .datebox button{width:auto;height:34px;padding:0 12px;background:var(--emerald);color:#fff;justify-content:center}.plan-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(20px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font-size:13.5px;box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:200}.plan-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.plan-toast b{color:#6ee7b7}.day-add{margin-top:10px;align-self:flex-start;height:30px;padding:0 12px;border-radius:999px;border:1px dashed var(--line-2);background:transparent;color:var(--deep);font-family:var(--type-sans);font-size:12px;font-weight:600;cursor:pointer}.day-add:hover{border-color:var(--deep);background:var(--paper)}.pick-search{position:relative}.pick-search input{width:100%;height:46px;padding:0 14px 0 42px;border:1px solid var(--ink-10);border-radius:var(--radius-m);font-family:var(--type-sans);font-size:14.5px}.pick-search input:focus{outline:none;border-color:var(--deep);box-shadow:0 0 0 4px #0596691f}.pick-search .lupa{position:absolute;left:14px;top:14px;width:18px;height:18px}.pick-filters{display:flex;gap:10px;flex-wrap:wrap}.pick-filters select{height:38px;padding:0 10px;border:1px solid var(--ink-10);border-radius:var(--radius-s);font-family:var(--type-sans);font-size:13px;color:var(--ink);background:var(--paper);cursor:pointer}.pick-filters select:focus{outline:none;border-color:var(--deep)}.pick-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto}.pick-row{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-m);cursor:pointer;transition:border-color .15s,background .15s}.pick-row:hover{border-color:var(--deep);background:var(--canvas)}.pick-row .dotp{width:8px;height:8px;border-radius:3px;flex-shrink:0}.pick-row .dotp.high{background:var(--prio-high)}.pick-row .dotp.norm{background:var(--prio-norm)}.pick-row .dotp.low{background:var(--prio-low)}.pick-row .t{flex:1;min-width:0;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-row .recur{color:var(--ink-40);font-size:12px}.pick-row .srok{font-family:var(--type-mono);font-size:11px;color:var(--ink-40);flex-shrink:0}.pick-row .proj{font-family:var(--type-mono);font-size:10px;color:var(--ink-40);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:2px 7px;flex-shrink:0}.pick-row .add{color:var(--deep);font-weight:700;font-size:17px;flex-shrink:0}.pick-empty{padding:28px;text-align:center;color:var(--ink-40);font-size:13.5px}.topbar .greet{display:flex;flex-direction:column;gap:2px}.topbar .greet .g1{font-size:16px;font-weight:600;letter-spacing:-.01em}.topbar .greet .g2{font-family:var(--type-mono);font-size:11px;color:var(--ink-40);letter-spacing:.03em}@media(max-width:760px){.day-card{grid-template-columns:1fr}.day-side{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:10px}.day-side .cnt{margin:0 0 0 auto;padding:0}}.matrix-axes{display:grid;grid-template-columns:40px 1fr;grid-template-rows:40px 1fr;gap:12px}.axis-y{grid-row:2;grid-column:1;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--type-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40)}.axis-x{grid-row:1;grid-column:2;display:flex;align-items:center;justify-content:center;font-family:var(--type-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40)}.matrix{grid-row:2;grid-column:2;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px}.quad{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--paper);display:flex;flex-direction:column;min-height:230px;overflow:hidden}.quad .qhead{padding:16px 18px 12px;border-bottom:1px solid var(--line)}.quad .qtag{font-family:var(--type-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.quad .qttl{font-size:16px;font-weight:600;letter-spacing:-.015em;margin-top:5px}.quad .qsub{font-size:12px;color:var(--ink-40);margin-top:3px}.quad .qbody{padding:12px;display:flex;flex-direction:column;gap:8px;flex:1}.quad .qcount{margin-left:auto;font-family:var(--type-mono);font-size:11px}.quad.q1{border-color:#f0c1b6}.quad.q1 .qhead{background:#fbe8e3}.quad.q1 .qtag,.quad.q1 .qcount{color:#a83825}.quad.q2{border-color:#b6ecd1}.quad.q2 .qhead{background:var(--tint)}.quad.q2 .qtag,.quad.q2 .qcount{color:var(--deep)}.quad.q3{border-color:#f3dca2}.quad.q3 .qhead{background:#fdf2dc}.quad.q3 .qtag,.quad.q3 .qcount{color:#8a6418}.quad.q4{border-color:var(--line-2)}.quad.q4 .qhead{background:var(--surface)}.quad.q4 .qtag,.quad.q4 .qcount{color:var(--ink-40)}.mtask{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper);cursor:pointer;transition:border-color .15s,background .15s}.mtask:hover{border-color:var(--line-2);background:var(--canvas)}.mtask .dotp{width:8px;height:8px;border-radius:3px;flex-shrink:0}.mtask .dotp.high{background:var(--prio-high)}.mtask .dotp.norm{background:var(--prio-norm)}.mtask .dotp.low{background:var(--prio-low)}.mtask .t{flex:1;min-width:0;font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtask .recur{color:var(--ink-40);font-size:12px;flex-shrink:0}.mtask .proj{font-family:var(--type-mono);font-size:10px;color:var(--ink-40);background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:2px 7px;flex-shrink:0}.quad .qempty{font-size:12.5px;color:var(--ink-40);padding:8px 6px}.tstatus.inprogress{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.tstatus.cancelled{background:var(--surface);color:var(--ink-40);border-color:var(--line-2)}.tstatus.missed{background:#fdf2dc;color:#8a6418;border-color:#f3dca2}.st-chip.in_progress.on{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.st-chip.cancelled.on{background:var(--surface);color:var(--ink-60);border-color:var(--line-2)}.st-chip.missed.on{background:#fdf2dc;color:#8a6418;border-color:#f3dca2}.status-chips.has-active .st-chip:not(.on){opacity:.55}.topbar-counters{display:flex;align-items:center;gap:10px}.topbar-counter{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;font-family:var(--type-mono);font-size:11px;font-weight:500;letter-spacing:.02em;border:1px solid transparent}.topbar-counter-blocked{background:#fbe8e3;color:#a83825;border-color:#f0c1b6}.topbar-counter-pending{background:#fdf2dc;color:#8a6418;border-color:#f3dca2}.create-dropdown{position:relative}.create-caret{font-size:11px;margin-left:4px;opacity:.7}.create-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:50;min-width:200px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-pop);padding:6px}.create-menu button{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 13px;border:none;background:transparent;border-radius:var(--radius-s);font-family:var(--type-sans);font-size:14px;color:var(--ink);cursor:pointer;text-align:left;transition:background .12s}.create-menu button:hover{background:var(--surface)}.create-menu button span:first-child{width:20px;text-align:center;font-size:15px}table.tasks tbody tr{cursor:default}.inline-cell{position:relative;display:inline-block}.inline-trigger{display:inline-flex;align-items:center;gap:5px;cursor:pointer;border-radius:var(--radius-s);padding:2px 5px;margin:-2px -5px;transition:background .12s}.inline-trigger:hover{background:var(--surface)}.inline-caret{font-size:10px;color:var(--ink-40);line-height:1;flex-shrink:0}.inline-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:176px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-pop);padding:6px}.inline-pop-item{display:flex;align-items:center;gap:9px;width:100%;height:36px;padding:0 11px;border:none;background:transparent;border-radius:var(--radius-s);font-family:var(--type-sans);font-size:13.5px;color:var(--ink);cursor:pointer;text-align:left;transition:background .1s}.inline-pop-item:hover{background:var(--surface)}.inline-pop-item.active{background:var(--tint);color:var(--deep);font-weight:500}.prio-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.prio-dot-high{background:var(--prio-high)}.prio-dot-norm{background:var(--prio-norm)}.prio-dot-low{background:var(--prio-low)}.prio-dot-urgent{background:var(--prio-high)}.due-pop{min-width:210px}.due-presets{display:flex;flex-direction:column;gap:2px}.due-divider{height:1px;background:var(--line);margin:6px}.due-date-wrap{padding:4px 6px 2px}.due-date-input{width:100%;height:38px;padding:0 10px;border-radius:var(--radius-s);border:1px solid var(--line-2);background:var(--surface);font-family:var(--type-mono);font-size:13px;color:var(--ink);cursor:pointer}.due-date-input:focus{outline:none;border-color:var(--deep);box-shadow:0 0 0 3px #0596691a}.due-empty{color:var(--ink-40);font-size:13px}table.tasks th .sarr-hint{color:var(--ink-20);margin-left:4px;font-family:var(--type-mono);font-size:12px}.assignee-stub{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--tint),#a7f3d0);color:var(--deep);font-size:11px;font-weight:700;border:1px solid #b6ecd1}.load-cap-warn{font-family:var(--type-mono);font-size:11px;color:#8a6418;background:#fdf2dc;border:1px solid #f3dca2;border-radius:999px;padding:3px 12px}.app.nav-collapsed{grid-template-columns:56px 1fr}.app.nav-collapsed .sidebar{padding:16px 8px;overflow:hidden;align-items:center;gap:20px}.app.nav-collapsed .brand{justify-content:center;padding:4px}.app.nav-collapsed .brand-text,.app.nav-collapsed .nav-label{display:none}.app.nav-collapsed .nav-item{justify-content:center;padding:0;width:40px;height:40px;margin:0 auto}.app.nav-collapsed .nav-item .lbl{display:none}.app.nav-collapsed .nav-item .ic{width:22px;height:22px}.app.nav-collapsed .nav-group{gap:2px}.app.nav-collapsed .sidebar-foot{gap:4px;align-items:center}.app.nav-collapsed .sidebar-foot .lbl{display:none}.sidebar-toggle{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 12px;border-radius:var(--radius-s);border:1px solid var(--ink-10);background:var(--paper);color:var(--ink-60);cursor:pointer;font-size:14px;font-family:var(--type-sans);font-weight:500;transition:border-color .15s,color .15s,background .15s}.sidebar-toggle:hover{border-color:var(--ink-40);color:var(--ink);background:var(--surface)}.toggle-arr{font-family:var(--type-mono);font-size:16px;line-height:1;flex-shrink:0}.app.nav-collapsed .sidebar-toggle{width:40px;height:40px;padding:0;border-radius:50%;justify-content:center}.sidebar-logout{width:100%;justify-content:flex-start}.sidebar-logout .sico{font-family:var(--type-mono);font-size:16px;line-height:1;flex-shrink:0;display:inline-block;transform:scaleX(-1)}.app.nav-collapsed .sidebar-logout{width:40px;height:40px;padding:0;border-radius:50%;justify-content:center}.recur-chip.on{background:#eaf4fb;color:#1c5687;border-color:#cfe4f3}.hint-do{font-family:var(--type-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
