:root{--ink:#17221c;--muted:#68756d;--canvas:#f4f7f4;--panel:#fff;--green:#216e4a;--green-dark:#15543a;--mint:#dff3e8;--line:#dfe7e1;--amber:#b67418;--red:#b64242;--sidebar:#102c21}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--sidebar);color:#fff;padding:22px 15px;display:flex;flex-direction:column;z-index:1040}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-size:1.05rem;font-weight:700;padding:0 8px 21px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#45a873}.workspace-pill{display:flex;flex-direction:column;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;margin-bottom:20px}.workspace-pill span,.workspace-pill small{color:#9fc7b2;letter-spacing:.06em}.sidebar .nav-link{color:#c3d7cb;border-radius:9px;padding:10px 12px;display:flex;gap:11px;align-items:center}.sidebar .nav-link:hover{color:#fff;background:rgba(255,255,255,.08)}.sidebar-bottom{margin-top:auto}.app-main{margin-left:250px;min-width:0;width:100%}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:1020}.content-wrap{padding:30px;max-width:1500px;margin:auto}.role-badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;background:var(--mint);color:var(--green-dark);border-radius:99px;padding:5px 9px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-head h1{font-size:1.65rem;margin:0 0 5px}.page-head p{color:var(--muted);margin:0}.card{border:1px solid var(--line);box-shadow:0 5px 18px rgba(25,55,38,.035);border-radius:14px}.metric-card .card-body{padding:20px}.metric-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.metric-value{font-size:1.65rem;font-weight:750;margin-top:5px}.metric-note{font-size:.82rem;color:var(--muted)}.section-card{overflow:hidden}.section-card .card-header{background:#f8faf8;border-bottom:1px solid var(--line);padding:14px 18px}.table{--bs-table-bg:transparent}.table>:not(caption)>*>*{padding:.8rem .9rem;border-bottom-color:#edf1ee}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.variance-positive{color:var(--green)}.variance-negative{color:var(--red)}.progress{height:7px;background:#e8ede9}.progress-bar{background:var(--green)}.btn-primary{--bs-btn-bg:var(--green);--bs-btn-border-color:var(--green);--bs-btn-hover-bg:var(--green-dark);--bs-btn-hover-border-color:var(--green-dark)}.empty-state{padding:30px;border:1px dashed #cbd7cf;border-radius:13px;text-align:center;color:var(--muted);background:#fafcfb}.auth-body{min-height:100vh;background:radial-gradient(circle at 15% 10%,#d6f0e1 0,transparent 32%),linear-gradient(145deg,#edf5f0,#f7f5ed);display:grid;place-items:center;padding:24px}.auth-shell{width:100%;max-width:430px}.auth-card{background:#fff;border:1px solid rgba(33,110,74,.14);border-radius:20px;padding:34px;box-shadow:0 24px 70px rgba(22,66,44,.13)}.auth-heading{text-align:center;margin-bottom:26px}.auth-heading h1{font-size:1.55rem;margin:13px 0 7px}.auth-heading p{color:var(--muted);margin:0}.auth-icon{width:52px;height:52px;display:grid;place-items:center;margin:auto;border-radius:15px;background:var(--mint);color:var(--green);font-size:1.45rem}.code-input{letter-spacing:.4em;font-weight:700}.tenant-choice{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:var(--ink);border:1px solid var(--line);padding:13px 15px;border-radius:12px}.tenant-choice:hover{border-color:#79b594;background:#f7fbf8}.tenant-choice span{display:flex;flex-direction:column}.tenant-choice small{color:var(--muted)}.form-hint{font-size:.8rem;color:var(--muted)}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none;box-shadow:10px 0 40px rgba(0,0,0,.18)}.app-main{margin-left:0}.content-wrap{padding:20px}.topbar{padding:0 18px}}@media(max-width:575px){.auth-card{padding:24px}.page-head{flex-direction:column}.content-wrap{padding:16px}.topbar .text-muted{display:none}}
