:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5;--bg:#0f172a;--card:#1e293b;--text:#f8fafc;--muted:#94a3b8;--accent:#38bdf8;--danger:#f87171}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#1e3a5f,var(--bg));color:var(--text)}a{color:var(--accent)}button,input,select{font:inherit}button{border:none;border-radius:8px;padding:.65rem 1rem;background:var(--accent);color:#0f172a;font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}button.ghost{background:transparent;color:var(--text);border:1px solid #334155}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:1rem}.card{background:rgba(30,41,59,.92);border:1px solid #334155;border-radius:16px;padding:1.5rem;box-shadow:0 20px 50px rgba(0,0,0,.35)}.auth-card{width:min(420px,100%);display:grid;grid-gap:1rem;gap:1rem}.auth-card h1{margin:0}.field{display:grid;grid-gap:.35rem;gap:.35rem}.field input,.field select{width:100%;min-width:0;box-sizing:border-box;border-radius:8px;border:1px solid #475569;background:#0f172a;color:var(--text);padding:.65rem .75rem}.muted{color:var(--muted)}.error{color:var(--danger);margin:0}.page{max-width:960px;margin:0 auto;padding:1.5rem}.topbar{justify-content:space-between;margin-bottom:1.5rem}.topbar,.topbar-actions{display:flex;align-items:center}.topbar-actions{gap:.75rem}.dashboard-card h1{margin-top:0}.info-grid{display:grid;grid-template-columns:140px 1fr;grid-gap:.5rem 1rem;gap:.5rem 1rem;margin:1.5rem 0}.info-grid dt{color:var(--muted)}.info-grid dd{margin:0}code{background:#0f172a;padding:.15rem .4rem;border-radius:4px}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab{background:#1e293b;color:var(--text);border:1px solid #334155}.tab.active{background:var(--accent);color:#0f172a;border-color:var(--accent)}.grid-two{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.list{list-style:none;padding:0;margin:0;display:grid;grid-gap:.5rem;gap:.5rem}.list li{padding:.5rem 0;border-bottom:1px solid #334155}.card h2{margin-top:0;font-size:1.1rem}.data-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9rem}.data-table td,.data-table th{padding:.6rem .75rem;text-align:left;border-bottom:1px solid #334155}.data-table th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.data-table tbody tr:hover{background:rgba(56,189,248,.04)}.detail-row td{padding:1rem;background:rgba(15,23,42,.5)}.detail-content ul{list-style:none;padding:0;margin:.5rem 0}.detail-content li{padding:.3rem 0}.badge-active{color:#4ade80;font-size:.85rem}.badge-inactive{color:var(--danger);font-size:.85rem}button.small{padding:.35rem .6rem;font-size:.8rem}.form-section{margin:1rem 0;padding:1rem;border:1px solid #334155;border-radius:12px;background:rgba(15,23,42,.4)}.form-section h3{margin:0 0 1rem}.form-subtitle{margin:1.25rem 0 .75rem;font-size:.95rem;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.form-grid label{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.85rem;color:var(--muted)}.form-grid input{border-radius:8px;border:1px solid #475569;background:#0f172a;color:var(--text);padding:.55rem .65rem}.inline-form{display:flex;gap:.5rem;align-items:center;margin-top:.75rem}.inline-form input{border-radius:8px;border:1px solid #475569;background:#0f172a;color:var(--text);padding:.5rem .6rem;font-size:.85rem}.admin-page{max-width:1100px}.admin-nav{display:flex;gap:.5rem;margin:0 0 1rem}.admin-nav a{text-decoration:none;padding:.45rem .9rem;border-radius:999px;border:1px solid #334155;color:var(--muted)}.admin-nav a.admin-nav-active{color:#0f172a;background:var(--accent);border-color:var(--accent);font-weight:600}.admin-card{width:100%}.admin-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.admin-card-head h1{margin:0 0 .35rem}.admin-hint{margin:0;max-width:40rem;font-size:.9rem}.admin-form{margin:1rem 0 1.5rem;padding:1rem;border:1px solid #334155;border-radius:12px;background:rgba(15,23,42,.45);display:grid;grid-gap:.85rem;gap:.85rem}.admin-form h2{margin:0}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem}.admin-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.admin-details{display:grid;grid-gap:.75rem;gap:.75rem}.admin-details h3{margin:0}.admin-details ul{list-style:none;margin:0;padding:0}.stack{display:grid;grid-gap:.75rem;gap:.75rem}.admin-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem;margin-top:1rem}.admin-hub-card{display:grid;grid-gap:.45rem;gap:.45rem;text-decoration:none;color:inherit;padding:1.1rem 1.2rem;border-radius:12px;border:1px solid #334155;background:rgba(15,23,42,.45);transition:border-color .15s ease,background .15s ease}.admin-hub-card:hover{border-color:var(--accent);background:rgba(56,189,248,.08)}.admin-hub-card strong{font-size:1.05rem}.company-home-list{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.company-home-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid #334155;border-radius:12px;background:rgba(15,23,42,.45)}.company-home-item strong{display:block}.company-home-item .muted{display:block;font-size:.9rem}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:rgba(2,6,23,.72);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{width:min(560px,100%);max-height:min(90vh,900px);overflow:auto;background:#1e293b;border:1px solid #334155;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.45);display:grid;grid-template-rows:auto 1fr auto}.modal-dialog-wide{width:min(720px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #334155}.modal-head h2{margin:0;font-size:1.15rem}.modal-close{font-size:1.4rem;line-height:1;padding:.25rem .55rem}.modal-body{padding:1.15rem 1.25rem;display:grid;grid-gap:.85rem;gap:.85rem}.modal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:.9rem 1.25rem 1.15rem;border-top:1px solid #334155}.modal-body .admin-form,.modal-body .admin-form-grid{margin:0}.api-key-box{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;word-break:break-all;padding:.75rem .9rem;border-radius:8px;border:1px dashed #38bdf8;background:rgba(56,189,248,.08)}.permission-chips{display:flex;flex-wrap:wrap;gap:.4rem}.permission-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .55rem;border-radius:999px;border:1px solid #334155;background:rgba(15,23,42,.65);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}button.permission-chip-removable{cursor:pointer;color:inherit;background:rgba(15,23,42,.65)}button.permission-chip-removable:hover{border-color:var(--accent)}.permission-add-row{display:flex;gap:.5rem;margin-top:.5rem}.permission-add-row input{flex:1 1;min-width:0;border-radius:8px;border:1px solid #475569;background:#0f172a;color:var(--text);padding:.65rem .75rem}.user-check-list{display:grid;grid-gap:.35rem;gap:.35rem;max-height:220px;overflow:auto;padding:.55rem .65rem;border:1px solid #334155;border-radius:10px;background:rgba(15,23,42,.45)}.user-check-item{display:flex;align-items:flex-start;gap:.55rem;cursor:pointer;padding:.25rem 0}.user-check-item input{margin-top:.2rem;width:auto;min-width:auto}.app-grants-row td{padding-top:0;border-top:none}.app-grants-panel{margin:0 0 .85rem;padding:.85rem 1rem;border:1px solid #334155;border-radius:12px;background:rgba(15,23,42,.4);display:grid;grid-gap:.65rem;gap:.65rem}.app-grants-title{font-size:.9rem}.app-grants-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.65rem;gap:.65rem}.app-grants-list li{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding-top:.55rem;border-top:1px solid #334155}.app-grants-list li:first-child{border-top:none;padding-top:0}.app-grants-list .permission-chips{margin-top:.35rem}