:root{--ink:#202c39;--muted:#7b8590;--line:#e7eaed;--navy:#233c46;--green:#32795b;--blue:#4d86b8;--orange:#bb7832;--yellow:#ad8a28;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f8f9fb;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #78afce}input,select{border:1px solid #dce1e6;border-radius:9px;padding:10px 12px;background:white;color:var(--ink)}input:focus,select:focus{outline:2px solid #a4c7ce}button:hover{filter:brightness(.97)}[hidden]{display:none!important}.brand-icon{width:42px;height:42px;border-radius:13px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:center;font-size:33px;font-weight:650;letter-spacing:-4px;padding-right:5px}.brand-icon span{color:#b4d6b7}aside{position:fixed;width:246px;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;font-size:23px;font-weight:650;letter-spacing:-.8px;padding:0 10px}.brand small{display:block;font-size:10px;font-weight:400;color:var(--muted);letter-spacing:.1px;margin-top:4px}.nav-label{font-size:10px;letter-spacing:1.4px;color:#929aa4;margin:46px 12px 14px;font-weight:650}.project-label{margin-top:28px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:12px;border-radius:9px;background:transparent;text-align:left;font-size:13px;color:#697581;margin-bottom:4px}.nav-item span{flex:1}.nav-item.selected{background:#edf3f1;color:#2b5b4c;font-weight:600}.nav-item b{font-size:11px;font-weight:500;background:#fff;padding:3px 7px;border-radius:5px}.project-dot{height:8px;width:8px;border-radius:3px;flex:none}.sidebar-bottom{margin-top:auto;padding-top:20px}.owner{display:flex;align-items:center;border-top:1px solid var(--line);padding-top:22px;margin:15px 8px 0;gap:9px;font-size:12px}.owner>span{background:#edf0ec;color:#65765b;padding:10px 8px;border-radius:50%;font-size:11px;font-weight:600}.owner small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.owner i{font-size:8px;color:#68a47c;margin-left:auto}#projects{overflow:auto;max-height:calc(100vh - 395px)}main{margin-left:246px;padding:0 38px;max-width:2300px}header{height:79px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.breadcrumbs span{margin:0 12px;color:#bbc0c7}.header-right{display:flex;gap:22px;align-items:center}.private{padding:7px 10px;background:#eef2ef;border-radius:20px;color:#658070;font-size:10px}.heading{display:flex;justify-content:space-between;align-items:center;padding:34px 0 27px;gap:22px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#8d959e;font-weight:650;margin:0 0 12px}h1{font-size:32px;line-height:1.2;letter-spacing:-1.1px;margin:0 0 12px;font-weight:600}h1 span{color:#77a48a;margin-left:6px}.muted{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.primary{background:var(--navy);color:white;border-radius:9px;padding:13px 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:550;white-space:nowrap}.primary>span{font-size:20px;line-height:15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 22px}.stats>div{background:white;border:1px solid var(--line);border-radius:12px;padding:18px 20px}.stats span{font-size:11px;color:#78828d;display:flex;align-items:center;gap:7px}.stats strong{display:block;font-weight:550;font-size:30px;letter-spacing:-1px;margin:14px 0 9px}.stats small{font-size:10px;color:#99a1a9}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.blue{background:#699cc8}.orange{background:#d49a5a}.green{background:#74a58a}.yellow{background:#d7ba61}.sync{border:1px solid #e1e9e5;background:#f1f6f3;border-radius:10px;padding:13px 16px;display:flex;align-items:center;gap:12px}.sync b{font-size:11px;font-weight:550}.sync div>span{display:block;color:#85928b;font-size:10px;margin-top:5px}.schedule-switch{margin-left:auto;font-size:10px;color:#6f8175;white-space:nowrap;display:flex;align-items:center;gap:8px}.schedule-switch input{accent-color:#467a63}.coverage{font-size:10px;line-height:1.6;color:#8a949d;padding:10px 2px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:15px 0 20px;gap:12px}.view-label{display:flex;gap:9px;align-items:center;color:#7d8893;font-size:16px}.view-label b{font-size:12px;color:#394958;font-weight:550}.view-label>span{font-size:10px;background:#e9edf0;border-radius:5px;padding:3px 6px}.filters{display:flex;gap:10px}.search{position:relative}.search>span{position:absolute;left:12px;top:7px;font-size:22px;color:#9ca4ad}.search input{padding-left:34px;width:205px;font-size:11px}.filters select{font-size:11px;max-width:155px}.board{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:16px;align-items:start;overflow-x:auto;padding-bottom:18px;min-height:380px}.column{border-radius:12px;background:#f0f3f6;padding:12px;min-height:370px}.column[data-status=new]{background:#eef3f8}.column[data-status=working]{background:#f6f3e9}.column[data-status=waiting]{background:#f8f1ea}.column[data-status=done]{background:#edf4ef}.column-heading{display:flex;align-items:center;gap:8px;padding:4px 3px 15px;font-size:11px;font-weight:600}.column-heading .count{background:#ffffffa6;border:1px solid #ffffffb0;padding:3px 6px;border-radius:5px;font-size:10px;color:#8a949f;margin-left:3px}.column-heading .dots{margin-left:auto;color:#a2aab2;letter-spacing:2px}.card{border:1px solid #e3e7eb;background:white;border-radius:10px;padding:16px 14px;margin-bottom:11px;box-shadow:0 2px 3px #15293b03}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px}.project-tag{font-size:9px;padding:4px 6px;border-radius:4px;background:#f0f3f5;color:#6f7f90;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{background:transparent;color:#99a1ab;padding:0 4px;font-size:20px;line-height:20px}.task-title{display:block;background:transparent;padding:0;text-align:left;font-size:13px;font-weight:600;line-height:1.55;width:100%;color:#2c3947}.task-summary{font-size:11px;color:#88919b;line-height:1.6;margin:10px 0 13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.next-step{font-size:10px;line-height:1.6;background:#f7f9fa;color:#74818b;padding:9px;border-radius:6px;margin-bottom:12px}.next-step b{color:#536472;font-weight:550}.card-dates{display:flex;gap:8px;justify-content:space-between;align-items:center;font-size:9px;color:#9aa2ab;padding-top:12px;border-top:1px solid #eef0f3;flex-wrap:wrap}.due{padding:4px 6px;background:#f4f6f8;border-radius:4px}.overdue{color:#b36b5e;background:#fff1ed}.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:13px;gap:4px}.open-link{font-size:10px;color:#84939f}.action{font-size:10px;color:#456575;background:#eef3f5;border-radius:6px;padding:7px 9px}.action.close{background:#eef5ef;color:#52846a}.done-label{font-size:10px;color:#6a9b7e}.empty{padding:42px 10px;text-align:center;color:#a1aab3;font-size:11px;line-height:1.8}.empty span{display:block;font-size:24px;color:#bdc8cd;margin-bottom:10px}footer{display:flex;justify-content:space-between;font-size:9px;color:#a6adb5;padding:18px 0 25px;border-top:1px solid var(--line);gap:12px}.text-button{background:transparent;color:#8d969e;padding:14px 0 0;font-size:11px}dialog{border:1px solid #e4e8eb;border-radius:17px;width:550px;max-width:calc(100vw - 30px);padding:28px;color:var(--ink);box-shadow:0 25px 90px #152b4030}dialog::backdrop{background:#1e344b50;backdrop-filter:blur(3px)}dialog label{font-size:11px;color:#788592;display:block;margin:15px 0 7px}dialog input,dialog select{width:100%}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top .eyebrow{margin:0}.detail-label{font-size:9px;color:#8895a0;letter-spacing:1px;margin:23px 0 9px}#detail-summary,#detail-next{font-size:13px;line-height:1.7}blockquote{font-size:11px;line-height:1.7;border-left:2px solid #b3c9bd;margin:20px 0;padding:4px 12px;color:#88968d}#detail-dates{font-size:10px;color:#8d969e}.dialog-actions{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.secondary{font-size:12px;color:#577487}.dialog-actions .primary{padding:12px 24px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#253b46;color:white;border-radius:9px;padding:13px 22px;box-shadow:0 5px 30px #0002;font-size:12px;z-index:10;max-width:90vw}#login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 70% 10%,#e2ede7,transparent 60%),#f6f8f7;padding:25px}#login form{width:400px;max-width:100%;background:white;border:1px solid #e4eae6;border-radius:20px;padding:38px;box-shadow:0 15px 65px #213c4710}#login .brand-icon{margin-bottom:35px}#login h1{font-size:30px;line-height:1.3}#login label{display:block;margin:28px 0 8px;font-size:11px;color:#74847a}#login input{width:100%}#login button{margin-top:15px;width:100%;justify-content:space-between}#login small{font-size:9px;color:#98a49c;display:block;margin-top:24px}#login-error{font-size:11px;color:#ae5f51}.spinning{animation:spin 2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1800px){main{padding:0 50px}.card{padding:20px}.task-title{font-size:14px}}@media(max-width:1150px){aside{width:208px;padding:26px 12px}main{margin-left:208px;padding:0 24px}.heading{align-items:flex-start}h1{font-size:27px}.stats{gap:10px}.stats>div{padding:15px}.header-right #today{display:none}.board{grid-template-columns:repeat(4,260px)}}@media(max-width:760px){aside{position:static;width:100%;padding:15px 18px;border-right:0;border-bottom:1px solid var(--line)}aside .nav-label,aside #projects,.sidebar-bottom,.nav-item{display:none}.brand{padding:0;font-size:20px}.brand-icon{width:34px;height:34px;font-size:28px}.brand small{font-size:9px}main{margin:0;padding:0 18px}header{height:51px}.private{font-size:8px;padding:5px}.breadcrumbs{font-size:9px}.breadcrumbs span{margin:0 7px}.heading{display:block;padding:25px 0 20px}.heading h1{font-size:28px}.heading .primary{margin-top:20px;width:100%}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stats>div{padding:14px}.stats strong{font-size:27px;margin:10px 0}.sync{align-items:flex-start;padding:12px}.sync>.dot{margin-top:4px}.schedule-switch{font-size:9px}.sync div>span{line-height:1.6}.toolbar{display:block;margin-top:15px}.filters{margin-top:15px;display:flex}.search{flex:1}.search input{width:100%}.board{grid-template-columns:repeat(4,285px);margin-right:-18px;padding-right:18px;scroll-snap-type:x proximity}.column{scroll-snap-align:start}.coverage{font-size:9px}footer{display:block;line-height:1.8}footer>span{display:block}.stats small{font-size:9px}}
#mobile-project{display:none}.nav-item>span{overflow:hidden;text-overflow:ellipsis}.board{scrollbar-width:thin;scrollbar-color:#ced8dc transparent}@media(max-width:760px){#mobile-project{display:block;max-width:100%;width:100%;grid-column:1/-1}.filters{display:grid;grid-template-columns:1fr 135px}.filters select{max-width:100%}.filters .search{min-width:0}}

/* Follow the OS preference live, without polling or a saved override. */
:root { color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root { color-scheme: dark; --ink:#e1e8ee; --muted:#a1aeba; --line:#34414c; --navy:#345963; background:#151c23; }
  aside, .stats>div, .card, dialog, #login form { background:#202a34; border-color:var(--line); }
  input, select { background:#18222c; border-color:#42515f; color:var(--ink); }
  .nav-label, .eyebrow, .view-label, .coverage, .column-heading .dots, footer, .text-button { color:#a0adba; }
  .nav-item { color:#b2c0cc; }
  .nav-item.selected { background:#2a413d; color:#b8dfcd; }
  .nav-item b, .view-label span { background:#34424e; color:#d1dce5; }
  .owner>span, .private { background:#2a4037; color:#acd0b9; }
  .stats span, .stats small, .sync div>span, .schedule-switch, .breadcrumbs span { color:#a8b7c2; }
  .sync { background:#20332c; border-color:#365345; }
  .view-label b, .task-title { color:#e0e9f0; }
  .column { background:#1c2732; }
  .column[data-status="new"] { background:#1c2c3b; }
  .column[data-status="working"] { background:#302e20; }
  .column[data-status="waiting"] { background:#352a22; }
  .column[data-status="done"] { background:#20332a; }
  .column-heading .count { background:#ffffff0d; border-color:#ffffff14; color:#b7c4ce; }
  .project-tag { background:#2c3c4a; color:#b9cedd; }
  .task-summary, .card-dates, .open-link, .icon-button, .detail-dates, dialog label, .detail-label { color:#acbac6; }
  .next-step { background:#18232c; color:#b4c4cf; }
  .next-step b { color:#d0dfe8; }
  .card-dates { border-color:#34414c; }
  .due { background:#2e3a46; }
  .overdue { background:#482c29; color:#f2b0a2; }
  .action { background:#2c414d; color:#c0dce9; }
  .action.close { background:#294435; color:#b0ddbf; }
  .done-label { color:#a0d3af; }
  .empty, .empty span { color:#96a8b6; }
  blockquote { color:#b1c4b8; border-color:#739381; }
  .secondary { color:#adcddd; }
  dialog::backdrop { background:#090f18aa; }
  #login { background:radial-gradient(ellipse at 70% 10%,#263e32,transparent 60%),#151c23; }
  #login label, #login small { color:#a6bcae; }
  #login .error { color:#f2b0a2; }
  .board { scrollbar-color:#4b6170 transparent; }
}
/* Project overview and owner-approved intake. */
[hidden] { display:none !important; }
.project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:18px 0 28px; }
.project-tile { text-align:left; background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:16px; padding:24px; min-width:0; transition:transform .15s,border-color .15s; }
.project-tile:hover { transform:translateY(-2px); border-color:#82a798; }
.tile-top { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; }
.tile-top>span { margin-left:auto; font-size:20px; }
.project-tile h2 { font-size:23px; letter-spacing:-.5px; margin:18px 0 8px; }
.project-tile>p { color:var(--muted); font-size:12px; }
.tile-next { background:#f5f8f7; border-radius:10px; padding:14px; margin:20px 0; min-height:87px; }
.tile-next small { display:block; font-size:9px; letter-spacing:1px; color:var(--muted); margin-bottom:9px; }
.tile-next strong { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:12px; line-height:1.6; font-weight:500; }
.tile-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; color:var(--muted); font-size:10px; }
.tile-bottom b { color:#45735e; font-weight:500; }
.home-note { color:var(--muted); font-size:12px; line-height:1.7; }
.home-note button { background:transparent; padding:0; text-decoration:underline; }
.other-projects { border-top:1px solid var(--line); padding-top:18px; margin-bottom:30px; }
.other-projects summary { cursor:pointer; color:var(--muted); font-size:12px; }
.inbox-list { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.board.inbox-board { display:block; min-height:200px; }
.inbox-list .card-actions { flex-wrap:wrap; gap:8px; }
@media(prefers-color-scheme:dark) { .project-tile { background:#202a34; } .tile-next { background:#18232c; } .tile-bottom b { color:#acd6ba; } }
@media(max-width:1100px) { .inbox-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .project-grid,.inbox-list { grid-template-columns:1fr; } .project-tile { padding:20px; } .project-tile h2 { font-size:21px; } }
.nav-archive { margin-top:15px; color:var(--muted); }
.nav-archive summary { cursor:pointer; padding:8px 12px; font-size:10px; }
/* One conversation in a focused, keyboard-accessible side panel. */
#assistant-chat { position:fixed; inset:0 0 0 auto; margin:0; width:min(620px,100vw); max-width:100vw; height:100dvh; max-height:100dvh; padding:0; border:0; border-left:1px solid var(--line); border-radius:0; background:#f8f9fb; color:var(--ink); }
#assistant-chat[open] { display:flex; flex-direction:column; }
.chat-heading { display:flex; justify-content:space-between; gap:15px; padding:22px 26px 16px; border-bottom:1px solid var(--line); background:white; }
.chat-heading .eyebrow { margin:0 0 8px; font-size:9px; }
.chat-heading h2 { margin:0; font-size:22px; }
#chat-status { margin:8px 0 0; color:var(--muted); font-size:11px; }
#chat-close { align-self:flex-start; font-size:27px; padding:2px 5px; }
.chat-messages { flex:1; min-height:0; overflow-y:auto; padding:22px; overscroll-behavior:contain; }
.chat-message { margin:0 36px 18px 0; padding:15px 17px; background:white; border:1px solid var(--line); border-radius:14px 14px 14px 3px; font-size:13px; line-height:1.65; }
.chat-message small { display:block; color:var(--muted); font-size:10px; margin-bottom:8px; }
.chat-message>div { white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-message.user { margin:0 0 18px 36px; background:#eaf2ee; border-color:#dbe7e0; border-radius:14px 14px 3px 14px; }
.chat-message.queued { border-style:dashed; }
#chat-form { padding:16px 22px 22px; border-top:1px solid var(--line); background:white; }
#chat-form label { display:block; color:var(--muted); font-size:11px; margin-bottom:8px; }
#chat-input { width:100%; resize:vertical; min-height:82px; max-height:180px; padding:12px; font:inherit; color:var(--ink); background:#f8f9fb; border:1px solid var(--line); border-radius:10px; }
.chat-compose-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:10px; }
.chat-compose-bottom small { color:var(--muted); font-size:9px; line-height:1.5; }
.chat-compose-bottom button { flex-shrink:0; }
#chat-error,.chat-delivery-error { color:#b66c52; font-size:11px; padding:0 22px; }
.chat-delivery-error { padding:0; }
@media(prefers-color-scheme:dark) { #assistant-chat { background:#151c23; } .chat-heading,#chat-form,.chat-message { background:#202a34; } .chat-message.user { background:#263e34; border-color:#385347; } #chat-input { background:#18222c; } #chat-error,.chat-delivery-error { color:#f2b0a2; } }
@media(max-width:600px) { .chat-heading { padding:18px; } .chat-messages { padding:14px; } #chat-form { padding:14px; } .chat-message { margin-right:15px; } .chat-message.user { margin-left:15px; } }
.chat-attach { background:transparent; color:var(--ink); font-size:24px; padding:5px; border-radius:8px; line-height:1; }
#chat-attachments { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; max-height:115px; overflow:auto; }
.chat-file-chip { display:inline-flex; align-items:center; gap:6px; max-width:100%; overflow-wrap:anywhere; background:#edf3f0; color:var(--ink); border:1px solid var(--line); padding:7px 9px; border-radius:8px; font-size:11px; }
.chat-file-chip small { white-space:nowrap; color:var(--muted); font-size:9px; }
.chat-file-chip button { background:transparent; color:var(--muted); padding:1px 4px; font-size:17px; }
.chat-file-link { display:block; margin-top:10px; padding:9px 10px; border:1px solid var(--line); border-radius:8px; overflow-wrap:anywhere; }
.chat-file-link small { display:inline; margin:0; }
@media(prefers-color-scheme:dark) { .chat-file-chip { background:#263e34; } }
