@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";:root{--brand-primary: #00cc66;--brand-secondary: #ff99ff;--neutral-soft: #ebebeb;--page-bg: #f5f8f6;--text-main: #1d2c24;--text-muted: #5d6c64;--card-bg: #ffffff;--border: #dce5df;--danger: #b42318}*{box-sizing:border-box}body{margin:0;min-width:320px;font-family:Poppins,sans-serif;background:radial-gradient(circle at 20% 10%,#e3f8ec,#f5f8f6 48%,#f9f0f9);color:var(--text-main)}#root{min-height:100vh}h1,h2,h3,p{margin-top:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem .55rem;border-bottom:1px solid var(--border);font-size:.92rem}input,textarea,select,button{font:inherit}label{display:grid;gap:.35rem;font-size:.88rem;color:var(--text-muted)}input,textarea,select{width:100%;border:1px solid #ccd8d1;border-radius:12px;padding:.6rem .75rem;background:#fff}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0f2f22,#0e241b);color:#effff6;padding:1rem;position:sticky;top:0;height:100vh}.brand{display:flex;gap:.75rem;align-items:center;margin-bottom:1.5rem}.brand-logo{width:44px;height:44px;border-radius:12px;object-fit:cover;background:#16382b;border:1px solid rgba(255,255,255,.15)}.brand-title{margin:0;font-weight:600}.brand-subtitle{margin:0;opacity:.7;font-size:.82rem}.menu{display:grid;gap:.3rem}.menu-item{color:#dcf9e9;text-decoration:none;padding:.62rem .72rem;border-radius:12px;font-size:.95rem}.menu-item:hover{background:#ffffff1c}.menu-item-active{background:linear-gradient(90deg,var(--brand-primary),#57d993);color:#0d2218;font-weight:600}.content-shell{display:grid;grid-template-rows:auto 1fr}.topbar{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:.85rem 1.2rem;border-bottom:1px solid var(--border);background:#ffffffd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.topbar-client{display:grid;gap:.12rem}.topbar-client span{color:var(--text-muted);font-size:.8rem}.topbar-user{display:flex;gap:.7rem;align-items:center}.page-content{padding:1.3rem}.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.card{background:var(--card-bg);border-radius:16px;border:1px solid var(--border);padding:1rem;box-shadow:0 8px 18px #0924160f}.card p{color:var(--text-muted);font-size:.9rem;margin-bottom:.4rem}.card strong{font-size:1.45rem}.table-card,.side-card{background:var(--card-bg);border-radius:16px;border:1px solid var(--border);padding:1rem}.split-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:1rem}.side-card,.stack-form{display:grid;gap:.75rem}.status-ok{color:#067647}.status-error,.error-text{color:var(--danger)}.muted{color:var(--text-muted)}.btn-primary{border:0;background:linear-gradient(90deg,var(--brand-primary),#5fdb98);color:#0f241a;border-radius:12px;padding:.65rem .9rem;font-weight:600;cursor:pointer}.btn-ghost{border:1px solid var(--border);background:#fff;padding:.5rem .7rem;border-radius:10px;cursor:pointer}.mobile-menu-button{display:none;border:1px solid var(--border);background:#fff;padding:.4rem .65rem;border-radius:10px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(440px,100%);border:1px solid var(--border);background:linear-gradient(170deg,#fff,#fbfffc 65%,#fff7ff);border-radius:20px;padding:1.4rem;box-shadow:0 22px 44px #0e2f2121}.eyebrow{text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;color:#247c52;margin-bottom:.5rem}.login-form{display:grid;gap:.8rem}.chart-stack{display:grid;gap:.5rem}.chart-row{display:grid;grid-template-columns:96px 1fr 24px;gap:.6rem;align-items:center;font-size:.86rem}.chart-track{height:12px;background:#ecf1ed;border-radius:999px}.chart-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary))}.status-grid{display:grid;gap:.55rem}.status-pill{border:1px solid var(--border);border-radius:12px;padding:.6rem .75rem;display:flex;justify-content:space-between;background:#f9fcfa}@media(max-width:1024px){.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-layout{grid-template-columns:1fr}}@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:260px;z-index:20;transition:left .25s ease}.sidebar.is-open{left:0}.mobile-menu-button{display:inline-block}.topbar{position:sticky;top:0;z-index:12}.cards-grid{grid-template-columns:1fr}}
