:root{--bg:#0b0c10;--bg-side:#07080a;--surface:#14161c;--surface-2:#1c1f28;--border:#ffffff14;--text:#f4f5f7;--muted:#8b91a1;--accent:#8ba4ff;--danger:#ff6b7d;--chip:var(--accent);--chip-dot:var(--accent);--kb:0px;--sans:"SF Pro Display", "Segoe UI", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg-side);min-height:100dvh;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}input{appearance:none;background:0 0;border:0}input:focus,button:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, white);outline-offset:2px}.app{background:var(--bg);flex-direction:column;gap:12px;min-height:100dvh;margin:0 auto;padding:8px 16px 16px;display:flex;position:relative}.workspace{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.sidebar{flex-shrink:0}.main-pane{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}@media (width<=767px){.app{max-width:480px}}@media (width>=768px){.app{gap:16px;max-width:1320px;padding:24px 32px 32px}.main-pane{gap:16px}.top{padding:0}.top h1,.panel-head h1{font-size:30px}.top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center}.composer-meta{flex-direction:row}.composer-main{flex-direction:row;align-items:stretch}.panel{max-width:640px}.empty{padding:32px 16px 16px}.sheet-root{align-items:center;padding:24px}.sheet{border-bottom:1px solid var(--border);border-radius:20px;width:min(520px,100%);padding:16px 20px 20px}.sheet-handle{display:none}.client-list,.add-client{max-width:640px}}.top{justify-content:space-between;align-items:flex-end;gap:12px;padding:12px 0 8px;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px}.top h1,.panel-head h1{letter-spacing:-.04em;margin:2px 0 0;font-size:28px;font-weight:650}.top-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.sync-dot{color:var(--muted);white-space:nowrap;font-size:11px}.sync-dot:before{content:"";vertical-align:middle;background:var(--muted);border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.sync-loading:before,.sync-syncing:before{background:#f5c563;animation:1s ease-in-out infinite sync-pulse}.sync-synced:before{background:#34d399}.sync-offline:before,.sync-error:before{background:#fb7185}@keyframes sync-pulse{50%{opacity:.35}}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filters-quick{scrollbar-width:none;flex:1;gap:8px;min-width:0;margin:0;padding:0;display:flex;overflow-x:auto}.filters-quick::-webkit-scrollbar{display:none}.filter-client{flex-shrink:0;align-items:center;gap:8px;display:flex}.filter-search{flex:1;align-items:center;gap:8px;min-width:160px;max-width:280px;display:flex}.filter-search span,.filter-client span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.filter-search-input{border:1px solid var(--border);background:var(--surface-2);min-width:0;min-height:36px;color:var(--text);border-radius:10px;flex:1;padding:0 12px;font-size:14px}.filter-client-select,.due-select,.due-date-input{border:1px solid var(--border);background:var(--surface-2);min-height:36px;color:var(--text);border-radius:10px;padding:0 10px;font-size:13px}.filter-client-select{min-width:160px;max-width:220px}.rename-link{flex-shrink:0}.filters{padding:8px 0 12px;scrollbar-width:none;gap:8px;margin:0 -16px;padding-inline:16px;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.chip-row{scrollbar-width:none;gap:8px;margin-top:10px;display:flex;overflow-x:auto}.chip-row.wrap{flex-wrap:wrap;overflow:visible}.chip-row::-webkit-scrollbar{display:none}.chip{--chip:var(--accent);--chip-dot:var(--accent);border:1px solid var(--border);background:var(--surface-2);height:36px;color:var(--text);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.chip.on{background:color-mix(in srgb, var(--chip) 22%, var(--surface-2));border-color:color-mix(in srgb, var(--chip) 55%, transparent);color:#fff}.chip.danger-chip.on{--chip:var(--danger)}.chip .dot,.task-meta .dot,.client-row .dot{background:var(--chip-dot);border-radius:50%;flex-shrink:0;width:8px;height:8px}.chip .count{background:#ffffff1f;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 5px;font-size:11px;display:inline-flex}.date-chip{position:relative}.date-chip input{opacity:0;cursor:pointer;position:absolute;inset:0}.list,.view-shell{padding-bottom:8px}.table-sections{flex-direction:column;gap:16px;display:flex}.table-section{border:1px solid var(--border);background:var(--surface);border-radius:16px;overflow:hidden}.table-section-head{background:var(--surface-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.table-section-head .group-title{margin:0;font-size:13px}.table-section-head .group-count{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:12px}.section-overdue .table-section-head{background:color-mix(in srgb, var(--danger) 10%, var(--surface-2))}.section-overdue .table-section-head .group-title{color:var(--danger)}.section-today .table-section-head{background:color-mix(in srgb, var(--accent) 10%, var(--surface-2))}.section-done .table-section-head{background:color-mix(in srgb, #34d399 10%, var(--surface-2))}.table-section .table-wrap{border:0;border-radius:0;max-height:none;overflow-x:auto}.view-switcher{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:4px;margin:0;padding:3px;display:inline-flex}.view-switcher::-webkit-scrollbar{display:none}.view-tab{height:32px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:9px;flex-shrink:0;padding:0 12px;font-size:13px}.view-tab.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0003}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:16px;overflow-x:auto}.task-table{border-collapse:collapse;width:100%;min-width:640px}.task-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);padding:12px 14px;font-size:11px}.task-table tbody tr{background:var(--surface);transition:background .15s}.task-row{--row-accent:var(--accent);background:color-mix(in srgb, var(--row-accent) 7%, var(--surface));box-shadow:inset 3px 0 0 var(--row-accent)}.task-row.status-row-done{background:color-mix(in srgb, #34d399 6%, var(--surface));box-shadow:inset 3px 0 #34d399}.task-row.status-row-doing{background:color-mix(in srgb, #f5c563 8%, var(--surface));box-shadow:inset 3px 0 #f5c563}.task-row.status-row-overdue{background:color-mix(in srgb, var(--danger) 8%, var(--surface));box-shadow:inset 3px 0 0 var(--danger)}.task-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 14px}.task-table tr.is-done td{color:var(--muted)}.table-task{text-align:left;color:inherit;background:0 0;border:0;align-items:flex-start;gap:10px;max-width:100%;padding:0;display:inline-flex}.table-task-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.table-task-title{display:block}.table-task-notes{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:12px;display:block;overflow:hidden}.row-accent{background:var(--row-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-select{border:1px solid var(--border);background:var(--surface-2);min-width:108px;min-height:34px;color:var(--text);border-radius:10px;padding:0 10px;font-size:13px;font-weight:600}.status-select.status-open{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 14%, var(--surface-2));color:#dbe4ff}.status-select.status-doing{background:color-mix(in srgb, #f5c563 16%, var(--surface-2));color:#fde68a;border-color:#f5c5638c}.status-select.status-overdue{border-color:color-mix(in srgb, var(--danger) 50%, transparent);background:color-mix(in srgb, var(--danger) 14%, var(--surface-2));color:#ffc8cf}.status-select.status-done{background:color-mix(in srgb, #34d399 14%, var(--surface-2));color:#bbf7d0;border-color:#34d39980}.cell-due.is-overdue .due-date-input{border-color:color-mix(in srgb, var(--danger) 55%, transparent);background:color-mix(in srgb, var(--danger) 10%, var(--surface-2));color:#ffc8cf}.client-name,.client-select{font-weight:600}.task-table tr.is-done .table-task{text-decoration:line-through}.task-table tbody tr:last-child td{border-bottom:0}.status-pill,.client-pill{color:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.status-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.status-dot.overdue{background:var(--danger)}.status-dot.done{background:#34d399}.kanban-board{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start;gap:12px;display:grid}.kanban-col{background:var(--surface);border:1px solid var(--border);border-radius:16px;min-height:140px;padding:10px}.kanban-col.overdue-col .kanban-head h2{color:var(--danger)}.kanban-head{justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 4px;display:flex}.kanban-head h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px}.kanban-head span{color:var(--muted);font-size:12px}.kanban-col ul{margin:0;padding:0;list-style:none}.kanban-card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:4px;margin-bottom:8px;display:flex}.kanban-card.is-done .kanban-title{color:var(--muted);text-decoration:line-through}.kanban-check{background:0 0;border:0;place-items:center;width:40px;display:grid}.kanban-body{text-align:left;background:0 0;border:0;flex:1;min-width:0;padding:10px 10px 10px 0}.kanban-title{font-size:14px;line-height:1.3;display:block}.kanban-meta{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.kanban-hint{color:var(--muted);margin:0 0 10px;font-size:12px}.kanban-col.is-drop-target{outline:2px dashed color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:2px;background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.kanban-card.is-dragging{opacity:.45}.kanban-notes{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:12px;display:block;overflow:hidden}.calendar-toolbar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.calendar-toolbar h2{flex:1;margin:0;font-size:18px}.calendar-toolbar .ghost-btn{min-width:44px;padding:0}.calendar-grid{background:var(--border);border:1px solid var(--border);border-radius:16px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.calendar-weekday{background:var(--surface-2);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;padding:8px 6px;font-size:11px}.calendar-cell{background:var(--surface);min-height:88px;padding:6px}.calendar-cell.today{background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.calendar-cell.muted{opacity:.45}.calendar-day{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.calendar-cell ul{margin:0;padding:0;list-style:none}.calendar-task{background:var(--surface-2);text-align:left;white-space:nowrap;text-overflow:ellipsis;border:0;border-radius:6px;align-items:center;gap:4px;width:100%;margin-bottom:3px;padding:3px 6px;font-size:11px;display:flex;overflow:hidden}.calendar-task.is-done{opacity:.55;text-decoration:line-through}.calendar-more{color:var(--muted);padding:2px 4px;font-size:10px}.calendar-unscheduled{border:1px solid var(--border);background:var(--surface);border-radius:16px;margin-top:16px;padding:12px}.calendar-unscheduled h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px}.calendar-unscheduled ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.calendar-unscheduled .calendar-task{padding:8px 10px;font-size:13px}.calendar-client{color:var(--muted);margin-left:auto;font-size:12px}@media (width<=767px){.kanban-board{scrollbar-width:none;padding-bottom:4px;display:flex;overflow-x:auto}.kanban-board::-webkit-scrollbar{display:none}.kanban-col{flex-shrink:0;min-width:240px}.calendar-cell{min-height:56px}.calendar-task{font-size:10px}.calendar-cell li:not(:first-child):not(.calendar-more){display:none}}.list{padding-bottom:8px}.group{margin-bottom:18px}.group ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.group-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:600}.group-count{color:var(--muted);font-size:12px}.group-title.overdue{color:var(--danger)}.task{background:var(--surface);border:1px solid var(--border);border-radius:16px;align-items:stretch;gap:4px;min-height:56px;padding-right:4px;display:flex}.task.is-done .task-title{color:var(--muted);text-decoration:line-through}.task.is-done .check{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 30%, transparent)}.check{background:0 0;border:0;flex-shrink:0;place-items:center;width:48px;min-height:56px;display:grid}.check-mark{border:1.5px solid #ffffff47;border-radius:50%;width:22px;height:22px}.task.is-done .check-mark{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 4px var(--surface)}.task-body{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;gap:3px;min-width:0;padding:10px 14px 10px 0;display:flex}.task-title{text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.3;overflow:hidden}.task-meta{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.task-notes{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;display:block;overflow:hidden}.sep{opacity:.5}.overdue-text{color:var(--danger)}.empty{text-align:center;color:var(--muted);padding:64px 16px 40px}.empty p{color:var(--text);margin:0 0 6px;font-size:18px}.composer{z-index:auto;width:100%;padding:0;position:static}.composer-overlay{z-index:12;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom) + var(--kb));justify-content:flex-end;align-items:flex-end;display:flex;position:fixed;inset:0}.composer-overlay .backdrop{background:#0000008c;border:0;position:absolute;inset:0}.composer-widget{z-index:1;width:min(440px,100%);position:relative}.composer-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;box-shadow:0 16px 40px #00000059}.composer-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.composer-head .composer-label{margin:0}.quick-add-fab{right:max(16px, env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom) + var(--kb));z-index:8;border-radius:999px;min-height:48px;padding:0 18px;position:fixed;box-shadow:0 10px 28px #00000059}.view-shell,.list{padding-bottom:calc(88px + env(safe-area-inset-bottom) + var(--kb))}.cell-duration{width:110px}.duration-picker.compact .inline-select,.cell-duration .inline-select{width:100%;max-width:110px;color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;padding:4px 6px;font-size:13px}.cell-duration .inline-select:hover,.cell-duration .inline-select:focus{background:#10141b;border-color:#2a2f3a;outline:none}.duration-picker:not(.compact){gap:6px;display:grid}.duration-picker .field-label{color:#8b93a5;font-size:12px}.cell-actions{text-align:right;width:44px}.icon-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn.danger{color:var(--danger)}.icon-btn.danger:hover{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.row-delete{flex-shrink:0}.delete-permanent{justify-content:center;align-items:center;gap:8px;display:inline-flex}.composer-hint{color:var(--accent);margin:8px 2px 0;font-size:12px}.inline-client-rename{border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);background:var(--surface-2);border-radius:999px;min-width:140px;height:36px;padding:0 12px;font-size:14px}.client-picker.compact{min-width:0}.client-select{border:1px solid var(--border);background:var(--surface-2);width:100%;min-width:120px;max-width:200px;min-height:34px;color:var(--text);border-radius:10px;padding:0 10px;font-size:13px}.client-select:focus{outline:2px solid color-mix(in srgb, var(--accent) 70%, white);outline-offset:2px}.composer-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:12px;display:block}.composer-main{flex-direction:column;gap:10px;display:flex}.composer-meta{flex-direction:column;gap:10px;margin-top:12px;display:flex}.composer-meta .field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.composer-meta .field span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px}.due-picker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.due-picker.compact{min-width:0}.due-select{flex:1;min-width:120px}.due-date-input{min-width:130px}.cell-edit{min-width:140px}.client-picker{width:100%}.client-select{width:100%;min-width:0}.composer-row{gap:8px;display:flex}.composer-input,.sheet-input,.add-client input,.rename{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;width:100%;min-height:44px;padding:0 12px;font-size:16px}.add-btn,.ghost-btn{background:var(--accent);color:#0b0c10;border:0;border-radius:12px;flex-shrink:0;min-height:44px;padding:0 16px;font-weight:650}.add-btn:disabled{opacity:.35}.ghost-btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.text-btn{color:var(--accent);background:0 0;border:0;min-height:44px;padding:0 8px;font-size:14px}.text-btn.muted{color:var(--muted)}.text-btn.danger,.danger-btn{color:var(--danger)}.text-btn.on-text{color:var(--text)}.danger-btn{border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);background:color-mix(in srgb, var(--danger) 10%, transparent);border-radius:14px;width:100%;min-height:48px;margin-top:20px}.panel{min-height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.panel-head{align-items:center;gap:8px;padding:8px 0 16px;display:flex}.icon-btn{background:var(--surface-2);border:0;border-radius:12px;width:44px;height:44px;font-size:28px;line-height:1}.head-spacer{width:44px}.client-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.client-row{background:var(--surface);border:1px solid var(--border);border-radius:16px;align-items:center;gap:10px;min-height:56px;padding:8px 10px 8px 14px;display:flex}.client-row.locked{opacity:.85}.client-row strong,.client-row span{display:block}.client-row span{color:var(--muted);font-size:12px}.rename{flex:1;min-width:0}.confirm{gap:4px;display:flex}.add-client{gap:8px;margin-top:16px;display:flex}.hint{color:var(--muted);font-size:14px;line-height:1.45}.hint.tight{margin-top:10px}.hint.error{color:var(--danger);margin-top:8px}.built-in{pointer-events:none}.sheet-root{z-index:10;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.backdrop{background:#0000008c;border:0;position:absolute;inset:0}.sheet{background:var(--surface);border:1px solid var(--border);width:min(480px,100%);padding:8px 16px calc(20px + env(safe-area-inset-bottom) + var(--kb));border-bottom:0;border-radius:22px 22px 0 0;position:relative}.sheet-handle{background:#ffffff2e;border-radius:999px;width:36px;height:4px;margin:6px auto 10px}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head h2{margin:0;font-size:18px}.sheet-input{margin:12px 0 8px}.sheet-notes{resize:vertical;border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:72px;color:var(--text);font:inherit;border-radius:12px;margin:0 0 4px;padding:10px 12px;line-height:1.4}.sheet-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px;font-size:12px}.focus-pill{border:1px solid var(--line,#2a2f3a);color:#c7cddb;white-space:nowrap;cursor:default;background:#161a22;border-radius:999px;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 10px;font-size:12px;line-height:1.25;text-decoration:none;display:inline-flex}.focus-pill.offline{color:#8b93a5;cursor:pointer;border-style:dashed}.focus-pill.warn{color:#f5c563;cursor:pointer;border-color:#6b5a2a}.focus-pill.idle{color:#8b93a5}.focus-pill.live{color:#0f1218;cursor:default;background:#5eead4;border-color:#5eead4;font-weight:600}.focus-pill.live.break{background:#f5c563;border-color:#f5c563}.focus-pill.blocking-on{color:#5eead4;background:#10201c;border-color:#2a5a52}.focus-pill-sub{opacity:.75;text-overflow:ellipsis;max-width:220px;font-size:11px;font-weight:400;overflow:hidden}.focus-status{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.view-more,.header-more{position:relative}.view-more-menu{z-index:40;border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:2px;min-width:160px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.view-more-menu button{height:36px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:13px}.view-more-menu button:hover,.view-more-menu button.on{background:var(--surface-2)}.planner-confirm{color:var(--text);flex:220px;margin:0;font-size:13px}.focus-picker{gap:8px;margin-top:10px;display:grid}.focus-row{flex-wrap:wrap;gap:10px;display:flex}.focus-row .field{flex:150px}.focus-input{border:1px solid var(--line,#2a2f3a);width:100%;color:inherit;font:inherit;background:#10141b;border-radius:8px;padding:7px 9px}.focus-actions{flex-wrap:wrap;gap:12px;display:flex}.focus-slots{flex-wrap:wrap;gap:6px;display:flex}.slot-chip{border:1px solid var(--line,#2a2f3a);color:#c7cddb;cursor:pointer;background:#10141b;border-radius:999px;padding:4px 10px;font-size:12px}.slot-chip:hover{color:#5eead4;border-color:#5eead4}.text-btn.danger{color:#fb7185}.ai-suggest{background:#131a20;border:1px solid #234;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;display:flex}.ai-chips{flex-wrap:wrap;gap:6px;display:flex}.ai-chip{color:#9fb0c8;background:#1b2230;border-radius:999px;padding:3px 9px;font-size:12px}.ai-chip.strong{color:#e8edf6;font-weight:600}.timeline{gap:12px;display:grid}.timeline-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.timeline-nav{align-items:center;gap:8px;display:flex}.timeline-range{color:#8b93a5;font-size:13px}.timeline-modes{gap:4px;display:flex}.timeline-body{grid-template-columns:190px 1fr;align-items:start;gap:14px;display:grid}.timeline-tray h3{color:#8b93a5;margin:0 0 8px;font-size:13px;font-weight:600}.timeline-tray ul{gap:6px;max-height:60vh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.tray-item{text-align:left;border:1px solid var(--line,#2a2f3a);color:#c7cddb;width:100%;font:inherit;cursor:grab;background:#10141b;border-left:3px solid #7c9cff;border-radius:8px;padding:7px 9px;font-size:13px}.tray-hint{margin:0 0 10px;font-size:11px;line-height:1.35}.tray-item{text-align:left;border:1px solid var(--line,#2a2f3a);color:#c7cddb;width:100%;font:inherit;cursor:grab;background:#10141b;border-left:3px solid #7c9cff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:flex}.tray-item-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tray-count{color:#8b93a5;background:#1b2230;border-radius:999px;flex:none;padding:1px 7px;font-size:11px}.timeline-grid{border:1px solid var(--line,#2a2f3a);border-radius:12px;position:relative;overflow:hidden}.timeline-empty{z-index:2;pointer-events:none;color:#9aa3b4;background:#10141beb;border:1px dashed #2a2f3a;border-radius:10px;gap:4px;padding:12px 14px;font-size:13px;display:grid;position:absolute;top:48px;left:60px;right:12px}.timeline-empty strong{color:#e8edf6;font-size:14px}.timeline-heads{border-bottom:1px solid var(--line,#2a2f3a);background:#11151c;display:flex}.timeline-head{text-align:center;color:#8b93a5;flex:1;padding:6px 0;font-size:12px}.timeline-head strong{color:#c7cddb;font-size:15px;display:block}.timeline-head strong.is-today{color:#5eead4}.timeline-scroll{max-height:66vh;display:flex;overflow-y:auto}.timeline-gutter{flex:0 0 58px;width:58px}.timeline-heads .timeline-gutter{height:auto}.timeline-hour-label{color:#6d7585;text-align:right;padding-right:6px;font-size:11px;transform:translateY(-6px)}.timeline-col{touch-action:none;border-left:1px solid #1c212b;flex:1;position:relative}.timeline-slot{border-bottom:1px solid #171c25}.timeline-active-hours{color:#5eead4}.work-shade{pointer-events:none;background:#5eead410;border-top:1px solid #5eead440;border-bottom:1px solid #5eead440;position:absolute;left:0;right:0}.work-shade-label{letter-spacing:.04em;text-transform:uppercase;color:#5eead4;opacity:.7;font-size:10px;position:absolute;top:4px;right:6px}.now-line{pointer-events:none;z-index:3;background:#fb7185;height:2px;position:absolute;left:0;right:0}.cal-event{color:#d5dbe8;pointer-events:none;z-index:1;background:#3a4252;border-radius:5px;padding:2px 5px;font-size:11px;position:absolute;left:2px;right:46%;overflow:hidden}.timeline-all-day{border-bottom:1px solid var(--line,#2a2f3a);background:#11151c;min-height:22px;display:flex}.timeline-all-day-col{border-left:1px solid #1c212b;flex-direction:column;flex:1;gap:2px;min-width:0;padding:4px 3px;display:flex}.cal-all-day{color:#d5dbe8;text-overflow:ellipsis;white-space:nowrap;background:#3a4252;border-radius:4px;padding:2px 6px;font-size:11px;display:block;overflow:hidden}.focus-block{color:#e8edf6;cursor:grab;-webkit-user-select:none;user-select:none;background:#7c9cff22;border-left:3px solid #7c9cff;border-radius:6px;padding:3px 6px;font-size:11px;position:absolute;left:46%;right:2px;overflow:hidden}.focus-block.active{box-shadow:0 0 0 1px #5eead4}.focus-block.done{opacity:.45}.focus-block.ghost{opacity:.5;pointer-events:none;background:#5eead41a;border-style:dashed;left:46%}.focus-block-title{font-weight:600;display:block}.focus-block-meta{opacity:.7;display:block}.focus-block-live{color:#5eead4;font-weight:600;display:block}.focus-handle{cursor:ns-resize;height:7px;position:absolute;bottom:0;left:0;right:0}.planner{border:1px solid var(--line,#2a2f3a);background:#10141b;border-radius:12px;margin-bottom:14px;padding:14px}.planner-head{justify-content:space-between;align-items:center;display:flex}.planner-head h2{margin:0;font-size:15px}.planner-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.planner-note,.planner-error{color:#f5c563;margin:8px 0 0;font-size:13px}.planner-error{color:#fb7185}.planner-rationale{color:#c7cddb;margin:12px 0;font-size:13px}.planner-list{gap:10px;margin:0;padding-left:18px;display:grid}.planner-item-head{flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px;display:flex}.planner-item-head+p{margin:2px 0 0;font-size:12px}.planner-left-out{margin-top:14px;font-size:13px}.planner-left-out h3{color:#8b93a5;margin:0 0 6px;font-size:13px}.planner-left-out ul{color:#8b93a5;gap:4px;margin:0;padding-left:18px;display:grid}.insights{gap:14px;display:grid}.insights-head{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.insights-head h2{margin:0;font-size:16px}.insights-range{gap:4px;display:flex}.insight-tiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.insight-tile{border:1px solid var(--line,#2a2f3a);background:#10141b;border-radius:10px;padding:12px}.insight-tile strong{margin-top:4px;font-size:22px;display:block}.insight-label{color:#8b93a5;font-size:12px}.insight-card{border:1px solid var(--line,#2a2f3a);background:#10141b;border-radius:12px;padding:14px}.insight-card h3{color:#8b93a5;margin:0 0 10px;font-size:13px}.insight-card h4{color:#8b93a5;margin:12px 0 6px;font-size:12px}.insight-list{gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.insight-list li{justify-content:space-between;gap:10px;display:flex}.insight-proposals{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.bar-chart{align-items:flex-end;gap:8px;height:120px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;height:100%;display:flex}.bar{background:#5eead4;border-radius:4px 4px 0 0;width:100%;min-height:2px}.bar-label{color:#6d7585;font-size:11px}.summary{margin-top:12px;font-size:13px}.summary-headline{color:#e8edf6;font-weight:600}.summary ul,.summary ol{color:#c7cddb;gap:5px;padding-left:18px;display:grid}.sheet-label{color:#8b93a5;margin:16px 0 0;font-size:12px}@media (width<=860px){.timeline-body{grid-template-columns:1fr}.timeline-tray ul{max-height:150px}}.top{flex-wrap:wrap}.top-actions{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;min-width:0}.focus-pill{max-width:260px}.focus-pill.live>strong{white-space:nowrap}.bar-chart{justify-content:flex-start}.bar-col{flex:0 44px;max-width:44px}.view-switcher{max-width:100%}.focus-pill.subtle{color:#8b93a5;cursor:pointer}.focus-pill.subtle:hover{color:#5eead4;border-color:#5eead4}.calendar-setup .setup-label{color:#8b93a5;margin:16px 0 8px;font-size:12px;font-weight:600}.calendar-list{gap:4px;display:grid}.calendar-row{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;padding:7px 9px;font-size:13px;display:flex}.calendar-row:hover{background:#141922}.calendar-row.on{background:#5eead410;border-color:#5eead4}.calendar-row input{width:auto;margin:0}.calendar-dot{border-radius:50%;flex:0 0 9px;width:9px;height:9px}.calendar-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.google-btn{margin:10px 0;text-decoration:none;display:inline-block}.session-banner{color:#f5c563;background:#2a2313;border:1px solid #6b5a2a;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;font-size:13px;display:flex}.session-reconnect{font:inherit;color:#f5c563;cursor:pointer;background:0 0;border:1px solid #f5c563;border-radius:8px;padding:5px 12px;font-weight:600}.session-reconnect:hover{color:#1a1508;background:#f5c563}.settings{gap:14px;max-width:820px;display:grid}.settings h2{margin:0;font-size:16px}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.settings-field{gap:5px;display:grid}.settings-textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.settings-check{cursor:pointer;align-items:flex-start;gap:9px;margin-top:12px;font-size:13px;display:flex}.settings-check input{flex:none;width:auto;margin-top:2px}.settings-check small{margin-top:2px;display:block}.setup-label{color:#8b93a5;margin:14px 0 8px;font-size:12px;font-weight:600}.settings-check input[type=checkbox],.calendar-row input[type=checkbox],.calendar-row input[type=radio]{appearance:auto;accent-color:#5eead4;cursor:pointer;background:0 0;border:0;flex:none;width:15px;min-width:15px;height:15px;min-height:15px;padding:0}.oauth-details{margin-top:14px;font-size:13px}.oauth-details summary{cursor:pointer;color:#8b93a5}.oauth-details summary:hover{color:#c7cddb}.oauth-details p{margin:10px 0}.oauth-field{border:1px solid var(--line,#2a2f3a);background:#10141b;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0;padding:8px 10px;display:flex}.oauth-label{color:#8b93a5;flex:none;font-size:12px}.oauth-field code{white-space:nowrap;color:#5eead4;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow-x:auto}.oauth-clientid{font-size:11px}.auto-schedule{max-width:900px}.duration-groups{gap:6px;margin-bottom:12px;display:grid}.duration-row{border:1px solid var(--line,#2a2f3a);background:#10141b;border-radius:8px;align-items:center;gap:12px;padding:7px 10px;display:flex}.duration-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.duration-count{flex:none;font-size:12px}.duration-select{flex:none;width:auto;min-width:96px}.cap-field{flex:none;min-width:120px}.autofill-summary{color:#c7cddb;margin:12px 0;font-size:13px}.autofill-days{gap:10px;max-height:46vh;padding-right:4px;display:grid;overflow-y:auto}.autofill-day{border:1px solid var(--line,#2a2f3a);background:#10141b;border-radius:10px;padding:10px 12px}.autofill-day h4{margin:0 0 6px;font-size:13px;font-weight:600}.autofill-day ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.autofill-day li{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.autofill-time{color:#5eead4;font-variant-numeric:tabular-nums;flex:0 0 64px}.autofill-title{flex:1;min-width:120px}.autofill-len{flex:none}.autofill-tag{color:#9fb0c8;background:#1b2230;border-radius:999px;flex:none;padding:2px 8px;font-size:11px}.autofill-tag.moved-earlier{color:#f5c563}.autofill-tag.overdue-catch-up{color:#fb7185}.meetings-strip{border:1px solid var(--line,#2a2f3a);background:#10141b;border-radius:12px;margin-bottom:14px;padding:12px 14px}.meetings-strip header{justify-content:space-between;align-items:center;gap:10px;display:flex}.meetings-strip h3{margin:0;font-size:13px;font-weight:600}.meetings-days{gap:10px;margin-top:10px;display:grid}.meetings-day{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.meetings-date{color:#8b93a5;flex:0 0 96px;padding-top:2px;font-size:12px}.meetings-day ul{flex:1;gap:4px;min-width:200px;margin:0;padding:0;list-style:none;display:grid}.meetings-day li{align-items:center;gap:10px;font-size:13px;display:flex}.meeting-time{color:#9fb0c8;font-variant-numeric:tabular-nums;flex:0 0 62px}.meeting-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.meeting-tag{color:#9aa3b4;background:#2a2f3a;border-radius:999px;flex:none;padding:2px 8px;font-size:11px}.install-steps{color:#c7cddb;gap:6px;margin:10px 0;padding-left:20px;font-size:13px;display:grid}.install-steps code{background:#10141b;border-radius:5px;padding:1px 6px;font-size:12px}
