:root{
--bg:#0f1117;--surface:#171a22;--surface-2:#1f2330;--surface-3:#252a39;
--line:#2a2f3d;--ink:#e8eaf0;--muted:#9aa1b4;
--brand:#7c6cff;--brand-2:#9d8bff;--brand-dark:#6355e6;
--green:#34d399;--amber:#fbbf24;--red:#f87171;--slate:#94a3b8;
--radius:14px;--shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
a{color:var(--brand-2);}
code{color:#d6c9ff;background:rgba(124,108,255,.12);padding:1px 6px;border-radius:5px;}
.text-secondary{color:var(--muted)!important;}
.app-shell{display:flex;min-height:100vh;}
.sidebar{width:242px;flex-shrink:0;background:#12141c;border-right:1px solid var(--line);padding:22px 16px;position:sticky;top:0;height:100vh;}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px;}
.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--brand-2),var(--brand));box-shadow:0 6px 16px rgba(124,108,255,.45);}
.brand-text{font-weight:700;font-size:20px;color:#fff;line-height:1;}
.brand-text small{display:block;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;}
.sidebar-nav{display:flex;flex-direction:column;gap:4px;margin-top:8px;}
.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;color:var(--muted);text-decoration:none;font-weight:500;font-size:14.5px;transition:background .15s,color .15s;}
.sidebar-nav a i{font-size:18px;}
.sidebar-nav a:hover{background:var(--surface-2);color:var(--ink);}
.sidebar-nav a.active{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 6px 16px rgba(124,108,255,.35);}
.app-main{flex:1;min-width:0;display:flex;flex-direction:column;}
.topbar{display:flex;align-items:center;gap:14px;padding:16px 28px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;}
.topbar-title{font-weight:700;font-size:18px;}
.user-chip{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:40px;padding:5px 12px 5px 5px;color:var(--ink);font-weight:600;font-size:14px;}
.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;text-transform:uppercase;background:linear-gradient(135deg,var(--brand-2),var(--brand));}
.content{padding:28px;}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;}
.panel-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.panel-head h2{font-size:16px;font-weight:700;margin:0;}
.table{color:var(--ink);--bs-table-bg:transparent;--bs-table-color:var(--ink);border-color:var(--line);}
.table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);font-weight:600;}
.table td,.table th{border-color:var(--line);}
.table tbody tr:hover{background:var(--surface-2);}
.stat-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;}
.stat-label{color:var(--muted);font-size:13px;font-weight:600;}
.stat-value{font-size:30px;font-weight:800;margin-top:4px;color:var(--ink);}
.stat-icon{position:absolute;right:14px;top:16px;font-size:30px;opacity:.16;}
.stat-green .stat-value{color:var(--green);}
.stat-amber .stat-value{color:var(--amber);}
.stat-red .stat-value{color:var(--red);}
.badge-status{text-transform:capitalize;font-weight:600;padding:.4em .7em;border-radius:7px;border:1px solid transparent;}
.status-active{background:rgba(52,211,153,.16);color:#6ee7b7;border-color:rgba(52,211,153,.3);}
.status-trial,.status-provisioning{background:rgba(251,191,36,.16);color:#fcd34d;border-color:rgba(251,191,36,.3);}
.status-suspended,.status-error{background:rgba(248,113,113,.16);color:#fca5a5;border-color:rgba(248,113,113,.3);}
.status-cancelled{background:rgba(148,163,184,.16);color:#cbd5e1;border-color:rgba(148,163,184,.3);}
.badge-app{background:rgba(124,108,255,.18);color:#c4b8ff;border:1px solid rgba(124,108,255,.35);font-weight:700;}
.activity{list-style:none;margin:0;padding:0;}
.activity li{display:flex;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);}
.activity li:last-child{border-bottom:0;}
.activity-dot{width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--brand-2);flex-shrink:0;}
.activity-text{font-size:14px;font-weight:500;}
.activity-meta{font-size:12px;color:var(--muted);}
.search-box{position:relative;}
.search-box i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);}
.search-box input{padding-left:34px;min-width:240px;}
.tenant-avatar{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:22px;text-transform:uppercase;background:linear-gradient(135deg,var(--brand-2),var(--brand));box-shadow:0 8px 20px rgba(124,108,255,.35);}
.tenant-notes{background:var(--surface-2);border-radius:10px;padding:12px 14px;font-size:14px;color:var(--ink);}
.detail-grid{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;}
.detail-grid dt{color:var(--muted);font-weight:600;}
.detail-grid dd{margin:0;}
.form-control,.form-select{background:var(--surface-2);border-color:var(--line);color:var(--ink);}
.form-control:focus,.form-select:focus{background:var(--surface-2);color:var(--ink);border-color:var(--brand-2);box-shadow:0 0 0 .2rem rgba(124,108,255,.2);}
.form-control::placeholder{color:#6c7280;}
.form-control:disabled{background:var(--surface);color:var(--muted);}
.input-group-text{background:var(--surface-3);border-color:var(--line);color:var(--muted);}
.modal-content{background:var(--surface);border:1px solid var(--line);border-radius:16px;color:var(--ink);}
.modal-header,.modal-footer{border-color:var(--line);}
.dropdown-menu{background:var(--surface-2);border:1px solid var(--line);}
.dropdown-item{color:var(--ink);}
.dropdown-item:hover{background:var(--surface-3);color:var(--ink);}
.dropdown-item-text{color:var(--muted);}
.btn-primary{background:var(--brand);border-color:var(--brand);}
.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);}
.btn-outline-primary{color:var(--brand-2);border-color:rgba(124,108,255,.5);}
.btn-outline-primary:hover{background:var(--brand);border-color:var(--brand);color:#fff;}
.btn-outline-secondary{color:var(--ink);border-color:var(--line);}
.btn-outline-secondary:hover{background:var(--surface-3);border-color:var(--line);color:var(--ink);}
.btn-success{background:var(--green);border-color:var(--green);color:#052e1a;}
.btn-success:hover{background:#28b98a;border-color:#28b98a;color:#052e1a;}
.toast{background:var(--surface-3);color:var(--ink);border:1px solid var(--line);}
.tooltip-inner{background:#000;color:#fff;}
hr{border-color:var(--line);}
@media (max-width:991.98px){
.sidebar{position:fixed;left:-260px;z-index:1050;transition:left .2s;box-shadow:0 0 40px rgba(0,0,0,.6);}
.sidebar.open{left:0;}
.content{padding:18px;}
}
