: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;align-self:start;max-height:100vh;overflow-y:auto;position:sticky;top:0}.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-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px}.btn-topbar-config{border-radius:10px;border:1px solid #324170;background:#11182dd9;color:#9fb0dd;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}.btn-topbar-config:hover{color:#e7ecff;border-color:#4a6ad4}.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}.hsia-le-root{margin-top:8px}.hsia-le-intro{font-size:13px;line-height:1.5;margin:0 0 16px;padding:12px 14px;border-radius:12px;border:1px solid rgba(124,179,255,.2);background:linear-gradient(135deg,#23305c59,#121a348c);color:#b8c7ec}.hsia-le-intro strong{color:#e8eeff}.hsia-le-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 16px;margin-bottom:18px;border-radius:14px;border:1px solid rgba(124,179,255,.28);background:linear-gradient(155deg,#2a3a6ceb,#141c37fa);box-shadow:0 14px 40px #00000061,inset 0 1px #ffffff0f}.hsia-le-toolbar-hint{width:100%;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#8fa8e0;margin:0 0 2px;font-weight:600}.hsia-le-chip{border-radius:999px;border:1px solid rgba(124,179,255,.4);background:linear-gradient(180deg,#4a6ad48c,#2f4cadbf);color:#f0f4ff;padding:8px 15px;font-size:13px;font-weight:500;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,filter .14s ease}.hsia-le-chip:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #4a77e866;border-color:#a8c8ffa6;filter:brightness(1.05)}.hsia-le-chip:active:not(:disabled){transform:translateY(0)}.hsia-le-chip:disabled{opacity:.45;cursor:not-allowed}.hsia-le-upload{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#9fb0dd;padding:6px 12px;border-radius:10px;border:1px dashed rgba(124,179,255,.35);background:#00000026}.hsia-le-upload input[type=file]{max-width:180px;font-size:11px}.hsia-le-reset{margin-left:auto}.hsia-le-device{position:relative;margin:0 auto 22px;padding:14px;border-radius:28px;max-width:min(100%,392px);background:linear-gradient(165deg,#1e293b,#0f172a 55%,#080c18);border:1px solid rgba(255,255,255,.1);box-shadow:0 28px 56px #00000080,inset 0 1px #ffffff12}.hsia-le-device-notch{height:22px;margin:-4px auto 10px;width:96px;border-radius:0 0 14px 14px;background:#0a0f1a;border:1px solid rgba(255,255,255,.06);border-top:none}.hsia-le-stage{position:relative;width:100%;aspect-ratio:360 / 640;max-height:70vh;border-radius:18px;overflow:hidden;border:1px solid rgba(124,179,255,.35);background:#0a0d14;box-shadow:inset 0 0 0 1px #0006}.hsia-le-stage-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:10px;color:#ffffff59;pointer-events:none;white-space:nowrap}.hsia-le-widget{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;cursor:default;transition:box-shadow .15s ease,border-color .15s ease}.hsia-le-widget-sel{border:2px solid #93c5fd!important;box-shadow:0 0 0 1px #93c5fd59,0 8px 24px #00000059}.hsia-le-widget-idle{border:1px dashed rgba(255,255,255,.22)}.hsia-le-widget-title{flex:0 0 auto;height:22px;margin:-8px -8px 4px;padding:4px 10px;background:linear-gradient(90deg,#0f172ad9,#1e293bbf);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#bae6fd;cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:1px solid rgba(255,255,255,.06)}.hsia-le-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;background:linear-gradient(135deg,#60a5fa,#2563eb);cursor:nwse-resize;border-radius:6px 0 14px;box-shadow:-1px -1px #00000040}.hsia-le-inspector{max-width:520px;padding:16px 18px;border-radius:14px;border:1px solid rgba(124,179,255,.25);background:linear-gradient(180deg,#1c2648e6,#10162af2);box-shadow:0 12px 32px #00000047}.hsia-le-inspector-title{grid-column:1 / -1;font-weight:700;font-size:14px;margin-bottom:6px;color:#e8eeff;letter-spacing:.02em}.hsia-le-inspector-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hsia-le-footer{max-width:400px;margin-top:4px}.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-form-grid label.full-width{grid-column:1 / -1}.admin-form-grid label.checkbox-line{flex-direction:row;align-items:center;gap:8px;grid-column:1 / -1}.admin-form-actions{display:flex;flex-wrap:wrap;gap:10px;grid-column:1 / -1;align-items:center}.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}
