:root{color-scheme:light;--paper:#f6f5ed;--surface:#fffef9;--ink:#20362b;--muted:#5c6c61;--green:#234b38;--line:#dcded2;--light:#e9efe2;--amber:#85602f;font:16px system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,summary,select{cursor:pointer}button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;padding:.58rem .85rem}button:hover{filter:brightness(.96)}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #7da885;outline-offset:3px}a{color:var(--green)}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,serif;font-weight:normal}h1{font-size:clamp(2.3rem,5vw,3.6rem);letter-spacing:-.065em;line-height:1.02}h2{font-size:1.65rem;letter-spacing:-.035em}small,.muted{color:var(--muted)}.primary{background:var(--green);color:white;border-color:var(--green);font-weight:650}.eyebrow{font-size:.72rem;letter-spacing:.13em;font-weight:800;color:var(--muted);text-transform:uppercase;margin-bottom:.65rem}
#shell{display:grid;grid-template-columns:214px minmax(0,1fr);min-height:100vh}aside{background:#17382c;color:#f8f5e8;display:flex;flex-direction:column;padding:28px 18px;position:sticky;top:0;height:100dvh}.brand{font-family:Georgia,serif;font-size:2rem;letter-spacing:-.05em;display:flex;align-items:center;gap:10px}.brand span{background:#c9d9b5;color:#17382c;border-radius:12px;padding:3px 9px;font-size:1.5rem}.brand-caption{font-size:.6rem;letter-spacing:.13em;margin:9px 0 30px;color:#d1dccd}nav{display:grid;gap:5px}nav button,.aside-foot button{text-align:left;background:transparent;border-color:transparent;color:inherit}nav button span{margin-left:9px}nav button[aria-current]{background:#315544}.aside-foot{margin-top:auto}
main{width:100%;max-width:1500px;padding:34px clamp(16px,4vw,56px);margin:auto;margin-top:0}header{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:27px}header p:last-child{margin-top:9px;color:var(--muted)}.panel,.metric,.lane{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:17px}.hero{background:#dfe9d6;padding:22px;margin-bottom:16px}.hero p{margin:.45rem 0 .8rem;color:#445c49}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.metric strong{display:block;font-family:Georgia,serif;font-size:2rem;font-weight:normal}.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.stack{display:grid;gap:10px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.toolbar input,.toolbar select{width:auto;max-width:100%}.board{display:grid;grid-template-columns:repeat(4,minmax(175px,1fr));gap:12px;overflow:auto;padding-bottom:10px}.lane{background:#edeFE5;padding:11px;min-height:180px}.lane.over{outline:2px dashed #658d70;outline-offset:-3px}.lane .section-title{font-size:.88rem}.lane .section-title button{padding:.2rem .5rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px;display:grid;gap:8px}.card-title{text-align:left;border:0;background:none;padding:0;font-weight:700;overflow-wrap:anywhere}.card-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:.75rem;color:var(--muted)}.badge{background:var(--badge,#e9efe2);color:#263a2e;padding:3px 7px;border-radius:20px;font-size:.7rem;font-weight:700}.card select{font-size:.76rem;padding:4px}.empty{color:var(--muted);font-size:.9rem;padding:10px 0}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.row .card{flex:1;min-width:130px}.check{accent-color:var(--green);width:19px;height:19px;margin:0}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday{text-align:center;color:var(--muted);font-size:.72rem;padding:5px}.day{border:1px solid var(--line);border-radius:8px;min-height:62px;background:var(--surface);padding:4px;font-size:.82rem;display:grid;align-content:start;gap:3px}.day.active{background:#dfe9d6;border-color:#5a7c64}.day.muted{opacity:.6}.cal-count{font-size:.7rem;color:var(--muted)}.agenda{margin-top:14px}.bar{height:7px;background:#e9ebe1;border-radius:10px;overflow:hidden}.bar span{height:100%;display:block;background:#507c5c}.connection p{margin:.5rem 0 .8rem}.connection{margin-bottom:12px}
#login{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at top right,#d3e1cb,var(--paper) 58%);padding:18px}.login-card{width:min(100%,460px);background:var(--surface);padding:32px;border:1px solid var(--line);border-radius:22px}.login-card .eyebrow{margin-top:25px}.login-card>p:last-of-type{margin:.75rem 0 1rem}.login-card form{display:grid;gap:12px}label{display:grid;gap:5px;font-size:.84rem;font-weight:650}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:8px;min-width:0}dialog{max-height:92dvh;width:min(560px,94vw);border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--surface);padding:19px}dialog::backdrop{background:#172e23a0}dialog form{display:grid;gap:11px}.dialog-heading,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-actions .primary{margin-left:auto}.dates{grid-template-columns:1.3fr 1fr 1fr}details label{margin-top:8px}.upload{border:1px dashed #a4b4a6;border-radius:9px;padding:8px}.upload small{font-weight:400}.danger,#loginError{color:#973f34}#attachments{display:flex;flex-wrap:wrap;gap:8px}.thumb{display:grid;gap:3px;font-size:.75rem}.thumb img{width:65px;height:50px;object-fit:cover;border-radius:5px}.thumb button{padding:2px}.checkrow{display:flex;align-items:center;margin-top:5px}.checkrow input{width:auto}.checkrow span{overflow-wrap:anywhere}#toast{position:fixed;bottom:16px;right:16px;max-width:min(90vw,460px);background:#17382c;color:white;border-radius:10px;padding:12px 18px;z-index:5}
@media(max-width:760px){#shell{display:block}aside{position:static;height:auto;padding:12px}aside .brand{font-size:1.35rem}.brand-caption{display:none}nav{display:flex;overflow:auto;margin-top:6px}nav button{white-space:nowrap;font-size:.83rem;padding:.45rem .55rem}nav button span{margin-left:3px}.aside-foot{position:absolute;right:10px;top:10px}main{padding:19px 12px}header{gap:8px}header .primary{font-size:.78rem;white-space:nowrap}.grid.responsive{grid-template-columns:1fr}.metrics{gap:5px}.metric{padding:8px}.metric small{font-size:.67rem}.day{min-height:43px}.panel{padding:12px}}

:root{--paper:#eeeee2;--surface:#f8f8ef;--ink:#1b3328;--muted:#465d51;--green:#204d3c;--line:#cdd3c4;--light:#e0e9dc}
.brand img{width:42px;height:42px;border-radius:10px}.login-card .brand img{width:54px;height:54px}
.subtitle-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:10px}
header .subtitle-row p{margin:0;color:var(--muted)}#nextDay{background:#d9e7d9;border-color:#a6baa8;color:#193a2c;font-weight:750;white-space:nowrap}
.hero{background:#d4e2ce}.lane{border-top:4px solid var(--lane-accent);background:var(--lane-bg)}
.lane-inbox{--lane-accent:#8a7557;--lane-bg:#e7dfce}.lane-planned{--lane-accent:#547c8a;--lane-bg:#d8e5e7}
.lane-doing{--lane-accent:#9c7534;--lane-bg:#ebe0c6}.lane-done{--lane-accent:#48795a;--lane-bg:#d6e4d4}
.day{background:#f5f5ea;grid-template-columns:1fr auto;text-align:left;align-items:center;padding:6px}
.day:nth-child(7n),.day:nth-child(7n - 1){background:#e5eadd}.day.current{box-shadow:inset 0 0 0 1px #4a7157;font-weight:800}.day.active{background:#c9ddc9;border-color:#4e7959}
.day-markers{grid-row:2;grid-column:1/-1;display:flex;gap:3px;flex-wrap:wrap}.day-markers i{width:7px;height:7px;border-radius:50%;background:var(--dot);border:1px solid #294c4477}.day-markers .google-dot{background:#547c8a}.cal-count{grid-row:1;grid-column:2}
@media(max-width:760px){
 aside .brand img{width:34px;height:34px}nav button,.aside-foot button{min-height:44px}
 main{padding-bottom:max(24px,env(safe-area-inset-bottom))}header{align-items:flex-start}header .primary{margin-top:20px;min-height:44px}
 #nextDay,.toolbar button,.section-title>button{min-height:44px}.calendar{gap:3px}.day{min-height:45px;padding:3px}.day-markers{gap:2px}.day-markers i{width:6px;height:6px}
 .board{grid-template-columns:repeat(4,minmax(min(76vw,270px),1fr));scroll-snap-type:x proximity}
 .lane{scroll-snap-align:start}.lane select{font-size:1rem;min-height:42px}
 dialog input:not([type=checkbox]),dialog select,dialog textarea,#loginForm input{font-size:16px}
}
