:root{--ink:#1D2420;--mu:#5F6862;--bg:#F3F4F1;--side:#1F2622;--ac:#1E5B4E;--amber:#E4A93B;--bd:#E3E5E0}*{box-sizing:border-box}body{margin:0;font:14px Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}.shell{display:flex;min-height:100vh;flex-wrap:wrap}nav.side{flex:1 1 200px;max-width:224px;background:var(--side);color:#dde3df;padding:22px 14px;display:flex;flex-direction:column;gap:4px}nav.side a,nav.side button{padding:10px 12px;border-radius:8px;color:#dde3df;text-decoration:none;background:none;border:0;text-align:left;font:inherit;cursor:pointer}nav.side .on{background:#33403a;color:#fff;font-weight:600}main{flex:999 1 640px;min-width:0;padding:24px 28px}.card{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:16px;margin-bottom:14px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}.kpis b{display:block;font-size:28px}.k{font-size:12px;letter-spacing:1px;color:var(--mu);font-weight:700}button.p,.btn{height:36px;padding:0 14px;border-radius:8px;border:0;background:var(--ac);color:#fff;font-weight:600;cursor:pointer}button.g{height:36px;padding:0 14px;border-radius:8px;border:1px solid #CCD2CC;background:#fff;font-weight:600;cursor:pointer}input,select{height:40px;border:1px solid #CCD2CC;border-radius:8px;padding:0 10px;font:inherit;max-width:100%}table{width:100%;border-collapse:collapse}td,th{padding:9px 8px;border-top:1px solid #EEF0EC;text-align:left}th{font-size:12px;letter-spacing:1px;color:var(--mu);border:0}.chip{padding:3px 10px;border-radius:12px;font-weight:600;font-size:13px;background:#e6ebe7}.warn{background:#fbefd9;color:#8a4b00}.bad{background:#f8e6e2;color:#a23b2a}.ok{background:#e3f3e8;color:#1a6b3c}.login{min-height:100vh;background:var(--side);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:16px}.login form{background:#fff;border-radius:14px;padding:28px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px}.qrow{display:grid;grid-template-columns:60fr 15fr 25fr;gap:10px;margin-bottom:10px}@media (max-width:760px){.qrow{grid-template-columns:1fr}}.qrow img{max-width:100%}.low{outline:2px solid var(--amber)}.strip button{width:34px;height:34px;margin:2px;border-radius:6px;border:1px solid #CCD2CC;background:#fff}.strip .a{background:var(--ac);color:#fff}.strip .m{background:var(--amber)}
