:root{--bg:#f3f6f8;--panel:#fff;--panel2:#f7f9fa;--text:#13211d;--muted:#667570;--line:#dce4e1;--strong:#c7d2ce;--nav:#10211c;--accent:#0b8f61;--soft:#e1f5ed;--amber:#d78a17;--shadow:0 12px 36px #15292214}
:root[data-theme=dark]{--bg:#0d1513;--panel:#14201d;--panel2:#182723;--text:#eff8f4;--muted:#91a59e;--line:#293c36;--strong:#385149;--nav:#08100e;--accent:#31d097;--soft:#173b30;--amber:#ffb74d;--shadow:0 16px 48px #00000047;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body,input,select,button{font-family:Inter,"Segoe UI",Arial,sans-serif}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{padding:24px 18px;background:var(--nav);color:#d9e4e0;display:flex;flex-direction:column}.brand,.auth-brand{display:flex;align-items:center;gap:12px}.brand{padding:0 8px 28px}.brand>b,.auth-brand>b{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;font-size:20px;background:linear-gradient(145deg,#14b77b,#066b49);box-shadow:inset 0 0 0 1px #48d8a6}.brand strong,.auth-brand strong{display:block;color:inherit;font-size:20px}.brand span,.auth-brand span{display:block;margin-top:3px;font-size:9px;letter-spacing:1.8px;color:#8ba29a}.sidebar nav{display:grid;gap:6px}.sidebar nav button{border:0;background:transparent;color:#8fa59d;border-radius:12px;padding:13px 14px;text-align:left;font-weight:700}.sidebar nav button.active{background:#18372e;color:#fff;box-shadow:inset 3px 0 var(--accent)}.sidebar nav button span{margin-left:12px}.user-box{margin-top:auto;padding:15px;display:grid;gap:6px;border:1px solid #29453c;background:#142b24;border-radius:14px;font-size:12px;color:#8da69d}.user-box strong{color:#fff}.user-box a{color:#54cf9f}.workspace{padding:26px 30px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.topbar p,.pending header p{margin:0 0 5px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}h1,h2{margin:0}h1{font-size:29px}.top-actions{display:flex;gap:10px}.pill,.theme-switch{border:1px solid var(--line);background:var(--panel);border-radius:12px}.pill{padding:10px 13px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.pill i,.status-strip i,.safe i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.pill.offline{color:var(--amber)}.pill.offline i,.status-strip i.amber{background:var(--amber)}.theme-switch{padding:4px}.theme-switch button{border:0;padding:7px 10px;border-radius:8px;color:var(--muted);background:transparent;font-size:11px;font-weight:700}.theme-switch button.selected{color:#fff;background:var(--nav)}.status-strip{display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:18px;box-shadow:var(--shadow)}.status-strip>div{min-height:64px;padding:12px 16px;background:var(--panel);display:flex;align-items:center;gap:10px}.status-strip span{color:var(--muted);font-size:11px}.status-strip strong{margin-left:auto;font-size:12px}.status-strip i{background:var(--strong)}.status-strip i.ok{background:var(--accent)}.status-strip i.blue{background:#2b6fe8}.reserve{display:grid!important;gap:8px}.reserve b{color:var(--text)}progress{width:100%;height:6px;accent-color:var(--accent)}.content{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.main-column{display:grid;gap:16px}.weight{border-radius:18px;padding:21px 24px;color:#fff;background:radial-gradient(circle at 80% 10%,#285a49,transparent 35%),linear-gradient(135deg,#0d241d,#173d31);box-shadow:0 18px 48px #08241b33}.weight>div{display:flex;justify-content:space-between;color:#9ebbb1;font-size:11px}.weight output{display:block;text-align:center;padding:12px 0 4px;font-size:68px;font-weight:750;letter-spacing:-3px}.weight output small{font-size:18px;color:#8ea99f}.weight p{text-align:center;margin:0;color:#83cdb1;font-size:11px}.form-card,.pending,.save-bar{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.form-card{padding:21px}.form-card header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.form-card header>span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--accent);font-weight:800}.form-card header h2{font-size:16px}.form-card header small{margin-left:auto;color:var(--muted)}label{display:block;color:var(--muted);font-size:11px;font-weight:700}input,select{width:100%;height:44px;margin-top:7px;padding:0 13px;color:var(--text);background:var(--panel2);border:1px solid var(--strong);border-radius:10px;outline:none}.plate{display:flex;margin:7px 0 14px}.plate input{margin:0;border-radius:11px 0 0 11px;border-right:0;font-size:17px;font-weight:750}.plate button{width:48px;border:1px solid var(--strong);border-radius:0 11px 11px 0;color:var(--accent);background:var(--panel2)}.movements,.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.movements{margin-bottom:16px}.movements button{display:flex;gap:12px;padding:12px;text-align:left;border:1px solid var(--line);color:var(--text);background:var(--panel2);border-radius:12px}.movements button.selected{border-color:var(--accent);background:var(--soft);box-shadow:inset 0 0 0 1px var(--accent)}.movements b{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--panel);font-size:20px}.movements span strong,.movements span small{display:block}.movements span small{margin-top:4px;color:var(--muted);font-size:9px}.fields{padding-top:16px;border-top:1px solid var(--line);gap:14px 12px}.save-bar{padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.save-bar div{display:grid;gap:4px}.save-bar small{color:var(--muted)}.save-bar button{border:0;border-radius:12px;padding:13px 18px;background:var(--strong);color:#fff;font-weight:800}.save-bar button span{margin-left:12px;opacity:.7}.pending{padding:20px}.pending header{display:flex;justify-content:space-between}.pending header h2{font-size:16px;line-height:1.35}.pending header>b{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:var(--soft)}.empty{margin-top:18px;padding:28px 18px;border:1px dashed var(--strong);border-radius:12px;color:var(--muted);text-align:center;font-size:11px}.safe{margin-top:16px;padding:13px;display:flex;gap:10px;align-items:flex-start;border-radius:12px;background:var(--soft)}.safe span{display:grid;gap:4px}.safe small{color:var(--muted)}
.auth-body{display:grid;place-items:center;min-height:100vh;padding:24px;background:linear-gradient(145deg,#eef5f2,var(--bg))}.auth-card{width:min(100%,520px);padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.auth-brand{margin-bottom:24px;color:var(--text)}.auth-card h1{font-size:25px}.auth-card>p{color:var(--muted);line-height:1.6}.auth-form{display:grid;gap:14px;margin-top:22px}.auth-form button,.primary-link{display:block;border:0;border-radius:11px;padding:13px 16px;text-align:center;text-decoration:none;background:var(--accent);color:#fff;font-weight:800}.two{display:grid;grid-template-columns:1fr 120px;gap:10px}.auth-form hr{width:100%;border:0;border-top:1px solid var(--line)}.alert{padding:12px;border-radius:10px;background:#fff0ed;color:#a63324;font-size:12px}code{padding:2px 6px;border-radius:5px;background:var(--panel2)}
@media(max-width:1050px){.shell{grid-template-columns:80px 1fr}.brand div,.sidebar nav span,.user-box{display:none}.content{grid-template-columns:1fr}.status-strip{grid-template-columns:1fr 1fr}}@media(max-width:700px){.shell{display:block}.sidebar{display:none}.workspace{padding:18px 14px}.topbar{align-items:flex-start}.top-actions{flex-direction:column}.status-strip{grid-template-columns:1fr 1fr}.status-strip .reserve{grid-column:1/-1}.movements,.fields{grid-template-columns:1fr}.weight output{font-size:54px}.save-bar{align-items:stretch;flex-direction:column;gap:12px}.save-bar button{width:100%}.two{grid-template-columns:1fr}}
