:root{--teal-deep: #0b4f4a;--teal: #0f766e;--teal-bright: #14b8a6;--ink: #14201f;--muted: #5b6b69;--line: #d9e3e1;--bg: #f3f7f6;--card: #ffffff;--blue: #2563eb;--orange: #ea580c;--red: #dc2626;--green: #15803d;font-family:DM Sans,system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}.boot{padding:2rem;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 20%,rgba(20,184,166,.28),transparent 40%),radial-gradient(circle at 85% 10%,rgba(11,79,74,.35),transparent 35%),linear-gradient(160deg,#083b37,#0f766e 45%,#134e4a);padding:1.5rem}.login-card{width:min(420px,100%);background:#fffffff5;border-radius:18px;padding:1.75rem;display:grid;gap:.85rem;box-shadow:0 24px 60px #00000047}.brand-mark{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;color:var(--teal-deep)}.login-lead{margin:0;color:var(--muted)}.login-card label{display:grid;gap:.35rem;font-size:.92rem;font-weight:600}.login-card input{border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;background:#fff}.login-card button{margin-top:.35rem;border:0;border-radius:10px;padding:.8rem 1rem;background:var(--teal-deep);color:#fff;font-weight:700;cursor:pointer}.login-card button:disabled{opacity:.7;cursor:wait}.error{color:var(--red);font-size:.9rem}.app-shell{--side: 260px;min-height:100vh;display:grid;grid-template-columns:var(--side) 1fr;grid-template-rows:56px 1fr;grid-template-areas:"top top" "side main"}.app-shell.collapsed{--side: 0px}.app-shell.collapsed .sidebar{overflow:hidden;border:0;padding:0}.topbar{grid-area:top;background:var(--teal);color:#fff;display:flex;align-items:center;gap:.75rem;padding:0 1rem}.top-brand{font-weight:700;letter-spacing:-.02em;font-size:1.15rem}.top-user{margin-left:auto;display:flex;align-items:center;gap:.65rem}.avatar{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:#fff3;font-size:.75rem;font-weight:700}.icon-btn,.linkish{border:0;background:transparent;color:inherit;cursor:pointer}.linkish{text-decoration:underline;font-size:.85rem}.sidebar{grid-area:side;background:#eef4f3;border-right:1px solid var(--line);padding:1rem .75rem;overflow:auto}.tenant{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.75rem;display:grid;gap:.15rem;margin-bottom:1rem}.tenant strong{color:var(--teal-deep)}.tenant span{color:var(--muted);font-size:.85rem}.nav-section{margin:.9rem .5rem .35rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.nav-link{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border-radius:10px;color:#243332;margin:.1rem 0}.nav-link.child{padding-left:1rem;font-size:.95rem}.nav-link.active{background:var(--teal-bright);color:#fff;font-weight:600}.badge{background:#ef4444;color:#fff;border-radius:999px;min-width:1.2rem;padding:.05rem .35rem;font-size:.72rem;font-style:normal;text-align:center}.content{grid-area:main;padding:1.25rem 1.5rem 2rem;overflow:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.page-head h1{margin:0;font-size:1.7rem;letter-spacing:-.03em}.crumb{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.filter-bar{background:#e7eeed;border-radius:10px;padding:.85rem 1rem;color:var(--muted);margin-bottom:1rem;font-weight:600}.kpi-grid{display:grid;grid-template-columns:1.2fr 1fr .9fr;grid-template-rows:auto auto;gap:.85rem}.kpi{color:#fff;border-radius:12px;padding:1.1rem 1.2rem;display:grid;gap:.25rem;min-height:140px;align-content:start}.kpi strong{font-size:2.6rem;line-height:1;letter-spacing:-.04em}.kpi span{font-weight:600}.kpi small{opacity:.9}.kpi p{margin:.5rem 0 0;font-size:.9rem}.kpi em{font-style:normal;font-size:1.8rem;font-weight:700;margin-top:auto}.kpi-blue{background:var(--blue);grid-row:span 2}.kpi-orange{background:var(--orange)}.kpi-red{background:var(--red)}.kpi-green{background:var(--green);grid-row:span 2}.empty-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.5rem;color:var(--muted)}@media(max-width:980px){.kpi-grid{grid-template-columns:1fr}.kpi-blue,.kpi-green{grid-row:auto}.app-shell{grid-template-columns:1fr;grid-template-areas:"top" "main"}.sidebar{display:none}.app-shell:not(.collapsed) .sidebar{display:block;position:fixed;inset:56px auto 0 0;width:min(280px,85vw);z-index:20;box-shadow:8px 0 30px #00000026}}
