:root{--green:#087a2c;--ink:#10251a;--muted:#68776d;--line:#dde6df;--bg:#f4f7f4;--nav:#0b2116}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}button{border:0;border-radius:9px;background:var(--green);color:#fff;font-weight:750;padding:12px 18px;cursor:pointer}button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}button:disabled{opacity:.55;cursor:not-allowed}.eyebrow{margin:0 0 5px;color:var(--green);font-size:12px;font-weight:850;letter-spacing:.12em}.muted{color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#e7f3e8,transparent 38%),var(--bg)}.login-card{width:min(100%,440px);background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px;box-shadow:0 24px 70px rgba(9,43,22,.11)}.logo-mark,.brand span{display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}.logo-mark{width:52px;height:52px;border-radius:14px;margin-bottom:24px;font-size:25px}.login-card h1{margin:0;font-size:30px}.login-card form{display:grid;gap:17px;margin:27px 0 18px}.login-card label{display:grid;gap:7px;font-weight:700}.login-card input{width:100%;border:1px solid #cfdad1;border-radius:9px;padding:12px 13px;outline:none}.login-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px #e4f3e7}.login-card small{color:var(--muted)}.alert{margin-top:18px;padding:12px;border-radius:9px;background:#fff0f0;color:#9b2020}aside{position:fixed;inset:0 auto 0 0;width:245px;background:var(--nav);color:#fff;padding:26px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-size:19px;padding:0 8px 26px}.brand span{width:34px;height:34px;border-radius:9px}nav{display:grid;gap:6px}nav a{color:#c8d6ce;text-decoration:none;padding:11px 13px;border-radius:8px;font-weight:650}nav a.active,nav a:hover{background:#173b27;color:#fff}nav a small{float:right;color:#8fa598}.readonly{margin-top:auto;padding:12px;border:1px solid #28573a;border-radius:9px;color:#9fddb0;font-size:13px}.shell{margin-left:245px;padding:32px clamp(24px,4vw,60px) 70px}.shell>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.shell h1{margin:0;font-size:30px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.cards article,.panel{background:#fff;border:1px solid var(--line);border-radius:14px}.cards article{padding:20px}.cards span,.cards small{display:block;color:var(--muted)}.cards strong{display:block;margin:5px 0;font-size:30px}.cards .attention{border-top:3px solid #d59b00}.panel{margin-top:18px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}.panel h2{margin:0;font-size:20px}.panel-head p{margin:3px 0 0;color:var(--muted)}.empty{text-align:center;padding:54px 24px;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:17px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 20px;border-bottom:1px solid #edf1ee;white-space:nowrap}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}td i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px}.status{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf7ef;color:#176b2c;font-size:12px;font-weight:750}.shop-grid{display:grid;gap:10px;padding:18px}.shop-grid article{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:10px}.shop-grid i{width:12px;height:42px;border-radius:5px}.shop-grid div{display:grid}.shop-grid a{color:var(--muted);font-size:13px}.shop-grid span{margin-left:auto;color:var(--green);font-weight:750}@media(max-width:900px){aside{position:static;width:auto}.readonly{display:none}.shell{margin:0}.cards{grid-template-columns:1fr 1fr}}@media(max-width:560px){.login-card{padding:28px 22px}.cards{grid-template-columns:1fr}.shell>header{align-items:flex-start}.panel-head{align-items:flex-start;gap:15px}}


