:root{--bg:#f4f5f8;--surface:#fff;--surface-2:#f0f2f6;--surface-3:#e7eaf0;--border:#e2e5ec;--text:#171a20;--text-2:#5b6473;--text-3:#8a94a4;--accent:#3b6cf6;--accent-strong:#2a56cf;--accent-soft:#e8eeff;--accent-text:#fff;--ok:#178a4c;--ok-soft:#e3f5ea;--warn:#c2620a;--warn-soft:#fff1dc;--danger:#d12f2f;--danger-soft:#fde7e7;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px #1418280a, 0 6px 20px #1418280f;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bar-h:56px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1216;--surface:#171b21;--surface-2:#1e232b;--surface-3:#262c36;--border:#2a3038;--text:#e9ebef;--text-2:#a5adba;--text-3:#6f7886;--accent:#6b8ff8;--accent-strong:#86a4ff;--accent-soft:#1c2a4f;--accent-text:#0b1020;--ok:#46c27e;--ok-soft:#12321f;--warn:#f0a23b;--warn-soft:#3a2a10;--danger:#f36c6c;--danger-soft:#3f1b1b;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000059}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100dvh;margin:0;font-size:16px;line-height:1.45}body.no-scroll{overflow:hidden}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}h1{font-size:1.5rem}h2{font-size:1.05rem}h3{font-size:.95rem}p{margin:0}ul{margin:0;padding:0;list-style:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--text-2)}.small{font-size:.85rem}.center{text-align:center}.error{color:var(--danger);font-size:.92rem}.success{color:var(--ok);font-size:.92rem}.stack{flex-direction:column;gap:12px;display:flex}.btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:550;transition:background .12s,border-color .12s,transform 60ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-icon{min-width:44px;padding:0 10px}.btn-icon.is-active{background:var(--accent-soft);color:var(--accent);border-color:#0000}.btn-lg{width:100%;min-height:50px;font-size:1.02rem}.btn-danger-text{color:var(--danger)}.btn-text{display:none}@media (width>=640px){.btn-text{display:inline}}.input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--text);width:100%;padding:0 12px;font-size:16px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input:disabled{opacity:.5}.input-num{text-align:center;width:64px;padding:0 6px}.select{width:auto;padding-right:8px}.checkbox{width:22px;height:22px;accent-color:var(--accent);cursor:pointer;flex:none}.switch{appearance:none;background:var(--surface-3);cursor:pointer;border-radius:999px;flex:none;width:46px;height:28px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px)}.field{color:var(--text-2);flex-direction:column;gap:6px;font-size:.92rem;display:flex}.pill{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.pill--ok{background:var(--ok-soft);color:var(--ok)}.pill--warn{background:var(--warn-soft);color:var(--warn)}.pill--accent{background:var(--accent-soft);color:var(--accent)}.pill--danger{background:var(--danger-soft);color:var(--danger)}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:.88rem;font-weight:550;display:inline-flex}.chip.is-on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.chip:disabled{opacity:.45}.chip-action{color:var(--accent)}.chips{flex-wrap:wrap;gap:6px;display:flex}.avatar{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.notice{border-radius:var(--radius-sm);padding:10px 14px;font-size:.92rem}.notice--danger{background:var(--danger-soft);color:var(--danger)}.notice--gentle{background:var(--warn-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.notice-actions{gap:4px;margin-left:auto;display:inline-flex}.notice-done{border-bottom:1px solid color-mix(in srgb, var(--warn) 25%, transparent);flex-direction:column;flex-basis:100%;gap:2px;margin-bottom:2px;padding-bottom:6px;display:flex}.notice-done ul{margin:0;padding:0;list-style:none}.notice-done li{color:var(--ok);align-items:center;gap:6px;font-size:.88rem;display:flex}.notice-done li svg{flex:none;width:14px;height:14px}.notice-done li span{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.notice--celebrate{background:var(--accent-soft);align-items:center;gap:12px;margin-bottom:14px;display:flex}.celebrate-emoji{font-size:1.8rem;line-height:1;animation:.5s cubic-bezier(.2,1.4,.4,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.4)}}.burst{z-index:50;pointer-events:none;width:0;height:0;position:fixed}.burst-emoji{opacity:0;animation:burst-fly 1.1s ease-out var(--delay) both;font-size:1.1rem;line-height:1;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.4)}.burst--big .burst-emoji{font-size:1.7rem}@keyframes burst-fly{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}15%{opacity:1}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--rot)) scale(1.1);opacity:0}}.gate{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.gate-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:28px 24px;display:flex}.app{max-width:860px;padding:var(--safe-top) 16px calc(24px + var(--safe-bottom));margin:0 auto}.app--has-bar{padding-top:calc(var(--bar-h) + var(--safe-top))}.main,.sheet{flex-direction:column;gap:16px;display:flex}.sheet-loading{min-height:200px}.sheet-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar{flex-direction:column;gap:8px;padding:12px 0 16px;display:flex}.topbar-row{align-items:center;gap:8px;display:flex}.brand{letter-spacing:-.01em;background:0 0;border:0;align-items:center;gap:10px;margin-right:auto;padding:6px 0;font-size:1.15rem;font-weight:700;display:inline-flex}.topbar-actions{gap:6px;display:flex}.user-chip{padding-left:6px}.datenav{gap:6px}.datenav-label{border-radius:var(--radius-sm);cursor:pointer;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;max-width:260px;min-height:44px;padding:0 14px;display:flex;position:relative}.datenav-label:hover{background:var(--surface-2)}.datenav-text{font-size:1.05rem;font-weight:650}.datenav-sub{color:var(--text-2);font-size:.8rem;line-height:1.1}.datenav-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card--customize{border-style:dashed;border-color:var(--accent)}.card-head{align-items:center;gap:10px;padding:14px 16px 0;display:flex}.card-title{margin-right:auto}.card-aside{align-items:center;gap:8px;display:flex}.card-tools{gap:2px;display:flex}.card-grip{cursor:grab;touch-action:none;color:var(--text-3)}.card-grip:active{cursor:grabbing}.card-body{padding:14px 16px 16px}.sortable{position:relative}.hidden-strip{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 2px;display:flex}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.tile{grid-row:span 3;grid-template-rows:subgrid;background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid #0000;align-content:start;row-gap:2px;padding:10px 8px;display:grid;position:relative}.tile-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);font-size:.68rem;font-weight:600}.tile-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(.85rem,4.4vw,1.05rem);font-weight:700;line-height:1.15}.tile-sub{color:var(--text-2);font-size:.78rem;line-height:1.3}@media (width>=640px){.tiles{gap:10px}.tile{row-gap:4px;padding:12px 14px}.tile-label{font-size:.8rem}.tile-value{font-size:1.6rem}.tile-sub{font-size:.85rem}}.tile--ok{background:var(--ok-soft)}.tile--ok .tile-sub,.tile--ok .tile-label{color:var(--ok)}.tile--warn{background:var(--warn-soft)}.tile--warn .tile-sub,.tile--warn .tile-label{color:var(--warn)}.tile--danger{background:var(--danger-soft)}.tile--danger .tile-sub,.tile--danger .tile-label,.tile--danger .tile-value{color:var(--danger)}.tile--accent{background:var(--accent-soft)}.tile--accent .tile-sub,.tile--accent .tile-label{color:var(--accent)}.tile--live .tile-value:after{content:"";background:var(--ok);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;position:absolute;top:12px;right:10px}@media (width>=640px){.tile--live .tile-value:after{vertical-align:middle;margin-left:8px;display:inline-block;position:static}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.timeclock-note{color:var(--text-2);margin:-4px 0 12px;font-size:.88rem}.timeclock-note--danger{color:var(--danger)}.ot-row{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:12px;padding:4px 12px}.punches{flex-direction:column;gap:8px;display:flex}.punch-row{grid-template-columns:84px 1fr auto auto;align-items:center;gap:6px;display:grid}.punch-label{font-size:.92rem;font-weight:600}.punch-row--out .punch-label{color:var(--text-2)}.timefield{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-variant-numeric:tabular-nums;cursor:text;align-items:center;min-width:0;min-height:44px;padding:0 8px;font-size:16px;display:flex}.timefield:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.timefield.is-partial{border-color:var(--warn)}.timefield-seg{white-space:nowrap;border-radius:4px;outline:none;padding:2px 3px}.timefield-seg[data-placeholder]{color:var(--text-3)}.timefield-seg:focus{background:var(--accent);color:var(--accent-text)}.timefield-seg--literal{color:var(--text-2);padding:2px 0}.timefield-seg--dayPeriod{text-align:center;min-width:2.4em;margin-left:6px}.punch-extras{flex-direction:column;gap:8px;display:flex}.punch-pair{border:1px solid var(--border);border-left:3px solid var(--surface-3);border-radius:var(--radius-sm);grid-template-columns:1fr auto;align-items:center;gap:6px;padding:8px 8px 8px 12px;display:grid}.punch-pair-rows{flex-direction:column;gap:8px;min-width:0;display:flex}@media (width<=639px){.punch-pair-rows{order:1}}.punch-pair .punch-row{grid-template-columns:62px 1fr auto auto}.punch-add{color:var(--accent);align-self:flex-start}.punch-clear,.punch-remove{color:var(--text-3)}@media (width<=639px){.punch-row{grid-template-columns:76px 1fr auto auto}.punch-pair{grid-template-columns:1fr;padding:6px 8px 8px 12px}.punch-pair .punch-remove{justify-self:end;min-height:36px}.punch-pair .punch-row{grid-template-columns:60px 1fr auto auto}.punch-now{padding:0 10px}}.priorities{flex-direction:column;gap:8px;display:flex}.priority-row{grid-template-columns:24px 22px 1fr;align-items:center;gap:10px;display:grid}.priority-row--removable{grid-template-columns:24px 22px 1fr auto}.priority-remove{color:var(--text-3)}.checkbox:disabled{opacity:.35;cursor:not-allowed}.priority-num{color:var(--text-2);text-align:center;font-weight:700}.priority-row.is-done .priority-input{color:var(--text-3);text-decoration:line-through}.priorities-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.priority-add{color:var(--accent)}.priorities-summary{font-size:.85rem}.timer--idle{flex-direction:column;gap:12px;display:flex}.timer-priorities{flex-direction:column;gap:6px;display:flex}.timer-priorities .chip{text-align:left;max-width:100%}.chip-num{background:var(--surface-3);min-width:18px;height:18px;color:var(--text-2);text-align:center;border-radius:999px;flex:none;padding:0 5px;font-size:.72rem;font-weight:700;line-height:18px}.chip.is-on .chip-num{background:var(--accent);color:var(--accent-text)}.chip-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timer-add-priority{min-height:32px;font-size:.92rem}.timer-quick{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.btn-quick{border-radius:var(--radius);background:var(--accent-soft);min-height:72px;color:var(--accent);border-color:#0000;flex-direction:column;gap:0}.btn-quick:hover:not(:disabled){background:var(--accent);color:var(--accent-text)}.timer-quick-num{letter-spacing:-.02em;font-size:1.7rem;font-weight:750;line-height:1.1}.timer-quick-unit{opacity:.85;font-size:.8rem;font-weight:600}.timer--running{flex-direction:column;align-items:center;gap:10px;display:flex}.ring-wrap{width:220px;height:220px;position:relative}.ring{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--surface-3);stroke-width:8px}.ring-fill{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .9s linear}.timer--running.is-paused .ring-fill{stroke:var(--text-3)}.timer--running.is-due .ring-fill{stroke:var(--warn)}.timer--running.is-due .countdown{color:var(--warn)}.ring-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.countdown{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:750;line-height:1}.timer-running-label{text-align:center;font-weight:600}.timer-controls{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.running-bar{z-index:50;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);padding-top:var(--safe-top);position:fixed;top:0;left:0;right:0}.running-bar-inner{max-width:860px;height:var(--bar-h);align-items:center;gap:8px;margin:0 auto;padding:0 12px;display:flex}.running-dot{background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px;animation:2s infinite pulse}.running-dot.is-paused{background:var(--text-3);animation:none}.running-dot.is-due{background:var(--warn)}.running-bar.is-due .running-time{color:var(--warn)}.running-bar.is-due .running-progress{background:var(--warn)}.running-label{text-overflow:ellipsis;white-space:nowrap;text-align:left;background:0 0;border:0;border-radius:6px;flex:1;min-width:0;padding:6px 4px;font-weight:600;overflow:hidden}.running-label:hover{background:var(--surface-2)}.running-label-input{flex:1;min-width:0;min-height:38px}.running-time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;flex:none;font-size:1.35rem;font-weight:750}.running-controls{flex:none;gap:4px;display:flex}.running-controls .btn{min-width:38px;min-height:38px;padding:0 8px}.running-progress{background:var(--accent);transform-origin:0;width:100%;height:3px;transition:transform .9s linear;position:absolute;bottom:-1px;left:0}@media (width<=639px){.running-cancel{display:none}.running-time{font-size:1.2rem}}.banners{z-index:49;top:calc(var(--safe-top) + 8px);pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;left:8px;right:8px}.app--has-bar .banners{top:calc(var(--safe-top) + var(--bar-h) + 8px)}@media (width>=640px){.banners{width:400px;left:auto}}.banner{pointer-events:auto;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:var(--shadow);align-items:flex-start;gap:10px;padding:12px 8px 12px 14px;animation:.2s ease-out slide-in;display:flex}.banner--warn{background:var(--warn-soft);border-color:var(--warn);--banner-tone:var(--warn)}.banner--danger{background:var(--danger-soft);border-color:var(--danger);--banner-tone:var(--danger)}.banner--success{border-left-color:var(--ok);--banner-tone:var(--ok)}.banner-icon{color:var(--banner-tone,var(--accent));flex:none;margin-top:2px;display:inline-flex}.banner-text{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:.92rem;display:flex}.banner-meta{flex-wrap:wrap;align-items:baseline;column-gap:8px;display:flex}.banner-kicker{color:var(--banner-tone,var(--accent));font-size:.78rem;font-weight:650}.banner-time{color:var(--text-2);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:.75rem}.banner-title{font-size:1rem;line-height:1.3}.banner-body{color:var(--text-2)}.banner-action{border:1px solid var(--banner-tone,var(--accent));min-height:36px;color:var(--banner-tone,var(--accent));align-self:flex-start;margin-top:4px}.banner-close{min-width:32px;min-height:32px;color:var(--text-3);background:0 0;border:0}@keyframes slide-in{0%{opacity:0;transform:translateY(-6px)}}.log-total{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.log-total strong{font-size:1.2rem}.log-list{flex-direction:column;display:flex}.log-row{border-top:1px solid var(--border);grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.log-row.is-running{background:linear-gradient(90deg, var(--accent-soft), transparent);margin:0 -16px;padding:8px 16px}.log-time{font-variant-numeric:tabular-nums;color:var(--text-2);white-space:nowrap;font-size:.9rem}.log-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:6px;min-width:0;margin:-6px;padding:6px;font-weight:600;overflow:hidden}.log-label:hover{background:var(--surface-2)}.log-label-input{min-height:38px}.log-edit{flex-direction:column;gap:6px;min-width:0;display:flex}.log-plan-select{min-height:38px;font-size:.9rem}.log-plan{vertical-align:1px;background:var(--accent-soft);min-width:18px;height:18px;color:var(--accent);text-align:center;border-radius:999px;margin-right:6px;padding:0 5px;font-size:.72rem;font-weight:700;line-height:18px;display:inline-block}.log-duration{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.log-delete{color:var(--text-3);min-width:36px;min-height:36px}@media (width<=480px){.log-row{grid-template-columns:1fr auto auto;grid-template-areas:"label duration delete""time duration delete";row-gap:0}.log-time{grid-area:time}.log-label,.log-edit{grid-area:label}.log-duration{grid-area:duration}.log-delete{grid-area:delete}}.retro{flex-direction:column;gap:14px;display:flex}.retro-section{flex-direction:column;gap:4px;display:flex}.retro-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);align-items:baseline;gap:8px;margin:0;font-size:.8rem;font-weight:700;display:flex}.retro-heading .muted{text-transform:none;letter-spacing:0;font-weight:600}.retro-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.retro-row{border-top:1px solid var(--border);grid-template-columns:auto 1fr;grid-template-areas:"tick text""tick time";column-gap:10px;padding:8px 0;display:grid}.retro-row:first-child{border-top:0}.retro-tick{width:20px;height:20px;color:var(--ok);grid-area:tick;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.retro-tick:not(.is-done):before{content:"";background:var(--text-3);border-radius:1px;width:10px;height:2px}.retro-tick svg{width:18px;height:18px}.retro-row--unplanned .retro-tick:before{background:var(--warn);border-radius:50%;width:8px;height:8px}.retro-text{overflow-wrap:anywhere;grid-area:text;min-width:0;font-weight:600}.retro-row.is-done .retro-text{color:var(--text-2)}.retro-num{min-width:18px;color:var(--text-2);font-variant-numeric:tabular-nums;margin-right:6px;font-size:.85rem;font-weight:700;display:inline-block}.retro-late{vertical-align:1px;margin-left:8px}.retro-when{white-space:nowrap}.retro-time{font-variant-numeric:tabular-nums;color:var(--text-2);grid-area:time;font-size:.9rem}.retro-summary{border-radius:var(--radius-sm);background:var(--surface-2);flex-wrap:wrap;gap:6px 18px;margin:0;padding:10px 14px;font-size:.92rem;display:flex}.retro-summary strong{font-variant-numeric:tabular-nums}.retro-textarea{resize:vertical;min-height:88px;padding:10px 12px;font-family:inherit;line-height:1.4}.retro-foot{align-items:center;gap:10px;display:flex}.retro-foot .pill svg{width:14px;height:14px;margin-right:4px}@media (width>=640px){.retro-row{grid-template-columns:auto 1fr auto;grid-template-areas:"tick text time";align-items:center}.retro-time{text-align:right;white-space:nowrap}}.history-view{flex-direction:column;gap:12px;display:flex}.segmented{background:var(--surface-3);border-radius:999px;align-self:flex-start;padding:3px;display:inline-flex}.segment{min-height:36px;color:var(--text-2);background:0 0;border:0;border-radius:999px;padding:0 16px;font-weight:600}.segment.is-on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.history-reviewed{vertical-align:-2px;color:var(--ok);margin-left:6px;display:inline-flex}.history-reviewed svg{width:14px;height:14px}.period-nav{flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px 0;display:flex}.period-label{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:9ch;font-weight:650}.period-nav .btn-ghost{margin-left:auto}.calendar-grid{flex-direction:column;gap:4px;padding:12px 16px 0;display:flex}.calendar-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-grid--work .calendar-row{grid-template-columns:repeat(5,minmax(0,1fr))}.calendar-weekday{color:var(--text-2);text-align:center;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.calendar-day{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);min-height:52px;color:var(--text);font:inherit;text-align:left;flex-direction:column;gap:2px;min-width:0;padding:4px 3px 3px;display:flex}.calendar-day:disabled{cursor:default}.calendar-day.is-outside{background:0 0;border-color:#0000}.calendar-day.is-empty,.calendar-day.is-future{opacity:.55;background:0 0}.calendar-day.is-today .calendar-daynum{color:var(--accent)}.calendar-day.is-full{background:var(--accent-soft);border-color:var(--accent);opacity:1}.calendar-day.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);opacity:1}.calendar-daynum{color:var(--text-2);font-size:.72rem;font-weight:600;line-height:1}.calendar-worked{font-variant-numeric:tabular-nums;color:var(--text-2);font-size:.68rem;font-weight:600;line-height:1.2}.sticker-row{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:1px 0;font-size:.85rem;line-height:1.1;display:grid}.calendar-count{color:var(--text-2);margin:0;padding:12px 16px 0}.calendar-count strong{color:var(--text);font-size:1.15rem}.calendar-legend{margin:12px 16px 0}.calendar-dot{background:var(--text-3);border-radius:50%;width:6px;height:6px;margin:2px 0 0 1px}.calendar-detail{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:14px;padding:14px 16px 16px;display:flex}.calendar-detail-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.calendar-tiles{margin-bottom:0}.calendar-tiles .tile{padding:10px 12px}.calendar-tiles .tile-value{font-size:1.05rem}.calendar-note{margin:0}.calendar-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width>=640px){.calendar-grid,.calendar-row{gap:6px}.calendar-day{min-height:64px;padding:6px 6px 4px}.calendar-worked{font-size:.8rem}.sticker-row{grid-template-columns:repeat(3,minmax(0,1fr));font-size:1.1rem}}.review .card-head{flex-wrap:wrap}.review-empty{padding:14px 16px 18px}.review-body{flex-direction:column;gap:16px;padding:14px 16px 16px;display:flex}.review-tiles{margin-bottom:0}.review-section{flex-direction:column;gap:6px;display:flex}.review-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.review-list li+li{border-top:1px solid var(--border)}.review-row{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;width:100%;margin:0 -6px;padding:8px 6px;display:flex}.review-row:hover{background:var(--surface-2)}.review-text{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600}.review-meta{flex:none;align-items:center;gap:10px;display:flex}.review-time{text-align:right;font-variant-numeric:tabular-nums;min-width:4.5ch;font-weight:650}.review-row--note{flex-direction:column;align-items:stretch;gap:4px}.review-note-head{justify-content:space-between}.review-note-head .pill svg{width:12px;height:12px;margin-right:3px}.review-note{white-space:pre-wrap;color:var(--text-2);font-size:.92rem;line-height:1.4}dialog.dialog{width:100%;max-width:none;max-height:none;color:inherit;background:0 0;border:0;margin:auto 0 0;padding:0;inset:0;overflow:visible}dialog.dialog:focus{outline:none}dialog.dialog::backdrop{background:#0a0c1273}.dialog-inner{background:var(--surface);width:100%;max-height:100dvh;padding-top:var(--safe-top);flex-direction:column;display:flex}@media (width>=640px){dialog.dialog{width:calc(100% - 48px);max-width:560px;margin:auto}.dialog-inner{border-radius:var(--radius);border:1px solid var(--border);max-height:calc(100dvh - 48px);box-shadow:var(--shadow);padding-top:0}}.dialog-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 12px 10px 20px;display:flex}.dialog-head h2{flex:1;min-width:0}.save-status{align-items:center;gap:4px;margin-right:4px;display:inline-flex}.save-status.pill{animation:.2s ease-out slide-in}.save-status svg{width:14px;height:14px}.tabs{border-bottom:1px solid var(--border);flex:none;padding:0 8px;display:flex;overflow-x:auto}.tab{min-height:44px;color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 9px;font-size:.94rem;font-weight:550}.tab:hover:not(.is-active){color:var(--text)}.tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.dialog-body{flex-direction:column;flex:1;gap:8px;padding:8px 20px 24px;display:flex;overflow:auto}.dialog-body:last-child{padding-bottom:calc(24px + var(--safe-bottom))}.dialog-foot{padding:8px 12px calc(8px + var(--safe-bottom)) 20px;border-top:1px solid var(--border);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.dialog-foot .btn{margin-left:auto}.finish-choice .dialog-foot{flex-direction:column;align-items:stretch}.finish-choice .dialog-foot .btn{margin-left:0}@media (width>=640px){dialog.finish-choice{max-width:440px}.finish-choice .dialog-foot{flex-direction:row;justify-content:flex-end;align-items:center}.finish-choice .dialog-foot .btn-ghost{order:-1;margin-right:auto}}.settings-section{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:14px 0;display:flex}.settings-section:last-of-type{border-bottom:0}.settings-fields{flex-direction:column;gap:10px;display:flex}.setting-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.duration-inputs{align-items:center;gap:6px;display:inline-flex}.toggle-row{cursor:pointer;flex:1;justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.toggle-text{flex-direction:column;display:flex}.inline-check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.alarm-editor{border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 12px 10px}.alarm-editor.is-off .alarm-fields{opacity:.5}.alarm-fields{flex-direction:column;gap:4px;display:flex}.user-list{flex-direction:column;display:flex}.user-row{align-items:center;gap:10px;padding:6px 0;display:flex}.user-name{flex:1;align-items:center;gap:8px;display:flex}.user-add{grid-template-columns:1fr;gap:8px;display:grid}@media (width>=640px){.user-add{grid-template-columns:1fr 1fr auto}}@media (pointer:coarse){.chip,.segment,.running-controls .btn,.banner-close,.banner-action,.log-delete,.punch-pair .punch-remove,.timer-add-priority{position:relative}.chip:after,.segment:after,.running-controls .btn:after,.banner-close:after,.banner-action:after,.log-delete:after,.punch-pair .punch-remove:after,.timer-add-priority:after{content:"";inset:var(--hit-inset);position:absolute}.chip{--hit-inset:-4px -1px}.segment{--hit-inset:-4px 0}.running-controls .btn{--hit-inset:-4px -3px}.banner-close{--hit-inset:-6px}.banner-action{--hit-inset:-5px -1px}.log-delete{--hit-inset:-5px}.punch-pair .punch-remove{--hit-inset:-4px -1px}.timer-add-priority{--hit-inset:-6px 0}.running-label{margin-block:-5px;padding-block:11px}.log-label{margin-block:-11px;padding-block:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
