:root{--navy:#0d1b2a;--green:#12b77a;--bg:#f5f7fb;--line:#e6ebf1;--muted:#708095}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,system-ui,-apple-system,sans-serif;color:#142437}label{display:block;font-size:.8rem;font-weight:700;margin-bottom:6px}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 10% 10%,#234762,#0d1b2a 55%);padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:26px;padding:40px;box-shadow:0 30px 90px #0005}.logo{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#20d793,#079462);display:grid;place-items:center;color:#fff;font-weight:900;font-size:28px}.eyebrow{font-size:.68rem;letter-spacing:.15em;font-weight:900;color:#09865a;margin-top:18px}.login h1{font-size:2rem;margin:7px 0}.login p{color:var(--muted)}.login input{width:100%;padding:13px;border:1px solid var(--line);border-radius:11px;margin-bottom:15px}.login button{width:100%;border:0;background:var(--green);color:#fff;padding:13px;border-radius:11px;font-weight:800}.login #err{color:#c0392b;margin-top:10px;font-size:.8rem}aside{position:fixed;inset:0 auto 0 0;width:245px;background:var(--navy);color:#fff;padding:24px 15px;display:flex;flex-direction:column}.sidebrand{display:flex;align-items:center;gap:10px;padding:0 8px 28px}.sidebrand span{width:38px;height:38px;border-radius:12px;background:var(--green);display:grid;place-items:center;font-weight:900}.sidebrand small{display:block;color:#91a6bb;font-size:.63rem}.nav{border:0;background:transparent;color:#aebdcb;text-align:left;padding:12px;border-radius:10px;margin:2px 0;font-weight:700}.nav.active,.nav:hover{background:#193047;color:#fff}.sidebottom{margin-top:auto;color:#9db0c3;font-size:.8rem}.sidebottom+button{background:none;border:0;color:#9db0c3;text-align:left;padding:10px 0}main{margin-left:245px;min-height:100vh}header{height:96px;background:#fff;border-bottom:1px solid var(--line);padding:20px 34px;display:flex;align-items:center;justify-content:space-between}header small{font-size:.65rem;letter-spacing:.14em;font-weight:900;color:#0b9361}header h2{font-size:1.65rem;margin:4px 0}header span{font-size:.75rem;color:#087d54}section#content{padding:30px 34px}.hero{background:linear-gradient(135deg,#102b42,#204967);color:#fff;border-radius:22px;padding:28px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center}.hero h3{font-size:1.55rem;margin:6px 0}.hero p{color:#bed0df}.btn-green{background:var(--green);color:#fff;border:0;border-radius:10px;padding:11px 15px;font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cardx{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px}.stat{font-size:2rem;font-weight:900}.muted{color:var(--muted);font-size:.78rem}.head{display:flex;justify-content:space-between;align-items:center;margin:22px 0 13px}.toolbar{display:flex;gap:10px;margin-bottom:14px}.search{padding:11px 13px;border:1px solid var(--line);border-radius:11px;min-width:300px}.table-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}.table{margin:0}.table th{font-size:.7rem;text-transform:uppercase;color:#728096;background:#fafbfd}.table td{font-size:.82rem}.low{color:#087b53;font-weight:900}.high{color:#a94b4b}.empty{padding:45px;text-align:center;color:var(--muted)}.soft{background:#e9f8f2;color:#087b53;padding:5px 9px;border-radius:20px;font-size:.7rem;font-weight:800}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:900px){aside{width:70px}.sidebrand b,.nav,.sidebottom,#logout{font-size:0}.sidebrand{justify-content:center}.nav{display:block;text-align:center}.nav:before{font-size:18px}.nav[data-p=dashboard]:before{content:'⌂'}.nav[data-p=companies]:before{content:'▦'}.nav[data-p=products]:before{content:'◈'}.nav[data-p=prices]:before{content:'↕'}.nav[data-p=search]:before{content:'⌕'}.nav[data-p=api]:before{content:'⚙'}.nav[data-p=reports]:before{content:'▤'}main{margin-left:70px}.stats{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}@media(max-width:600px){.stats{grid-template-columns:1fr}.hero{display:block}.hero button{margin-top:10px}.search{min-width:0;width:100%}.toolbar{flex-wrap:wrap}}