:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0a1020;color:#e7ecff}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(1200px 600px at 15% -10%,#1d2f5c,#0a1020 50%)}#root{min-height:100vh}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top,#1a2544,#080b18 55%)}.login-card{width:100%;max-width:400px}.login-title{font-size:22px;font-weight:700;margin:0 0 8px}.field-label{display:flex;flex-direction:column;gap:6px}.field-caption{font-size:13px;color:#9fb0dd;font-weight:600}.login-form{display:flex;flex-direction:column;gap:12px;margin-top:16px}.login-form input{border-radius:10px;border:1px solid #324170;background:#080b1899;color:#e7ecff;padding:10px 12px;font-size:14px}.form-error{color:#ff8a8a;font-size:13px}.btn-primary{border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer;border:1px solid #324170;margin-top:4px;background:linear-gradient(180deg,#3d5ccc,#2a428f);color:#fff}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{border-right:1px solid #2b3555;background:#080b18d9;padding:16px}.brand{font-size:18px;font-weight:700;margin:6px 8px 20px}.nav-link{width:100%;border:1px solid transparent;background:transparent;color:#9fb0dd;text-align:left;border-radius:12px;padding:10px 12px;margin-bottom:8px;cursor:pointer}.nav-link:hover,.nav-link.active{color:#e7ecff;border-color:#324170;background:#1a2544}.main{display:grid;grid-template-rows:auto 1fr}.topbar{border-bottom:1px solid #2b3555;display:flex;justify-content:space-between;align-items:center;padding:14px 18px}.topbar-actions{display:flex;align-items:center;gap:12px}.tenant-switcher{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0}.tenant-switcher-label{font-size:10px;font-weight:600;color:#7a8ab8;text-transform:uppercase;letter-spacing:.06em}.tenant-switcher-select{min-width:200px;max-width:min(320px,42vw);border-radius:10px;border:1px solid #324170;background:#11182df2;color:#e7ecff;padding:6px 10px;font-size:13px;cursor:pointer}.tenant-switcher-select:focus{outline:none;border-color:#4a6ad4}.tenant-switcher-single{font-size:13px;font-weight:600;color:#e7ecff;max-width:min(320px,42vw);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenant-switcher-error{font-size:12px;color:#e85a5a;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-logout{border-radius:999px;border:1px solid #324170;background:#11182dd9;color:#9fb0dd;padding:6px 14px;font-size:12px;cursor:pointer}.btn-logout:hover{color:#e7ecff;border-color:#4a6ad4}.content{padding:18px}.status{border:1px solid #2b3555;border-radius:999px;padding:5px 10px;color:#2db786;font-size:12px}.muted{color:#9fb0dd;font-size:13px}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{border:1px solid #2b3555;border-radius:14px;padding:14px;background:#11182dd9}.card h3{margin:0 0 10px;font-size:15px}.data-table-wrap{overflow-x:auto;margin-top:12px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{border:1px solid #2b3555;padding:8px 10px;text-align:left}.data-table th{background:#1a254499;color:#9fb0dd;font-weight:600}.data-table tbody tr:hover{background:#1a254459}.form-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:12px;align-items:end}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:12px;color:#9fb0dd}.form-field input,.form-field select{border-radius:10px;border:1px solid #324170;background:#11182df2;color:#e7ecff;padding:8px 10px;font-size:13px}.btn-primary{border-radius:10px;border:1px solid #4a6ad4;background:#2f4cad;color:#e7ecff;padding:8px 16px;font-size:13px;cursor:pointer}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.alert-error{color:#e85a5a;font-size:13px;margin:8px 0}.alert-ok{color:#2db786;font-size:13px;margin:8px 0}.kpi{font-size:28px;font-weight:700}.admin-panel{display:flex;flex-direction:column;gap:16px}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.admin-header h2{margin:0 0 6px;font-size:18px}.admin-user-badge{font-size:13px;color:#9fb0dd}.badge-admin{color:#7dd3c0}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap}.admin-tabs button{border-radius:10px;border:1px solid #324170;background:#11182d99;color:#9fb0dd;padding:8px 14px;cursor:pointer;font-size:13px}.admin-tabs button.active{border-color:#4a6ad4;color:#e7ecff;background:#1a2544}.admin-banner{border-radius:10px;padding:10px 12px;font-size:13px}.admin-banner.success{border:1px solid #2b6a52;background:#2db7861f;color:#7dd3c0}.admin-banner.error{border:1px solid #6a2b2b;background:#ff646414;color:#ff9b9b}.admin-section h3{margin-top:0}.admin-section h4.subheading{margin:16px 0 8px;font-size:14px;font-weight:600}.admin-form-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}.admin-form-row input{flex:1;min-width:200px;border-radius:10px;border:1px solid #324170;background:#080b1880;color:#e7ecff;padding:8px 12px}.admin-provision-form{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.admin-provision-form .full-width{display:block;margin-bottom:0}.admin-provision-form .field-caption{display:block;font-size:13px;color:#9fb0dd;font-weight:600;margin-bottom:6px}.provision-details{border:1px solid #2b3555;border-radius:10px;padding:12px;background:#080b1859}.provision-details summary{cursor:pointer;color:#c5d0f0;font-weight:600;font-size:14px}.provision-details code{font-size:11px;color:#7dd3c0}.checkbox-row{display:flex;align-items:center;gap:10px;font-size:13px;color:#9fb0dd;margin:10px 0}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px;align-items:end}.admin-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#9fb0dd}.admin-form-grid input,.admin-form-grid select{border-radius:10px;border:1px solid #324170;background:#080b1880;color:#e7ecff;padding:8px 10px;font-size:14px}.admin-module-field{margin-bottom:16px}.admin-module-field .field-caption{display:block;font-size:13px;color:#9fb0dd;font-weight:600;margin-bottom:8px}.admin-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 14px}.module-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:#c5d0f0;cursor:pointer;margin:0}.module-checkbox input{width:16px;height:16px;accent-color:#4a6ad4}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #2b3555}.admin-table th{color:#9fb0dd;font-weight:600}.inline-edit{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-edit input{border-radius:8px;border:1px solid #324170;background:#080b1880;color:#e7ecff;padding:4px 8px}.btn-tiny{border-radius:8px;border:1px solid #324170;background:#1a2544;color:#e7ecff;padding:4px 10px;font-size:12px;cursor:pointer}.btn-tiny.ghost{background:transparent;color:#9fb0dd}.btn-primary{border-radius:10px;border:1px solid #3d5ccc;background:linear-gradient(180deg,#3d5ccc,#2a428f);color:#fff;padding:8px 16px;font-weight:600;cursor:pointer;font-size:13px}.small{font-size:12px}.provision-runs-block{margin-top:28px;padding-top:16px;border-top:1px solid #2b3555}.provision-runs-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.prov-status{font-size:12px;font-weight:600;text-transform:uppercase}.prov-status-succeeded{color:#7dd3c0}.prov-status-failed{color:#ff9b9b}.prov-status-running,.prov-status-queued{color:#c9b36a}.prov-err-hint{font-size:11px;color:#9fb0dd}.prov-log-row td{padding-top:0;border-bottom:1px solid #2b3555}.prov-log{margin:0 0 12px;max-height:220px;overflow:auto;padding:10px;font-size:11px;line-height:1.4;background:#080b18d9;border:1px solid #324170;border-radius:8px;color:#c5d0f0;white-space:pre-wrap;word-break:break-word}
