@charset "UTF-8";:root{--ground: #ffffff;--surface: #ffffff;--subtle: #f8fafc;--ink: #0f172a;--ink-soft: #475569;--ink-faint: #94a3b8;--rule: #e2e8f0;--rule-soft: #f1f5f9;--accent: #0f172a;--pink: #f63b98;--pink-deep: #ef3983;--pink-btn: #ec4899;--pink-soft: #fce7f3;--picked: #f7f7f7;--page: #f8fafc;--card-rule: #e5e7eb;--ok: #15803d;--radius: 4px}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--ground);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}.app{display:flex;align-items:stretch;min-height:100vh}.workspace{display:flex;flex:1 1 0;flex-direction:column;min-width:0}.sidebar{display:flex;flex-direction:column;gap:2rem;flex:0 0 17.5rem;width:17.5rem;height:100vh;position:sticky;top:0;padding:1.5rem 1rem;border-right:1px solid #e5e7eb;background:var(--surface);line-height:normal}@media(min-width:1920px){.sidebar{flex-basis:20rem;width:20rem}}.sidebar .brand{display:flex;align-items:center;text-decoration:none}.sidebar .brand-logo{height:28px;width:auto}.sidebar .menu{display:flex;flex-direction:column;gap:.25rem}.sidebar .menu a,.sidebar .menu .soon{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;color:var(--ink-soft);text-decoration:none}.sidebar .menu a:hover,.sidebar .menu a:focus-visible{background:var(--picked)}.sidebar .menu a.here{background:var(--picked);font-weight:600;color:var(--pink)}.sidebar .menu .soon{opacity:.55;cursor:default}.sidebar .foot{display:flex;flex-direction:column;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--rule)}.sidebar .workspace-badge{display:flex;align-items:center;gap:.625rem;font-size:.8125rem;font-weight:600;color:var(--ink)}.sidebar .workspace-badge .initial{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:var(--ink-faint);color:#fff;font-size:.75rem;font-weight:700}.sidebar .foot-link{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;color:var(--ink-soft);text-decoration:none}.sidebar .foot-link:hover,.sidebar .foot-link:focus-visible{background:var(--picked)}.sidebar .foot-link.here{background:var(--picked);font-weight:600;color:var(--pink)}.tree-pane{display:flex;flex:1 1 0;flex-direction:column;gap:1.25rem;min-height:0}.tree-search{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--rule);border-radius:6px}.tree-search img{flex:none}.tree-search input{flex:1 1 0;min-width:0;border:none;background:none;font:inherit;font-size:.8125rem;color:var(--ink)}.tree-search input::placeholder{color:var(--ink-faint)}.tree-search input:focus{outline:none}.tree-search:focus-within{border-color:var(--ink-faint)}.tree{display:flex;flex:1 1 0;flex-direction:column;gap:.75rem;padding:0 .75rem;min-height:0;overflow-y:auto}.client-node{display:flex;flex-direction:column;gap:.375rem}.node-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.25rem .375rem;border:none;border-radius:6px;background:none;cursor:pointer}.node-header:hover,.node-header:focus-visible{background:var(--picked)}.node-header .chevron{flex:none;transition:transform .18s ease}.node-header .chevron.up{transform:scaleY(-1)}.node-toggle{display:flex;align-items:center;gap:.5rem;min-width:0;padding:0;border:none;background:none;font:inherit;font-size:.8125rem;font-weight:600;color:var(--ink);text-align:left;cursor:pointer}.node-toggle img{flex:none}.node-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-node{display:flex;flex-direction:column;gap:.375rem;padding-left:1rem}.proj-row{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px}.proj-row .proj-header{flex:1 1 auto;min-width:0}.proj-row:hover,.proj-row:focus-within{background:var(--picked)}.proj-row.selected{background:var(--picked)}.proj-row .star:not(.on){opacity:0}.proj-row:hover .star,.proj-row .star:focus-visible{opacity:1}.proj-header{display:flex;align-items:center;gap:.5rem;min-width:0;font-size:.75rem;font-weight:500;color:var(--ink-soft);text-decoration:none}.proj-header img{flex:none}.proj-header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-row.selected .proj-header{color:var(--pink-deep)}.tree-empty{margin:0;font-size:.75rem;color:var(--ink-faint)}.shell{display:flex;flex-direction:column;gap:1.5rem;max-width:100%;margin:0;padding:2rem}.bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--rule)}.mark{font-weight:600;letter-spacing:-.01em}.page-head{display:flex;flex-direction:column;gap:.25rem;padding-bottom:1rem;border-bottom:1px solid var(--rule)}.page-head h1{margin:0;font-size:1.25rem;font-weight:700}.page-head p{margin:0;font-size:.8125rem;color:var(--ink-soft)}.action-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.field{width:320px;max-width:100%;padding:.375rem .625rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;font-size:.8125rem}.field::placeholder{color:var(--ink-faint)}.field:focus-visible{outline:2px solid var(--ink);outline-offset:-1px}.btn{padding:.5rem .875rem;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:#fff;font:inherit;font-size:.8125rem;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer}.btn:disabled{opacity:.5}.btn.quiet{background:var(--surface);color:var(--ink);border-color:var(--rule)}.data-table{width:100%;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;font-size:.8125rem}.data-table .thead,.data-table .row{display:flex;gap:1rem;padding:.75rem}.data-table .thead{background:var(--subtle);border-bottom:1px solid var(--rule);font-size:.75rem;font-weight:600;color:var(--ink-soft)}.data-table .row{border-bottom:1px solid var(--rule-soft);color:var(--ink-soft);text-decoration:none}.data-table .row:last-child{border-bottom:none}.data-table a.row:hover,.data-table a.row:focus-visible{background:var(--subtle)}.data-table .col-name{flex:1 1 0;min-width:0;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.data-table .strong{font-weight:500;color:var(--ink)}.data-table .right{text-align:right}.data-table .empty{padding:1.25rem .75rem;color:var(--ink-faint)}.data-table.projects .col-client{flex:0 0 240px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table.projects .col-status{flex:0 0 120px}.data-table.projects .col-tasks{flex:0 0 100px}.data-table.projects .col-hours{flex:0 0 140px;font-variant-numeric:tabular-nums}.btn-group{display:flex;align-items:center;gap:.75rem}.client-list{display:flex;flex-direction:column;gap:1rem}.client-group{border:1px solid var(--rule);border-radius:6px;overflow:hidden;line-height:normal}.client-header{display:flex;align-items:center;gap:1rem;padding:.875rem;background:var(--subtle);color:var(--ink);text-decoration:none}.client-header:hover .name,.client-header:focus-visible .name{text-decoration:underline}.client-header .name{flex:1 1 0;min-width:0;font-size:.875rem;font-weight:700;overflow-wrap:anywhere}.client-header .count{flex:0 0 120px;font-size:.8125rem;color:var(--ink-soft)}.client-header .total{flex:0 0 140px;text-align:right;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}.project-sublist{display:flex;flex-direction:column;border-top:1px solid var(--rule-soft)}.project-item{padding:.625rem .875rem .625rem 2rem;border-bottom:1px solid var(--rule-soft);font-size:.8125rem;color:var(--ink-soft);text-decoration:none;overflow-wrap:anywhere}.project-item:last-child{border-bottom:none}.project-item:hover,.project-item:focus-visible{background:var(--subtle);color:var(--ink)}@media(max-width:48rem){.client-header{flex-wrap:wrap}.client-header .count,.client-header .total{flex:0 0 auto;text-align:left}}.action-row.secondary{justify-content:flex-start;gap:1.5rem;font-size:.8125rem}@media(max-width:64rem){.data-table.projects .col-client{flex:0 0 9rem}.data-table.projects .col-status,.data-table.projects .col-tasks{display:none}}.who{font-size:.88rem;color:var(--ink-soft)}.hero{padding-top:3.5rem;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}h1{font-size:clamp(1.9rem,5vw,2.6rem);line-height:1.1;margin:0;letter-spacing:-.02em;text-wrap:balance}.lead{margin:0;color:var(--ink-soft);max-width:40ch}.muted{color:var(--ink-faint)}.facts{margin:1.5rem 0 0;display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);width:100%}.facts>div{background:var(--surface);padding:.85rem 1rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.facts dt{color:var(--ink-faint);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.facts dd{margin:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88rem}.facts .ok{color:var(--ok)}.centered{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.panel{background:var(--surface);border:1px solid var(--rule);padding:1.75rem;max-width:26rem;display:flex;flex-direction:column;gap:.75rem}.panel h1{font-size:1.3rem}.panel p{margin:0;color:var(--ink-soft)}button{align-self:flex-start;font:inherit;font-weight:500;color:var(--ground);background:var(--ink);border:1px solid var(--ink);padding:.5rem 1rem;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}a.mark{color:inherit;text-decoration:none}.cta{align-self:flex-start;display:inline-block;margin-top:.5rem;font-weight:500;color:var(--ground);background:var(--ink);border:1px solid var(--ink);padding:.5rem 1rem;text-decoration:none}.cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.link{align-self:flex-start;background:none;border:none;color:var(--ink-soft);padding:.5rem 0;text-decoration:underline;text-underline-offset:3px}.form{margin-top:1.5rem;width:100%;max-width:30rem;display:flex;flex-direction:column;gap:1.25rem}.form label{display:flex;flex-direction:column;gap:.35rem}.form label>span{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.form input,.form select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);padding:.55rem .7rem;width:100%}.form input:focus-visible,.form select:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.form small{color:var(--ink-faint);font-size:.8rem}.form code{font-family:ui-monospace,SF Mono,Menlo,monospace}.shell.wide{max-width:62rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:.5rem 0 0}.cta.small{padding:.35rem .75rem;font-size:.88rem}.cta.ghost{background:none;color:var(--ink);border-color:var(--rule)}.listing{padding-top:2.5rem;display:flex;flex-direction:column;gap:1.5rem}.listing-head{display:flex;flex-direction:column;gap:.3rem}.listing-head h1{font-size:clamp(1.6rem,4vw,2.1rem)}.listing-head p{margin:0;font-size:.9rem}.search{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);padding:.6rem .8rem;width:100%;max-width:26rem}.search:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.bar-right{display:flex;align-items:center;gap:1rem}.toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.client{display:flex;flex-direction:column}.client h2{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin:0;padding-bottom:.4rem;border-bottom:1px solid var(--rule);font-size:1.02rem;font-weight:600}.client .disclosure{align-self:auto;display:flex;align-items:baseline;gap:.5rem;background:none;border:none;padding:.35rem 0;margin:0;color:var(--ink);font:inherit;font-weight:600;cursor:pointer;text-align:left}.client .disclosure:hover .client-name{color:var(--accent)}.client .chevron{display:inline-block;color:var(--ink-faint);font-size:1.05rem;line-height:1;transition:transform .12s ease}.client .chevron.open{transform:rotate(90deg)}.client .meta{font-size:.8rem;font-weight:400;color:var(--ink-faint);font-variant-numeric:tabular-nums}.projects-nested{list-style:none;margin:0;padding:0}.projects-nested li{display:grid;grid-template-columns:1fr auto auto auto;gap:.5rem 1rem;align-items:baseline;padding:.5rem 0;border-bottom:1px solid var(--rule);font-size:.92rem}.projects-nested li:last-child{border-bottom:none}.projects-nested .row-main{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;align-items:baseline;min-width:0;color:inherit;text-decoration:none}.projects-nested .row-main:hover .title,.projects-nested .row-main:focus-visible .title{color:var(--accent);text-decoration:underline}.projects-nested .num{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.84rem;color:var(--accent);font-variant-numeric:tabular-nums}.projects-nested .title{min-width:0;overflow-wrap:anywhere}.projects-nested .tasks,.projects-nested .time{font-size:.82rem;color:var(--ink-faint);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.projects-nested .open{font-size:.8rem;color:var(--ink-faint);text-decoration:none;white-space:nowrap}.projects-nested .open:hover,.projects-nested .open:focus-visible{color:var(--accent);text-decoration:underline}.empty-clients .names{font-size:.85rem;line-height:1.8;margin:.4rem 0 0}@media(max-width:40rem){.projects li{grid-template-columns:1fr;row-gap:.15rem}.projects .row-main{grid-template-columns:6rem 1fr;gap:.6rem}.projects .tasks,.projects .time,.projects .open{grid-column:1;text-align:left}.tasks-list li{grid-template-columns:1fr;row-gap:.3rem}.tasks-list .status,.tasks-list .time{justify-self:start;text-align:left}}.crumbs{padding-top:1.25rem}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .4rem;font-size:.82rem}.crumbs li{display:flex;align-items:baseline;gap:.4rem}.crumbs a{color:var(--ink-faint);text-decoration:none}.crumbs a:hover,.crumbs a:focus-visible{color:var(--accent);text-decoration:underline}.crumbs span[aria-current=page]{color:var(--ink);font-weight:500}.crumbs .sep{color:var(--rule)}.client-open{color:var(--ink-faint);text-decoration:none}.client-open:hover,.client-open:focus-visible{color:var(--accent);text-decoration:underline}.group-link{color:inherit;text-decoration:none}.group-link:hover,.group-link:focus-visible{color:var(--accent);text-decoration:underline}.task-name.link{color:inherit;text-decoration:none}.task-name.link:hover,.task-name.link:focus-visible{color:var(--accent);text-decoration:underline}.status-editor{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--rule)}.status-editor label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.status-editor select{font:inherit;color:var(--ink);background:var(--ground);border:1px solid var(--rule);padding:.4rem .6rem}.status-editor select:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.status-editor select:disabled{opacity:.5}.small-note{font-size:.8rem}.timer{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--rule);border-radius:4px;background:var(--surface)}.timer.live{border-color:var(--accent)}.timer .elapsed{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.35rem;font-variant-numeric:tabular-nums;color:var(--accent);line-height:1}.tabs{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;font-size:.92rem}.tabs a{color:var(--ink-soft);text-decoration:none;padding:.2rem 0;border-bottom:2px solid transparent}.tabs a:hover,.tabs a:focus-visible{color:var(--accent)}.tabs a.here{color:var(--ink);border-bottom-color:var(--accent)}.views{display:flex;gap:.75rem}.views button.link{padding:0;text-decoration:none;color:var(--ink-soft)}.views button.link.here{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.toggle{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--ink-soft)}.rows{list-style:none;margin:0;padding:0}.rows li{display:grid;grid-template-columns:1fr 12rem auto auto;gap:.4rem 1rem;align-items:baseline;padding:.5rem 0;border-bottom:1px solid var(--rule);font-size:.92rem}.rows li:last-child{border-bottom:none}.rows .row-main{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;align-items:baseline;min-width:0;color:inherit;text-decoration:none}.rows .row-main:hover .title,.rows .row-main:focus-visible .title{color:var(--accent);text-decoration:underline}.rows .num{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.84rem;color:var(--accent);font-variant-numeric:tabular-nums}.rows .title{min-width:0;overflow-wrap:anywhere}.rows .client-of,.rows .tasks,.rows .time{font-size:.82rem;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rows .tasks,.rows .time{font-variant-numeric:tabular-nums;text-align:right}.rows.clients li{grid-template-columns:1fr auto auto}@media(max-width:48rem){.rows li{grid-template-columns:1fr auto}.rows .row-main{grid-column:1/-1;grid-template-columns:6rem 1fr}.rows .client-of{grid-column:1}}.head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.6rem}.edit-panel{display:flex;flex-wrap:wrap;gap:.9rem 1.2rem;padding:1rem;border:1px solid var(--rule);border-radius:4px;background:var(--surface)}.edit-panel label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--ink-soft);flex:1 1 12rem}.edit-panel input{font:inherit;color:var(--ink);background:var(--ground);border:1px solid var(--rule);padding:.45rem .6rem}.edit-panel input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.edit-panel input[type=date]{max-width:11rem}.edit-panel>.error,.edit-panel>.small-note{flex:1 1 100%;margin:0}.edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;flex:1 1 100%}.edit-actions button[type=submit]{padding:.45rem .9rem;font-size:.9rem}.inline-form.compact input{min-width:0;flex:0 1 auto}.inline-form.compact input[type=date]{width:9.5rem}.inline-form.compact input[name=entryDuration]{width:12rem}.inline-form.compact input[name=entryNote]{flex:1 1 12rem}.add-row{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.inline-form input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);padding:.45rem .6rem;min-width:16rem;flex:1 1 16rem}.inline-form input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.inline-form button[type=submit]{align-self:auto;padding:.45rem .9rem;font-size:.9rem}.ok{color:var(--ok)}.pad{padding-top:2.5rem}.detail{padding-top:2.5rem;display:flex;flex-direction:column;gap:2rem}.detail-head{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.detail-head h1{font-size:clamp(1.5rem,4vw,2rem);margin:0}.detail-head p{margin:0;font-size:.9rem}.detail-head .cta{margin-top:.6rem}.num.big{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9rem;letter-spacing:.04em;color:var(--accent)}.group{display:flex;flex-direction:column}.group h2{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin:0 0 .2rem;padding-bottom:.4rem;border-bottom:1px solid var(--rule);font-size:1rem;font-weight:600}.group .meta{font-size:.8rem;font-weight:400;color:var(--ink-faint);font-variant-numeric:tabular-nums}.empty-row{font-size:.88rem;padding:.6rem 0;margin:0}.tasks-list{list-style:none;margin:0;padding:0}.tasks-list li{display:grid;grid-template-columns:1fr auto auto auto;gap:.5rem 1rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--rule);font-size:.92rem}.tasks-list li:last-child{border-bottom:none}.tasks-list .task-name{min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:.1rem}.tasks-list .task-name .ctx{font-size:.78rem;color:var(--ink-faint)}.tasks-list .time{font-size:.82rem;color:var(--ink-faint);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.status{justify-self:end;font-size:.76rem;font-weight:600;letter-spacing:.01em;padding:.2rem .55rem;border-radius:3px;white-space:nowrap;color:#fff;background:#7a8095}.status[data-status=none]{color:var(--ink-faint);background:none;border:1px dashed var(--rule);font-weight:400}.weeknav{display:inline-flex;gap:.35rem}.weeknav button{align-self:auto;background:var(--surface);color:var(--ink);border:1px solid var(--rule);padding:.4rem .7rem;font-size:.88rem}.weeknav button:hover{border-color:var(--accent);color:var(--accent)}.toolbar select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);padding:.45rem .6rem}.toolbar select:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.day{display:flex;flex-direction:column}.day h2{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 .2rem;padding-bottom:.4rem;border-bottom:1px solid var(--rule);font-size:.98rem;font-weight:600}.day .meta{font-size:.85rem;font-weight:500;color:var(--ink-faint);font-variant-numeric:tabular-nums}.entries{list-style:none;margin:0;padding:0}.entries li{display:grid;grid-template-columns:7.5rem 1fr auto;gap:.4rem 1rem;align-items:baseline;padding:.45rem 0;border-bottom:1px solid var(--rule);font-size:.9rem}.entries li:last-child{border-bottom:none}.entries .clock{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem;color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.entries .where{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .55rem;min-width:0}.entries .ctx{color:var(--ink-faint);font-size:.82rem}.entries .num{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.78rem;color:var(--accent)}.entries .task-name{overflow-wrap:anywhere}.entries .time{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:.85rem}.entries button.link{padding:0;font-size:.82rem}.tag.personal{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);border:1px solid var(--rule);border-radius:3px;padding:.05rem .35rem}@media(max-width:40rem){.entries li{grid-template-columns:1fr auto}.entries .clock{grid-column:1/-1}}.status[data-status=to_be_started]{background:#d0656e}.status[data-status=in_progress]{background:#e1804f}.status[data-status=with_client]{background:#c9992f}.status[data-status=completed]{background:#3f9c62}.status[data-status=to_be_invoiced]{background:#5b87dc}.status[data-status=cross_checked]{background:#9a68cc}.status[data-status=invoiced]{background:#7c5fcc}.error{margin:0;color:#b3261e;font-size:.9rem}@media(prefers-color-scheme:dark){.error{color:#f2b8b5}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:70px;padding:0 2rem;border-bottom:1px solid var(--card-rule);background:var(--surface)}.topbar .where{font-size:.875rem;font-weight:500;color:var(--ink)}.topbar .me{width:36px;height:36px;font-size:.8125rem}.topbar-right{display:flex;align-items:center;gap:1rem}.notif-wrap{position:relative}.notif-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--rule);border-radius:6px;background:var(--surface);cursor:pointer}.notif-bell:hover{background:var(--rule-soft)}.notif-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:999px;background:#dc2626;border:1.5px solid var(--surface)}.notif-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:80;width:21rem;max-height:26rem;overflow-y:auto;display:flex;flex-direction:column;padding:.5rem;border:1px solid var(--card-rule);border-radius:10px;background:var(--surface);box-shadow:0 12px 32px #0f172a33}.notif-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.375rem .5rem .625rem}.notif-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;color:var(--ink)}.notif-badge{padding:.0625rem .4375rem;border-radius:999px;background:var(--pink);font-size:.6875rem;font-weight:700;color:#fff}.notif-empty{margin:.5rem;font-size:.8125rem;color:var(--ink-faint)}.notif-item{display:flex;align-items:flex-start;gap:.625rem;padding:.625rem .5rem;border-radius:8px;text-decoration:none;color:inherit}.notif-item:hover{background:var(--page)}.notif-item.unread,.notif-item.unread:hover{background:var(--picked)}.notif-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--rule-soft);font-size:.6875rem;font-weight:700;color:var(--ink-soft)}.notif-body{display:flex;flex-direction:column;gap:.1875rem;min-width:0}.notif-text{font-size:.8125rem;line-height:1.35;color:var(--ink)}.notif-when{font-size:.6875rem;color:var(--ink-faint)}.notif-viewall{margin-top:.25rem;padding:.625rem .5rem .375rem;border-top:1px solid var(--rule-soft);font-size:.8125rem;font-weight:600;color:var(--pink);text-align:center;text-decoration:none}.notif-viewall:hover{text-decoration:underline}.page{padding:2.5rem;background:var(--page);min-height:calc(100vh - 70px);display:flex;flex-direction:column;gap:1.5rem}.page-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-title .text{display:flex;flex-direction:column;gap:.25rem;line-height:normal}.page-title h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--ink)}.page-title p{margin:0;font-size:.875rem;color:var(--ink-soft)}.page-title .buttons{display:flex;align-items:center;gap:.75rem}.btn-primary,.btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font:inherit;font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;border:1px solid transparent}.btn-primary{border-radius:8px;background:var(--pink-btn);color:#fff}.btn-primary:disabled{opacity:.55}.btn-outline{border-radius:6px;border-color:var(--rule);background:var(--surface);color:var(--ink-soft);transition:background-color 90ms ease,border-color 90ms ease}.btn-outline:hover:not(:disabled),.btn-outline:focus-visible:not(:disabled){background:var(--rule-soft);border-color:var(--rule);color:var(--ink)}.btn-outline:active:not(:disabled){background:#e2e8f0;border-color:var(--ink-faint)}.btn-outline:disabled{opacity:.55}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.375rem;height:2.375rem;padding:0;border:1px solid var(--rule);border-radius:6px;background:var(--surface);cursor:pointer;transition:background-color 90ms ease,border-color 90ms ease}.icon-btn:hover:not(:disabled),.icon-btn:focus-visible:not(:disabled){background:var(--rule-soft);border-color:var(--rule)}.icon-btn:disabled{opacity:.55;cursor:default}.wide-search{display:flex;align-items:center;gap:.75rem;height:42px;padding:0 .75rem;border:1px solid var(--card-rule);border-radius:8px;background:var(--surface)}.wide-search img{flex:none}.wide-search input{flex:1 1 0;min-width:0;border:none;background:none;font:inherit;font-size:.875rem;color:var(--ink)}.wide-search input::placeholder{color:var(--ink-faint)}.wide-search input:focus{outline:none}.wide-search:focus-within{border-color:var(--ink-faint)}.card-list{display:flex;flex-direction:column;gap:.75rem}.project-card{border:1px solid var(--card-rule);border-radius:12px;overflow:hidden;background:var(--surface);line-height:normal}.card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1.25rem;border:none;background:var(--page);font:inherit;text-align:left;cursor:pointer}.card-head .info{display:flex;align-items:center;gap:1rem;min-width:0}.card-head .chev{flex:none;transform:rotate(-90deg);transition:transform .15s ease}.card-head .chev.open{transform:none}.card-head .text{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0}.card-head .name{font-size:1.125rem;font-weight:600;color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.card-head .name:hover,.card-head .name:focus-visible{color:var(--pink);text-decoration:underline}.card-head .metrics{display:flex;align-items:center;gap:2rem;flex:none;font-size:.875rem;white-space:nowrap}.card-head .count{color:var(--ink-soft)}.card-head .total{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.client-pill{padding:.125rem .5rem;border-radius:4px;background:var(--rule-soft);font-size:.6875rem;font-weight:600;color:var(--ink-soft)}.card-tasks{border-top:1px solid var(--card-rule)}.task-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2.5rem;border-bottom:1px solid var(--card-rule);background:var(--surface);color:inherit;text-decoration:none}.task-row:last-child{border-bottom:none}.task-row:hover,.task-row:focus-visible{background:var(--page)}.task-row .title{font-size:.875rem;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.task-row .doing{display:flex;align-items:center;gap:1.5rem;flex:none}.task-row .tracked{font-size:.75rem;font-weight:500;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.task-row .empty-note{padding:0;font-size:.8125rem;color:var(--ink-faint)}.pill{padding:.25rem .625rem;border-radius:6px;background:var(--rule-soft);color:var(--ink-soft);font-size:.75rem;font-weight:700;white-space:nowrap}.pill.live{background:var(--pink-soft);color:var(--pink-btn)}.project-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;line-height:normal}.project-head .who{display:flex;flex-direction:column;gap:.375rem;min-width:0}.project-head .title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.project-head h1{margin:0;font-size:1.75rem;font-weight:700;color:var(--ink)}.project-head .sub{margin:0;font-size:.875rem;color:var(--ink-soft)}.project-head .actions{display:flex;align-items:center;gap:.75rem}.btn-pink{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1rem;border:1px solid transparent;border-radius:6px;background:var(--pink-deep);color:#fff;font:inherit;font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color 90ms ease}.btn-pink:hover:not(:disabled),.btn-pink:focus-visible:not(:disabled){background:#db2777}.btn-pink:active:not(:disabled){background:#be185d}.btn-pink:disabled{opacity:.55}.btn-pink.danger{background:#b91c1c}.btn-pink.danger:hover:not(:disabled),.btn-pink.danger:focus-visible:not(:disabled){background:#991b1b}.btn-pink.danger:active:not(:disabled){background:#7f1d1d}.tag{padding:.25rem .5rem;border-radius:4px;background:var(--picked);color:var(--ink-soft);font-size:.75rem;font-weight:600;white-space:nowrap}.tag.pink{color:var(--pink)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.stat{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;border:1px solid var(--card-rule);border-radius:8px;background:var(--surface);line-height:normal}.stat .label{font-size:.8125rem;font-weight:600;color:var(--ink-soft)}.stat .value{font-size:1.75rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.stat .meter,.stat .note,.stat .avatars{margin-top:-.25rem}.stat .meter{display:block;height:6px;border-radius:3px;background:var(--rule-soft);overflow:hidden}.stat .meter-fill{display:block;height:100%;background:var(--pink)}.stat .note{font-size:.8125rem;color:var(--ink-faint)}.stat .note.late{color:#b3261e}.stat .avatars{display:flex}.stat .avatar+.avatar{margin-left:-8px}.stat-btn{width:100%;font:inherit;text-align:left;cursor:pointer;appearance:none}.stat-btn:hover,.stat-btn:focus-visible{border-color:var(--pink);outline:none}.stat-btn .note.pink{color:var(--pink);font-weight:600}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:50%;border:2px solid var(--surface);background:var(--ink-faint);color:#fff;font-size:.625rem;font-weight:700}.avatar.small{border-width:0}.group-card{border:1px solid var(--card-rule);border-radius:8px;overflow:hidden;background:var(--surface);line-height:normal}.group-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1rem 1.5rem 1rem 1rem;border:none;border-left:4px solid transparent;background:var(--surface);font:inherit;text-align:left;cursor:pointer}.group-head:hover{background:var(--page)}.group-head .group-toggle{display:flex;align-items:center;gap:.75rem;min-width:0}.group-head .group-name{font-size:1rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-head .badge{padding:.125rem .375rem;border-radius:4px;background:var(--rule-soft);font-size:.6875rem;font-weight:600;color:var(--ink-soft);white-space:nowrap}.group-head .group-right{display:flex;align-items:center;gap:.75rem;flex:none}.group-head .time-pill{padding:.25rem .5rem;border-radius:4px;background:var(--rule-soft);font-size:.8125rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.group-head .chevron.up{transform:scaleY(-1)}.group-head-row{display:flex;align-items:center;gap:.5rem;padding-right:.75rem}.group-head-row .group-head{flex:1 1 auto;min-width:0}.group-check{flex:none;padding-left:1rem}.group-menu-btn{flex:none}.group-card.group-selected{outline:2px solid var(--pink);outline-offset:-2px}.select-all-groups{margin-left:auto}.row-menu-rename{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem .375rem}.row-menu-rename input{flex:1 1 auto;min-width:0;padding:.3125rem .5rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font:inherit;font-size:.8125rem;color:var(--ink)}.row-menu-rename input:focus{outline:none;border-color:var(--pink)}.row-menu-colors{display:flex;flex-wrap:wrap;gap:.5rem;padding:.25rem .625rem .375rem}.color-swatch{width:1.5rem;height:1.5rem;padding:0;border:2px solid transparent;border-radius:999px;cursor:pointer}.color-swatch:hover:not(:disabled),.color-swatch:focus-visible:not(:disabled){border-color:var(--ink)}.color-swatch:disabled{opacity:.5;cursor:default}.task-table{border-top:1px solid var(--card-rule)}.meta-row,.task-line,.add-task-line{display:flex;align-items:center;gap:1rem;padding:.875rem 1.5rem}.meta-row{background:var(--page);border-bottom:1px solid var(--card-rule);font-size:.6875rem;font-weight:600;color:var(--ink-soft)}.task-line{border-bottom:1px solid var(--card-rule);color:inherit;text-decoration:none}.task-line:hover,.task-line:focus-visible{background:var(--page)}.c-name{flex:1 1 0;min-width:14rem;font-size:.875rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-date,.c-due{flex:0 0 120px;font-size:.8125rem;color:var(--ink-soft)}.c-time{flex:0 0 120px;font-size:.8125rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.c-who{display:flex;align-items:center;gap:.5rem;flex:0 0 180px;min-width:0;font-size:.8125rem;color:var(--ink-soft)}.c-who .who-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-who .more{color:var(--ink-faint)}.c-status{flex:0 0 140px}.c-type{flex:0 0 120px;text-transform:capitalize}.task-row-grid{display:grid!important;grid-template-columns:1.5rem minmax(10rem,1.6fr) 4.5rem 6rem 9rem 8rem 5rem 6rem 5.5rem minmax(8rem,1fr) 2rem;align-items:center;gap:.75rem}.task-row-grid .c-name,.task-row-grid .c-date,.task-row-grid .c-time,.task-row-grid .c-who,.task-row-grid .c-status,.task-row-grid .c-due,.task-row-grid .c-type{flex:none;min-width:0}.c-check{display:flex;align-items:center;justify-content:center}.c-check input{width:.9375rem;height:.9375rem;accent-color:var(--pink);cursor:pointer}.c-link,.c-msg,.c-actions{min-width:0}.link-select{width:100%;padding:.25rem .375rem;border:1px solid transparent;border-radius:6px;background:none;font:inherit;font-size:.75rem;font-weight:600;color:var(--pink);cursor:pointer}.link-select:hover,.link-select:focus{border-color:var(--rule);outline:none}.row-message{width:100%;padding:.3125rem .5rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font:inherit;font-size:.75rem;color:var(--ink)}.row-message::placeholder{color:var(--ink-faint)}.row-message:focus{outline:none;border-color:var(--pink)}.c-actions{position:relative;display:flex;justify-content:center}.row-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font-size:1rem;line-height:1;letter-spacing:.0625rem;color:var(--ink-soft);cursor:pointer}.row-menu-btn:hover,.row-menu-btn:focus-visible{border-color:var(--pink);color:var(--pink)}.row-menu{position:fixed;z-index:70;display:flex;flex-direction:column;min-width:9rem;padding:.375rem;border:1px solid var(--card-rule);border-radius:8px;background:var(--surface);box-shadow:0 12px 28px #0f172a2e}.row-menu button{padding:.4375rem .625rem;border:none;border-radius:6px;background:none;font:inherit;font-size:.8125rem;text-align:left;color:var(--ink);cursor:pointer}.row-menu button:hover{background:var(--rule-soft)}.row-menu button.danger{color:#b91c1c}.row-menu button.quiet{color:var(--ink-faint)}.row-menu .row-menu-label{margin:.125rem .625rem .25rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint)}.row-menu .row-menu-sublabel{margin:.5rem .625rem .1875rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint)}.row-menu .row-menu-note{margin:.25rem .625rem;font-size:.75rem;color:var(--ink-faint)}.row-menu.wide{width:15rem;max-height:22rem}.row-menu-search{display:flex;align-items:center;gap:.375rem;margin:0 .375rem .25rem;padding:.3125rem .5rem;border:1px solid var(--rule);border-radius:6px;background:var(--page)}.row-menu-search input{flex:1 1 auto;min-width:0;border:none;background:none;font:inherit;font-size:.75rem;color:var(--ink)}.row-menu-search input:focus{outline:none}.row-menu-scroll{overflow-y:auto;max-height:11rem}.move-project-row{display:flex;flex-direction:column}.move-project-btn{display:flex!important;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.move-project-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.move-project-btn .chevron{flex:none;transition:transform 90ms ease}.move-project-btn .chevron.up{transform:scaleY(-1)}.move-project-groups{display:flex;flex-direction:column;padding-left:.75rem;border-left:2px solid var(--rule-soft);margin:0 .625rem .25rem}.move-create-project{color:var(--pink)!important;font-weight:600!important}.contacts-popover{width:20rem;max-height:24rem;overflow-y:auto;padding:.75rem}.contacts-popover .modal-head{margin-bottom:.5rem}.contact-row,.quick-add-row{display:flex;align-items:center;gap:.625rem;padding:.5rem .25rem;border-bottom:1px solid var(--rule-soft)}.contact-row:last-child,.quick-add-row:last-child{border-bottom:none}.contact-who{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;gap:.0625rem}.contact-who strong{font-size:.8125rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-ways{display:flex;align-items:center;gap:.375rem;flex:none}.contact-ways a{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--rule);border-radius:6px}.contact-ways a:hover{background:var(--rule-soft)}.quick-add-list{max-height:16rem;overflow-y:auto;margin:.5rem 0}.icon-btn.small{width:1.75rem;height:1.75rem;font-size:1rem;line-height:1;color:var(--pink);font-weight:700}.bulk-move-menu{position:absolute;bottom:calc(100% + .5rem);right:8rem}.archived-row{opacity:.65;background:var(--page)}.archived-toggle{display:flex;align-items:center;gap:.4375rem;cursor:pointer}.archived-toggle input{accent-color:var(--pink);cursor:pointer}.bulk-bar{position:fixed;left:50%;bottom:1.5rem;z-index:60;display:flex;align-items:center;gap:1.25rem;padding:.625rem 1rem;border:1px solid var(--card-rule);border-radius:999px;background:var(--surface);box-shadow:0 12px 32px #0f172a33;transform:translate(-50%)}.bulk-select-all{display:flex;align-items:center;gap:.4375rem;font-size:.8125rem;font-weight:600;color:var(--ink);cursor:pointer}.bulk-select-all input{accent-color:var(--pink);cursor:pointer}.bulk-count{padding:.1875rem .625rem;border-radius:999px;background:var(--pink);font-size:.75rem;font-weight:700;color:#fff;white-space:nowrap}.bulk-actions{display:flex;align-items:center;gap:.5rem}.bulk-actions button{display:inline-flex;align-items:center;gap:.3125rem;padding:.375rem .625rem;border:none;border-radius:6px;background:none;font:inherit;font-size:.8125rem;font-weight:600;color:var(--ink-soft);cursor:pointer;white-space:nowrap}.bulk-actions button:hover:not(:disabled){background:var(--rule-soft);color:var(--ink)}.bulk-actions button.danger{color:#b91c1c}.bulk-actions button:disabled{opacity:.5;cursor:default}.bulk-close{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:999px;background:var(--rule-soft);cursor:pointer}.bulk-close:hover{background:var(--rule)}.meta-row .c-name,.meta-row .c-time{font-weight:600;color:var(--ink-faint)}.add-task-line{gap:1rem}.add-task-line input{flex:1 1 0;min-width:0;border:none;background:none;font:inherit;font-size:.875rem;color:var(--ink)}.add-task-line input::placeholder{color:var(--ink-faint)}.add-task-line input:focus{outline:none}.add-task-line .add-task{display:inline-flex;align-items:center;gap:.5rem;padding:0;border:none;background:none;font:inherit;font-size:.875rem;font-weight:600;color:var(--pink-deep);white-space:nowrap;cursor:pointer}.add-task-line .add-task:disabled{opacity:.5;cursor:default}@media(max-width:70rem){.task-table{overflow-x:auto}.meta-row,.task-line,.add-task-line{min-width:60rem}}.page.dash{gap:1.5rem}.page-actions{display:flex;justify-content:flex-end}.stat .note{font-size:.6875rem;color:var(--ink-faint)}.panel-card{border:1px solid var(--card-rule);border-radius:8px;background:var(--surface);line-height:normal}.panel-card>*:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--card-rule)}.panel-head .panel-title{display:flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:700;color:var(--ink)}.panel-head .badge{padding:.125rem .375rem;border-radius:4px;background:var(--page);font-size:.6875rem;font-weight:600;color:var(--ink-soft)}.panel-head .panel-link{font-size:.8125rem;font-weight:600;color:var(--pink);text-decoration:none;white-space:nowrap}.panel-head .panel-link:hover,.panel-head .panel-link:focus-visible{text-decoration:underline}.panel-card .empty-note{margin:0;padding:1.25rem 1.5rem;font-size:.875rem;color:var(--ink-faint)}.panel-card .task-line:nth-of-type(2n){background:#fafafb}.dash-cols .d-name{display:flex;flex-direction:column;gap:.25rem;flex:1 1 0;min-width:16rem}.dash-cols .t-name{font-size:.875rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-cols .t-sub{font-size:.75rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-cols .d-client,.dash-cols .d-due{flex:0 0 150px;font-size:.8125rem;color:var(--ink)}.dash-cols .d-due{flex-basis:120px}.dash-cols .d-status{flex:0 0 120px}.dash-cols .d-time{flex:0 0 120px;font-size:.8125rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.dash-cols .d-who{display:flex;align-items:center;gap:.5rem;flex:0 0 180px;min-width:0;font-size:.8125rem;color:var(--ink-soft)}.dash-cols .d-who .who-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-row.dash-cols{padding:.625rem 1.5rem}.task-line.dash-cols{padding:.875rem 1.5rem}@media(max-width:70rem){.dash-cols{min-width:62rem}}.page.split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.5rem;align-items:start}.timesheet{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.week-nav{display:flex;align-items:center;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--surface)}.week-nav button{padding:.4375rem .75rem;border:none;background:none;font:inherit;font-size:.875rem;color:var(--ink-soft);cursor:pointer}.week-nav button:hover,.week-nav button:focus-visible{background:var(--page)}.week-nav .now{padding-inline:1rem;border-inline:1px solid var(--rule);font-weight:600;color:var(--ink)}.daily-log{border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--surface);line-height:normal}.day-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem 1.25rem;background:var(--page);border-bottom:1px solid var(--rule);font-size:.8125rem}.day-header .day-label{font-weight:600;color:var(--ink)}.day-header .day-total{color:var(--ink-soft);font-variant-numeric:tabular-nums}.entry{display:flex;align-items:center;gap:1rem;padding:.625rem 1.25rem;border-bottom:1px solid var(--rule)}.entry:last-child{border-bottom:none}.entry .range{flex:0 0 110px;font-size:.75rem;color:#64748b;font-variant-numeric:tabular-nums}.entry .entry-info{display:flex;align-items:center;gap:.375rem;flex:1 1 0;min-width:0}.entry .what{font-size:.8125rem;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry .num{flex:none;font-size:.75rem;font-weight:600;color:var(--pink)}.entry .ctx{flex:none;font-size:.75rem;color:var(--ink-faint)}.entry .dur{flex:0 0 48px;text-align:right;font-size:.8125rem;font-weight:600;color:var(--ink-soft);font-variant-numeric:tabular-nums}.summary-rail{display:flex;flex-direction:column;gap:1.5rem;line-height:normal}.summary-rail .rail-label{margin:0;font-size:.8125rem;font-weight:700;text-transform:uppercase;color:var(--ink-soft)}.big-metric{display:flex;flex-direction:column;gap:.375rem}.big-metric .big{font-size:2.25rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.big-metric .under{font-size:.75rem;color:var(--ink-soft)}.alert-box{display:flex;align-items:center;gap:.625rem;padding:.75rem;border:1px solid #bfdbfe;border-radius:6px;background:var(--picked);font-size:.75rem;color:var(--pink)}.alert-box img{flex:none}.weekly-widget{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;border:1px solid var(--rule);border-radius:12px;background:var(--surface)}.weekly-widget .widget-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:600}.weekly-widget .widget-head .title{font-size:1.125rem;color:var(--ink)}.weekly-widget .widget-head .total{font-size:.875rem;color:var(--pink-btn);font-variant-numeric:tabular-nums}.weekly-widget .chart{display:flex;align-items:flex-end;justify-content:center;gap:.75rem;min-height:160px;padding-top:1.25rem}.weekly-widget .bar-col{display:flex;flex:1 1 0;flex-direction:column;align-items:center;gap:.5rem;min-width:0}.weekly-widget .bar-value{font-size:.625rem;font-weight:600;color:var(--ink-soft)}.weekly-widget .bar-value.met{color:var(--pink-btn)}.weekly-widget .bar-stack{display:flex;flex-direction:column;justify-content:flex-end;width:100%}.weekly-widget .bar-over{width:100%;margin-bottom:3px;border-radius:4px;background:var(--pink)}.weekly-widget .bar-track{position:relative;flex:none;width:100%;height:100px;border-radius:4px;background:var(--rule);overflow:hidden}.weekly-widget .bar-fill{position:absolute;right:0;bottom:0;left:0;background:var(--pink-btn)}.weekly-widget .bar-label{font-size:.75rem;font-weight:500;color:var(--ink-faint)}@media(max-width:70rem){.page.split{grid-template-columns:minmax(0,1fr)}}.tag-select{appearance:none;max-width:100%;padding:.25rem 1.25rem .25rem .5rem;border:1px solid transparent;border-radius:4px;background:var(--picked) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 4l3 3 3-3' fill='none' stroke='%23475569' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right .375rem center;font:inherit;font-size:.75rem;font-weight:600;color:var(--ink-soft);cursor:pointer}.tag-select:hover:not(:disabled){border-color:var(--rule)}.tag-select:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.tag-select.pink{color:var(--pink)}.tag-select.blank{background-color:transparent;color:var(--ink-faint)}.tag-select.busy,.tag-select:disabled{opacity:.6;cursor:default}.task-line .d-name{color:inherit;text-decoration:none}.task-line a.d-name:hover .t-name,.task-line a.d-name:focus-visible .t-name{text-decoration:underline}.task-time{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.time-button{padding:0;border:none;background:none;font:inherit;font-size:.8125rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.time-button:hover,.time-button:focus-visible{color:var(--pink)}.entries-popup{position:fixed;z-index:60;display:flex;flex-direction:column;gap:.75rem;width:314px;max-width:calc(100vw - 2rem);padding:1rem;border:1px solid var(--card-rule);border-radius:8px;background:var(--surface);box-shadow:0 8px 12px #0f172a14;text-align:left;cursor:default;line-height:normal}.entries-popup .popup-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.entries-popup .popup-title{font-size:.75rem;font-weight:700;color:#111827}.entries-popup .popup-close{display:flex;padding:.25rem;border:none;background:none;cursor:pointer;opacity:.6}.entries-popup .popup-close:hover{opacity:1}.entries-popup .popup-entries{display:flex;flex-direction:column;gap:.5rem;max-height:11rem;overflow-y:auto}.entries-popup .popup-entry{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem;border-radius:8px;background:var(--page)}.entries-popup .when{width:72px;font-size:.75rem;color:#4b5563}.entries-popup .who{flex:1 1 auto;display:flex;justify-content:center}.entries-popup .howlong{width:72px;font-size:.75rem;font-weight:600;color:#111827;font-variant-numeric:tabular-nums}.entries-popup .popup-x{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--rule);border-radius:10px;background:var(--rule-soft);cursor:pointer}.entries-popup .popup-x:disabled{opacity:.5;cursor:default}.entries-popup .popup-x.locked{border-color:transparent;background:none;cursor:default}.entries-popup .popup-divider{height:1px;background:var(--card-rule)}.entries-popup .popup-add{display:flex;flex-direction:column;gap:.75rem}.entries-popup .popup-methods{display:flex;align-items:flex-start;gap:.5rem}.entries-popup .popup-field{display:flex;flex:1 1 0;flex-direction:column;gap:.375rem;min-width:0;font-size:.75rem;font-weight:600;color:#111827}.entries-popup .popup-field input{width:100%;padding:.5rem;border:1px solid var(--card-rule);border-radius:8px;background:var(--surface);font:inherit;font-size:.75rem;font-weight:400;color:var(--ink)}.entries-popup .popup-field input::placeholder{color:#9ca3af}.entries-popup .popup-fromto{display:flex;gap:.25rem}.entries-popup .popup-note{margin:0;font-size:.75rem;color:var(--ink-faint)}.entries-popup .popup-save{align-self:stretch;text-align:center;padding:.625rem .75rem;border:none;border-radius:8px;background:var(--picked);font:inherit;font-size:.75rem;font-weight:600;color:#db2777;cursor:pointer}.entries-popup .popup-save:disabled{opacity:.5;cursor:default}.board-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mode-switch{display:flex;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--page)}.mode-switch button{padding:.4375rem .875rem;border:none;background:none;font:inherit;font-size:.8125rem;font-weight:600;color:var(--ink-soft);cursor:pointer}.mode-switch button.on{background:var(--surface);color:var(--pink)}.tpl-cols .t-name{display:flex;align-items:center;gap:.5rem;flex:1 1 0;min-width:14rem;font-size:.875rem;font-weight:600;color:var(--ink)}.tpl-cols .dot{flex:none;width:6px;height:6px;border-radius:50%}.tpl-cols .t-freq,.tpl-cols .t-sched{flex:0 0 160px;font-size:.8125rem;color:var(--ink-soft)}.tpl-cols .t-active{display:flex;align-items:center;gap:.75rem;flex:0 0 180px}.meta-row.tpl-cols .t-name{font-weight:600;color:var(--ink-soft)}.switch{flex:none;width:34px;height:20px;padding:2px;border:none;border-radius:10px;background:var(--rule);cursor:pointer;transition:background .15s ease}.switch .knob{display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}.switch.on{background:var(--pink-btn)}.switch.on .knob{transform:translate(14px)}.switch:disabled{opacity:.6;cursor:default}.link.tiny{padding:0;font-size:.75rem}.board-cols .c-name{flex:1 1 0;min-width:14rem}.board-cols .c-date{flex:0 0 160px}.board-cols .c-time,.board-cols .c-status,.board-cols .c-due{flex:0 0 140px}.task-table .add-task-line select{padding:.375rem .5rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font:inherit;font-size:.8125rem;color:var(--ink)}.task-line.empty-note{margin:0;color:var(--ink-faint);font-size:.8125rem}@media(max-width:70rem){.tpl-cols,.board-cols{min-width:52rem}.task-table{overflow-x:auto}}.timer-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:.5rem;padding:0;border:1px solid var(--pink-soft);border-radius:50%;background:var(--pink-soft);color:var(--pink-btn);font-size:.5rem;line-height:1;cursor:pointer;vertical-align:middle}.timer-dot:hover:not(:disabled){background:var(--pink-btn);color:#fff}.timer-dot.running{background:var(--pink-btn);color:#fff}.timer-dot:disabled{opacity:.5;cursor:default}.tag-pill{flex:none;align-self:flex-start;padding:.1875rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:500;white-space:nowrap}.head-tools{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.view-switcher{display:flex;gap:.25rem;padding:.25rem;border:1px solid var(--card-rule);border-radius:12px;background:var(--page)}.view-switcher button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--card-rule);border-radius:8px;background:var(--surface);cursor:pointer}.view-switcher button.on{border-color:var(--pink)}.view-switcher button.on img{filter:invert(38%) sepia(85%) saturate(3500%) hue-rotate(310deg) brightness(101%) contrast(95%)}.day-header.standalone{border:1px solid var(--rule);border-radius:8px}.entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:.75rem}.grid-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.875rem 1rem;border:1px solid var(--rule);border-radius:8px;background:var(--surface);line-height:normal}.grid-card .grid-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;width:100%}.grid-card .range{font-size:.75rem;color:#64748b;font-variant-numeric:tabular-nums}.grid-card .grid-dur{font-size:.8125rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.grid-card .grid-what{font-size:.8125rem;font-weight:500;color:var(--ink);overflow-wrap:anywhere}.grid-card .ctx{font-size:.75rem;color:var(--ink-faint)}.calendar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;align-items:start}.cal-day{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--surface);line-height:normal}.cal-head{position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:.125rem;padding:.75rem;border-bottom:1px solid var(--rule);background:var(--surface)}.cal-head .cal-label{font-size:.8125rem;font-weight:600;color:var(--ink)}.cal-head .cal-total{font-size:.75rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.cal-entries{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;min-height:4rem}.cal-card{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;border-radius:6px}.cal-card .cal-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.cal-card .cal-tag{font-size:.625rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-card .cal-dur{flex:none;font-size:.6875rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.cal-card .cal-what{font-size:.75rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:70rem){.calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chips button{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border:1px solid var(--rule);border-radius:999px;background:var(--surface);font:inherit;font-size:.8125rem;font-weight:500;color:var(--ink-soft);cursor:pointer}.chips button:hover{border-color:var(--ink-faint)}.chips button.on{border-color:var(--pink-btn);background:var(--pink-btn);color:#fff}.chips .count{font-size:.6875rem;font-weight:600;opacity:.7}.contact-cols .k-name{flex:0 0 150px;font-size:.8125rem;font-weight:600;color:var(--ink)}.contact-cols .k-client,.contact-cols .k-company,.contact-cols .k-title,.contact-cols .k-email,.contact-cols .k-phone{flex:0 0 140px;min-width:0;font-size:.8125rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-cols .k-email{flex:1 1 170px}.contact-cols .k-type{flex:0 0 100px}.contact-cols .k-email a{color:inherit;text-decoration:none}.contact-cols .k-email a:hover{color:var(--pink);text-decoration:underline}.meta-row.contact-cols .k-name{font-weight:600;color:var(--ink-soft)}@media(max-width:78rem){.panel-card:has(.contact-cols){overflow-x:auto}.contact-cols{min-width:62rem}}.assignee{position:relative;display:inline-flex;min-width:0}.assignee-face{display:inline-flex;align-items:center;gap:.5rem;min-width:0;padding:.125rem .25rem;border:1px solid transparent;border-radius:6px;background:none;font:inherit;font-size:.8125rem;color:var(--ink-soft);cursor:pointer;text-align:left}.assignee-face:hover:not(:disabled){border-color:var(--rule);background:var(--page)}.assignee-face:disabled{opacity:.6;cursor:default}.assignee-face .who-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignee-face .more{color:var(--ink-faint)}.avatar.small.empty{background:var(--rule);color:var(--ink-faint)}.assignee-menu{position:fixed;z-index:60;display:flex;flex-direction:column;width:15rem;max-height:16rem;overflow-y:auto;padding:.375rem;border:1px solid var(--card-rule);border-radius:8px;background:var(--surface);box-shadow:0 8px 12px #0f172a14}.assignee-option{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border:none;border-radius:6px;background:none;font:inherit;font-size:.8125rem;color:var(--ink);cursor:pointer;text-align:left}.assignee-option:hover{background:var(--page)}.assignee-option .tick{flex:none;width:14px;font-size:.75rem;color:transparent}.assignee-option .tick.on{color:var(--pink-btn)}.task-line,.task-row,.card-tasks{overflow:visible}.task-line a.c-name,.task-row a.title{color:inherit;text-decoration:none}.task-line a.c-name:hover,.task-line a.c-name:focus-visible,.task-row a.title:hover,.task-row a.title:focus-visible{color:var(--pink);text-decoration:underline}.proj-num{margin-left:.5rem;font-size:.75rem;font-weight:600;color:var(--ink-faint)}.loading-bar{position:fixed;top:0;left:0;right:0;z-index:100;height:2px;background:var(--pink-soft);overflow:hidden}.loading-bar span{display:block;width:40%;height:100%;background:var(--pink-btn);animation:loading-slide 1.1s ease-in-out infinite}@keyframes loading-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media(prefers-reduced-motion:reduce){.loading-bar span{width:100%;animation:none;opacity:.6}}.tree-heading{display:flex;align-items:center;gap:.375rem;margin:0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint)}.tree-heading.rest{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--rule)}.star{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1rem;height:1rem;padding:0;border:none;background:none;font-size:.75rem;line-height:1;color:var(--rule);cursor:pointer}.star:hover{color:var(--ink-faint)}.star.on{color:var(--pink)}.node-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease;overflow:hidden}.node-body.open{grid-template-rows:1fr}.node-body>.project-node{min-height:0;overflow:hidden}@media(prefers-reduced-motion:reduce){.node-body,.chev-btn .chevron{transition:none}}.avatar-host{display:inline-flex;flex:none;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;overflow:hidden;background:var(--ink-faint);color:#fff;font-size:.625rem;font-weight:700}.avatar-host.small{width:22px;height:22px;font-size:.5625rem}.avatar-host.empty{background:var(--rule);color:var(--ink-faint)}.avatar-img{width:100%;height:100%;object-fit:cover}.assignee-filter{margin-bottom:.25rem;padding:.375rem .5rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font:inherit;font-size:.8125rem;color:var(--ink)}.assignee-filter::placeholder{color:var(--ink-faint)}.assignee-filter:focus-visible{outline:none;border-color:var(--pink)}.assignee-face .faces{display:inline-flex;flex:none;align-items:center}.assignee-face .faces>*+*{margin-left:-7px}.assignee-face .avatar-host{border:2px solid var(--surface)}.avatar-host.more-faces{background:var(--rule-soft);color:var(--ink-soft);font-size:.5625rem}.date-face{padding:.125rem .375rem;margin:-.125rem -.375rem;border:1px solid transparent;border-radius:6px;background:none;font:inherit;font-size:inherit;color:inherit;cursor:pointer;text-align:left;white-space:nowrap}.date-face:hover:not(:disabled),.date-face:focus-visible{border-color:var(--rule);background:var(--surface)}.date-face.blank{color:var(--ink-faint)}.date-face.late{color:var(--pink);font-weight:600}.date-face.busy{opacity:.6;cursor:default}.date-input{width:8.5rem;max-width:100%;padding:.125rem .25rem;border:1px solid var(--pink);border-radius:6px;background:var(--surface);font:inherit;font-size:.8125rem;color:var(--ink)}.date-input:focus{outline:none}.cal-what,.grid-what,.entry-info .what{color:inherit;text-decoration:none;cursor:pointer}.cal-what:hover,.cal-what:focus-visible,.grid-what:hover,.grid-what:focus-visible,.entry-info .what:hover,.entry-info .what:focus-visible{color:var(--pink);text-decoration:underline}.dash-cols .d-client{display:flex;flex-direction:column;gap:.125rem;min-width:0}.dash-cols .d-client .c-client,.dash-cols .d-client .c-project{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-cols .d-client .c-project{font-size:.6875rem;color:var(--ink-faint);text-decoration:none}.dash-cols .d-client a.c-project:hover,.dash-cols .d-client a.c-project:focus-visible{color:var(--pink);text-decoration:underline}.dash-group .group-head{cursor:default}.dash-group .group-head:hover{background:var(--surface)}.d-client-name{font-size:.75rem;font-weight:400;color:var(--ink-faint)}.tabs{display:flex;gap:1.5rem;margin-bottom:1.25rem;border-bottom:1px solid var(--rule)}.tabs button{padding:0 0 .625rem;border:none;border-bottom:2px solid transparent;background:none;font:inherit;font-size:.875rem;font-weight:600;color:var(--ink-faint);cursor:pointer}.tabs button:hover{color:var(--ink-soft)}.tabs button.on{border-bottom-color:var(--pink);color:var(--pink)}.arch-controls{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.arch-filter{display:flex;flex:1 1 auto;align-items:center;gap:.5rem;min-width:0;padding:.5rem .75rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface)}.arch-filter input{flex:1 1 auto;min-width:0;border:none;background:none;font:inherit;font-size:.8125rem;color:var(--ink)}.arch-filter input:focus{outline:none}.arch-sort{display:flex;flex:none;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font-size:.8125rem;font-weight:600;color:var(--ink-soft)}.arch-sort select{border:none;background:none;font:inherit;color:var(--ink);cursor:pointer}.arch-sort select:focus{outline:none}.arch-cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 8rem 8.5rem 7rem 6rem 8.5rem;gap:1rem;align-items:center}.arch-cols .a-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:inherit;text-decoration:none}.arch-cols .a-name:hover,.arch-cols .a-name:focus-visible{color:var(--pink);text-decoration:underline}.arch-cols .a-client,.arch-cols .a-number,.arch-cols .a-when,.arch-cols .a-hours{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;color:var(--ink-soft)}.arch-cols .a-number{font-variant-numeric:tabular-nums}.arch-cols .a-act{display:flex;justify-content:flex-end;gap:.375rem}.arch-cols-clients{display:grid;grid-template-columns:minmax(0,1fr) 8.5rem;gap:1rem;align-items:center}.arch-cols-clients .a-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.arch-cols-clients .a-act{display:flex;justify-content:flex-end;gap:.375rem}.btn-quiet{padding:.25rem .625rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font:inherit;font-size:.75rem;font-weight:600;color:var(--ink-soft);cursor:pointer}.btn-quiet:hover:not(:disabled),.btn-quiet:focus-visible:not(:disabled){border-color:var(--pink);color:var(--pink)}.btn-quiet:disabled{opacity:.6;cursor:default}.icon-danger{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--rule);border-radius:6px;background:var(--surface);cursor:pointer}.icon-danger img{opacity:.5}.icon-danger:hover:not(:disabled),.icon-danger:focus-visible:not(:disabled){border-color:#b91c1c;background:#fef2f2}.icon-danger:hover:not(:disabled) img,.icon-danger:focus-visible:not(:disabled) img{opacity:1}.icon-danger:disabled{opacity:.6;cursor:default}.archived-note{border-left:3px solid var(--ink-faint);padding-left:.75rem}.modal-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}.modal{width:26rem;max-width:100%;padding:1.25rem;border-radius:10px;background:var(--surface);box-shadow:0 16px 40px #0f172a38}.modal-title{margin:0 0 .5rem;font-size:1.0625rem;font-weight:700;color:var(--ink)}.modal-body{margin:0;font-size:.875rem;line-height:1.5;color:var(--ink-soft)}.modal-error{margin:.75rem 0 0;font-size:.8125rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}body.modal-open{overflow:hidden}.modal.wide{width:30rem}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.modal-head .popup-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:999px;background:var(--rule-soft);cursor:pointer}.modal-head .popup-close:hover,.modal-head .popup-close:focus-visible{background:var(--rule)}.modal-form{display:flex;flex-direction:column;gap:.875rem;margin-top:1.25rem}.modal-form .field{display:flex;flex-direction:column;align-self:stretch;gap:.375rem;width:100%;min-width:0;max-width:none;padding:0;border:none;border-radius:0;background:none}.modal-form .field>.field-label{text-transform:none;letter-spacing:normal}.modal-form .field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem}.modal-form .field-label{font-size:.75rem;font-weight:700;color:var(--ink)}.modal-form .field-label em{font-style:normal;font-weight:400;color:var(--ink-faint)}.modal-form .field-note{font-size:.6875rem;color:var(--ink-faint)}.modal-form input,.modal-form select{width:100%;padding:.5rem .625rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font:inherit;font-size:.8125rem;color:var(--ink)}.modal-form input:focus,.modal-form select:focus{outline:none;border-color:var(--pink)}.modal-form input::placeholder,.modal-form select::placeholder{color:var(--ink-faint)}.number-chip{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border-radius:6px;background:var(--rule-soft);font-size:.875rem;color:var(--ink)}.number-chip .chip{padding:.125rem .5rem;border-radius:999px;background:var(--pink-soft);font-size:.6875rem;font-weight:700;color:var(--pink)}.modal-form .modal-actions{justify-content:flex-start}.swatches{display:flex;flex-wrap:wrap;gap:.5rem}.swatch{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;padding:0;border:none;border-radius:999px;font-size:.75rem;font-weight:700;color:#fff;cursor:pointer;color:transparent}.swatch.on{color:#fff;box-shadow:0 0 0 2px var(--surface),0 0 0 4px currentcolor}.swatch.custom{background:conic-gradient(#ef4444,#f97316,#fbbf24,#10b981,#3b82f6,#8b5cf6,#ec4899,#ef4444)}.swatch.custom.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink-faint)}.swatch.custom input[type=color]{position:absolute;inset:0;width:100%;height:100%;padding:0;border:none;border-radius:999px;background:none;opacity:0;cursor:pointer}.field-warn{margin:0;font-size:.75rem;line-height:1.45;color:var(--pink)}.tag-select[data-status=to_be_started],.tag-select[data-status=none]{background-color:var(--rule-soft);color:var(--ink-soft)}.tag-select[data-status=in_progress]{background-color:#fff1f2;color:#e11d48}.tag-select[data-status=with_client]{background-color:#fef3c7;color:#b45309}.tag-select[data-status=completed]{background-color:#dcfce7;color:#15803d}.tag-select[data-status=to_be_invoiced]{background-color:#ede9fe;color:#7c3aed}.tag-select[data-status=cross_checked]{background-color:#ccfbf1;color:#0f766e}.tag-select[data-status=invoiced]{background-color:#dbeafe;color:#2563eb}.proj-tip{position:fixed;z-index:40;max-width:16rem;padding:.25rem .5rem;border-radius:6px;background:var(--ink);color:#fff;font-size:.6875rem;font-weight:500;line-height:1.35;box-shadow:0 4px 10px #0f172a40;pointer-events:none;white-space:normal}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;border-radius:8px;background:var(--rule-soft)}.segmented button{padding:.375rem .5rem;border:1px solid transparent;border-radius:6px;background:none;font:inherit;font-size:.75rem;font-weight:600;color:var(--ink-faint);cursor:pointer}.segmented button:hover:not(.on){color:var(--ink-soft)}.segmented button.on{border-color:var(--rule);background:var(--surface);color:var(--ink)}.filter-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.client-cols{display:grid;grid-template-columns:minmax(0,2fr) 8rem 6rem 9rem 10rem;gap:1rem;align-items:center}.client-cols .c-proj{display:flex;align-items:center;gap:.5rem;min-width:0;font-weight:600;color:inherit;text-decoration:none}.client-cols .c-proj img{flex:none}.client-cols .c-proj span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-cols .c-proj:hover span,.client-cols .c-proj:focus-visible span{color:var(--pink);text-decoration:underline}.client-cols .c-hours{font-weight:600;font-variant-numeric:tabular-nums}.client-cols .c-tasks,.client-cols .c-when{font-size:.8125rem;color:var(--ink-faint)}.dot-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.1875rem .5rem;border-radius:999px;background:var(--rule-soft);font-size:.6875rem;font-weight:600;color:var(--ink-soft)}.dot-pill:before{content:"";width:.375rem;height:.375rem;border-radius:999px;background:currentcolor}.dot-pill[data-status=active]{background:#dbeafe;color:#2563eb}.dot-pill[data-status=planning]{background:var(--rule-soft);color:var(--ink-soft)}.dot-pill[data-status=on_hold]{background:#fef3c7;color:#b45309}.dot-pill[data-status=completed]{background:#dcfce7;color:#15803d}.table-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem 1rem;border-top:1px solid var(--card-rule);font-size:.8125rem;color:var(--ink-soft)}.table-foot .pager{display:flex;align-items:center;gap:.5rem}.table-foot .page-now{font-variant-numeric:tabular-nums}.stat .faces{display:inline-flex;align-items:center;margin-top:.25rem}.stat .faces>*+*{margin-left:-7px}.stat .faces .avatar-host{border:2px solid var(--surface)}.stat .value.pink{color:var(--pink-btn)}.modal.asking{text-align:center}.modal.asking .modal-title{margin-bottom:.5rem}.modal.asking .modal-body{margin:0 auto;max-width:28ch}.modal.asking .modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.5rem}.modal.asking .btn-pink,.modal.asking .btn-quiet{justify-content:center;padding:.625rem 1rem;font-size:.875rem}.modal.asking .btn-quiet{border-color:var(--rule)}.modal-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin-bottom:1rem;border-radius:999px;background:var(--pink-soft);color:var(--pink)}.modal-icon.danger{background:#fef2f2;color:#b91c1c}.radios{display:flex;flex-wrap:wrap;gap:1rem}.radio{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--ink);cursor:pointer}.radio input{width:auto;margin:0;accent-color:var(--pink);cursor:pointer}.modal-actions.end{justify-content:flex-end}.toast-stack{position:fixed;top:4.5rem;right:1.25rem;z-index:90;display:flex;flex-direction:column;gap:.625rem;max-width:calc(100vw - 2.5rem)}.toast{display:flex;align-items:flex-start;gap:.625rem;width:22rem;max-width:100%;padding:.75rem .875rem;border:1px solid #86efac;border-radius:8px;background:var(--surface);box-shadow:0 8px 20px #0f172a1f}.toast.is-error{border-color:#fca5a5}.toast .toast-icon{flex:none;display:inline-flex;margin-top:.0625rem;color:#16a34a}.toast.is-error .toast-icon{color:#dc2626}.toast .toast-text{display:flex;flex:1 1 auto;flex-direction:column;gap:.125rem;min-width:0}.toast .toast-text strong{font-size:.8125rem;font-weight:600;color:var(--ink)}.toast .toast-text span{font-size:.75rem;color:var(--ink-soft)}.toast .toast-close{flex:none;padding:.125rem;border:none;background:none;cursor:pointer;opacity:.5}.toast .toast-close:hover,.toast .toast-close:focus-visible{opacity:1}.state-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:26rem;margin:2rem auto;padding:2rem 1.5rem;border:1px solid var(--card-rule);border-radius:10px;background:var(--surface);text-align:center}.state-card h2{margin:.5rem 0 0;font-size:1.0625rem;font-weight:700;color:var(--ink)}.state-card p{margin:0;font-size:.8125rem;line-height:1.5;color:var(--ink-soft)}.state-card .state-actions{display:flex;gap:.5rem;margin-top:.75rem}.state-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:999px;background:var(--pink-soft);color:var(--pink)}.state-icon.plain{background:var(--rule-soft);color:var(--ink-soft)}.btn-ink{display:inline-flex;align-items:center;padding:.625rem 1rem;border:1px solid transparent;border-radius:6px;background:var(--ink);color:#fff;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.btn-ink:hover,.btn-ink:focus-visible{background:#1e293b}.spinner-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1rem;color:var(--pink);font-size:.8125rem}.spinner{width:2rem;height:2rem;border:3px solid var(--pink-soft);border-top-color:var(--pink);border-radius:999px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton-row{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;border-bottom:1px solid var(--rule-soft)}.skeleton-row span{height:.625rem;border-radius:999px;background:var(--rule-soft);animation:pulse 1.4s ease-in-out infinite}.skeleton-row span:nth-child(1){flex:2 1 0}.skeleton-row span:nth-child(2){flex:1 1 0}.skeleton-row span:nth-child(3){flex:1 1 0}.skeleton-row span:nth-child(4){flex:0 0 4.5rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.drawer-backdrop{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end;background:#0f172a4d}.drawer{display:flex;flex-direction:column;height:100%;min-height:0;width:30rem;max-width:100%;background:var(--surface);box-shadow:-8px 0 28px #0f172a2e;animation:drawer-in .16s ease-out}@media(min-width:1920px){.drawer{width:40rem}}@keyframes drawer-in{0%{transform:translate(1.5rem);opacity:.4}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem;border-bottom:1px solid var(--card-rule)}.drawer-head h2{margin:0 0 .5rem;font-size:1.0625rem;font-weight:700;color:var(--ink)}.drawer-head .drawer-sub{display:flex;align-items:center;gap:.625rem;margin:0}.drawer-head .muted-id{font-size:.6875rem;color:var(--ink-faint);font-variant-numeric:tabular-nums}.drawer-head .popup-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:999px;background:var(--rule-soft);cursor:pointer}.drawer-head .popup-close:hover,.drawer-head .popup-close:focus-visible{background:var(--rule)}.drawer-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.25rem}.drawer-facts{display:flex;flex-direction:column;gap:.625rem;margin:0}.drawer-facts>div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.75rem;align-items:center}.drawer-facts dt{font-size:.8125rem;color:var(--ink-faint)}.drawer-facts dd{margin:0;font-size:.8125rem;color:var(--ink)}.drawer-select{padding:.25rem .5rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font:inherit;font-size:.8125rem;color:var(--ink)}.drawer-select:focus{outline:none;border-color:var(--pink)}.drawer-number{width:5rem;padding:.25rem .5rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font:inherit;font-size:.8125rem;color:var(--ink)}.drawer-number:focus{outline:none;border-color:var(--pink)}.drawer-number::placeholder{color:var(--ink-faint)}.drawer-inline{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.drawer-section{margin-top:1.5rem}.drawer-section h3{display:flex;align-items:center;gap:.5rem;margin:0 0 .625rem;font-size:.8125rem;font-weight:700;color:var(--ink)}.drawer-section .count{margin-left:auto;font-size:.75rem;font-weight:600;color:var(--ink-faint)}.drawer-section textarea{width:100%;padding:.5rem .625rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font:inherit;font-size:.8125rem;color:var(--ink);resize:vertical}.drawer-section textarea:focus{outline:none;border-color:var(--pink)}.entries-popup.inline,app-time-entries-popup.inline .entries-popup{position:static;width:100%;padding:0;border:none;box-shadow:none}.thread{display:flex;flex-direction:column;gap:.875rem}.message{display:flex;gap:.625rem}.message .message-body{flex:1 1 auto;min-width:0}.message .message-head{display:flex;align-items:baseline;gap:.5rem;font-size:.6875rem;color:var(--ink-faint)}.message .message-head strong{font-size:.75rem;font-weight:600;color:var(--ink)}.message p{margin:.25rem 0 0;padding:.5rem .625rem;border-radius:8px;background:var(--rule-soft);font-size:.8125rem;line-height:1.45;color:var(--ink);overflow-wrap:anywhere}.link-quiet{margin-left:auto;padding:0;border:none;background:none;font:inherit;font-size:.6875rem;color:var(--ink-faint);cursor:pointer;text-decoration:underline}.link-quiet:hover{color:var(--pink)}.link-pink{color:var(--pink);font-weight:600;text-decoration:none}.link-pink:hover{text-decoration:underline}.drawer-foot{display:flex;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--card-rule)}.drawer-foot input{flex:1 1 auto;min-width:0;padding:.5rem .625rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font:inherit;font-size:.8125rem}.drawer-foot input:focus{outline:none;border-color:var(--pink)}.as-link{padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.as-link:hover,.as-link:focus-visible{color:var(--pink);text-decoration:underline}.field-label.with-count{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.field-label.with-count .count{font-weight:400;color:var(--ink-faint)}.field-label.with-count .count.spent{color:#dc2626;font-weight:600}.modal-form textarea{width:100%;padding:.625rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);font:inherit;font-size:.8125rem;line-height:1.5;color:var(--ink);resize:vertical}.modal-form textarea:focus{outline:none;border-color:var(--pink)}.mention-row{display:flex;align-items:center;gap:.625rem}.mention-row select{flex:1 1 auto;min-width:0}.mention-chip{flex:none;padding:.1875rem .5rem;border-radius:999px;background:var(--pink-soft);font-size:.75rem;font-weight:600;color:var(--pink)}.time-button.live{color:var(--pink-btn)}.add-group-end{margin-top:1rem}.link-list{display:flex;flex-direction:column;gap:.375rem;margin:0 0 .5rem;padding:0;list-style:none}.link-list li{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border:1px solid var(--rule);border-radius:6px;background:var(--rule-soft)}.link-list a{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;color:var(--pink);text-decoration:none}.link-list a:hover{text-decoration:underline}.link-remove{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;border:none;border-radius:999px;background:none;opacity:.5;cursor:pointer}.link-remove:hover{opacity:1}.btn-outline.small{margin-top:.5rem;padding:.3125rem .625rem;font-size:.75rem}
