@font-face{font-family:Manrope;src:url('/static/fonts/Manrope-variable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{font-family:Manrope,"Segoe UI",sans-serif;color:#26342c;background:#f6f7f3;font-size:15px;line-height:1.5;color-scheme:light;--green:#293e32;--line:#dde2d9;--muted:#657064;--paper:#fff}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:inherit;padding:10px 16px;min-height:44px}button:hover{background:#edf0e9}button:disabled{opacity:.65;cursor:wait}:focus-visible{outline:3px solid #a77f40;outline-offset:3px}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #cbd3c8;background:var(--paper);border-radius:8px;padding:11px 12px;color:inherit;min-height:46px}input:hover,select:hover,textarea:hover{border-color:#9daa96}input:focus,select:focus,textarea:focus{border-color:var(--green)}textarea{resize:vertical}label{display:block;font-size:13px;font-weight:600}label input,label textarea,label select{margin-top:7px;font-size:15px;font-weight:400}a{color:var(--green);text-underline-offset:3px}
.top{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px max(24px,calc((100vw - 1152px)/2));background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;flex-shrink:0}.brand-logo{display:block;width:176px;height:auto;object-fit:contain}nav{display:flex;gap:4px;flex-wrap:wrap}.quiet{background:transparent;border-color:transparent}.primary{background:var(--green);color:#fff;border-color:var(--green);font-weight:600}.primary:hover{background:#3b5444;border-color:#3b5444}main{max-width:1220px;margin:0 auto;padding:38px 34px 60px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}h1{font-size:42px;line-height:1.2;font-weight:650;letter-spacing:-1.6px;margin:7px 0 0}h2{font-size:23px;font-weight:650;margin:0;letter-spacing:-.4px}h3{font-size:16px;font-weight:600;margin:24px 0 10px}p{margin:10px 0}.eyebrow{color:var(--muted);font-size:13px;margin:0}
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 30px}.metric{text-align:left;display:flex;flex-direction:column;gap:9px;border:1px solid transparent;background:transparent;padding:18px 20px;border-radius:10px}.metric strong{font-size:36px;font-weight:550;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-1px}.metric span{font-size:13px;color:var(--muted)}.metric.selected{border-color:#bbc8b5;background:#e9eee4}.metric.selected span{color:var(--green);font-weight:600}.metric:hover{background:#edf0e9}.toolbar{display:flex;gap:16px;align-items:flex-end;margin:0 0 9px}.search{flex:1}.toolbar>label:last-child{width:220px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-bottom:5px;color:var(--muted);font-size:12px}.list-heading p{margin:0}.list-heading button{font-size:12px;padding:8px 10px}
#table-wrap{border:1px solid var(--line);border-radius:10px;overflow:hidden}table{width:100%;border-collapse:collapse;background:var(--paper);text-align:left}th{font-size:12px;font-weight:400;color:var(--muted);padding:13px 18px;border-bottom:1px solid var(--line);background:#f0f3ed}td{padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbf8}th:first-child{width:46%}td:first-child{max-width:450px}.task-link{display:block;text-align:left;border:0;background:none;padding:10px 0;min-height:44px;margin:-8px 0 -4px;border-radius:3px;font-weight:650;line-height:1.55;overflow-wrap:anywhere}.task-link:hover{text-decoration:underline;text-underline-offset:4px;background:none}.meta{color:var(--muted);font-size:12px;margin:5px 0 0;overflow-wrap:anywhere}.missing{color:#866020;font-size:12px;margin-top:7px}.status{font-size:12px;display:inline-block;white-space:nowrap;padding:4px 8px;background:#f0f2eb;border-radius:4px}.status.progress{background:#e7eee2;color:#35522d}.status.done{background:#e9eee9;color:#446343}.status.waiting{background:#f4eddb;color:#805d23}.status.dismissed{color:#6a6a6a}.overdue{color:#a03f32}.due-today{font-weight:600}.deadline-note{font-size:11px;margin-top:4px;font-weight:400}.empty{padding:56px 24px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:10px}.empty h2{font-size:22px}.empty p{color:var(--muted);max-width:420px;margin:12px auto 0}.pipeline{display:flex;gap:8px 20px;flex-wrap:wrap;align-items:center;margin-top:20px;font-size:12px;color:var(--muted)}.pipeline span{max-width:100%;overflow-wrap:anywhere}.pipeline button{font-size:12px;padding:5px 10px}.notice{font-size:13px;background:#eeeddf;padding:12px 16px;margin-bottom:18px;border-radius:7px}.error{background:#f8e8e4;color:#8c332a;padding:12px 15px;border-radius:7px;overflow-wrap:anywhere}.subtle{font-size:12px;color:var(--muted)}.subtle:empty{display:none}.loading{padding:40px 0;color:var(--muted)}
dialog{width:min(660px,calc(100% - 32px));max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:14px;background:#fcfdf9;color:inherit;box-shadow:0 20px 80px #14201530;overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#101c1370}body:has(dialog[open]){overflow:hidden}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line);gap:10px;position:sticky;top:0;background:#fcfdf9;z-index:1}.dialog-head h2{font-size:21px}.dialog-head button{font-size:13px}.form-body{padding:20px 24px}.form-body>label,.form-grid{margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid>label{min-width:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--line);background:#fff;position:sticky;bottom:0;z-index:1}.suggestion{border-top:1px solid var(--line);padding:16px 0}.suggestion h3{margin-top:4px}.suggestion p{font-size:13px}.suggestion button{font-size:13px;margin:4px 8px 0 0}.suggestion blockquote{border-left:2px solid #c5cdbe;margin:12px 0;padding:4px 12px;color:var(--muted);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}details{margin-top:22px;border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;font-size:13px;font-weight:600;padding:12px 0;min-height:44px}.event{font-size:12px;padding:12px 0;border-bottom:1px solid var(--line)}.event p{white-space:pre-wrap;overflow-wrap:anywhere}.event .stamp{color:var(--muted)}code{display:block;padding:12px;background:#f0f1eb;font-size:15px;overflow-wrap:anywhere}.toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:14px 22px;width:max-content;max-width:calc(100% - 32px);background:var(--green);color:#fff;border-radius:9px;box-shadow:0 6px 24px #14201524;z-index:10;font-size:14px}#login{max-width:600px;margin:50px auto}#login h1{font-size:32px;margin-bottom:24px}#login-form{display:flex;gap:12px;align-items:flex-end;margin-top:25px}#login-form label{flex:1}.confirmation{display:flex;gap:11px;align-items:flex-start;font-weight:400;padding:12px 0;min-height:44px}.confirmation input{width:20px;height:20px;min-height:20px;flex:none;margin:1px 0 0;accent-color:var(--green)}#review-section{border-top:1px solid var(--line);padding-top:4px}#review-reasons{color:#866020;font-size:13px;padding-left:20px}#operations-body{font-size:13px;overflow-wrap:anywhere;padding-bottom:16px}[hidden]{display:none!important}
@media(max-width:680px){.top{padding:14px 18px 8px;gap:10px;align-items:flex-start;flex-direction:column}.brand-logo{width:156px}nav{gap:0;margin-left:-10px;max-width:calc(100% + 10px)}nav button{padding:8px 10px;font-size:13px}main{padding:24px 16px calc(32px + env(safe-area-inset-bottom))}h1{font-size:34px;letter-spacing:-1.2px}.page-heading{gap:12px;margin-bottom:22px}.page-heading>.primary{font-size:13px;padding:11px 12px;flex-shrink:0}.eyebrow{font-size:12px;overflow-wrap:anywhere}.summary{grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:24px}.metric{padding:15px 14px;gap:7px}.metric strong{font-size:29px}.metric span{font-size:12px}.toolbar{gap:12px;align-items:stretch;flex-direction:column}.toolbar>label:last-child{width:100%}#table-wrap{border:0;border-radius:0;overflow:visible}thead{display:none}table,tbody,tr,td{display:block}table{background:none}tbody{display:grid;gap:12px}tr{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}td{border:0;padding:4px 0;max-width:none!important;font-size:14px}td:first-child{margin-bottom:9px}.task-link{font-size:16px;padding:10px 0}.meta{font-size:12px}td[data-label]::before{content:attr(data-label);display:inline-block;width:100px;color:var(--muted);font-size:12px;font-weight:400}.deadline-note{margin-left:100px}.pipeline{gap:7px;flex-direction:column;align-items:flex-start}.pipeline span{font-size:11px}dialog{width:100%;max-width:100%;max-height:94dvh;margin:auto 0 0;border-radius:16px 16px 0 0;border-bottom:0}.dialog-head{padding:14px 16px}.form-body{padding:18px 16px}.dialog-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:8px}.dialog-actions .primary{flex:1}.form-grid{gap:12px}input,textarea,select,label input,label textarea,label select{font-size:16px}#login-form{align-items:stretch;flex-direction:column}.toast{bottom:calc(16px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:no-preference){button{transition:background .16s ease,border-color .16s ease,transform .16s ease}button:active:not(:disabled){transform:translateY(1px)}input,select,textarea{transition:border-color .16s ease}.toast{animation:toast-in .2s ease-out}.loading{animation:loading-pulse 1.5s ease-in-out infinite}dialog{transition:opacity .18s ease,transform .22s ease,display .22s allow-discrete,overlay .22s allow-discrete;opacity:0;transform:translateY(14px)}dialog[open]{opacity:1;transform:translateY(0)}dialog::backdrop{transition:background .22s ease,display .22s allow-discrete,overlay .22s allow-discrete;background:#101c1300}dialog[open]::backdrop{background:#101c1370}@starting-style{dialog[open]{opacity:0;transform:translateY(14px)}dialog[open]::backdrop{background:#101c1300}}@keyframes toast-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes loading-pulse{50%{opacity:.45}}}
@media(max-width:380px){.form-grid{grid-template-columns:1fr}}
.dialog-actions{flex-wrap:wrap}.danger{color:#a03f32;background:transparent;border-color:#dfc3bb;margin-right:auto}.danger:hover{background:#f8e8e4}#restore-task{margin-right:auto}@media(max-width:380px){#delete-task{flex-basis:100%;margin-right:0}.dialog-actions .primary{white-space:normal}}
