:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color-scheme:dark;--bg:#0d1117;--surface:#151c25;--border:#2a3543;--text:#e7edf5;--muted:#97a7bc;--accent:#b6f178;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:9px 13px;cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}input,select,textarea{width:100%;min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--border);padding:11px;border-radius:8px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label{display:grid;gap:7px;font-size:.85rem;color:var(--muted)}form{display:grid;gap:16px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--border);padding:24px 4vw}.eyebrow{font-size:.7rem;letter-spacing:.18em;color:var(--accent)}h1{font-size:2rem;letter-spacing:-.06em;margin:8px 0}h1 small{letter-spacing:0;font-size:.9rem;color:var(--muted);font-weight:400;margin-left:12px}h2{font-size:1.1rem;margin:0 0 20px}h2 small,h3 small{font-size:.75rem;color:var(--muted);font-weight:400;margin-left:8px}h3{font-size:.8rem;text-transform:capitalize;margin:0 0 15px}.toolbar{display:flex;gap:10px;align-items:end}.toolbar select{min-width:170px}main{max-width:1600px;margin:auto;padding:30px 4vw}section{margin-bottom:32px}article{border:1px solid var(--border);background:var(--surface);padding:18px;border-radius:12px;margin-bottom:10px}p{font-size:.85rem;line-height:1.6}.muted,time,.empty{color:var(--muted)}time{font-size:.7rem}.empty{font-size:.8rem;padding:15px 0}.row,.page-title{display:flex;gap:12px;justify-content:space-between;align-items:center}.page-title{margin-bottom:25px}.machines,.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.status{font-size:.75rem;display:flex;gap:6px;align-items:center}.status i{width:7px;height:7px;border-radius:50%;background:#7c8797}.status.online i{background:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{font-size:.7rem;border:1px solid var(--border);padding:4px 7px;border-radius:5px}.inline{display:flex;gap:10px;margin-bottom:16px}.inline button{white-space:nowrap}.quick-add button,.signin button,.panel form>button{background:var(--accent);color:#17210d}.board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.column{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface);min-height:150px}.task{display:grid;gap:10px;text-align:left;width:100%;background:var(--bg);margin-bottom:10px;overflow-wrap:anywhere}.task strong{font-size:.85rem}.task span{font-size:.7rem}.lower{display:grid;grid-template-columns:1fr 1.5fr;gap:25px}.notice{display:flex;justify-content:space-between;align-items:center;background:#552926;padding:15px;border-radius:10px;margin-bottom:20px;color:#fff}.signin{max-width:420px;margin:10vh auto}.signin h1{font-size:3rem}.signin form{margin-top:25px}.panel{position:fixed;inset:0 0 0 auto;margin:0;width:440px;max-width:100%;height:100dvh;max-height:100dvh;background:var(--surface);color:var(--text);border:0;border-left:1px solid var(--border);padding:25px;overflow-y:auto}.panel::backdrop{background:#0008}.panel .row{margin-bottom:20px}.panel h2{margin:0}.thread{overflow-wrap:anywhere}details button{margin:10px}@media(prefers-color-scheme:light){:root{color-scheme:light;--bg:#f4f6f9;--surface:#fff;--border:#d4dce7;--text:#1b2737;--muted:#596a7f;--accent:#568c26}}@media(max-width:1000px)and (min-width:640px){.board{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:639px){header{align-items:stretch;flex-direction:column;padding:20px}.toolbar{flex-wrap:wrap}.toolbar label{flex:1}.toolbar select{min-width:0}main{padding:24px 20px}.board,.lower,.machines,.projects{grid-template-columns:1fr}.page-title{align-items:start;flex-direction:column}.inline{flex-wrap:wrap}.inline input{flex:1;min-width:150px}.row{flex-wrap:wrap}.panel{width:100%}}
