:root{--bg:#0b1220;--panel:#121a2b;--line:#243049;--text:#e8eefc;--muted:#9 Pan;--accent:#0d9488;--warn:#f59e0b;--bad:#ef4444}
*{box-sizing:border-box}body{margin:0;font-family:Sora,system-ui,sans-serif;background:var(--bg);color:var(--text)}
.hidden{display:none!important}.boot{padding:3rem;text-align:center;color:#94a3b8}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}
.auth-brand{padding:3rem;background:linear-gradient(160deg,#0f766e,#0b1220 60%)}.auth-brand h1{font-size:1.8rem}
.auth-panel{padding:3rem;display:flex;flex-direction:column;justify-content:center;gap:1rem}
.auth-tabs{display:flex;gap:.5rem}.auth-tab{background:transparent;border:1px solid var(--line);color:var(--text);padding:.5rem .9rem;border-radius:8px;cursor:pointer}
.auth-tab.active{background:var(--accent);border-color:var(--accent)}.auth-form{display:flex;flex-direction:column;gap:.75rem}
label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#cbd5e1}
input,select,textarea{padding:.65rem .75rem;border-radius:8px;border:1px solid var(--line);background:#0b1220;color:var(--text);font:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .9rem;border-radius:8px;border:1px solid var(--line);background:#1e293b;color:var(--text);text-decoration:none;cursor:pointer;font:inherit}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-ghost{background:transparent}
.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}
.sidebar{border-right:1px solid var(--line);padding:1rem;display:flex;flex-direction:column;gap:1rem;background:#0a101c}
.brand{font-weight:700;color:var(--text);text-decoration:none}.side-nav{display:flex;flex-direction:column;gap:.25rem}
.side-nav a{color:#cbd5e1;text-decoration:none;padding:.45rem .6rem;border-radius:6px}.side-nav a.active,.side-nav a:hover{background:#1e293b;color:#fff}
.sidebar-foot{margin-top:auto}.tenant-chip{font-size:.8rem;color:#94a3b8;margin-bottom:.75rem}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line)}
.topbar h1{margin:0;font-size:1.25rem}.muted{color:#94a3b8}.view{padding:1.25rem 1.5rem}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem}
.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
.kpi{font-size:1.8rem;font-weight:700}.kpi-label{color:#94a3b8;font-size:.8rem}
.table-wrap{overflow:auto}table.data{width:100%;border-collapse:collapse;font-size:.9rem}
table.data th,table.data td{padding:.55rem .4rem;border-bottom:1px solid var(--line);text-align:left}
.badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;background:#1e293b;font-size:.75rem}
.badge.ok{background:#065f46}.badge.warn{background:#92400e}.badge.bad{background:#7f1d1d}
.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:.75rem}
.mono{font-family:'IBM Plex Mono',monospace;font-size:.8rem}.empty{color:#94a3b8}
.form-error{color:#fca5a5}.hint{color:#94a3b8;font-size:.85rem}
.modal{border:1px solid var(--line);border-radius:12px;padding:0;background:var(--panel);color:var(--text);width:min(520px,92vw)}
.modal-form{padding:1rem}.modal-form header,.modal-form footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.icon-btn{background:transparent;border:0;color:var(--text);font-size:1.4rem;cursor:pointer}
@media(max-width:900px){.auth-shell,.app-shell{grid-template-columns:1fr}.span-3,.span-4,.span-8{grid-column:span 12}}


/* Cirqle-style language dropdown */
.lang-switch{display:inline-flex;align-items:center;margin-left:6px}
.lang-select,#lang-select,select.lang-select{
  appearance:auto;background:rgba(255,255,255,.08);color:inherit;
  border:1px solid rgba(148,163,184,.45);border-radius:8px;padding:6px 10px;
  font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;max-width:160px
}
.lang-select:focus,#lang-select:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 2px rgba(13,148,136,.25)}
.demo-panel{margin-top:1rem;padding:1rem;border:1px dashed rgba(148,163,184,.45);border-radius:10px;background:rgba(15,23,42,.35)}
.demo-panel h3{margin:0 0 .35rem;font-size:1rem}
.demo-panel p{margin:0 0 .75rem;font-size:.85rem;opacity:.85}
.demo-panel .demo-creds{font-family:ui-monospace,monospace;font-size:.8rem;margin-bottom:.75rem}
