:root{--bg: #f3f5f1;--surface: #ffffff;--surface-2: #e8ede6;--fg: #18211d;--muted: #56635c;--line: #d3dbd1;--accent: #1d6b4f;--accent-ink: #ffffff;--accent-soft: #dcefe5;--shell: #143a2d;--shell-fg: #e7f2ec;--shell-muted: #b3cfc1;--warn: #8a5100;--warn-soft: #fbefd9;--crit: #a3302a;--crit-ink: #ffffff;--crit-soft: #f8e1df;--info: #2c5a8a;--info-soft: #e1ebf6;--tel: #5d4590;--tel-soft: #ece6f6;--radius: 12px;--radius-s: 8px;--shadow: 0 1px 2px rgb(20 40 30 / .06), 0 6px 18px rgb(20 40 30 / .07);--font-display: "Bricolage Grotesque", "Avenir Next", "Segoe UI", sans-serif;--font-body: "Public Sans", "Helvetica Neue", Arial, sans-serif;--backdrop: rgb(10 20 15 / .34);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 28px;--touch: 44px;--page-width: 1440px;--panel-width: 520px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #111613;--surface: #19201c;--surface-2: #232c27;--fg: #e5ece8;--muted: #a2b0a8;--line: #2e3933;--accent: #6cc79f;--accent-ink: #0d1f17;--accent-soft: #1e3a2d;--shell: #0a1a14;--shell-fg: #dcebe4;--shell-muted: #9dbcae;--warn: #e8b263;--warn-soft: #3a2c16;--crit: #ef8a83;--crit-ink: #2a0e0c;--crit-soft: #3d1f1d;--info: #8db8e6;--info-soft: #1d2b3b;--tel: #c3b0ef;--tel-soft: #2c2540;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 6px 18px rgb(0 0 0 / .28);color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 var(--font-body)}::selection{background:var(--accent-soft);color:var(--fg)}a{color:var(--accent);text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-display);line-height:1.2;letter-spacing:-.01em;text-wrap:balance}h1{font-size:23px}h2{font-size:19px}h3{font-size:15px}main{max-width:var(--page-width);margin:auto;padding:22px var(--space-4) 64px}main>*,section,aside,form,.row-main{min-width:0}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.shell{background:var(--shell);color:var(--shell-fg);padding:10px var(--space-4) 0}.shell-in{max-width:var(--page-width);margin:auto}.shell-top{display:flex;align-items:center;gap:var(--space-4);min-width:0}.shell h1{font-size:21px}.user-menu{margin-left:auto;position:relative;min-width:0;max-width:70%}.user-menu summary{cursor:pointer;padding:var(--space-2);min-height:var(--touch);overflow-wrap:anywhere}.user-dropdown{position:absolute;right:0;z-index:10;min-width:180px;padding:var(--space-2);background:var(--surface);border-radius:var(--radius-s);color:var(--fg);box-shadow:var(--shadow)}.tabs{display:flex;gap:2px;flex-wrap:wrap}.tab{text-decoration:none;padding:10px 14px 11px;border-radius:var(--radius-s) var(--radius-s) 0 0;color:var(--shell-muted);font-weight:600;min-height:var(--touch)}.tab:hover{color:var(--shell-fg)}.tab.selected{background:var(--bg);color:var(--fg);box-shadow:inset 0 3px 0 var(--accent)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:18px}.page-heading h1{min-width:0;overflow-wrap:anywhere}.page-heading>.actions{flex-shrink:0}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:6px;border:1px solid transparent;border-radius:var(--radius-s);padding:7px 13px;min-height:var(--touch);background:var(--accent);color:var(--accent-ink);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}.btn:hover{filter:brightness(1.06)}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{border-color:var(--line);background:var(--surface);color:var(--fg)}.btn.ghost{background:transparent;color:var(--muted)}.btn.secondary:hover,.btn.ghost:hover{background:var(--surface-2);filter:none}.btn.danger{background:var(--crit);color:var(--crit-ink)}.icon-button{width:var(--touch);flex:none;padding:var(--space-2)}.icon{width:18px;height:18px;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none}.input{width:100%;max-width:100%;min-width:0;min-height:var(--touch);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-s);padding:8px 10px;caret-color:var(--accent)}.input::placeholder{color:var(--muted);opacity:1}.input:disabled{opacity:.6}.textarea{min-height:90px;resize:vertical}.field{display:grid;gap:5px;min-width:0;font-size:14px}.field>span{font-weight:600}.field-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3)}.form-stack{display:grid;gap:var(--space-4)}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:500;background:var(--surface-2);color:var(--muted);max-width:100%;overflow-wrap:anywhere}.chip.accent{background:var(--accent-soft);color:var(--accent)}.chip.danger{background:var(--crit-soft);color:var(--crit)}.chip.warning{background:var(--warn-soft);color:var(--warn)}.empty{padding:20px 14px;color:var(--muted);display:grid;gap:var(--space-3);justify-items:start}.status-msg{font-size:13px;color:var(--muted)}.error{padding:var(--space-3);background:var(--crit-soft);color:var(--crit);border-radius:var(--radius-s);overflow-wrap:anywhere}.error .btn{margin:var(--space-2)}.loading{display:grid;gap:var(--space-2);padding:var(--space-4)}.loading div{height:30px;background:var(--surface-2);border-radius:var(--radius-s)}.today{display:grid;gap:var(--space-6) var(--space-5);grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"nu inbox" "rest inbox";align-items:start}.area-nu{grid-area:nu}.area-rest{grid-area:rest;display:grid;gap:var(--space-6)}.inbox{grid-area:inbox;position:sticky;top:var(--space-4);display:grid;gap:var(--space-3)}.section-head{display:flex;align-items:center;margin-bottom:10px}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.row-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:12px 14px;border-top:1px solid var(--line);color:var(--fg);text-decoration:none;min-width:0}.row-link:first-child{border-top:0}.row-link:hover{background:var(--surface-2)}.row-link:focus-visible{outline-offset:-3px}.row-main{display:grid;gap:3px}.row-title{font-size:15px;font-weight:600;overflow-wrap:anywhere}.row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;color:var(--muted);font-size:13px}.row-meta>span{min-width:0;overflow-wrap:anywhere}.row-status{flex-shrink:0}.inbox-card{background:var(--surface);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);display:grid;gap:var(--space-3)}.feed{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.feed-head{padding:12px 14px 4px;color:var(--muted);font-size:14px}.feed-item{padding:12px 14px;border-top:1px solid var(--line);display:grid;gap:var(--space-2)}.feed-item p{white-space:pre-wrap;overflow-wrap:anywhere}.feed-item .reply{color:var(--accent);font-size:14px}.feedback-edit{padding-top:var(--space-2);display:grid;gap:var(--space-3)}.project-groups{display:grid;gap:var(--space-6)}.project-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,180px) 90px 140px;width:100%}.project-title{font-weight:600;overflow-wrap:anywhere}.project-row .muted{font-size:13px;min-width:0;overflow-wrap:anywhere}.archive{margin-top:var(--space-5)}summary{min-height:var(--touch);padding:var(--space-2) 0;cursor:pointer}.project-info{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-4)}.project-description{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;max-width:75ch;margin-bottom:var(--space-4)}.text-link{font-size:14px}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}.lane{background:var(--surface-2);border-radius:var(--radius);padding:10px;display:grid;align-content:start;gap:var(--space-2);min-width:0}.lane-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px}.lane-head h2{font:600 14px var(--font-body)}.lane-head span{font-size:13px;color:var(--muted)}.card-button{text-align:left;cursor:pointer;background:var(--surface);color:var(--fg);width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;display:grid;gap:var(--space-2);min-height:var(--touch)}.card-button:hover{border-color:var(--accent)}.card-button:disabled{opacity:.55}.card-button .card-title{font-size:14px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.avatar{width:26px;height:26px;display:inline-flex;justify-content:center;align-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600}.quick-add{display:grid;gap:var(--space-2)}.quick-add .input{background:var(--surface)}.mobile-columns{display:none}.choice-tabs{display:flex;gap:2px;flex-wrap:wrap;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s)}.choice-tabs .btn{flex:1;padding:6px 8px}.choice-tabs [aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.member-row{display:flex;align-items:center;gap:var(--space-2);justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.member-row .row-main{overflow-wrap:anywhere}.panel-backdrop{position:fixed;inset:0;z-index:40;background:var(--backdrop);display:flex;justify-content:flex-end}.panel{width:min(var(--panel-width),100%);height:100dvh;background:var(--surface);display:flex;flex-direction:column;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px var(--space-4);border-bottom:1px solid var(--line)}.panel-body{overflow-y:auto;padding:var(--space-4);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}.danger-zone{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line);display:grid;gap:var(--space-3)}.login-page{min-height:100dvh;display:grid;place-items:center}.login-card{width:min(400px,100%);background:var(--surface);padding:var(--space-5);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:var(--space-4)}.login-card h1{font-size:30px}.divider{text-align:center;color:var(--muted);font-size:13px}@media(max-width:900px){.today{grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-5) var(--space-4)}.project-row{grid-template-columns:minmax(0,1fr) 130px 70px 130px}}@media(max-width:767px){.today{grid-template-columns:minmax(0,1fr);grid-template-areas:"nu" "inbox" "rest"}.inbox{position:static}.board{grid-template-columns:minmax(0,1fr)}.lane:not(.active-lane){display:none}.mobile-columns{display:block;margin-bottom:var(--space-4)}.panel-backdrop{align-items:flex-end}.panel{height:auto;max-height:92dvh;width:100%;border-radius:var(--radius) var(--radius) 0 0}.panel-body{overscroll-behavior:contain}.project-row{grid-template-columns:minmax(0,1fr) auto;gap:6px var(--space-3)}.project-row .project-title,.project-row .next-deadline{grid-column:1 / -1}.row-link{gap:var(--space-2)}.row-status{font-size:12px}}@media(max-width:390px){main{padding:var(--space-4) var(--space-3) 48px}.shell{padding-inline:var(--space-3)}.page-heading{flex-wrap:wrap}.page-heading h1{font-size:21px}.field-pair{grid-template-columns:minmax(0,1fr)}}
