@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--paper:#f5f7fb;--surface:#fff;--ink:#172033;--muted:#5b6577;--line:#d6ddea;--blue:#2d5bff;--blue-tint:#e8eeff;--blue-dark:#1e40c8;--error:#b42318;--error-strong:#b42318;--error-dark:#912018;--success:#067647;--success-tint:#e3f4ea;--on-blue:#fff;--blue-hover:#1e40c8;--backdrop:#17203340;--field:var(--surface);--field-line:var(--line);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius:8px;--radius-lg:12px;--shadow-card:0 1px 2px #1720330d;--shadow-menu:0 12px 32px #17203324;--text-xs:13px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--control-h:40px;--control-h-sm:32px;--bar-h:60px;--sidebar-w:232px;--content-max:1080px;--font-display:"Bricolage Grotesque", system-ui, sans-serif;--font-body:"Instrument Sans", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%;line-height:1.5}:root[data-theme=dark]{--paper:#0f1524;--surface:#172033;--ink:#e6eaf2;--muted:#a3adbf;--line:#2c3850;--blue:#2d5bff;--blue-tint:#1f2c55;--blue-dark:#9db2ff;--error:#ff8a80;--success:#47cd89;--success-tint:#163a2c;--backdrop:#00000080;--field:#0f1524;--field-line:#5a6b8f;--shadow-card:0 1px 2px #0000004d;--shadow-menu:0 12px 32px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:not([data-theme=dark]) .logo-dark,:root[data-theme=dark] .logo-light{display:none}body{background:var(--paper);margin:0}h1,h2,h3{font-family:var(--font-display);color:var(--ink);margin:0;line-height:1.2}:where(button,input,select,textarea){font:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}:where(input:not([type=checkbox],[type=radio]),select,textarea){box-sizing:border-box;min-height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--field-line);border-radius:var(--radius);background:var(--field);color:var(--ink);font-size:var(--text-base);font-weight:400}:where(textarea){padding:var(--space-2) var(--space-3);resize:vertical}::placeholder{color:var(--muted)}:where(input:not([type=checkbox],[type=radio]),select,textarea):focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-tint);outline:none}.btn-primary,.btn-secondary,.btn-danger,.btn-ghost{justify-content:center;align-items:center;gap:var(--space-2);box-sizing:border-box;min-height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;border:1px solid #0000;font-weight:600;line-height:1.2;display:inline-flex}.btn-primary{background:var(--blue);color:var(--on-blue)}.btn-primary:hover{background:var(--blue-hover)}.btn-secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-secondary:hover{border-color:var(--blue);color:var(--blue-dark)}.btn-danger{background:var(--error-strong);color:var(--on-blue)}.btn-danger:hover{background:var(--error-dark)}.btn-ghost{color:var(--muted);background:0 0}.btn-ghost:hover{background:var(--paper);color:var(--blue-dark)}.btn-sm{min-height:var(--control-h-sm);padding:0 var(--space-3)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-ghost:disabled:hover{color:var(--muted);background:0 0}:root{--page-pad:var(--space-4)}@media (width>=641px){:root{--page-pad:var(--space-5)}}@media (width>=901px){:root{--page-pad:var(--space-6)}}.layout{flex-direction:column;min-height:100vh;display:flex}.sidebar{z-index:20;align-items:center;gap:var(--space-2);box-sizing:border-box;min-height:var(--bar-h);padding:var(--space-2) max(var(--page-pad), calc((100% - var(--content-max)) / 2));background:var(--surface);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink);white-space:nowrap;margin-right:auto;font-weight:700;display:flex}.brand img{width:32px}@media (width<=359px){.brand-name{display:none}}.nav-item{justify-content:space-between;align-items:center;gap:var(--space-2);box-sizing:border-box;min-height:var(--control-h);padding:0 var(--space-3);border-radius:var(--radius);color:var(--muted);font-size:var(--text-sm);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;display:flex}.nav-item:hover{background:var(--paper);color:var(--ink)}.nav-item.active{background:var(--blue-tint);color:var(--blue-dark);font-weight:600}.nav-group{gap:var(--space-1);flex-direction:column;display:flex}.nav-group+.nav-group{margin-top:var(--space-3)}.nav-label{padding:var(--space-1) var(--space-3) 0;color:var(--muted);font-size:var(--text-xs);font-weight:600}.skip-link{top:var(--space-2);left:var(--space-2);z-index:30;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-menu);color:var(--blue-dark);font-size:var(--text-sm);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.content h1:focus{outline:none}.nav-items,.nav-bottom{display:none}.nav-compact{align-items:center;gap:var(--space-2);display:flex}.menu-button.open{background:var(--blue-tint);border-color:var(--blue-tint);color:var(--blue-dark)}.nav-panel{gap:var(--space-1);max-height:calc(100dvh - var(--bar-h));padding:var(--space-2) var(--page-pad) var(--space-4);background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-menu);flex-direction:column;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.nav-panel .nav-item{font-size:var(--text-base)}.nav-panel-bottom{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line)}.nav-panel-bottom .nav-item{width:100%}.nav-backdrop{z-index:10;background:var(--backdrop);position:fixed;inset:0}.content{min-width:0;padding:var(--space-5) var(--page-pad) var(--space-7);flex:1}.content p{color:var(--muted)}.content>section{max-width:var(--content-max);margin:0 auto;container:page/inline-size}@media (width>=641px){.layout-top .brand{margin-right:var(--space-5)}.layout-top .nav-items{gap:var(--space-1);display:flex}.layout-top .nav-group,.layout-top .nav-bottom{display:contents}.layout-top .nav-bottom>:last-child{margin-left:auto}.layout-top .nav-compact,.layout-top .nav-panel,.layout-top .nav-backdrop{display:none}}@media (width>=901px){.layout:not(.layout-top){flex-direction:row}.layout:not(.layout-top) .sidebar{flex:0 0 var(--sidebar-w);align-items:stretch;gap:var(--space-1);height:100dvh;padding:var(--space-5) var(--space-4);border-bottom:none;border-right:1px solid var(--line);flex-direction:column;overflow-y:auto}.layout:not(.layout-top) .brand{margin:0 0 var(--space-5) var(--space-2)}.layout:not(.layout-top) .nav-items,.layout:not(.layout-top) .nav-bottom{gap:var(--space-1);flex-direction:column;display:flex}.layout:not(.layout-top) .nav-bottom{padding-top:var(--space-3);border-top:1px solid var(--line);margin-top:auto}.layout:not(.layout-top) .nav-compact,.layout:not(.layout-top) .nav-panel,.layout:not(.layout-top) .nav-backdrop{display:none}.content{padding-top:var(--space-6)}}.login-page{box-sizing:border-box;min-height:100dvh;padding:var(--space-4);isolation:isolate;place-items:center;display:grid;position:relative}.login-dots{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}@keyframes login-in{0%{opacity:0;transform:translateY(var(--space-2))}}@media (prefers-reduced-motion:reduce){.login-page .login-card{animation:none}}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);padding:var(--space-6);box-sizing:border-box;gap:var(--space-4);flex-direction:column;width:100%;max-width:400px;animation:.3s ease-out login-in;display:flex}.login-card img{width:48px}.login-card h1{margin-bottom:var(--space-2);font-size:var(--text-xl)}.login-card p{margin:0}.login-card label{gap:var(--space-2);font-size:var(--text-sm);flex-direction:column;font-weight:600;display:flex}.login-card .btn-primary{margin-top:var(--space-2)}.text-link{padding:var(--space-1);color:var(--muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;align-self:center}.text-link:hover{color:var(--blue-dark);text-decoration:underline}.password-field{position:relative}.password-field input{width:100%;padding-right:var(--space-7)}.password-toggle{top:50%;right:var(--space-1);padding:var(--space-2);color:var(--muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;place-items:center;display:grid;position:absolute;transform:translateY(-50%)}.password-toggle:hover{color:var(--blue-dark)}.error{color:var(--error);font-size:var(--text-sm);margin:0 0 var(--space-4)}.login-card .error{margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.page-header{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--text-2xl)}.page-header:has(+.toolbar){margin-bottom:var(--space-4)}.toolbar{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.back-button{margin:0 0 var(--space-3) calc(-1 * var(--space-3))}.page-meta{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm)}.page-header:has(+.page-intro){margin-bottom:var(--space-2)}.content .page-intro{max-width:70ch;margin:0 0 var(--space-5)}.tabs{box-sizing:border-box;max-width:100%;padding:var(--space-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:inline-flex}.tab{min-height:calc(var(--control-h) - 2 * var(--space-1) - 2px);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none}.tab:hover{color:var(--ink)}.tab.active{background:var(--blue-tint);color:var(--blue-dark);font-weight:600}.list,.rows{margin:0;padding:0;list-style:none;container:list/inline-size}.list{gap:var(--space-2);flex-direction:column;display:flex}.list-item{align-items:flex-start;gap:var(--space-3) var(--space-4);padding:var(--space-4);flex-wrap:wrap;display:flex}.item-main{overflow-wrap:anywhere;flex:1 1 0;min-width:0}.item-meta{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm)}.item-value{text-align:right;flex:none}.list-item>.item-actions{flex:100%}.item-actions{align-items:flex-start;gap:var(--space-1);flex-direction:column;display:flex}.item-buttons{gap:var(--space-1);flex-wrap:wrap;display:flex}.item-actions:not(.confirm) .item-buttons{margin-left:calc(-1 * var(--space-3))}.list-item>.item-actions .item-buttons:has(>.btn-secondary:first-child){margin-left:0}.blocked-reason{font-size:var(--text-xs);color:var(--muted)}.more{position:relative}.more-button{gap:var(--space-1)}.more-button svg{width:var(--space-4);height:var(--space-4);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.more-button.open svg{transform:rotate(180deg)}.more-panel{top:calc(100% + var(--space-1));z-index:5;align-items:stretch;gap:var(--space-1);width:max-content;max-width:var(--sidebar-w);padding:var(--space-2);box-shadow:var(--shadow-menu);text-align:left;flex-direction:column;display:flex;position:absolute;left:0}.more-panel .btn-ghost{justify-content:flex-start}.more-panel .blocked-reason{padding:var(--space-1) var(--space-3) 0}@container list (width>=600px){.more-panel{left:auto;right:0}.list-item{flex-wrap:nowrap;align-items:center}.list-item>.item-actions{text-align:right;flex:none;align-items:flex-end}.item-actions:not(.confirm) .item-buttons{margin-left:0;margin-right:calc(-1 * var(--space-3))}}.link-button{font:inherit;color:var(--ink);cursor:pointer;text-align:left;text-decoration:underline;-webkit-text-decoration-color:var(--field-line);text-decoration-color:var(--field-line);text-underline-offset:.2em;background:0 0;border:none;padding:0;font-weight:600}.link-button:hover{color:var(--blue-dark);text-decoration-color:currentColor}.page-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.content .empty{padding:var(--space-5) var(--space-4);border:1px dashed var(--line);border-radius:var(--radius-lg);color:var(--muted);font-size:var(--text-sm);text-align:center;margin:0}.group{margin-bottom:var(--space-6)}.group h2{font-size:var(--text-lg)}.group>h2,.group-header{margin-bottom:var(--space-3)}.group-header{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.rows.card{overflow:hidden}.row{align-items:center;gap:var(--space-1) var(--space-4);padding:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main value""date date""actions actions";display:grid}.row+.row{border-top:1px solid var(--line)}.row-date{color:var(--muted);font-size:var(--text-sm);grid-area:date}.row .item-main{grid-area:main}.row .item-value{grid-area:value}.row .item-actions{margin-top:var(--space-1);grid-area:actions}@container list (width>=600px){.row{grid-template-columns:96px minmax(0,1fr) auto auto;grid-template-areas:"date main value actions"}.row .item-actions{margin-top:0}}.dashboard-columns{gap:0 var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));display:grid}.quick-add{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}@media (width>=641px){.quick-add{flex-wrap:wrap;width:auto;display:flex}}.content .empty-line{color:var(--muted);font-size:var(--text-sm);margin:0}.dash-list{margin:0;padding:0;list-style:none;overflow:hidden}.dash-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.dash-row+.dash-row{border-top:1px solid var(--line)}.dash-row .item-main{flex:1;min-width:0}.date-block{min-width:calc(var(--space-7) + var(--space-4));padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--blue-tint);color:var(--blue-dark);font-size:var(--text-xs);flex-direction:column;flex:none;align-items:center;line-height:1.3;display:flex}.date-block strong{font-size:var(--text-sm)}.week-card{justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-5);margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);flex-wrap:wrap;display:flex}.week-numbers{gap:var(--space-1);flex-direction:column;display:flex}.week-chart{gap:var(--space-2);flex:1 1 calc(var(--space-7) * 5);max-width:calc(var(--space-7) * 7);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.week-chart li{align-items:center;gap:var(--space-1);color:var(--muted);font-size:var(--text-xs);flex-direction:column;display:flex}.week-chart li.today{color:var(--ink);font-weight:600}.week-bar{width:100%;height:var(--space-7);border-radius:var(--radius-sm);background:var(--paper);align-items:flex-end;display:flex;overflow:hidden}.week-bar span{background:var(--blue);width:100%}.attention{gap:var(--space-1);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--blue-tint);flex-direction:column;display:flex}.attention p{margin:0}.attention-item{align-items:center;gap:var(--space-1);margin-right:var(--space-3);display:inline-flex}.project-progress{align-items:center;gap:var(--space-2);flex:none;display:flex}.project-progress .progress{width:calc(var(--space-7) * 2)}.overview-cards{gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.overview-cards>.card{flex:3 1 calc(var(--space-7) * 6);min-width:0;margin-bottom:0}.overview-cards>.card:last-child{flex:2 1 calc(var(--space-7) * 5)}.progress-split{display:flex}.progress-split span:nth-child(2){background:var(--blue)}.legend-dot{width:var(--space-2);height:var(--space-2);margin-right:var(--space-2);border-radius:50%;display:inline-block}.legend-done{background:var(--success)}.legend-open{background:var(--blue)}.stats{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stats>.stat:last-child:nth-child(odd){grid-column:1/-1}@media (width>=641px){.stats{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.stats>.stat:last-child:nth-child(odd){grid-column:auto}}.stat{gap:var(--space-1);padding:var(--space-4);flex-direction:column;display:flex}.stat-label{color:var(--muted);font-size:var(--text-sm)}.stat-value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.2}.skeleton{border-radius:var(--radius-sm);background:var(--line);height:1em;animation:1s ease-in-out infinite alternate skeleton-pulse;display:block}.skeleton-label{width:60%;font-size:var(--text-sm)}.skeleton-value{width:40%;font-size:var(--text-xl);height:1.2em}.skeleton-title{width:30%;font-size:var(--text-lg);margin-bottom:var(--space-3)}.skeleton-line{width:70%}.skeleton-meta{width:45%;font-size:var(--text-sm)}@keyframes skeleton-pulse{to{opacity:.5}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.form{padding:var(--space-5);margin-bottom:var(--space-5);scroll-margin-top:calc(var(--bar-h) + var(--space-4))}.form h2{margin-bottom:var(--space-4);font-size:var(--text-lg)}.form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid label{gap:var(--space-2);font-size:var(--text-sm);flex-direction:column;font-weight:600;display:flex}.form-grid .full{grid-column:1/-1}.form .error{margin:var(--space-4) 0 0}.form-grid .field-hint{color:var(--muted);font-weight:400}.form-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}@media (width<=640px){.page-header h1{font-size:var(--text-xl)}.form{padding:var(--space-4)}.form-grid{grid-template-columns:minmax(0,1fr)}}.badge{margin-left:var(--space-2);padding:0 var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);vertical-align:middle;white-space:nowrap;border-radius:999px;font-weight:600;line-height:1.6;display:inline-block}.badge.active,.badge.shared{background:var(--blue-tint);color:var(--blue-dark)}.badge.completed,.badge.expedited{background:var(--paper);color:var(--muted);border:1px solid var(--line)}.filter{max-width:100%}.toolbar-action{gap:var(--space-1);flex-direction:column;display:flex}.toolbar:has(.toolbar-action){align-items:flex-start}.toolbar-hint{color:var(--muted);font-size:var(--text-xs)}.file-name{overflow-wrap:anywhere}.hours-total{color:var(--blue-dark);font-weight:600}.invoice .details-list{margin-bottom:var(--space-5)}.invoice-lines{margin:var(--space-5) 0 var(--space-4);border-block:1px solid var(--line)}.invoice-lines .row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main value";padding-inline:0}.invoice-lines .item-meta,.invoice-list .item-meta{display:block}.invoice-totals{justify-content:end;gap:var(--space-1) var(--space-5);text-align:right;grid-template-columns:auto auto;margin:0;display:grid}.invoice-totals dt{color:var(--muted)}.invoice-totals dd{margin:0}.content .invoice-note{margin:var(--space-4) 0 0}.content .invoice-confirm{margin:var(--space-4) 0 0;text-align:right;font-weight:600}.content .invoice-skipped{margin:0 0 var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--blue-tint);color:var(--blue-dark)}.form-grid .checkbox{align-items:center;gap:var(--space-2);flex-direction:row;font-weight:400}.form-grid .checkbox input{width:18px;height:18px;accent-color:var(--blue);margin:0}.note{gap:var(--space-2) var(--space-4);padding:var(--space-4);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"meta meta""content content";display:grid}.note:has(>.item-actions){grid-template-areas:"meta meta""content content""actions actions"}.note-meta{color:var(--muted);font-size:var(--text-sm);grid-area:meta}.note-project{color:var(--ink)}.content .note-content{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;grid-area:content;margin:0}.note>.item-actions{grid-area:actions}@container list (width>=600px){.note:has(>.item-actions){grid-template-areas:"meta actions""content content";align-items:center}}.task-check{align-items:flex-start;gap:var(--space-3);cursor:pointer;display:flex}.task-check input{width:18px;height:18px;accent-color:var(--blue);flex:none;margin:3px 0 0}.task-done{color:var(--muted);text-decoration:line-through}.task-overdue{color:var(--error)}.task-item{--status-color:var(--muted);box-shadow:inset 3px 0 0 var(--status-color), var(--shadow-card)}.task-item.doing{--status-color:var(--blue)}.task-item.done{--status-color:var(--success)}.badge.task-status{background:var(--paper);color:var(--muted);border:1px solid var(--line);margin-left:0}.badge.task-status.doing{background:var(--blue-tint);color:var(--blue-dark);border-color:#0000}.badge.task-status.done{background:var(--success-tint);color:var(--success);border-color:#0000}.task-meta{align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.task-number{width:var(--control-h-sm);height:var(--control-h-sm);background:var(--paper);border:1px solid var(--line);color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);border-radius:999px;flex:none;place-items:center;display:grid}.task-item.doing .task-number{background:var(--blue-tint);color:var(--blue-dark);border-color:#0000}.list-item:has(>.task-number,>.drag-handle){flex-wrap:nowrap;align-items:center}.drag-handle{width:var(--control-h);height:var(--control-h);margin:calc(-1 * var(--space-2)) 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);cursor:grab;touch-action:none;flex:none;place-items:center;padding:0;display:grid}.drag-handle:hover{color:var(--blue-dark);border-color:var(--blue)}.drag-handle svg{width:var(--space-5);height:var(--space-5);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.task-item.dragging{z-index:1;box-shadow:inset 3px 0 0 var(--status-color), var(--shadow-menu);position:relative}.task-item.dragging .drag-handle{cursor:grabbing}.mode-bar{bottom:var(--space-4);z-index:2;justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-menu);flex-wrap:wrap;display:flex;position:sticky}.mode-bar-text{align-items:center;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;flex:24ch;display:flex}.done-tasks>summary{width:fit-content;margin-bottom:var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);cursor:pointer;font-weight:700}.done-tasks:not([open])>summary{margin-bottom:0}.list+.done-tasks{margin-top:var(--space-5)}.group-sub{color:var(--muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:400}.project-tabs{flex-wrap:wrap}.tab{align-items:center;gap:var(--space-1);display:inline-flex}.tab-count{min-width:2ch;padding:0 var(--space-1);background:var(--paper);color:var(--muted);font-size:var(--text-xs);text-align:center;border-radius:999px;font-weight:600}.tab.active .tab-count{background:var(--surface);color:var(--blue-dark)}.tab .badge{margin-left:0}.next-up{gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-5);flex-direction:column;display:flex}.next-up .group-header{margin-bottom:0}.next-up h2{font-size:var(--text-lg)}.next-up .item-buttons:empty{display:none}.progress{height:var(--space-2);background:var(--paper);border:1px solid var(--line);border-radius:999px;overflow:hidden}.progress span{background:var(--success);height:100%;display:block}.next-up-list{gap:var(--space-3);margin:0;display:grid}.next-up-list dt{color:var(--muted);font-size:var(--text-sm)}.next-up-list dd{overflow-wrap:anywhere;margin:0;font-weight:600}.next-up-list dd .muted{font-weight:400}.content .panel-intro{margin:0 0 var(--space-3)}.panel-actions{margin-bottom:var(--space-3);justify-content:flex-end;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.item-actions.confirm{animation:.18s ease-out confirm-in}.confirm-question{max-width:36ch;font-size:var(--text-sm);color:var(--error);font-weight:600}@keyframes confirm-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.item-actions.confirm{animation:none}}.item-past strong{color:var(--muted);font-weight:400}.messages-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@container page (width<=679px){.messages-layout.has-selection .conversation-list,.messages-layout:not(.has-selection) .chat{display:none}}@container page (width>=680px){.messages-layout{grid-template-columns:280px minmax(0,1fr)}.conversation-list{max-height:min(70vh,640px);overflow-y:auto}.chat-back{display:none}}.conversation-list li+li{border-top:1px solid var(--line)}.conversation{gap:var(--space-1);width:100%;padding:var(--space-3) var(--space-4);text-align:left;color:var(--ink);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;display:flex}.conversation strong{font-size:var(--text-base)}.conversation:hover{background:var(--paper)}.conversation.active{background:var(--blue-tint)}.conversation-title{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.conversation-preview{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.unread-count{box-sizing:border-box;min-width:20px;height:20px;padding:0 var(--space-1);background:var(--blue);color:var(--on-blue);font-size:var(--text-xs);text-align:center;border-radius:999px;flex:none;font-weight:600;line-height:20px}.chat{flex-direction:column;height:max(360px,100dvh - 190px);display:flex}@container page (width>=680px){.chat{height:min(70vh,640px)}}.chat-placeholder{justify-content:center;align-items:center}.chat-header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);display:flex}.chat-messages{padding:var(--space-4);gap:var(--space-3);background:var(--paper);flex-direction:column;flex:1;display:flex;overflow-y:auto}.content .chat-empty{margin:auto}.bubble{align-self:flex-start;max-width:85%}@container page (width>=680px){.bubble{max-width:75%}}.bubble.mine{align-self:flex-end}.bubble-text{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere}.bubble.mine .bubble-text{background:var(--blue-tint);border-color:var(--blue-tint)}.bubble-meta{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--muted)}.bubble.mine .bubble-meta{text-align:right}.chat-form{gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-1);border-top:1px solid var(--line);align-items:flex-end;display:flex}.chat-form textarea{resize:none;flex:1;min-width:0}.content .chat-readonly{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);margin:0}.content .chat-hint{padding:0 var(--space-4) var(--space-2);font-size:var(--text-xs);margin:0}.settings-hint{margin:0 0 var(--space-2)}.settings-note{margin:var(--space-3) 0 0}.settings-list,.details-list{gap:var(--space-2) var(--space-5);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.settings-list dt,.details-list dt{color:var(--muted);font-size:var(--text-sm)}.settings-list dd,.details-list dd{overflow-wrap:anywhere;margin:0}.success{color:var(--success);font-size:var(--text-sm);margin:var(--space-4) 0 0}
