:root{color-scheme:light;--bg: #f6f7f9;--panel: #ffffff;--sunken: #fbfcfd;--hover: #f9fafb;--hover-strong: #f2f4f7;--line: #e4e7ec;--line-soft: #eef0f4;--line-strong: #d8dce3;--grip: #c4c9d2;--text: #1a1d23;--muted: #6b7280;--faint: #9aa1ad;--on-dark: #e7eaf0;--on-color: #ffffff;--on-accent: #ffffff;--blue: #2563eb;--blue-hover: #1d4ed8;--blue-ink: #1447c4;--blue-ink-deep: #17325f;--blue-dim: #4a7fdd;--blue-soft: #eff5ff;--blue-soft-strong: #e4eefe;--blue-line: #bfd6fe;--blue-line-soft: #9dbcf5;--green: #059669;--amber: #d97706;--danger: #b42318;--danger-solid: #d92d20;--danger-line: #fbd3ce;--danger-line-strong: #fda29b;--danger-soft: #fef3f2;--warn-soft: #fffbeb;--warn-line: #fde68a;--warn-ink: #92400e;--radius: 10px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 8px 24px rgba(16, 24, 40, .1);--shadow-lg: 0 24px 60px rgba(16, 24, 40, .22)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0f1216;--panel: #171b21;--sunken: #13171c;--hover: #1e232b;--hover-strong: #262c35;--line: #2a3039;--line-soft: #21262e;--line-strong: #39414d;--grip: #4a525f;--text: #e8eaee;--muted: #9aa3b0;--faint: #6f7885;--on-dark: #e7eaf0;--on-color: #ffffff;--on-accent: #0f1216;--blue: #4f8bf5;--blue-hover: #6b9ef7;--blue-ink: #a8c7fc;--blue-ink-deep: #cfe0fe;--blue-dim: #7ba4ee;--blue-soft: rgba(79, 139, 245, .14);--blue-soft-strong: rgba(79, 139, 245, .22);--blue-line: rgba(79, 139, 245, .42);--blue-line-soft: rgba(79, 139, 245, .3);--green: #34d399;--amber: #fbbf24;--danger: #f97066;--danger-solid: #e5544a;--danger-line: rgba(249, 112, 102, .38);--danger-line-strong: rgba(249, 112, 102, .55);--danger-soft: rgba(249, 112, 102, .12);--warn-soft: rgba(251, 191, 36, .12);--warn-line: rgba(251, 191, 36, .34);--warn-ink: #fbbf24;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .48);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .62)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1216;--panel: #171b21;--sunken: #13171c;--hover: #1e232b;--hover-strong: #262c35;--line: #2a3039;--line-soft: #21262e;--line-strong: #39414d;--grip: #4a525f;--text: #e8eaee;--muted: #9aa3b0;--faint: #6f7885;--on-dark: #e7eaf0;--on-color: #ffffff;--on-accent: #0f1216;--blue: #4f8bf5;--blue-hover: #6b9ef7;--blue-ink: #a8c7fc;--blue-ink-deep: #cfe0fe;--blue-dim: #7ba4ee;--blue-soft: rgba(79, 139, 245, .14);--blue-soft-strong: rgba(79, 139, 245, .22);--blue-line: rgba(79, 139, 245, .42);--blue-line-soft: rgba(79, 139, 245, .3);--green: #34d399;--amber: #fbbf24;--danger: #f97066;--danger-solid: #e5544a;--danger-line: rgba(249, 112, 102, .38);--danger-line-strong: rgba(249, 112, 102, .55);--danger-soft: rgba(249, 112, 102, .12);--warn-soft: rgba(251, 191, 36, .12);--warn-line: rgba(251, 191, 36, .34);--warn-ink: #fbbf24;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .48);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .62)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.app{display:grid;grid-template-columns:320px 1fr;height:100vh;overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.sidebar-head{padding:18px 16px 14px;border-bottom:1px solid var(--line)}.sidebar-head h1{margin:0;font-size:15px;font-weight:650;letter-spacing:-.01em}.sidebar-head p{margin:5px 0 0;font-size:12px;color:var(--faint);line-height:1.4}.sidebar-scroll{flex:1;overflow-y:auto;padding:8px 0 24px;min-height:0}.project{border-bottom:1px solid var(--line-soft)}.project-head{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:0;text-align:left}.chevron{width:12px;color:var(--faint);flex:0 0 auto;transition:transform .15s ease;font-size:10px}.chevron.open{transform:rotate(90deg)}.dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto}.project-name{font-weight:600;font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-count{font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}.task-list{padding:0 8px 10px 14px}.task-row{display:flex;align-items:center;gap:8px;padding:7px 8px 7px 10px;margin:3px 0;border-radius:8px;border:1px solid transparent;background:var(--sunken);cursor:grab;-webkit-user-select:none;user-select:none}.task-row:hover{background:var(--hover-strong)}.task-row:active{cursor:grabbing}.task-row.dragging{opacity:.4}.task-row.scheduled{background:var(--blue-soft);border-color:var(--blue-line)}.task-row.scheduled:hover{background:var(--blue-soft-strong)}.grip{color:var(--grip);font-size:12px;line-height:1;letter-spacing:1px;flex:0 0 auto}.task-row.scheduled .grip{color:var(--blue-line-soft)}.task-body{flex:1;min-width:0}.task-title{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row.scheduled .task-title{color:var(--blue-ink);font-weight:550}.task-meta{font-size:11px;color:var(--faint);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row.scheduled .task-meta{color:var(--blue-dim)}.task-row.done .task-title{text-decoration:line-through;color:var(--faint)}.add-task{display:block;width:calc(100% - 4px);text-align:left;padding:6px 10px;margin:4px 0 2px;border:0;background:none;color:var(--faint);font-size:12px;border-radius:8px}.add-task:hover{background:var(--hover-strong);color:var(--muted)}.inline-input{width:100%;padding:7px 10px;margin:4px 0;border:1px solid var(--blue-line);border-radius:8px;outline:none;font-size:13px;background:var(--panel)}.inline-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.sidebar-foot{border-top:1px solid var(--line);padding:10px 12px;display:flex;gap:8px}.btn{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:7px 12px;font-size:13px;box-shadow:var(--shadow-sm)}.btn:hover{background:var(--hover)}.btn.primary{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.btn.primary:hover{background:var(--blue-hover)}.btn.ghost{border-color:transparent;box-shadow:none;background:none;color:var(--muted)}.btn.ghost:hover{background:var(--hover-strong)}.btn.danger{color:var(--danger);border-color:var(--danger-line);background:var(--panel)}.btn.danger:hover{background:var(--danger-soft)}.btn.sm{padding:5px 9px;font-size:12px}.btn.wide{flex:1}.calendar{display:flex;flex-direction:column;min-width:0;min-height:0;padding:16px 18px 18px}.cal-head{display:flex;align-items:center;gap:10px;padding-bottom:14px}.cal-title{font-size:20px;font-weight:650;letter-spacing:-.02em;min-width:220px}.cal-title .year{color:var(--faint);font-weight:500}.nav-group{display:flex;gap:4px}.icon-btn{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel);border-radius:8px;box-shadow:var(--shadow-sm);font-size:13px;color:var(--muted)}.icon-btn:hover{background:var(--hover);color:var(--text)}.spacer{flex:1}.legend{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--faint)}.legend .swatch{width:10px;height:10px;border-radius:3px;background:var(--blue-soft);border:1px solid var(--blue-line)}.grid-wrap{flex:1;min-height:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.dow-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);background:var(--sunken)}.dow{padding:9px 10px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}.weeks{flex:1;display:grid;min-height:0}.week{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line-soft);min-height:0}.week:last-child{border-bottom:0}.day{border-right:1px solid var(--line-soft);padding:6px 6px 8px;display:flex;flex-direction:column;gap:3px;min-width:0;min-height:0;overflow:hidden;transition:background .12s ease}.day:last-child{border-right:0}.day.outside{background:var(--sunken)}.day.outside .day-num{color:var(--grip)}.day.drop-target{background:var(--blue-soft);box-shadow:inset 0 0 0 2px var(--blue)}.day-num{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;padding:1px 2px 2px;font-weight:500}.day.today .day-num{background:var(--blue);color:var(--on-accent);border-radius:999px;width:22px;height:22px;display:grid;place-items:center;font-weight:650}.day-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.chip{display:flex;flex-direction:column;align-items:stretch;flex:0 0 auto;gap:0;padding:3px 6px 4px;border-radius:6px;background:var(--blue-soft);border:1px solid var(--blue-line);border-left:3px solid var(--blue);font-size:11.5px;line-height:1.2;cursor:grab;text-align:left;width:100%;overflow:hidden}.chip-project{font-size:9.5px;font-weight:700;letter-spacing:.02em;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}.chip-main{display:flex;align-items:center;gap:5px;min-width:0}.chip:hover{background:var(--blue-soft-strong)}.chip.dragging{opacity:.4}.chip.done{opacity:.6}.chip.done .chip-title{text-decoration:line-through}.chip.done .chip-project{text-decoration:none}.chip-time{color:var(--blue);font-weight:650;font-variant-numeric:tabular-nums;flex:0 0 auto}.chip-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--blue-ink-deep)}.avatar{flex:0 0 auto;width:16px;height:16px;border-radius:999px;display:grid;place-items:center;font-size:8.5px;font-weight:700;color:var(--on-color);letter-spacing:-.02em}.empty-hint{color:var(--faint);font-size:12px;padding:2px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182866;display:grid;place-items:center;padding:24px;z-index:50;animation:fade .12s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:460px;max-width:100%;max-height:100%;overflow-y:auto;background:var(--panel);border-radius:14px;box-shadow:var(--shadow-lg);animation:pop .14s ease}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.modal-head{padding:16px 18px 14px;border-bottom:1px solid var(--line)}.modal-eyebrow{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}.modal-head input.title{width:100%;background:none;border:0;outline:none;font-size:17px;font-weight:600;letter-spacing:-.01em;padding:0}.modal-body{padding:16px 18px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.field{display:grid;gap:6px;min-width:0}.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.row2>*{min-width:0}label.lbl{font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.01em}.control{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);outline:none}.control:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}textarea.control{resize:vertical;min-height:64px}.assignees{display:flex;flex-wrap:wrap;gap:6px}.pill{display:flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:12.5px}.pill:hover{background:var(--hover)}.pill.on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-ink);font-weight:550}.pill.none{padding-left:10px}.status-seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.status-seg button{flex:1;padding:7px 8px;border:0;background:var(--panel);font-size:12.5px;color:var(--muted);border-right:1px solid var(--line)}.status-seg button:last-child{border-right:0}.status-seg button.on{background:var(--blue-soft);color:var(--blue-ink);font-weight:600}.modal-foot{padding:12px 18px 16px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center}.err{color:var(--danger);font-size:12px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--grip);background-clip:content-box}.project-head{display:flex;align-items:center;gap:6px;padding:0 12px 0 0}.project-head:hover{background:var(--sunken)}.head-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:10px 4px 10px 14px;background:none;border:0;text-align:left}.info-btn{flex:0 0 auto;width:18px;height:18px;border-radius:999px;border:1.5px solid var(--grip);background:transparent;color:var(--faint);font-size:11px;font-weight:700;font-family:Georgia,Times New Roman,serif;line-height:1;display:grid;place-items:center;padding:0;transition:all .12s ease}.info-btn:hover{border-color:var(--blue);background:var(--blue);color:var(--on-accent)}.project.is-archived .project-name{color:var(--muted)}.project.is-archived .dot{opacity:.55}.archive-shelf{border-top:1px solid var(--line);background:var(--sunken);display:flex;flex-direction:column;min-height:0}.archive-shelf.open{max-height:48%}.archive-tab{display:flex;align-items:center;gap:8px;width:100%;padding:11px 14px;background:none;border:0;text-align:left;flex:0 0 auto}.archive-tab:hover{background:var(--hover-strong)}.archive-label{flex:1;font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.archive-body{overflow-y:auto;min-height:0;border-top:1px solid var(--line-soft);background:var(--panel)}.tag{font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:4px;text-transform:uppercase}.archived-tag{background:var(--hover-strong);color:var(--muted)}.toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 8px;border-radius:7px}.toggle:hover{background:var(--line-soft)}.toggle input{accent-color:var(--blue);margin:0;cursor:pointer}.chip.archived{background:var(--bg);border-color:var(--line-strong);border-left-style:dashed}.chip.archived .chip-title{color:var(--muted)}.chip.archived .chip-project{color:var(--faint)!important}.chip.archived .chip-time{color:var(--faint)}.modal.wide{width:860px}.modal-body.cols{grid-template-columns:1fr 1fr;gap:24px;align-items:start}.modal-body.cols .col{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-content:start;min-width:0}.section{border-top:1px solid var(--line-soft);padding-top:14px;display:grid;gap:10px}.modal-body.cols .col>.section:first-child{border-top:0;padding-top:0}.section-title{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}.row3{display:grid;grid-template-columns:minmax(0,1fr) 72px 110px;gap:10px}.row3>*{min-width:0}textarea.control.tall{min-height:132px}.update-compose{display:grid;gap:8px;justify-items:end}.update-compose textarea{min-height:58px}.btn:disabled{opacity:.45;cursor:not-allowed}.update-log{display:grid;gap:8px;max-height:240px;overflow-y:auto;padding-right:2px}.update{border:1px solid var(--line);border-left:3px solid var(--blue-line);border-radius:8px;padding:8px 10px;background:var(--sunken)}.update-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.update-stamp{flex:1;font-size:11px;font-weight:600;color:var(--faint);letter-spacing:.01em}.update-text{font-size:13px;line-height:1.45;white-space:pre-wrap}.confirm-overlay{z-index:60;background:#1018287a}.modal.confirm{width:420px}.confirm-body{padding:20px 20px 16px}.confirm-title{font-size:15.5px;font-weight:650;letter-spacing:-.01em;margin-bottom:7px}.confirm-detail{font-size:13px;line-height:1.5;color:var(--muted)}.btn.danger-solid{background:var(--danger-solid);border-color:var(--danger-solid);color:var(--on-accent)}.btn.danger-solid:hover{background:var(--danger);border-color:var(--danger)}.btn.danger-solid:focus-visible{outline:2px solid var(--danger-line-strong);outline-offset:2px}.app.mobile{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100dvh}.mtabs{display:flex;gap:6px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid var(--line)}.mtabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:14px;font-weight:550;color:var(--muted)}.mtabs button.on{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.tab-count{font-size:11px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--line-soft);color:var(--muted);font-variant-numeric:tabular-nums}.mtabs button.on .tab-count{background:#ffffff3d;color:var(--on-accent)}.mpane{min-height:0;display:flex;flex-direction:column}.mpane>*{flex:1;min-height:0}.app.mobile .sidebar{border-right:0}.app.mobile .task-row{padding:11px 10px;margin:5px 0}.app.mobile .task-title{font-size:14px;white-space:normal}.app.mobile .task-meta{font-size:12px}.app.mobile .head-main{padding:14px 4px 14px 14px}.app.mobile .info-btn{width:26px;height:26px;font-size:13px}.app.mobile .add-task{padding:10px;font-size:13px}.app.mobile .project-head{padding-right:10px}.calendar.compact{padding:12px 12px 0;overflow-y:auto}.calendar.compact .cal-head{flex-wrap:wrap;gap:8px;padding-bottom:10px}.calendar.compact .cal-title{font-size:18px;min-width:0;flex:1}.calendar.compact .icon-btn{width:36px;height:36px}.calendar.compact .btn.sm{padding:8px 12px}.calendar.compact .toggle{width:100%;justify-content:flex-start;padding:2px 0}.calendar.compact .grid-wrap{flex:0 0 auto}.calendar.compact .dow{padding:7px 0;text-align:center;font-size:10px}.calendar.compact .weeks{grid-template-rows:none!important}.calendar.compact .week{min-height:0}.calendar.compact .day{min-height:52px;padding:5px 2px 4px;align-items:center;gap:4px;background:none;border-top:0;border-bottom:0;border-left:0;font:inherit;color:inherit;cursor:pointer}.calendar.compact .day-num{font-size:13px;padding:0;width:26px;height:26px;display:grid;place-items:center;border-radius:999px}.calendar.compact .day.selected .day-num{background:var(--blue-ink-deep);color:var(--on-accent);font-weight:650}.calendar.compact .day.today.selected .day-num{background:var(--blue-ink-deep)}.dots{display:flex;align-items:center;gap:3px;height:8px}.day-dot{width:6px;height:6px;border-radius:999px;display:block}.day-more{font-size:9px;font-weight:700;color:var(--faint);line-height:1}.day-detail{padding:16px 2px calc(24px + env(safe-area-inset-bottom))}.day-detail-head{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);padding-bottom:8px}.day-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 12px;margin-bottom:8px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:10px;box-shadow:var(--shadow-sm)}.day-row:active{background:var(--hover-strong)}.day-row-body{flex:1;min-width:0}.day-row-project{font-size:10px;font-weight:700;letter-spacing:.02em;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-row-title{font-size:14px;font-weight:550;line-height:1.3}.day-row.done .day-row-title{text-decoration:line-through;color:var(--faint)}.day-row-meta{font-size:12px;color:var(--muted);margin-top:3px}@media (max-width: 820px){.overlay{padding:0;align-items:stretch}.modal,.modal.wide{width:100%;max-height:100dvh;border-radius:0;display:flex;flex-direction:column}.modal.confirm{width:calc(100% - 32px);margin:auto;border-radius:14px;max-height:none}.overlay.confirm-overlay{padding:16px;align-items:center}.modal-head{padding-top:max(16px,env(safe-area-inset-top))}.modal-body{flex:1;overflow-y:auto}.modal-body.cols{grid-template-columns:minmax(0,1fr);gap:18px}.modal-body.cols .col>.section:first-child{border-top:1px solid var(--line-soft);padding-top:14px}.modal-body.cols .col:first-child>.section:first-child{border-top:0;padding-top:0}.modal-foot{flex-wrap:wrap;padding-bottom:max(16px,env(safe-area-inset-bottom));position:sticky;bottom:0;background:var(--panel)}.modal-foot .btn{flex:1;min-width:96px}.modal-foot .spacer{display:none}.control,.inline-input,.modal-head input.title{font-size:16px}.row3{grid-template-columns:1fr 64px 92px}.pill{padding:8px 12px 8px 6px}.status-seg button{padding:10px 8px}.update-log{max-height:none}}.field-pop{position:relative;min-width:0}.picker-field{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.picker-field:hover{border-color:var(--grip)}.picker-field.open,.picker-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.picker-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-field.empty .picker-value{color:var(--faint)}.picker-input{flex:1;min-width:0;border:0;outline:none;background:none;padding:0;font:inherit;color:inherit}.picker-input::placeholder{color:var(--faint)}.picker-icon{flex:0 0 auto;color:var(--faint);display:grid;place-items:center}.picker-field.open .picker-icon{color:var(--blue)}.popover{position:fixed;z-index:70;max-width:calc(100vw - 24px);overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);padding:10px;animation:pop .12s ease}.quick-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid var(--line-soft)}.quick-label{font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--faint);margin-right:2px}.quick{padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:12px;font-weight:550;color:var(--muted);white-space:nowrap}.quick:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-ink)}.pop-foot{border-top:1px solid var(--line-soft);margin-top:9px;padding-top:8px;display:flex}.cal-pop{width:268px}.mini-head{display:flex;align-items:center;gap:4px;margin-bottom:6px}.mini-title{flex:1;text-align:center;font-size:13px;font-weight:650;letter-spacing:-.01em}.mini-nav{width:26px;height:26px;display:grid;place-items:center;border:0;background:none;border-radius:7px;color:var(--muted);font-size:14px}.mini-nav:hover{background:var(--hover-strong);color:var(--text)}.mini-dow,.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mini-dow span{text-align:center;font-size:10px;font-weight:700;color:var(--faint);padding-bottom:3px}.mini-day{aspect-ratio:1;display:grid;place-items:center;border:0;background:none;border-radius:7px;font-size:12.5px;color:var(--text);font-variant-numeric:tabular-nums}.mini-day:hover{background:var(--line-soft)}.mini-day.outside{color:var(--grip)}.mini-day.today{box-shadow:inset 0 0 0 1.5px var(--blue-line);font-weight:650}.mini-day.selected{background:var(--blue);color:var(--on-accent);font-weight:650;box-shadow:none}.mini-day.selected:hover{background:var(--blue-hover)}.time-pop{min-width:170px}.slot-list{max-height:208px;overflow-y:auto;display:flex;flex-direction:column;gap:1px;scroll-behavior:auto}.slot{flex:0 0 auto;text-align:left;padding:7px 10px;border:0;background:none;border-radius:7px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text)}.slot:hover{background:var(--hover-strong)}.slot.selected{background:var(--blue-soft);color:var(--blue-ink);font-weight:650}@media (max-width: 820px){.picker-field{padding:11px 12px;font-size:16px}.cal-pop{width:min(300px,calc(100vw - 40px))}.mini-day{font-size:14px;border-radius:9px}.slot-list{max-height:44dvh}.slot{padding:11px 12px;font-size:15px}.quick{padding:7px 12px;font-size:13px}}.gate{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg)}.gate-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);padding:26px 24px 24px;display:grid;gap:12px}.gate-card.quiet{max-width:260px;text-align:center;color:var(--muted);box-shadow:var(--shadow-sm);padding:18px}.gate-mark{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}.gate-card h1{margin:0;font-size:19px;font-weight:650;letter-spacing:-.01em}.gate-card p{margin:0;color:var(--muted);line-height:1.5}.gate-card code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--hover-strong);border-radius:4px;padding:1px 5px}.gate-btn{display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 14px;margin-top:4px}.gate-err{margin-top:2px}.banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:8px 8px 8px 14px;background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:10px;box-shadow:var(--shadow-md);font-size:12.5px;color:var(--warn-ink)}.banner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot{display:flex;align-items:center;gap:8px}.whoami{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.whoami-name{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-note{margin-left:7px;font-size:10.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--faint)}.gate-btn{background:var(--panel);border-color:var(--line);color:var(--text);font-weight:550}.gate-btn:hover:not(:disabled){background:var(--hover);border-color:var(--line-strong)}.gate-btn:disabled{color:var(--faint);cursor:default}.avatars{display:inline-flex;align-items:center;flex:0 0 auto}.avatars .avatar{margin-left:-6px;border:1.5px solid var(--panel);box-shadow:none}.avatars .avatar:first-child{margin-left:0}.avatars .avatar.more{background:var(--hover-strong);color:var(--muted);font-size:9.5px}.lbl-note{font-weight:400;color:var(--faint);margin-left:5px}.title.as-text{font-size:17px;font-weight:600;letter-spacing:-.01em}.icon-only{display:inline-grid;place-items:center;padding:5px 7px}.people{display:grid;gap:6px}.person{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.person-id{flex:1;min-width:0}.person-name{font-size:13px;font-weight:550;display:flex;align-items:center;gap:6px}.you-tag{font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--blue-ink);background:var(--blue-soft);border-radius:999px;padding:1px 6px}.person-email{font-size:11.5px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-select{width:auto;flex:0 0 auto;padding:6px 8px;font-size:12.5px}.role-select:disabled{color:var(--faint);background:var(--sunken);cursor:default}.cap-scroll{overflow-x:auto}.cap-table{border-collapse:collapse;width:100%;min-width:380px;font-size:12.5px}.cap-table th,.cap-table td{padding:6px 8px;border-bottom:1px solid var(--line-soft);text-align:center}.cap-table thead th{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);border-bottom-color:var(--line)}.cap-table th[scope=row]{text-align:left;font-weight:450;color:var(--text);white-space:nowrap}.cap-table thead th:first-child{text-align:left}.cap-yes{color:var(--green);font-weight:700}.cap-no{color:var(--faint)}.picker-field.disabled{background:var(--sunken);color:var(--muted);cursor:default}.picker-field.disabled .picker-icon{color:var(--faint)}.pill:disabled{opacity:.55;cursor:default}.pill:disabled:hover{background:var(--panel)}.status-seg button:disabled{color:var(--faint);cursor:default}textarea.control[readonly],input.control[readonly]{background:var(--sunken);color:var(--muted)}.modal-head input.title[readonly]{color:var(--text)}.switch{flex:0 0 auto;width:38px;height:22px;padding:0;border:1px solid var(--line-strong);border-radius:999px;background:var(--hover-strong);position:relative;transition:background .14s ease,border-color .14s ease}.switch.on{background:var(--blue);border-color:var(--blue)}.switch:disabled{opacity:.5;cursor:default}.switch:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:var(--panel);box-shadow:var(--shadow-sm);transition:transform .14s ease}.switch.on .switch-knob{transform:translate(16px)}@media (prefers-reduced-motion: reduce){.switch,.switch-knob{transition:none}}.pref{display:flex;align-items:flex-start;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--sunken)}.pref-text{flex:1;min-width:0}.pref-name{font-size:13px;font-weight:550;margin-bottom:3px}.pref-help{font-size:11.5px;color:var(--muted);line-height:1.45}.role-tag{flex:0 0 auto;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--hover-strong);border-radius:999px;padding:3px 9px}
