:root,:root[data-theme=light]{--bg:#f5f7f9;--surface:#fff;--surface-alt:#ebf0f3;--surface-hover:#e2e9ed;--border:#d9e0e5;--ink:#1b222c;--ink-soft:#47515e;--muted:#78838f;--brand:#e00e7c;--brand-strong:#a80960;--brand-soft:#fbe3f0;--brand-contrast:#fff;--accent:var(--brand);--accent-strong:var(--brand-strong);--accent-soft:var(--brand-soft);--accent-contrast:var(--brand-contrast);--priority-low:#5c7186;--priority-medium:#1f6f78;--priority-high:#b4680c;--priority-urgent:#b23a3a;--success:#1e8a63;--danger:#b23a3a;--danger-contrast:#fff;--warn:#a9660c;--warn-soft:#fbeedc;--shadow-sm:0 1px 2px #1b222c0f;--shadow-md:0 8px 24px -12px #1b222c2e;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#10151b;--surface:#171e26;--surface-alt:#1d2530;--surface-hover:#232c38;--border:#2b3540;--ink:#e7ecef;--ink-soft:#c0c9d1;--muted:#8b96a2;--brand:#f0499b;--brand-strong:#ff8fc7;--brand-soft:#3a1a2c;--brand-contrast:#1a0712;--accent:var(--brand);--accent-strong:var(--brand-strong);--accent-soft:var(--brand-soft);--accent-contrast:var(--brand-contrast);--priority-low:#8a9bab;--priority-medium:#52bab3;--priority-high:#e3ac5c;--priority-urgent:#e07272;--success:#4fbf93;--danger:#e07272;--danger-contrast:#2a0a0a;--warn:#e3ac5c;--warn-soft:#362a17;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 8px 24px -12px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans,Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent-strong)}code,.mono{font-family:IBM Plex Mono,Cascadia Code,ui-monospace,Consolas,monospace}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--ink);align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.88rem;font-weight:600;transition:background .12s,border-color .12s,transform 50ms;display:inline-flex}.btn:hover{background:var(--surface-hover)}.btn:active{transform:translateY(1px)}.btn-primary,.btn-brand{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover,.btn-brand:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-fab{background:var(--accent);width:34px;height:34px;color:var(--accent-contrast);box-shadow:var(--shadow-sm);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;display:flex}.btn-fab:hover{background:var(--accent-strong)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-alt)}.btn-danger{color:var(--danger)}.btn-icon{border-radius:999px;padding:.45rem}.btn:disabled{opacity:.5;cursor:not-allowed}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:1.6rem;height:100vh;padding:1.2rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{letter-spacing:-.01em;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:700;display:flex}.sidebar-logo .dot{background:var(--accent);border-radius:50%;width:10px;height:10px}.sidebar-top{justify-content:space-between;align-items:center;display:flex}.quickstart{position:relative}.quickstart-btn{background:var(--accent);width:30px;height:30px;color:var(--accent-contrast);box-shadow:var(--shadow-sm);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0 0 0 2px;font-size:.75rem;display:flex}.quickstart-btn:hover{background:var(--accent-strong)}.quickstart-popover{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:260px;box-shadow:var(--shadow-md);z-index:30;padding:.5rem;position:absolute;top:calc(100% + .5rem);left:0}.quickstart-popover input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);width:100%;margin-bottom:.4rem;padding:.4rem .55rem}.quickstart-list{flex-direction:column;gap:.1rem;max-height:240px;display:flex;overflow-y:auto}.quickstart-item{border-radius:var(--radius-sm);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;display:flex;overflow:hidden}.quickstart-item:hover{background:var(--surface-alt)}.quickstart-item .swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px}.quickstart-item-badge{color:var(--muted);border:1px solid var(--border);border-radius:999px;flex-shrink:0;margin-left:auto;padding:.05rem .4rem;font-size:.65rem}.quickstart-empty{color:var(--muted);margin:0;padding:.4rem .5rem;font-size:.82rem}.quickstart-create{border:1px dashed var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);text-align:left;cursor:pointer;flex-direction:column;gap:.35rem;width:100%;margin-bottom:.3rem;padding:.5rem .55rem;font-family:inherit;display:flex}.quickstart-create-title{color:var(--accent-strong);font-size:.83rem;font-weight:700}.quickstart-create-meta{flex-wrap:wrap;gap:.3rem;display:flex}.qc-pill{background:var(--surface);border:1px solid var(--border);color:var(--ink-soft);border-radius:999px;padding:.1rem .4rem;font-size:.66rem;font-weight:700}.qc-pill.due{font-family:IBM Plex Mono,monospace}.qc-pill.prio-urgent{color:var(--priority-urgent);border-color:color-mix(in srgb, var(--priority-urgent) 40%, transparent)}.qc-pill.prio-high{color:var(--priority-high);border-color:color-mix(in srgb, var(--priority-high) 40%, transparent)}.qc-pill.prio-medium{color:var(--priority-medium);border-color:color-mix(in srgb, var(--priority-medium) 40%, transparent)}.qc-pill.prio-low{color:var(--priority-low);border-color:color-mix(in srgb, var(--priority-low) 40%, transparent)}.sidebar-top-actions{align-items:center;gap:.4rem;display:flex}.cmdk-trigger{border:1px solid var(--border);background:var(--surface-alt);height:30px;color:var(--muted);border-radius:999px;align-items:center;gap:.35rem;padding:0 .55rem;display:flex}.cmdk-trigger:hover{background:var(--surface-hover);color:var(--ink-soft)}.cmdk-trigger svg{flex-shrink:0;width:15px;height:15px}.cmdk-trigger-hint{letter-spacing:.03em;font-family:IBM Plex Mono,monospace;font-size:.68rem}.cmdk-overlay{z-index:60;background:#0a0e1280;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.cmdk{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:70vh;box-shadow:var(--shadow-md);flex-direction:column;margin:0 1rem;display:flex;overflow:hidden}.cmdk-input{border:none;border-bottom:1px solid var(--border);color:var(--ink);background:0 0;flex-shrink:0;padding:.9rem 1rem;font-size:.98rem}.cmdk-list{padding:.5rem;overflow-y:auto}.cmdk-section+.cmdk-section{margin-top:.3rem}.cmdk-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:.3rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.68rem}.cmdk-item{border-radius:var(--radius-sm);text-align:left;width:100%;color:var(--ink-soft);background:0 0;border:none;align-items:center;gap:.6rem;padding:.55rem .6rem;font-size:.9rem;display:flex}.cmdk-item.active{background:var(--accent-soft);color:var(--accent-strong)}.cmdk-item .swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px}.cmdk-item-icon{width:18px;height:18px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.cmdk-item-icon svg{width:16px;height:16px}.cmdk-item.active .cmdk-item-icon{color:var(--accent-strong)}.cmdk-item-hint{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:.68rem}.nav-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .5rem;font-family:IBM Plex Mono,monospace;font-size:.68rem}.nav-list{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.nav-item{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-alt);color:var(--ink-soft);text-align:left;align-items:center;gap:.65rem;width:100%;padding:.5rem .65rem;font-size:.9rem;font-weight:600;display:flex}.nav-item:hover{background:var(--surface-hover)}.nav-item.active{background:var(--surface);border-color:var(--accent);color:var(--ink);box-shadow:var(--shadow-md)}.nav-item-mark{background:var(--surface);width:26px;height:26px;color:var(--muted);border:1px solid var(--border);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:700;display:flex}.nav-item.active .nav-item-mark{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.role-filter{flex-direction:column;gap:.25rem;display:flex}.role-filter-item{border-radius:var(--radius-sm);color:var(--ink-soft);text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.4rem .6rem;font-size:.85rem;display:flex}.role-filter-item:hover{background:var(--surface-alt)}.role-filter-item.active{background:var(--surface-alt);color:var(--ink);font-weight:600}.role-filter-item .swatch{border-radius:50%;flex-shrink:0;width:9px;height:9px}.role-filter-item.pinned{border:1px dashed var(--accent);background:var(--accent-soft)}.role-filter-item.pinned.active{background:var(--accent-soft);color:var(--accent-strong)}.role-filter-item .pin-icon{flex-shrink:0;font-size:.7rem}.role-filter-item .del-icon{color:var(--muted);visibility:hidden;border-radius:4px;flex-shrink:0;margin-left:auto;padding:.1rem .35rem;font-size:.75rem}.role-filter-item:hover .del-icon{visibility:visible}.role-filter-item .del-icon:hover{color:var(--danger);background:var(--danger-soft)}.adv-toggle{color:var(--accent-strong);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.3rem;width:100%;padding:.5rem .6rem .2rem;font-family:inherit;font-size:.78rem;font-weight:600;display:flex}.adv-toggle:hover{text-decoration:underline}.adv-panel{border-left:2px solid var(--border);flex-direction:column;gap:.5rem;margin-left:.6rem;padding:.5rem .6rem .2rem;display:flex}.adv-row label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:.2rem;font-size:.7rem;display:block}.adv-row select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--ink);padding:.35rem .5rem;font-family:inherit;font-size:.82rem}.save-filter-btn{border-radius:var(--radius-sm);border:1px dashed var(--accent);background:var(--accent-soft);color:var(--accent-strong);cursor:pointer;justify-content:center;align-items:center;gap:.35rem;width:100%;margin-top:.4rem;padding:.4rem .6rem;font-family:inherit;font-size:.8rem;font-weight:600;display:flex}.save-filter-btn:hover{background:var(--accent-soft);filter:brightness(.97)}.name-popover{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-top:.4rem;padding:.7rem}.name-popover input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--ink);margin-bottom:.5rem;padding:.4rem .55rem;font-family:inherit;font-size:.83rem}.name-popover-summary{color:var(--muted);margin-bottom:.5rem;font-size:.74rem;line-height:1.4}.name-popover-actions{gap:.4rem;display:flex}.name-popover-actions .btn{flex:1;justify-content:center}.sidebar-footer{flex-direction:column;gap:.6rem;margin-top:auto;display:flex}.footer-links-row{gap:.4rem;display:flex}.footer-links-row .btn{flex:1;justify-content:center}.user-chip{color:var(--muted);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.user-chip img{border-radius:50%;width:26px;height:26px}.main-area{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:5;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.5rem;display:flex;position:sticky;top:0}.mobile-nav-strip{gap:.3rem;display:none;overflow-x:auto}.mobile-nav-btn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-alt);width:38px;height:38px;color:var(--ink-soft);flex:none;justify-content:center;align-items:center;display:flex}.mobile-nav-btn svg{width:18px;height:18px}.mobile-nav-btn:hover{background:var(--surface-hover)}.mobile-nav-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-sm)}.topbar-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.main-content{flex:1;min-width:0;padding:1.5rem}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.18rem .55rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:700;display:inline-flex}.badge-role{text-overflow:ellipsis;max-width:160px;color:color-mix(in srgb, var(--badge-color) 55%, black 45%);background:color-mix(in srgb, var(--badge-color) 16%, transparent);overflow:hidden}:root[data-theme=dark] .badge-role{color:color-mix(in srgb, var(--badge-color) 60%, white 40%);background:color-mix(in srgb, var(--badge-color) 28%, transparent)}.badge-priority-low{color:var(--priority-low)}.badge-priority-medium{color:var(--priority-medium)}.badge-priority-high{color:var(--priority-high)}.badge-priority-urgent{color:var(--priority-urgent)}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.tag-chip{background:var(--surface-alt);color:var(--ink-soft);border-radius:999px;padding:.15rem .5rem;font-size:.74rem}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;gap:.5rem;padding:.85rem .95rem;display:flex;position:relative}.task-card:hover{border-color:var(--accent)}.task-card-notes-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:320px;max-width:calc(100vw - 3rem);max-height:280px;box-shadow:var(--shadow-md);z-index:40;cursor:default;padding:.7rem .85rem;display:none;position:absolute;top:calc(100% + .4rem);left:50%;overflow-y:auto;transform:translate(-50%)}.task-card:hover .task-card-notes-tooltip{display:block}.task-card.dragging{opacity:.5}.task-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.task-card-title{font-size:.92rem;font-weight:600;line-height:1.35}.task-card-meta-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.task-card-due{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.76rem}.task-card-due.overdue{color:var(--danger);font-weight:700}.task-card-link{width:22px;height:22px;color:var(--muted);background:var(--surface-alt);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.task-card-link:hover{color:var(--accent-strong);background:var(--accent-soft)}.task-card-link svg{width:12px;height:12px}.tooltip-link{color:var(--accent-strong);word-break:break-all;margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:block}.kt-lock-wrap{flex-shrink:0;position:relative}.kt-lock{background:var(--warn-soft);color:var(--warn);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-family:inherit;font-size:.68rem;font-weight:700;display:inline-flex}.kt-lock svg{width:11px;height:11px}.kt-lock-popover{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:260px;max-width:calc(100vw - 3rem);box-shadow:var(--shadow-md);z-index:30;cursor:default;padding:.7rem .8rem;position:absolute;top:calc(100% + .4rem);right:0}.kt-lock-popover-title{color:var(--warn);text-transform:uppercase;letter-spacing:.02em;margin:0 0 .5rem;font-size:.7rem;font-weight:700}.dep-row{align-items:center;gap:.45rem;padding:.25rem 0;font-size:.8rem;display:flex}.dep-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.dep-dot.todo{background:var(--muted)}.dep-dot.in_progress{background:var(--accent)}.dep-dot.done{background:var(--success)}.dep-row-status{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:.7rem}.reschedule-menu{margin-left:auto;position:relative}.reschedule-dropdown{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);flex-direction:column;gap:.15rem;min-width:120px;margin-top:.25rem;padding:.35rem;display:flex;position:absolute;top:100%;right:0}.reschedule-dropdown button{color:var(--ink);border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:none;padding:.4rem .5rem;font-family:inherit;font-size:.82rem}.reschedule-dropdown button:hover{background:var(--surface-alt)}.task-card-tags{flex-wrap:wrap;gap:.3rem;display:flex}.task-card-footer{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.1rem;display:flex}.subtask-progress{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.75rem}.timer-toggle-btn{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.timer-toggle-btn.running{background:var(--danger);border-color:var(--danger);color:var(--danger-contrast)}.timer-toggle-icon{font-size:.7rem;line-height:1;display:inline-flex}.timer-toggle-btn.running .timer-toggle-icon{animation:1.4s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.kanban-toolbar{justify-content:flex-end;margin-bottom:.6rem;display:flex}.kanban-board{grid-template-columns:repeat(3,minmax(260px,1fr));align-items:start;gap:1rem;display:grid}.kanban-column{background:var(--surface-alt);border-radius:var(--radius-lg);flex-direction:column;gap:.6rem;min-height:200px;padding:.8rem;display:flex}.kanban-column-header{justify-content:space-between;align-items:center;padding:.2rem .3rem .4rem;font-size:.85rem;font-weight:700;display:flex}.kanban-count{color:var(--muted);background:var(--surface);border-radius:999px;padding:.05rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.kanban-cards{flex-direction:column;gap:.55rem;min-height:60px;display:flex}.kanban-column.drop-over{outline:2px dashed var(--accent);outline-offset:-4px}.list-toolbar{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.task-list-grouped{flex-direction:column;display:flex}.task-role-header{align-items:center;gap:.5rem;padding:.9rem .3rem .4rem;display:flex}.task-role-section:first-child .task-role-header{padding-top:.2rem}.task-role-header .swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px}.task-role-header-label{font-size:.82rem;font-weight:700}.task-role-header-count{color:var(--muted);font-size:.75rem}.task-role-header-line{background:var(--border);flex:1;height:1px}.task-row-list{flex-direction:column;display:flex}.today-view{max-width:640px}.today-section{margin-bottom:1.5rem}.today-section:last-child{margin-bottom:0}.today-section-head{align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.today-section-head h3{text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.85rem;font-weight:700}.today-section-head .count{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.75rem}.today-section-head.overdue h3{color:var(--danger)}.today-section-head.today h3{color:var(--accent-strong)}.today-section-head.progress h3{color:var(--ink-soft)}.today-row{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;align-items:center;gap:.6rem;margin-bottom:.4rem;padding:.6rem .7rem;display:flex}.today-row:last-child{margin-bottom:0}.today-row:hover{border-color:var(--accent)}.today-row.overdue{border-left:3px solid var(--danger)}.today-row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.88rem;font-weight:600;overflow:hidden}.today-row-due{color:var(--muted);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.76rem}.today-row.overdue .today-row-due{color:var(--danger);font-weight:700}.task-row-list .task-row:first-child{border-top:none}.task-row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;font-weight:500;overflow:hidden}.task-row-priority{flex-shrink:0;width:56px;font-size:.75rem}.task-row-due{width:84px;color:var(--muted);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.75rem}.task-row-due.overdue{color:var(--danger);font-weight:700}.task-row-time{text-align:right;width:52px;color:var(--muted);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.75rem}.timer-toggle-btn.compact{flex-shrink:0;justify-content:center;width:26px;height:26px;padding:0}.task-row-notes-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:320px;max-width:calc(100vw - 3rem);max-height:280px;box-shadow:var(--shadow-md);z-index:40;cursor:default;padding:.7rem .85rem;display:none;position:absolute;top:calc(100% + .3rem);right:.3rem;overflow-y:auto}.task-row:hover .task-row-notes-tooltip{display:block}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.calendar-scroll{overflow:auto hidden}.calendar-cols{grid-template-columns:56px repeat(7,minmax(150px,1fr));min-width:800px;display:grid}.calendar-day-header{color:var(--ink-soft);text-transform:capitalize;border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;padding:.3rem .4rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:600;display:flex}.calendar-day-header.today{color:var(--accent-strong);border-bottom-color:var(--accent)}.calendar-day-count{background:var(--surface-alt);color:var(--muted);border-radius:999px;padding:.05rem .4rem;font-size:.68rem}.calendar-due-row{min-height:4px}.calendar-due-strip{flex-direction:column;gap:.2rem;padding:.3rem .3rem .5rem;display:flex}.calendar-due-chip{border:1px solid;border-color:var(--due-color);color:var(--due-color);background:var(--surface);border-radius:var(--radius-sm);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:.15rem .45rem;font-size:.72rem;overflow:hidden}:root[data-theme=dark] .calendar-due-chip{color:color-mix(in srgb, var(--due-color) 65%, white 35%);border-color:color-mix(in srgb, var(--due-color) 65%, white 35%)}.calendar-gutter{position:relative}.calendar-hour-label{color:var(--muted);text-align:right;padding-right:.4rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;transform:translateY(-.6em)}.calendar-track{border-left:1px solid var(--border);cursor:crosshair;touch-action:none;position:relative}.calendar-track.today{background:color-mix(in srgb, var(--accent) 4%, transparent)}.calendar-drag-ghost{background:color-mix(in srgb, var(--accent) 18%, transparent);border:1px dashed var(--accent);pointer-events:none;z-index:3;border-radius:4px;position:absolute;left:2px;right:2px}.calendar-hour-line{border-top:1px solid var(--border);position:absolute;left:0;right:0}.calendar-now-line{border-top:2px solid var(--danger);z-index:2;position:absolute;left:0;right:0}.calendar-now-line:before{content:"";background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-4px}.calendar-block{border-left:3px solid var(--accent);touch-action:none;cursor:grab;border-radius:4px;flex-direction:column;justify-content:center;padding:.15rem .4rem;font-size:.72rem;line-height:1.25;display:flex;position:absolute;left:2px;right:2px;overflow:hidden}.calendar-block:hover{outline:1px solid var(--ink-soft)}.calendar-block-delete{background:var(--surface);width:15px;height:15px;color:var(--ink-soft);cursor:pointer;opacity:0;border:none;border-radius:3px;padding:0;font-size:.6rem;line-height:1;transition:opacity .1s;position:absolute;top:1px;right:1px}.calendar-block:hover .calendar-block-delete{opacity:1}.calendar-block-delete:hover{background:var(--danger);color:var(--danger-contrast)}.calendar-block-handle{cursor:ns-resize;height:6px;position:absolute;left:0;right:0}.calendar-block-handle.top{top:0}.calendar-block-handle.bottom{bottom:0}.calendar-block.dragging{opacity:.85;z-index:4;box-shadow:var(--shadow-md);cursor:grabbing}.calendar-block.compact{padding:.05rem .4rem;font-size:.68rem}.calendar-block.running{outline:2px solid var(--danger);outline-offset:1px}.calendar-block-time{color:var(--ink-soft);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:.65rem}.calendar-block-title{white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-weight:600;overflow:hidden}.timer-bar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);z-index:20;align-items:center;gap:.8rem;max-width:calc(100vw - 2.4rem);padding:.7rem 1rem;display:flex;position:fixed;bottom:1.2rem;left:auto;right:1.2rem}.timer-bar-info{flex-direction:column;min-width:0;display:flex}.timer-bar-task{white-space:nowrap;text-overflow:ellipsis;max-width:240px;font-size:.85rem;font-weight:600;overflow:hidden}.timer-bar-elapsed{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.78rem}.live-dot{background:var(--danger);border-radius:50%;width:10px;min-width:10px;height:10px;animation:1.4s infinite pulse}.live-dot.pending{background:var(--warn)}.pending-chip{color:var(--warn);background:var(--warn-soft);text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;gap:.3rem;width:fit-content;margin-top:.2rem;padding:.15rem .5rem;font-size:.68rem;font-weight:700;display:inline-flex}.offline-banner{background:var(--warn-soft);color:var(--warn);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;display:flex}.offline-banner .pulse{background:var(--warn);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.6s ease-in-out infinite pulse}.offline-banner .offline-count{margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:700}.kanban-pending-tile{background:var(--surface);border:1px dashed var(--warn);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-direction:column;gap:.4rem;padding:.75rem .85rem;display:flex}.sync-modal-item{border-bottom:1px solid var(--border);padding:.8rem 0}.sync-modal-item:last-child{border-bottom:none}.sync-modal-item-title{margin:0 0 .35rem;font-size:.85rem;font-weight:600}.sync-modal-item-detail{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);margin:0 0 .55rem;padding:.4rem .55rem;font-size:.78rem;line-height:1.4}.sync-modal-item-actions{gap:.5rem;display:flex}.modal-overlay{z-index:50;background:#0a0e1280;justify-content:center;align-items:flex-start;padding:4vh 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:640px;box-shadow:var(--shadow-md);flex-direction:column;max-height:92vh;display:flex}.modal-large{max-width:820px;height:88vh}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.1rem 1.3rem;display:flex}.modal-header h2{margin:0;font-size:1.1rem}.modal-body{flex-direction:column;gap:1rem;padding:1.2rem 1.3rem;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:space-between;gap:.6rem;padding:1rem 1.3rem;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;display:grid}.manual-time-toggle{gap:.5rem;margin-bottom:.6rem;display:flex}.manual-time-toggle-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.4rem;font-size:.78rem;display:flex}.manual-time-toggle-btn span{font-variant-numeric:tabular-nums;color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:.95rem;font-weight:700}.manual-time-toggle-btn.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.manual-time-toggle-btn.active span{color:var(--accent)}.form-field{flex-direction:column;gap:.35rem;display:flex}.form-field label{color:var(--ink-soft);font-size:.78rem;font-weight:600}.field-label-row{align-items:center;gap:.4rem;display:flex}.field-label-row label{color:var(--ink-soft);font-size:.78rem;font-weight:600}.help-tip-wrap{display:inline-flex;position:relative}.help-tip-btn{border:1px solid var(--border);background:var(--surface-alt);width:15px;height:15px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.62rem;font-weight:700;line-height:1;display:flex}.help-tip-btn:hover{border-color:var(--accent);color:var(--accent-strong)}.help-tip-popover{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:260px;max-width:calc(100vw - 3rem);box-shadow:var(--shadow-md);z-index:40;color:var(--ink-soft);cursor:default;padding:.7rem .8rem;font-size:.8rem;line-height:1.5;position:absolute;top:calc(100% + .4rem);left:0}.help-tip-popover a{color:var(--accent-strong);margin-top:.4rem;font-size:.76rem;font-weight:600;text-decoration:none;display:inline-block}.help-tip-popover a:hover{text-decoration:underline}.form-field input[type=text],.form-field input[type=datetime-local],.form-field input[type=time],.form-field input[type=date],.form-field input[type=number],.form-field input[type=url],.form-field textarea,.form-field select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--ink);padding:.5rem .6rem}.url-field-row{align-items:center;gap:.45rem;display:flex}.url-field-row input[type=url]{flex:1;min-width:0}.url-field-icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}.url-field-open{border-radius:var(--radius-sm);border:1px solid var(--border);width:28px;height:28px;color:var(--ink-soft);flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;text-decoration:none;display:flex}.url-field-open:hover{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent)}.form-field textarea{resize:vertical;min-height:90px;font-family:IBM Plex Mono,monospace;font-size:.85rem}.form-warning{background:var(--warn-soft);color:var(--warn);border-radius:var(--radius-sm);margin:-.4rem 0 1rem;padding:.5rem .7rem;font-size:.82rem}.checkbox-row{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.subtask-editor{flex-direction:column;gap:.4rem;display:flex}.subtask-item{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.subtask-item input[type=text]{background:0 0;border:none;border-bottom:1px solid #0000;flex:1;min-width:0;padding:.15rem 0}.subtask-item input[type=text]:focus{border-bottom-color:var(--border)}.subtask-item.done .subtask-title{color:var(--muted);text-decoration:line-through}.note-list{flex-direction:column;gap:.35rem;display:flex}.note-item{align-items:flex-start;gap:.5rem;font-size:.85rem;display:flex}.note-date{color:var(--muted);white-space:nowrap;padding-top:.15rem;font-weight:600}.note-text{white-space:pre-wrap;flex:1;padding-top:.15rem}.note-edit-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:inherit;resize:vertical;flex:1;padding:.3rem .5rem;font-family:inherit;font-size:.85rem}.note-edit-input:focus{border-color:var(--accent)}.dep-chip-list{flex-direction:column;gap:.4rem;margin-bottom:.6rem;display:flex}.dep-chip{border-radius:var(--radius-sm);background:var(--surface-alt);align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.82rem;display:flex}.dep-chip .dep-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dep-chip button{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:.9rem}.dep-chip button:hover{color:var(--danger)}.dep-status-pill{border-radius:999px;flex-shrink:0;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.dep-status-pill.todo{background:var(--surface-hover);color:var(--muted)}.dep-status-pill.in_progress{color:color-mix(in srgb, var(--accent) 55%, black 45%);background:color-mix(in srgb, var(--accent) 16%, transparent)}:root[data-theme=dark] .dep-status-pill.in_progress{color:color-mix(in srgb, var(--accent) 60%, white 40%);background:color-mix(in srgb, var(--accent) 28%, transparent)}.dep-status-pill.done{color:color-mix(in srgb, var(--success) 55%, black 45%);background:color-mix(in srgb, var(--success) 16%, transparent)}:root[data-theme=dark] .dep-status-pill.done{color:color-mix(in srgb, var(--success) 60%, white 40%);background:color-mix(in srgb, var(--success) 28%, transparent)}.role-picker{flex-wrap:wrap;gap:.5rem;display:flex}.role-picker-btn{border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex}.role-picker-btn:hover{background:var(--surface-alt)}.role-picker-btn.active{border-color:var(--role-color,var(--accent));background:color-mix(in srgb, var(--role-color,var(--accent)) 16%, transparent);color:var(--ink)}.role-picker-btn .swatch{background:var(--role-color);border-radius:50%;flex-shrink:0;width:9px;height:9px}.mtg-title-input{color:var(--ink);background:0 0;border:none;width:100%;padding:.1rem 0;font-size:1.3rem;font-weight:700}.mtg-title-input:focus{border-bottom:1px solid var(--accent);outline:none}.mtg-header-row{flex-wrap:wrap;gap:.6rem;margin-top:.4rem;display:flex}.mtg-header-row select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--ink);padding:.5rem .6rem;font-size:.85rem}.mtg-section{margin-top:2rem}.mtg-section h3{margin:0 0 .7rem;font-size:1rem}.mtg-empty-hint{color:var(--muted);margin:0 0 .7rem;font-size:.83rem}.mtg-attendee-list{flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem;display:flex}.mtg-removable-chip{padding-right:.3rem}.mtg-removable-chip button{color:inherit;opacity:.65;cursor:pointer;background:0 0;border:none;padding:0 .1rem;font-size:.7rem}.mtg-removable-chip button:hover{opacity:1}.mtg-inline-add{flex-wrap:wrap;gap:.5rem;display:flex}.mtg-inline-add input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--ink);flex:1;min-width:160px;padding:.5rem .6rem;font-size:.85rem}.mtg-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:.5rem;padding:.6rem .7rem}.mtg-card-head{align-items:center;gap:.5rem;display:flex}.mtg-card-title-input{color:var(--ink);background:0 0;border:none;flex:1;padding:.1rem 0;font-size:.9rem;font-weight:600}.mtg-card-title-input:focus{outline:none}.mtg-card-notes{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--ink);resize:vertical;margin-top:.4rem;padding:.45rem .55rem;font-family:inherit;font-size:.83rem}.mtg-decision-why-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--muted);margin-top:.4rem;padding:.4rem .55rem;font-size:.82rem}.mtg-decision-add{flex-wrap:wrap;gap:.5rem;display:flex}.mtg-decision-add input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--ink);flex:1;min-width:200px;padding:.5rem .6rem;font-size:.85rem}.mtg-task-group-label{white-space:nowrap;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}.mtg-task-group-label .swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mtg-task-list{margin-bottom:.8rem}.mtg-task-row{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.4rem}.mtg-task-add{flex-direction:column;gap:.6rem;display:flex}.mtg-task-add>input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--ink);padding:.5rem .6rem;font-size:.88rem}.meeting-print-overlay{z-index:2000;background:var(--bg);position:fixed;inset:0;overflow-y:auto}.meeting-print-toolbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:1;justify-content:flex-end;gap:.6rem;padding:.8rem 1.2rem;display:flex;position:sticky;top:0}.meeting-print-page{color:#1a1a1a;background:#fff;max-width:760px;margin:0 auto;padding:2.2rem 2.5rem 4rem}.mpp-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#b3197a;font-size:.75rem;font-weight:700}.mpp-title{margin:.2rem 0;font-size:1.9rem}.mpp-subtitle{color:#555;margin-bottom:1.8rem;font-size:.92rem}.mpp-section{page-break-inside:avoid;margin-bottom:1.8rem}.mpp-section h2{text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid #b3197a;margin-bottom:.7rem;padding-bottom:.3rem;font-size:1rem}.mpp-empty{color:#777;font-size:.88rem;font-style:italic}.mpp-attendee-list{margin:0;padding-left:1.2rem;font-size:.9rem;line-height:1.7}.mpp-muted{color:#777}.mpp-topic{margin-bottom:1rem}.mpp-topic h3{margin:0 0 .3rem;font-size:.95rem}.mpp-notes{color:#333;font-size:.88rem;line-height:1.6}.mpp-decision-list{margin:0;padding-left:1.2rem}.mpp-decision-list li{margin-bottom:.7rem;font-size:.9rem}.mpp-decision-text{font-weight:600}.mpp-decision-why{color:#555;margin-top:.15rem;font-size:.85rem}.mpp-task-group{page-break-inside:avoid;margin-bottom:1.2rem}.mpp-task-group h3{color:#b3197a;margin:0 0 .4rem;font-size:.9rem}.mpp-task-table{border-collapse:collapse;width:100%;font-size:.85rem}.mpp-task-table th,.mpp-task-table td{text-align:left;border-bottom:1px solid #ddd;padding:.4rem .5rem}.mpp-task-table th{text-transform:uppercase;letter-spacing:.03em;color:#777;font-size:.72rem}@media print{body *{visibility:hidden}.meeting-print-overlay,.meeting-print-overlay *{visibility:visible}.meeting-print-overlay{background:#fff;position:absolute;inset:0;overflow:visible}.no-print{display:none!important}}.chip-input-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);flex-wrap:wrap;align-items:center;gap:.35rem;padding:.4rem;display:flex}.chip-input-row input{background:0 0;border:none;flex:1;min-width:90px;padding:.2rem}.chip-removable{background:var(--surface-alt);border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .5rem .15rem .6rem;font-size:.78rem;display:inline-flex}.chip-removable button{color:var(--muted);background:0 0;border:none;padding:0;font-size:.9rem;line-height:1}.tag-suggestions{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);flex-direction:column;gap:.05rem;min-width:160px;padding:.25rem;display:flex;position:absolute;top:calc(100% + .3rem);left:0}.tag-suggestion-item{text-align:left;border-radius:var(--radius-sm);background:0 0;border:none;padding:.35rem .5rem;font-size:.82rem}.tag-suggestion-item:hover{background:var(--surface-alt)}.datetime-picker{position:relative}.datetime-picker-field{align-items:center;gap:.3rem;display:flex}.datetime-picker-trigger{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;padding:.5rem .6rem;font-size:.88rem;overflow:hidden}.datetime-picker-trigger:hover{border-color:var(--accent)}.datetime-picker-clear{color:var(--muted);background:0 0;border:none;flex-shrink:0;padding:.3rem;font-size:.85rem}.datetime-picker-clear:hover{color:var(--danger)}.datetime-picker-popover{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:260px;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-md);padding:.7rem;position:absolute;top:calc(100% + .35rem);right:0}.datetime-picker-nav{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:flex}.datetime-picker-nav button{color:var(--ink-soft);border-radius:var(--radius-sm);background:0 0;border:none;padding:.15rem .5rem;font-size:1.1rem;line-height:1}.datetime-picker-nav button:hover{background:var(--surface-alt)}.datetime-picker-weekdays{text-align:center;color:var(--muted);grid-template-columns:repeat(7,1fr);margin-bottom:.2rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;display:grid}.datetime-picker-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.datetime-picker-day{border-radius:var(--radius-sm);color:var(--ink);background:0 0;border:none;padding:.35rem 0;font-size:.8rem}.datetime-picker-day:hover{background:var(--surface-alt)}.datetime-picker-day.outside{color:var(--muted);opacity:.5}.datetime-picker-day.today{color:var(--accent-strong);font-weight:700}.datetime-picker-day.selected{background:var(--accent);color:var(--accent-contrast);font-weight:600}.datetime-picker-time-row{border-top:1px solid var(--border);justify-content:center;margin-top:.6rem;padding-top:.6rem;font-size:.82rem;display:flex}.clock-picker{flex-direction:column;align-items:center;gap:.5rem;padding:.3rem 0 .1rem;display:flex}.clock-picker-readout{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace;font-size:1.4rem;font-weight:700}.clock-picker-tabs{gap:.4rem;display:flex}.clock-picker-tab{border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:.25rem .85rem;font-size:.75rem;font-weight:600}.clock-picker-tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.clock-picker-dial{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;flex-shrink:0;width:220px;max-width:100%;display:block}.clock-picker-face{fill:var(--surface-alt)}.clock-picker-hand{stroke:var(--accent);stroke-width:2px}.clock-picker-hand-dot{fill:var(--accent)}.clock-picker-mark{fill:#0000}.clock-picker-mark.selected{fill:var(--accent)}.clock-picker-label{text-anchor:middle;fill:var(--ink);pointer-events:none;font-size:13px}.clock-picker-label.selected{fill:#fff;font-weight:700}.description-preview{color:var(--ink-soft);font-size:.88rem;line-height:1.55}.description-preview :is(h1,h2,h3){margin:.6rem 0 .2rem;font-size:1rem}.description-preview code{background:var(--surface-alt);border-radius:4px;padding:.1rem .3rem}.description-preview pre{background:var(--surface-alt);border-radius:var(--radius-sm);padding:.6rem;overflow-x:auto}.reports-grid{grid-template-columns:2fr 1fr;align-items:start;gap:1.2rem;display:grid}.report-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.2rem}.report-card h3{margin:0 0 .9rem;font-size:.95rem}.top-tags-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.top-tags-list li{flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.top-tags-list .tag-row{justify-content:space-between;align-items:center;display:flex}.top-tags-list .tag-minutes{color:var(--muted);font-family:IBM Plex Mono,monospace}.week-grid-wrap{overflow:auto hidden}.week-grid{border-collapse:collapse;width:100%;font-size:.8rem}.week-grid th,.week-grid td{text-align:center;white-space:nowrap;padding:.45rem .6rem}.week-grid th{color:var(--muted);text-transform:capitalize;font-size:.72rem;font-weight:600}.week-grid th:first-child,.week-grid td:first-child{text-align:left}.week-grid tbody tr{border-top:1px solid var(--border)}.week-grid tfoot tr{border-top:1px solid var(--border);font-weight:600}.week-grid td:not(:first-child){font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace}.week-grid td.muted-cell{color:var(--muted)}.week-grid th.total-col,.week-grid td.total-col{font-weight:600}.week-grid th.today,.week-grid td.today{background:color-mix(in srgb, var(--accent) 6%, transparent)}.week-grid-task{align-items:center;gap:.4rem;display:flex}.week-grid-task .swatch{border-radius:50%;flex-shrink:0;width:7px;height:7px}.admin-role-list{flex-direction:column;gap:.5rem;margin-bottom:.9rem;display:flex}.admin-role-row{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.4rem;display:flex}.admin-role-row.dragging{opacity:.5}.drag-handle{color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:none;padding:.2rem .3rem;font-size:1rem;line-height:1}.drag-handle:active{cursor:grabbing}.admin-role-row-new{border-style:dashed}.admin-color-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);flex-shrink:0;width:34px;height:34px;padding:2px}.admin-label-input{border-radius:var(--radius-sm);background:0 0;border:none;flex:1;min-width:0;padding:.4rem .3rem}.admin-label-input:focus{background:var(--surface)}.admin-select{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);flex:none;padding:.35rem .4rem;font-size:.78rem}.login-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;max-width:360px;box-shadow:var(--shadow-md);flex-direction:column;gap:1.2rem;padding:2.4rem 2.2rem;display:flex}.login-logo{font-size:1.4rem;font-weight:700}.google-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);justify-content:center;align-items:center;gap:.6rem;padding:.65rem 1rem;font-weight:600;display:inline-flex}.google-btn:hover{background:var(--surface-hover)}.empty-state{color:var(--muted);text-align:center;padding:2rem 1rem;font-size:.88rem}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.reports-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.section-title h1{margin:0;font-size:1.3rem}.filter-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);padding:.4rem .6rem}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar-nav-section{display:none}.role-filter{flex-flow:wrap}.sidebar-footer{margin-top:0}.kanban-board,.reports-grid{grid-template-columns:1fr}.timer-bar{left:1rem;right:1rem}.timer-bar-task{max-width:45vw}.topbar{flex-wrap:nowrap}.mobile-nav-strip{display:flex}.topbar-actions{flex-shrink:0}}.quick-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;max-width:280px;min-height:100vh;margin:0 auto;padding:1.5rem;display:flex}.quick-logo{color:var(--accent-strong);align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:flex}.quick-logo .dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.quick-today{flex-direction:column;gap:.15rem;display:flex}.quick-today-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-family:IBM Plex Mono,monospace;font-size:.72rem}.quick-today-value{font-size:1.4rem;font-weight:600}.quick-task-input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);text-align:center;width:100%;padding:.7rem .9rem;font-size:.9rem}.quick-task-input:focus{border-color:var(--accent)}.quick-running-card{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:var(--radius-md);text-align:left;flex-direction:column;gap:.2rem;width:100%;padding:.6rem .8rem;display:flex}.quick-running-time{color:var(--accent-strong);font-size:.72rem}.quick-running-title{font-size:.92rem;font-weight:600}.quick-play-btn{background:var(--accent);width:68px;height:68px;color:var(--accent-contrast);box-shadow:var(--shadow-md);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.quick-play-btn:hover{background:var(--accent-strong)}.quick-play-btn:disabled{opacity:.5}.quick-play-btn.stop{background:var(--danger);font-size:1.3rem}.quick-hint{color:var(--muted);margin:-.4rem 0 0;font-size:.78rem}.quick-offline-blocked{text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:1.6rem 1rem;display:flex}.quick-offline-blocked svg{width:32px;height:32px;color:var(--warn)}.quick-offline-blocked p{color:var(--ink-soft);margin:0;font-size:.85rem;line-height:1.5}.quick-full-link{color:var(--muted);margin-top:.6rem;font-size:.76rem}.quick-task-field{width:100%;position:relative}.quick-task-suggestions{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);text-align:left;flex-direction:column;gap:.05rem;padding:.25rem;display:flex;position:absolute;top:calc(100% + .3rem);left:0;right:0}.quick-task-suggestion-item{border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;align-items:center;gap:.5rem;padding:.4rem .55rem;font-size:.82rem;display:flex;overflow:hidden}.quick-task-suggestion-item:hover{background:var(--surface-alt)}.quick-note-field{align-items:flex-end;gap:.4rem;width:100%;display:flex}.quick-note-input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);resize:vertical;flex:1;min-width:0;padding:.5rem .7rem;font-family:inherit;font-size:.82rem}.quick-note-input:focus{border-color:var(--accent)}.quick-note-add-btn{background:var(--accent);width:32px;height:32px;color:var(--accent-contrast);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:flex}.quick-note-add-btn:disabled{opacity:.5}.team-mode-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.team-mode-toggle button{background:var(--surface);color:var(--muted);border:none;padding:.4rem .75rem;font-size:.82rem;font-weight:600}.team-mode-toggle button.active{background:var(--accent);color:var(--accent-contrast)}.team-nav{align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.team-nav-label{text-transform:capitalize;text-align:center;min-width:10ch;font-weight:600}.team-grid-wrap{overflow:auto hidden}.team-grid-wrap.stacked>div+div{margin-top:1.5rem}.team-month-heading{color:var(--ink);margin:0 0 .4rem;font-size:.9rem;font-weight:600}.team-month-shade-a{--month-bg:var(--surface);background:var(--month-bg);border-radius:var(--radius-md);margin:-.6rem;padding:.6rem}.team-month-shade-b{--month-bg:var(--surface-alt);background:var(--month-bg);border-radius:var(--radius-md);margin:-.6rem;padding:.6rem}.team-balance-table{flex-direction:column;gap:.2rem;display:flex}.team-balance-row{border-radius:var(--radius-sm);grid-template-columns:140px repeat(3,1fr);align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;display:grid}.team-balance-head{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.team-balance-row:not(.team-balance-head):hover{background:var(--surface-alt)}.team-balance-member{align-items:center;gap:.4rem;font-weight:600;display:flex}.team-balance-member .swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px}.team-grid{border-collapse:collapse;width:100%}.team-grid th,.team-grid td{border:1px solid var(--border);text-align:center;padding:0}.team-grid tbody th,.team-grid tbody td{border-bottom-width:2px;border-bottom-color:color-mix(in srgb, var(--border) 25%, var(--ink) 75%)}.team-grid-corner{z-index:2;background:var(--month-bg,var(--surface));width:110px;min-width:110px;max-width:110px;position:sticky;left:0;border:none!important}.team-grid thead th{color:var(--muted);white-space:nowrap;padding:.3rem .2rem;font-size:.7rem;font-weight:500}.team-grid thead th .team-day-weekday{text-transform:uppercase;display:block}.team-grid thead th .team-day-num{color:var(--ink);font-size:.82rem;font-weight:600;display:block}.team-grid thead th.today{background:var(--surface-alt);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.team-grid thead th.weekend{opacity:.5}.team-row-label{z-index:1;background:var(--month-bg,var(--surface));box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;width:110px;min-width:110px;max-width:110px;height:40px;font-size:.82rem;font-weight:600;position:sticky;left:0;overflow:hidden;text-align:left!important;padding:.4rem .6rem!important}.team-row-label-inner{align-items:center;gap:.4rem;display:flex}.team-row-label-oncall{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:500}.team-row-label .swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px}.team-cell{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;min-width:60px;height:40px}.team-grid-wrap.compact .team-cell{min-width:44px}.team-cell:hover{background:var(--surface-alt)}.team-cell.today{background:color-mix(in srgb, var(--accent) 6%, transparent)}.team-cell.weekend{background:var(--surface-alt);opacity:.55}.team-cell.selected{background:color-mix(in srgb, var(--accent) 22%, transparent);outline:2px solid var(--accent);outline-offset:-2px}.team-chip{width:100%;height:100%;color:color-mix(in srgb, var(--cell-color) 55%, black 45%);background:color-mix(in srgb, var(--cell-color) 20%, transparent);white-space:nowrap;text-overflow:ellipsis;padding:0 .3rem;font-size:.72rem;font-weight:600;line-height:40px;display:inline-block;overflow:hidden}:root[data-theme=dark] .team-chip{color:color-mix(in srgb, var(--cell-color) 60%, white 40%);background:color-mix(in srgb, var(--cell-color) 28%, transparent)}.quick-task-suggestion-item .swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px}.brand-mark{align-items:center;gap:.5rem;padding:0 .15rem;display:flex}.brand-icon{flex-shrink:0;width:24px;height:24px}.brand-name{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.nav-item svg{flex-shrink:0;width:16px;height:16px}.history-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.history-filters select,.history-filters input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--ink);padding:.45rem .6rem;font-size:.83rem}.history-filters input{flex:1;min-width:180px}.cal-toolbar{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.cal-nav{align-items:center;gap:.6rem;display:flex}.cal-month-label{text-align:center;min-width:160px;font-size:1.05rem;font-weight:700}.cal-weekdays{text-align:center;color:var(--muted);grid-template-columns:repeat(7,1fr);margin-bottom:.3rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(92px,auto);gap:4px;display:grid}.cal-cell{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:.25rem;min-width:0;padding:.35rem;display:flex}.cal-cell.outside{background:var(--surface-alt);opacity:.55}.cal-cell.today{border-color:var(--accent)}.cal-cell-daynum{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.75rem}.cal-cell.today .cal-cell-daynum{color:var(--accent-strong);font-weight:700}.cal-cell-items{flex-direction:column;gap:2px;min-width:0;display:flex}.cal-item{text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:none;border-radius:4px;width:100%;padding:.1rem .35rem;font-size:.7rem;overflow:hidden}.cal-item-event{background:color-mix(in srgb, var(--cal-item-color,var(--accent)) 20%, transparent);color:var(--ink);font-weight:600}.cal-item-task{background:var(--surface-alt);color:var(--ink-soft)}.cal-item-overflow{color:var(--muted);padding:0 .35rem;font-size:.68rem}@media (width<=860px){.cal-grid{grid-auto-rows:minmax(60px,auto)}.cal-item{font-size:.62rem}}.event-list{flex-direction:column;gap:.6rem;display:flex}.event-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;align-items:center;gap:.85rem;padding:.8rem .95rem;display:flex}.event-card:hover{border-color:var(--accent)}.event-card.pseudo{background:var(--surface-alt);border-style:dashed}.event-color-bar{border-radius:3px;flex-shrink:0;align-self:stretch;width:5px}.event-card-body{flex:1;min-width:0}.event-card-title{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.event-card-date{color:var(--muted);margin-top:.15rem;font-size:.78rem}.event-card-meta{flex-wrap:wrap;gap:.35rem;margin-top:.4rem;display:flex}.event-card-progress{color:var(--muted);text-align:right;flex-shrink:0;font-size:.76rem}.origin-hint{color:var(--muted);font-size:.72rem;font-weight:400}.pin-note{color:var(--muted);align-items:center;gap:.5rem;margin:0 0 .6rem;font-size:.76rem;display:flex}.filter-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.event-icon-pastille{background:color-mix(in srgb, var(--pastille-color,var(--muted)) 20%, transparent);border:1px solid color-mix(in srgb, var(--pastille-color,var(--muted)) 40%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.95rem;display:flex;overflow:hidden}.event-icon-pastille img{object-fit:cover;width:100%;height:100%}.event-icon-pastille.lg{width:34px;height:34px;font-size:1.1rem}.icon-preset-row{gap:.4rem;margin-top:.6rem;display:flex}.icon-preset-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.05rem;display:flex}.icon-preset-btn:hover{border-color:var(--accent)}.icon-preset-btn.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent)}.cat-chip{color:var(--cat-color);background:color-mix(in srgb, var(--cat-color) 16%, transparent);border-radius:999px;align-items:center;gap:.35rem;padding:.16rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.cat-chip .swatch{background:currentColor;border-radius:50%;width:7px;height:7px}.badge-upcoming{background:var(--accent-soft);color:var(--accent-strong)}.badge-past{background:var(--surface-hover);color:var(--muted)}.badge-done{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.badge-progress{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent-strong)}.badge-todo{background:var(--surface-hover);color:var(--muted)}.back-link{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;margin-bottom:.6rem;padding:0;font-size:.8rem;font-weight:600;display:inline-flex}.back-link:hover{color:var(--accent-strong)}.detail-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.detail-title-row{align-items:center;gap:.6rem;display:flex}.detail-date{color:var(--muted);margin-top:.2rem;font-size:.83rem}.detail-actions{flex-shrink:0;gap:.5rem;display:flex}.tabs{border-bottom:1px solid var(--border);gap:.3rem;margin-bottom:1rem;display:flex}.tab-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:1.2rem;padding:.6rem .15rem;font-size:.86rem;font-weight:600}.tab-btn.active{color:var(--ink);border-bottom-color:var(--accent)}.task-toolbar{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.task-group{margin-bottom:1.1rem}.task-group-head{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.task-group-head .line{background:var(--border);flex:1;height:1px}.task-row{border-top:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:.65rem;padding:.55rem .3rem;display:flex;position:relative}.task-group .task-row:first-child{border-top:none}.task-row:hover{background:var(--surface-alt)}.task-check{border:1.5px solid var(--border);width:18px;height:18px;color:var(--accent-contrast);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.15rem;font-size:.7rem;display:flex}.task-check.done{background:var(--success);border-color:var(--success)}.task-body{flex:1;min-width:0}.task-title{font-size:.9rem;font-weight:600}.task-title.done{color:var(--muted);font-weight:500;text-decoration:line-through}.task-meta-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.3rem;display:flex}.task-due{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.74rem}.assignee-chip{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.14rem .55rem;font-size:.74rem;font-weight:600;display:inline-flex}.assignee-chip .swatch{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.task-row-actions{flex-shrink:0;gap:.15rem;display:flex}.avatar{background:color-mix(in srgb, var(--accent) 20%, transparent);width:32px;height:32px;color:var(--accent-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.participant-grid{flex-direction:column;gap:.5rem;display:flex}.participant-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:.7rem;padding:.55rem .7rem;display:flex}.participant-name{font-size:.87rem;font-weight:600}.participant-email{color:var(--muted);font-size:.76rem}.participant-role{margin-left:auto}.settings-form{flex-direction:column;gap:.9rem;max-width:420px;display:flex}.due-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.due-row input[type=number]{flex-shrink:0;width:80px}.due-computed{color:var(--muted);font-size:.8rem}.md-editor{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.md-toolbar{background:var(--surface-alt);border-bottom:1px solid var(--border);align-items:center;gap:.2rem;padding:.35rem .45rem;display:flex}.md-tool-btn{width:26px;height:26px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:.78rem;display:flex}.md-tool-btn:hover{background:var(--surface-hover);color:var(--ink)}.md-tabs{gap:.15rem;margin-left:auto;display:flex}.md-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.3rem .6rem;font-size:.76rem;font-weight:600}.md-tab.active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-sm)}.md-source{background:var(--bg);width:100%;min-height:140px;color:var(--ink);resize:vertical;border:none;padding:.65rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.83rem;line-height:1.55;display:block}.md-preview{min-height:140px;color:var(--ink);background:var(--surface);padding:.65rem .9rem;font-size:.87rem;line-height:1.6}.md-preview h3{margin:0 0 .5rem;font-size:.95rem}.md-preview ul{margin:0 0 .5rem;padding-left:1.2rem}.md-preview p{margin:0 0 .5rem}.md-preview p:last-child,.md-preview ul:last-child{margin-bottom:0}.md-preview a{color:var(--accent-strong)}.md-preview-empty{color:var(--muted);font-style:italic}.timeline-legend{flex-wrap:wrap;gap:.8rem;margin-bottom:1.1rem;display:flex}.legend-item{color:var(--ink-soft);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.legend-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.month-group{margin-bottom:1.7rem}.month-group:last-child{margin-bottom:0}.month-heading{align-items:baseline;gap:.6rem;margin:0 0 .75rem;padding-left:1.9rem;display:flex}.month-heading .month-label{color:var(--ink);text-transform:capitalize;font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:600}.month-heading .month-count{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.7rem}.tl-spine{position:relative}.tl-spine:before{content:"";background:var(--border);width:1px;position:absolute;top:.3rem;bottom:.3rem;left:.42rem}.tl-entry{cursor:pointer;padding-bottom:1.1rem;padding-left:1.9rem;position:relative}.tl-entry:last-child{padding-bottom:0}.tl-entry:before{content:"";background:var(--surface);border:1.5px solid var(--entry-color,var(--muted));border-radius:50%;width:9px;height:9px;position:absolute;top:.32rem;left:.15rem}.tl-entry.milestone:before{background:var(--entry-color,var(--accent));border-color:var(--entry-color,var(--accent));width:11px;height:11px;box-shadow:var(--shadow-sm);top:.28rem;left:.05rem}.tl-entry-date{color:var(--muted);margin-bottom:.2rem;font-family:IBM Plex Mono,monospace;font-size:.7rem}.tl-entry-title{margin:0 0 .35rem;font-size:.9rem;font-weight:600}.tl-entry.milestone .tl-entry-title{font-weight:700}.tl-entry-meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.tl-tag{color:var(--entry-color);background:color-mix(in srgb, var(--entry-color) 14%, transparent);border-radius:4px;align-items:center;gap:.35rem;padding:.14rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:600;display:inline-flex}.tl-tag .swatch{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.admin-subtabs{gap:.4rem;margin-bottom:1rem;display:flex}.subtab-btn{border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:.4rem .8rem;font-size:.8rem;font-weight:600}.subtab-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.admin-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);padding:.4rem .5rem;font-size:.7rem;font-weight:700}.admin-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.55rem .5rem}.admin-table tr:last-child td{border-bottom:none}.lock-note{color:var(--muted);align-items:center;gap:.3rem;margin-left:.5rem;font-size:.7rem;display:inline-flex}.toggle{background:var(--surface-hover);border:1px solid var(--border);cursor:pointer;border-radius:999px;flex-shrink:0;width:34px;height:19px;display:inline-block;position:relative}.toggle.on{background:var(--accent);border-color:var(--accent)}.toggle:after{content:"";background:var(--surface);border-radius:50%;width:15px;height:15px;transition:transform .12s;position:absolute;top:1px;left:1px}.toggle.on:after{background:var(--accent-contrast);transform:translate(15px)}.toggle.locked{opacity:.55;cursor:not-allowed}.template-grid{flex-direction:column;gap:1rem;display:flex}.template-cat-block{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.template-cat-head{background:var(--surface-alt);justify-content:space-between;align-items:center;padding:.55rem .8rem;display:flex}.template-item{border-top:1px solid var(--border);align-items:center;gap:.6rem;padding:.5rem .8rem;font-size:.85rem;display:flex}.template-item-title{flex:1}.from-task-hint{color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius-sm);align-items:center;gap:.5rem;margin-top:.9rem;padding:.6rem .7rem;font-size:.78rem;display:flex}
