:root{--night:#09121e;--pine:#005436;--trunk:#613713;--podzol:#423913;--fox:#ba5422;--bg:#f5f6f2;--surface:#fff;--soft:#ecefe8;--text:#172a25;--muted:#606e65;--line:#dce2d9;--green:var(--pine);--warm:#f6eadf;--warm-text:#803a18;--accent:#005436;--shadow:0 4px 18px #09121e05;color:var(--text);background:var(--bg);color-scheme:light}
:root[data-theme=dark]{--bg:#09121e;--surface:#121f2d;--soft:#1b2b36;--text:#e8eee8;--muted:#a8b9b1;--line:#2c3c46;--warm:#352820;--warm-text:#f0ae84;--accent:#8ed5ad;--shadow:0 4px 20px #0002;color-scheme:dark}
body{background:var(--bg);color:var(--text)}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}button{transition:background .15s,border-color .15s,box-shadow .15s}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #ba5422;outline-offset:3px}input,select,textarea{background:var(--surface);color:var(--text);border-color:var(--line);border-radius:10px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.shell{grid-template-columns:248px minmax(0,1fr)}.shell>aside{background:linear-gradient(165deg,#09121e 5%,#003a2b 100%);padding:26px 18px;gap:30px;border-right:1px solid #ffffff12;color:#c4d5cd}.brand{font-size:23px;gap:12px;letter-spacing:-.6px}.brand-logo{width:46px;height:51px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 3px #0004)}.brand small{color:#b0c6bc;font-size:9px;letter-spacing:2.3px}.navicon{width:19px;height:19px;flex-shrink:0}.navbutton{font-size:13px;padding:12px;gap:12px;border:1px solid transparent;border-radius:10px;margin:4px 0}.navbutton:hover{background:#ffffff0c;filter:none}.navbutton.active{background:#005436;color:#fff;border-color:#287858;box-shadow:inset 3px 0 #ba5422}.navtitle{color:#aac1b2;letter-spacing:1.5px;font-weight:600}.navtitle button{font-size:16px;color:#d8e6df}.sidebar-bottom{border-color:#ffffff1c;color:#e3eae3;line-height:1.6}.sidebar-bottom .hint{color:#abc2b3}.sidebar-bottom>button{display:inline-block;padding:8px 6px;margin:6px 7px 0 0;color:#d0dfd6}.projectnav .navicon{width:16px;height:16px;opacity:.7}
.topbar{height:70px;background:var(--surface);padding:0 36px;color:var(--muted)}.header-brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:600;white-space:nowrap}.header-brand img{display:none;object-fit:contain}.breadcrumb{color:var(--muted);font-weight:400;margin-left:8px}.topright{gap:10px}.theme-toggle{min-width:81px;white-space:nowrap}#refresh{border:1px solid var(--line);border-radius:10px;width:36px;height:36px;font-size:20px}.content{max-width:1400px;margin:0 auto;padding:34px 36px 50px}.heading{align-items:center;margin-bottom:22px}.heading h1{font-size:30px;letter-spacing:-1px;color:var(--text)}.heading .subtitle{font-size:13px;line-height:1.7;max-width:650px;color:var(--muted)}.primary{background:var(--pine);color:#fff;padding:12px 18px;border-radius:10px;font-size:13px;box-shadow:0 2px 4px #00543614}.primary:hover{background:#006b46;filter:none}.secondary{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;font-size:12px}.secondary:hover{background:var(--soft);filter:none}.summary{font-size:12px;color:var(--muted);gap:12px;margin:18px 0}.summary>span{background:var(--soft);padding:6px 10px;border-radius:7px}.scopebar{margin:20px 0}.scopebar label,label{color:var(--muted)}.toolbar{border:0;padding:0;margin:20px 0;gap:14px}.tabs{background:var(--soft);border-radius:10px}.tabs button{font-size:13px;color:var(--muted)}.tabs button.selected{background:var(--surface);color:var(--accent);box-shadow:var(--shadow);font-weight:600}.filters input{width:230px}.filters input,.filters select{padding:11px;font-size:12px}
.quickentry{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--pine);border-radius:12px;padding:9px 10px;margin-bottom:18px;box-shadow:var(--shadow)}.quickentry:focus-within{border-color:var(--pine);box-shadow:0 0 0 3px #00543612}.quickentry>input{background:transparent;padding:12px;font-size:14px}.list,.timeline,.project,.card{background:var(--surface);border-color:var(--line);border-radius:12px;box-shadow:var(--shadow)}.taskrow{padding:15px 18px;gap:14px}.taskrow:hover{background:var(--soft)}.taskrow .taskname{font-size:14px;line-height:1.5}.taskrow small,.taskmeta,.datebutton{color:var(--muted)}.check{border-color:var(--muted)}.check.done{background:var(--pine);border-color:var(--pine)}.star{color:var(--muted)}.star.on{color:var(--fox)}.empty{padding:40px 24px 36px;color:var(--muted);font-size:13px;line-height:1.6}.empty:before{content:'';display:block;width:28px;height:4px;background:var(--fox);border-radius:3px;margin:0 auto 20px}.empty strong{font-size:18px;color:var(--text);font-family:Manrope,sans-serif;letter-spacing:-.3px}.empty p{max-width:430px;color:var(--muted)}.note{color:var(--muted);font-size:11px;margin-top:23px}.completed summary{color:var(--muted)}.blocked-label{background:var(--warm);color:var(--warm-text);padding:3px 7px;font-size:11px}.overdue,.danger,.error{color:var(--warm-text)}.deadline{color:var(--fox)}
.column{background:var(--soft);padding:14px;border-radius:12px;border-top:3px solid var(--podzol)}.column:nth-child(2){border-top-color:var(--pine)}.column:nth-child(3){border-top-color:var(--fox)}.column:nth-child(4){border-top-color:var(--trunk)}.colhead span:last-of-type{color:var(--muted)}.card{padding:17px}.card-foot{color:var(--muted);border-color:var(--line);line-height:1.5}.tag{background:var(--warm);color:var(--warm-text);font-size:10px}.card p,.project p,.hint,.notification small{color:var(--muted)}.project{border-top:3px solid var(--pine)}progress{accent-color:var(--pine)}.months{color:var(--muted)}.track{background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),var(--line) calc(10% - 1px),var(--line) 10%)}.bar{background:var(--pine);border-color:#438d62;color:#fff}.undo{background:var(--soft);color:var(--text);border-left:3px solid var(--fox)}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line)}dialog::backdrop{background:#09121e99}.detailpanel{border-left:1px solid var(--line)}#toast{background:var(--pine);color:white;border:1px solid #438d62}.login{max-width:620px;padding:34px;margin:12vh auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.login h1{margin-top:34px}.login p{color:var(--muted)}.login-brand{display:flex;gap:16px;align-items:center;font-family:Manrope,sans-serif;font-weight:700;font-size:15px}.login-brand img{object-fit:contain;max-width:80px;height:auto}.login-brand .theme-toggle{margin-left:auto}.bottomnav{background:var(--night);color:#dce6df;border-top:1px solid #304237}
@media(min-width:1500px){.content{max-width:1400px}}@media(max-width:1100px){.shell{grid-template-columns:218px minmax(0,1fr)}.content{padding:28px 24px}.topbar{padding:0 24px}}@media(max-width:760px){.shell{display:block}.topbar{height:auto;min-height:66px;gap:12px;padding:12px 16px;flex-wrap:wrap}.header-brand img{display:block}.header-brand{font-size:14px}.breadcrumb{display:none}.topright{gap:7px}.topright .secondary{font-size:11px;padding:9px}.theme-toggle{min-width:64px}#refresh{width:31px;height:31px}.content{padding:26px 16px 110px}.heading{margin-bottom:20px;gap:12px}.heading h1{font-size:27px}.heading .subtitle{font-size:12px}.filters input,.filters select{font-size:16px}.filters input{width:100px}.quickentry>input{font-size:16px;padding:11px 6px}.taskrow{padding:13px 12px;gap:4px 9px}.taskrow .taskname{font-size:14px}.empty{padding:32px 20px}.bottomnav .navbutton{flex-direction:column;gap:5px;padding:8px 12px;font-size:11px}.bottomnav .navicon{width:18px;height:18px}.bottomnav>button{min-width:56px}.login{margin:5vh 16px;padding:24px}.login-brand{gap:9px;font-size:13px}.login-brand img{max-width:55px}.formgrid{gap:12px}.note{font-size:10px}.detailpanel{padding-bottom:32px}#toast{bottom:90px;max-width:calc(100% - 24px);width:max-content}}
@media(prefers-reduced-motion:reduce){button{transition:none}.card:hover{transform:none}}
