@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--brand: #1b6fe8;--brand-hover: #1558c0;--brand-light: #eff4ff;--brand-text: #1558c0;--sidebar-bg: #0b1829;--sidebar-hover: #162340;--sidebar-active: #1e3258;--sidebar-border: #1a2d4a;--sidebar-text: #7a9ab8;--sidebar-text-on: #ffffff;--bg: #f0f4f8;--surface: #ffffff;--surface2: #f7f9fc;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #1a2332;--text-muted: #64748b;--text-subtle: #94a3b8;--success: #059669;--success-bg: #f0fdf4;--success-text: #065f46;--error: #dc2626;--error-bg: #fef2f2;--error-text: #991b1b;--warning: #d97706;--warning-bg: #fffbeb;--warning-text: #92400e;--info: #0284c7;--info-bg: #f0f9ff;--info-text: #075985;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 2px 8px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.05);--shadow-md: 0 4px 16px rgba(16,24,40,.08), 0 1px 3px rgba(16,24,40,.06);--hero-gradient: linear-gradient(120deg, #1b3a8c 0%, #3457c9 45%, #7b6ee8 100%)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app-shell{display:flex;min-height:100vh}.sidebar{width:228px;background:var(--sidebar-bg);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh}.sidebar-logo{padding:18px 16px 16px;border-bottom:1px solid var(--sidebar-border)}.sidebar-logo-mark{display:flex;align-items:center;gap:10px}.logo-icon{width:32px;height:32px;background:var(--brand);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-icon svg{width:17px;height:17px;color:#fff}.logo-name{font-size:13px;font-weight:700;color:#fff;line-height:1.2}.logo-sub{font-size:11px;color:#4a6a8a;margin-top:2px}.sidebar-nav{flex:1;padding:10px 8px;overflow-y:auto}.nav-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#3d5a78;padding:12px 10px 4px;font-weight:600}.sidebar nav a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--sidebar-text);text-decoration:none;font-size:13.5px;font-weight:500;margin-bottom:2px;transition:background .12s,color .12s}.sidebar nav a svg{width:16px;height:16px;flex-shrink:0}.sidebar nav a:hover{background:var(--sidebar-hover);color:#c8daf0}.sidebar nav a.active{background:var(--sidebar-active);color:var(--sidebar-text-on)}.sidebar-footer{padding:10px 8px 14px;border-top:1px solid var(--sidebar-border)}.user-block{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-sm)}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:#fff;flex-shrink:0;text-transform:uppercase}.user-email{font-size:11.5px;color:#4a6a8a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signout-link{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:var(--radius-sm);color:#4a6a8a;font-size:12.5px;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:background .12s,color .12s}.signout-link svg{width:14px;height:14px}.signout-link:hover{background:var(--sidebar-hover);color:#c8daf0}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 28px;height:56px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;position:sticky;top:0;z-index:10}.topbar-title{font-size:15px;font-weight:700;color:var(--text)}.topbar-actions{display:flex;gap:8px;align-items:center}.page-content{padding:24px 28px}button,.btn{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:13.5px;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;padding:8px 16px;border:none;transition:background .12s,box-shadow .12s;white-space:nowrap}button.primary,.btn-primary{background:var(--brand);color:#fff}button.primary:hover,.btn-primary:hover{background:var(--brand-hover)}button.secondary,.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}button.secondary:hover,.btn-secondary:hover{background:var(--surface2);border-color:var(--border-strong)}button.danger{background:var(--error-bg);color:var(--error-text);border:1px solid #fca5a5}button.danger:hover{background:#fee2e2}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:6px 11px;font-size:13px}button.ghost:hover{background:var(--surface2);color:var(--text)}button.icon-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:6px 9px}button.icon-btn:hover{background:var(--surface2);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px}.card+.card{margin-top:16px}.hero-banner{position:relative;background:var(--hero-gradient);border-radius:var(--radius-lg);padding:26px 28px;margin-bottom:20px;overflow:hidden;box-shadow:var(--shadow-md)}.hero-banner:before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#ffffff29,#fff0 70%);pointer-events:none}.hero-eyebrow{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffffb8;margin-bottom:6px}.hero-title{font-size:22px;font-weight:700;color:#fff;line-height:1.25}.hero-sub{font-size:13.5px;color:#ffffffd1;margin-top:6px;max-width:560px;line-height:1.5}.hero-cta{position:relative;z-index:1}.hero-cta button.primary{background:#fff;color:var(--brand-hover);font-weight:700}.hero-cta button.primary:hover{background:#ffffffeb}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm);transition:box-shadow .15s,transform .15s}.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.stat-card-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;flex-shrink:0}.stat-card-icon svg{width:17px;height:17px}.stat-label{font-size:12px;color:var(--text-muted);font-weight:500;margin-bottom:6px}.stat-value{font-size:26px;font-weight:700;color:var(--text);line-height:1}.stat-sub{font-size:11.5px;color:var(--text-subtle);margin-top:5px;display:flex;align-items:center;gap:5px}.stat-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.tenant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.tenant-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;display:flex;flex-direction:column;transition:box-shadow .15s,border-color .15s}.tenant-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.tenant-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.tenant-identity{display:flex;align-items:center;gap:11px}.tenant-avatar{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}.tenant-name{font-size:14px;font-weight:700;color:var(--text);line-height:1.2}.tenant-domain{font-size:12px;color:var(--text-subtle);margin-top:2px}.tenant-meta{font-size:12px;color:var(--text-muted);margin-bottom:14px}.tenant-actions{display:flex;gap:7px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.tenant-actions button{margin-top:0}.tenant-actions .btn-run{flex:1;justify-content:center}.tenant-empty{background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius-lg);padding:32px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--text-subtle)}.tenant-empty-icon{width:42px;height:42px;border-radius:10px;background:var(--brand-light);display:flex;align-items:center;justify-content:center}.tenant-empty p{font-size:13px;margin:0}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600}.badge:before{content:"";width:6px;height:6px;border-radius:50%}.badge.connected,.badge.completed{background:var(--success-bg);color:var(--success-text)}.badge.connected:before,.badge.completed:before{background:var(--success)}.badge.running{background:var(--info-bg);color:var(--info-text)}.badge.running:before{background:var(--info)}.badge.failed{background:var(--error-bg);color:var(--error-text)}.badge.failed:before{background:var(--error)}.badge.cancelled{background:var(--warning-bg);color:var(--warning-text)}.badge.cancelled:before{background:var(--warning)}.badge.pending{background:var(--surface2);color:var(--text-muted)}.badge.pending:before{background:var(--text-subtle)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}table{width:100%;border-collapse:collapse}thead{background:var(--surface2)}th{text-align:left;padding:11px 16px;font-size:11.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}td{padding:13px 16px;font-size:13.5px;color:var(--text);border-bottom:1px solid var(--border)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface2)}td.muted{color:var(--text-subtle)}.form-group{margin-bottom:18px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.form-hint{font-size:12px;color:var(--text-muted);margin-top:4px}input[type=text],input[type=email],input[type=password],textarea,select{width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:13.5px;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #1b6fe81f}input::placeholder{color:var(--text-subtle)}.checkbox-group{display:flex;flex-direction:column;gap:10px;margin-top:8px}.checkbox-row{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);cursor:pointer;transition:border-color .12s,background .12s}.checkbox-row:hover{border-color:var(--brand);background:var(--brand-light)}.checkbox-row input[type=checkbox]{width:16px;height:16px;margin-top:1px;flex-shrink:0;accent-color:var(--brand);cursor:pointer}.checkbox-row-label{font-size:13.5px;font-weight:600;color:var(--text)}.checkbox-row-desc{font-size:12px;color:var(--text-muted);margin-top:2px}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);font-size:13.5px;margin-bottom:16px;border:1px solid transparent}.alert.error{background:var(--error-bg);color:var(--error-text);border-color:#fca5a5}.alert.success{background:var(--success-bg);color:var(--success-text);border-color:#6ee7b7}.alert.info{background:var(--info-bg);color:var(--info-text);border-color:#7dd3fc}.alert.warning{background:var(--warning-bg);color:var(--warning-text);border-color:#fcd34d}.breadcrumb{display:flex;align-items:center;gap:0;font-size:14px}.breadcrumb-item{display:flex;align-items:center}.breadcrumb-sep{color:var(--text-subtle);margin:0 7px;font-size:13px}.breadcrumb-link{color:var(--text-muted);text-decoration:none;font-weight:500;transition:color .12s;border-radius:4px;padding:2px 4px;margin:-2px -4px}.breadcrumb-link:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.breadcrumb-link-text{color:var(--text-muted);font-weight:500}.breadcrumb-current{color:var(--text);font-weight:700;font-size:15px}.settings-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);gap:16px;min-height:72px}.settings-row:last-child{border-bottom:none}.settings-row.clickable{cursor:pointer;transition:background .12s}.settings-row-left{flex:1;min-width:0}.settings-row-label{font-size:13.5px;font-weight:500;color:var(--text)}.settings-row-desc{font-size:12.5px;color:var(--text-muted);margin-top:2px}.settings-row-right{display:flex;align-items:center;gap:10px;flex-shrink:0;color:var(--text-subtle);font-size:18px}.settings-row-value{font-size:13px;color:var(--text-muted)}.settings-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-subtle);padding:0 0 8px;margin:24px 0 0}.settings-section-title:first-child{margin-top:0}.settings-expanded{padding:16px 24px 20px;border-bottom:1px solid var(--border);background:var(--surface2)}.tab-nav{display:flex;border-bottom:2px solid var(--border);margin-bottom:20px;gap:0}.tab-btn{padding:9px 18px;font-size:13.5px;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .12s,border-color .12s;line-height:1.4}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.inline-warning{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning-text);border:1px solid #fcd34d;font-size:13.5px;margin-bottom:20px}.inline-warning-icon{font-size:15px;flex-shrink:0;margin-top:1px}.toggle{position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-track{width:44px;height:24px;border-radius:12px;background:#4a5568;transition:background .18s;position:relative;flex-shrink:0}.toggle input:checked~.toggle-track{background:var(--brand)}.toggle-track:after{content:"";position:absolute;top:4px;left:4px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s}.toggle input:checked~.toggle-track:after{transform:translate(20px)}.toggle input:disabled~.toggle-track{opacity:.45;cursor:not-allowed}.toggle-label{font-size:12.5px;color:var(--text-muted);min-width:44px}.log-pane{background:#0f1621;border:1px solid #1e2d40;border-radius:var(--radius);padding:14px 16px;height:460px;overflow-y:auto;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:12.5px;line-height:1.7;white-space:pre-wrap;word-break:break-word;color:#7ec8a0}.auth-page{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 36px;box-shadow:var(--shadow)}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}.auth-logo-icon{width:36px;height:36px;border-radius:9px;background:var(--brand);display:flex;align-items:center;justify-content:center}.auth-logo-icon svg{width:18px;height:18px;color:#fff}.auth-logo-name{font-size:15px;font-weight:700;color:var(--text)}.auth-logo-sub{font-size:11.5px;color:var(--text-muted)}.auth-title{font-size:20px;font-weight:700;color:var(--text);margin-bottom:4px}.auth-subtitle{font-size:13.5px;color:var(--text-muted);margin-bottom:24px}.auth-footer{margin-top:20px;font-size:13px;color:var(--text-muted);text-align:center}.auth-footer a{color:var(--brand);text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}.auth-divider{border:none;border-top:1px solid var(--border);margin:20px 0}.muted{color:var(--text-muted)}a.link{color:var(--brand);text-decoration:none;font-weight:600}a.link:hover{text-decoration:underline}.empty-state{text-align:center;padding:48px 24px;color:var(--text-subtle)}.empty-state h3{font-size:16px;color:var(--text-muted);margin-bottom:6px;font-weight:600}.empty-state p{font-size:13.5px;margin:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px}.page-header-text h2{font-size:20px;font-weight:700;color:var(--text);margin:0 0 3px}.page-header-text p{font-size:13.5px;color:var(--text-muted);margin:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;box-shadow:0 20px 60px #00000040;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border)}.tenant-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .15s,transform .15s}.tenant-card:hover{box-shadow:var(--shadow-md)}.tenant-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.tenant-card-runs{padding:12px 20px 14px;background:var(--surface2)}.tenant-runs-table{width:100%;border-collapse:collapse;font-size:12.5px}.tenant-runs-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle);padding:0 8px 6px 0;border-bottom:1px solid var(--border)}.tenant-runs-table td{padding:7px 8px 7px 0;border-bottom:1px solid var(--border);vertical-align:middle}.tenant-runs-table tr:last-child td{border-bottom:none}.hover-underline:hover,.tenant-card-link:hover .tenant-card-name{text-decoration:underline}.tenant-card-link:hover{background:#1b6fe808;border-radius:8px}.wizard{display:flex;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;min-height:520px}.wizard-rail{width:220px;flex-shrink:0;background:var(--surface2);border-right:1px solid var(--border);padding:32px 24px;display:flex;flex-direction:column;gap:0;position:relative}.wizard-progress-bar{position:absolute;top:0;left:0;right:0;height:3px;background:var(--border)}.wizard-progress-fill{height:100%;background:var(--brand);border-radius:0 3px 3px 0;transition:width .3s ease}.wizard-step{display:flex;align-items:center;gap:12px;padding:10px 0;color:var(--text-subtle)}.wizard-step.active{color:var(--text)}.wizard-step.done{color:var(--success)}.wizard-step-dot{width:28px;height:28px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;transition:all .2s}.wizard-step.active .wizard-step-dot{background:var(--brand);border-color:var(--brand);color:#fff}.wizard-step.done .wizard-step-dot{background:var(--success);border-color:var(--success);color:#fff}.wizard-step-label{font-size:13px;font-weight:500;line-height:1.3}.wizard-step.active .wizard-step-label{font-weight:600;color:var(--text)}.wizard-body{flex:1;padding:32px 32px 28px;display:flex;flex-direction:column}.wizard-title{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--text)}.wizard-subtitle{margin:0 0 20px;font-size:13.5px;color:var(--text-muted);line-height:1.5}.settings-row.selected{background:var(--brand-light);border-color:#bfdbfe}.settings-row.clickable:hover{background:var(--surface2)}.settings-row.clickable.selected:hover{background:#e0ebff}.mobile-bar,.nav-backdrop{display:none}@media (max-width: 900px){.app-shell{flex-direction:column}.mobile-bar{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:40;height:52px;padding:0 10px;background:var(--sidebar-bg);color:#fff}.mobile-menu-btn{margin:0;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center}.mobile-bar-title{font-size:14px;font-weight:600}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:60;height:100%;width:min(280px,85vw);transform:translate(-100%);transition:transform .2s ease;box-shadow:none}.nav-open .sidebar{transform:translate(0);box-shadow:4px 0 24px #00000059}.nav-open .nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000073}.sidebar nav a{padding-top:11px;padding-bottom:11px}.main{width:100%}.topbar{padding:6px 14px;height:auto;min-height:48px;flex-wrap:wrap;gap:6px;top:52px}.page-content{padding:16px 14px 40px;max-width:100%!important}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:620px}td,th{padding:10px 12px}.settings-row{flex-wrap:wrap;padding:14px 16px;min-height:0}.settings-row-right{flex-wrap:wrap}.settings-row input:not([type=checkbox]):not([type=radio]),.settings-row select{max-width:100%!important;width:100%!important}[style*="grid-template-columns: 1fr 1fr"],[style*="repeat(auto-fit, minmax(320px"]{grid-template-columns:1fr!important}.wizard{flex-direction:column;min-height:0}.wizard-rail{width:auto;flex-direction:row;justify-content:space-between;padding:14px 16px;border-right:0;border-bottom:1px solid var(--border)}.wizard-step{padding:0;margin:0}.wizard-step-label{display:none}.wizard-step.active .wizard-step-label{display:block}.wizard-body{padding:18px 16px}[style*="padding-left: 24px"][style*="display: flex"]{overflow-x:auto;white-space:nowrap}.card{max-width:100%}[style*="width: 200px"]{width:100%!important}button,.btn{min-height:40px}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-height:40px}input[type=checkbox],input[type=radio]{width:20px;height:20px}}@media (max-width: 480px){.auth-card{padding:24px 18px}.auth-page{padding:12px}h1{font-size:17px}}.app-tooltip{position:fixed;z-index:3000;max-width:300px;padding:7px 11px;border-radius:8px;background:#10223d;color:#f4f8ff;font-size:12.5px;line-height:1.5;font-weight:500;box-shadow:0 8px 22px #0814284d;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease,visibility .12s}.app-tooltip.show{opacity:1;visibility:visible;transform:none}.app-tooltip b{display:block;margin-bottom:2px;color:#fff;font-weight:700}.app-tooltip:after{content:"";position:absolute;left:var(--ax, 50%);bottom:-4px;width:8px;height:8px;background:#10223d;transform:translate(-50%) rotate(45deg)}.app-tooltip.below:after{bottom:auto;top:-4px}@media (prefers-reduced-motion: reduce){.app-tooltip{transition:none;transform:none}}.has-tip{text-decoration:underline dotted;text-decoration-color:var(--text-subtle);text-underline-offset:3px;cursor:help}.tip-q{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:5px;border-radius:50%;background:var(--brand-light);color:var(--brand-text);font-size:10.5px;font-weight:700;cursor:help;vertical-align:1px}[data-tip]:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}:root{--st-pass-fg: #065f46;--st-pass-bg: #e4f7ee;--st-pass-bd: #86efac;--st-fail-fg: #991b1b;--st-fail-bg: #fdeaea;--st-fail-bd: #fca5a5;--st-warn-fg: #8a4b06;--st-warn-bg: #fff3d6;--st-warn-bd: #f6cf7c;--st-manual-fg: #5b21b6;--st-manual-bg: #f1ecff;--st-manual-bd: #c4b5fd;--st-info-fg: #075985;--st-info-bg: #e8f4fd;--st-info-bd: #7dd3fc;--st-na-fg: #4b5563;--st-na-bg: #f1f3f5;--st-na-bd: #d1d5db;--tc-m365-bg: #e5efff;--tc-m365-fg: #1558c0;--tc-ta-bg: #dff4f6;--tc-ta-fg: #0b6272;--tc-cis-bg: #efeaff;--tc-cis-fg: #5b3fc4;--tc-cr-bg: #fff0dc;--tc-cr-fg: #8f4505;--tc-sc-bg: #e1f5ea;--tc-sc-fg: #0b6b45;--tc-zt-bg: #e4e9f5;--tc-zt-fg: #26365e;--tc-os-bg: #fde8ee;--tc-os-fg: #a3123f;--tc-int-bg: #e9ecff;--tc-int-fg: #3a43a8;--tc-portal-bg: #e6f3fb;--tc-portal-fg: #0b5a85;--tc-audit-bg: #f3ede4;--tc-audit-fg: #6b4a1d;--tc-azure-bg: #e8eef1;--tc-azure-fg: #34505e;--tc-default-bg: #eef1f5;--tc-default-fg: #475569}.st-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 7px;border-radius:20px;border:1px solid;font-size:11.5px;font-weight:600;white-space:nowrap;line-height:1.5}.st-glyph{font-size:10.5px;font-weight:800;width:12px;text-align:center}.st-pass{background:var(--st-pass-bg);color:var(--st-pass-fg);border-color:var(--st-pass-bd)}.st-fail{background:var(--st-fail-bg);color:var(--st-fail-fg);border-color:var(--st-fail-bd)}.st-warn{background:var(--st-warn-bg);color:var(--st-warn-fg);border-color:var(--st-warn-bd)}.st-manual{background:var(--st-manual-bg);color:var(--st-manual-fg);border-color:var(--st-manual-bd)}.st-info{background:var(--st-info-bg);color:var(--st-info-fg);border-color:var(--st-info-bd)}.st-na{background:var(--st-na-bg);color:var(--st-na-fg);border-color:var(--st-na-bd)}.tool-chips{display:inline-flex;flex-wrap:wrap;gap:4px}.tool-chip{display:inline-block;padding:2px 8px;border-radius:5px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--tc-bg);color:var(--tc-fg)}.tool-dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:7px;background:var(--tc-fg);vertical-align:0}.tc-m365{--tc-bg: var(--tc-m365-bg);--tc-fg: var(--tc-m365-fg)}.tc-ta{--tc-bg: var(--tc-ta-bg);--tc-fg: var(--tc-ta-fg)}.tc-cis{--tc-bg: var(--tc-cis-bg);--tc-fg: var(--tc-cis-fg)}.tc-cr{--tc-bg: var(--tc-cr-bg);--tc-fg: var(--tc-cr-fg)}.tc-sc{--tc-bg: var(--tc-sc-bg);--tc-fg: var(--tc-sc-fg)}.tc-zt{--tc-bg: var(--tc-zt-bg);--tc-fg: var(--tc-zt-fg)}.tc-os{--tc-bg: var(--tc-os-bg);--tc-fg: var(--tc-os-fg)}.tc-int{--tc-bg: var(--tc-int-bg);--tc-fg: var(--tc-int-fg)}.tc-portal{--tc-bg: var(--tc-portal-bg);--tc-fg: var(--tc-portal-fg)}.tc-audit{--tc-bg: var(--tc-audit-bg);--tc-fg: var(--tc-audit-fg)}.tc-azure{--tc-bg: var(--tc-azure-bg);--tc-fg: var(--tc-azure-fg)}.tc-default{--tc-bg: var(--tc-default-bg);--tc-fg: var(--tc-default-fg)}.stat-card.tint-blue{background:#eaf1fe;border-color:#cfe0fc}.stat-card.tint-violet{background:#f0edff;border-color:#dcd5fb}.stat-card.tint-teal{background:#e3f5f7;border-color:#c3e6ea}.stat-card.tint-green{background:#e4f7ee;border-color:#bfe8d2}.stat-card.tint-amber{background:#fff3d6;border-color:#f3dca3}.stat-card.tint-red{background:#fdeaea;border-color:#f8cccc}.stat-card.tint-blue .stat-value{color:#1558c0}.stat-card.tint-blue .stat-label,.stat-card.tint-blue .stat-sub{color:#3d5a8c}.stat-card.tint-violet .stat-value{color:#5342b4}.stat-card.tint-violet .stat-label,.stat-card.tint-violet .stat-sub{color:#5b4d99}.stat-card.tint-teal .stat-value{color:#0b6272}.stat-card.tint-teal .stat-label,.stat-card.tint-teal .stat-sub{color:#25687a}.stat-card.tint-green .stat-label,.stat-card.tint-green .stat-sub{color:#2d6a52}.stat-card.tint-amber .stat-label,.stat-card.tint-amber .stat-sub{color:#7a5a1a}.stat-card.tint-red .stat-label,.stat-card.tint-red .stat-sub{color:#8c3b3b}.switcher{position:relative;padding:10px 12px 0}.switcher-btn{display:flex;align-items:center;gap:9px;width:100%;margin:0;padding:7px 9px;border-radius:8px;border:1px solid var(--sidebar-border);background:transparent;color:#fff;cursor:pointer;text-align:left}.switcher-btn:hover,.switcher-btn[aria-expanded=true]{background:var(--sidebar-hover)}.switcher-dot{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.switcher-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600}.switcher-menu{position:absolute;left:12px;right:12px;top:calc(100% + 4px);z-index:60;background:var(--sidebar-bg);border:1px solid var(--sidebar-border);border-radius:10px;box-shadow:0 12px 32px #00000073;overflow:hidden;color:#fff}.switcher-search{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--sidebar-border);background:transparent;color:#fff;padding:9px 12px;font-size:12.5px;outline:none;border-radius:0;margin:0}.switcher-item{display:flex;align-items:center;gap:9px;padding:8px 12px;cursor:pointer;font-size:12.5px}.switcher-item.hi,.switcher-item:hover{background:var(--sidebar-active)}.search-btn{display:flex;align-items:center;gap:8px;width:calc(100% - 24px);margin:10px 12px 0;padding:7px 10px;border-radius:8px;border:1px solid var(--sidebar-border);background:transparent;color:var(--sidebar-text);cursor:pointer;font-size:12.5px;text-align:left}.search-btn:hover{background:var(--sidebar-hover);color:#fff}.search-btn kbd{margin-left:auto;font:inherit;font-size:10.5px;border:1px solid var(--sidebar-border);border-radius:4px;padding:1px 5px}.palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#08111f8c;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px}.palette{width:100%;max-width:620px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #0006;overflow:hidden}.palette-input{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:15px 18px;font-size:15px;outline:none;border-radius:0;margin:0}.palette-list{max-height:52vh;overflow-y:auto;padding-bottom:6px}.palette-group{padding:10px 18px 4px;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-subtle)}.palette-item{display:flex;align-items:center;gap:10px;padding:8px 18px;cursor:pointer;font-size:13px}.palette-item.hi{background:var(--brand-light)}.palette-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-hint{color:var(--text-subtle);font-size:11.5px;white-space:nowrap;max-width:45%;overflow:hidden;text-overflow:ellipsis}.palette-foot{border-top:1px solid var(--border);padding:8px 18px;font-size:11px;color:var(--text-subtle)}.help-mark{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:6px;border-radius:50%;border:1px solid var(--border);color:var(--text-subtle);background:var(--surface);font-size:10px;font-weight:700;line-height:1;cursor:help;vertical-align:middle;text-transform:none;letter-spacing:0;flex-shrink:0}.help-mark:hover,.help-mark:focus-visible{color:#fff;background:var(--brand);border-color:var(--brand);outline:none}a:focus-visible,button:focus-visible,summary:focus-visible,[role=button]:focus-visible,[role=option]:focus-visible,select:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--brand);outline-offset:2px}tr[tabindex]:focus-visible{outline-offset:-2px}.main:focus{outline:none}.skip-link{position:absolute;left:12px;top:-48px;z-index:2000;background:var(--brand);color:#fff;padding:9px 14px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;transition:top .12s}.skip-link:focus{top:10px}.skeleton{border-radius:6px;background:linear-gradient(90deg,var(--surface2) 25%,var(--border) 37%,var(--surface2) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.table-wrap.scroll-y{max-height:calc(100vh - 230px);min-height:220px;overflow:auto}.table-wrap.scroll-y thead th{position:sticky;top:0;z-index:2;background:var(--surface2);box-shadow:0 1px 0 var(--border)}.toast-region{position:fixed;right:18px;bottom:18px;z-index:1100;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 36px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:10px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-left-width:4px;box-shadow:0 10px 28px #00000038;font-size:13px;line-height:1.4;animation:toast-in .18s ease-out}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--error)}.toast-info{border-left-color:var(--brand)}.toast-icon{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;margin-top:1px}.toast-success .toast-icon{background:var(--success)}.toast-error .toast-icon{background:var(--error)}.toast-info .toast-icon{background:var(--brand)}.toast-text{flex:1;min-width:0}.toast-close{margin:0;padding:0 2px;border:0;background:transparent;color:var(--text-subtle);cursor:pointer;font-size:12px;line-height:1}.toast-close:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.skeleton,.toast{animation:none}.skip-link{transition:none}}:root{--tint-blue: #eff4ff;--tint-green: #f0fdf4;--tint-red: #fef2f2;--tint-amber: #fffbeb;--tint-orange: #fff7ed;--tint-yellow: #fefce8;--tint-pink: #fdf2f8;--tint-cyan: #ecfeff;--tint-grey: #f4f4f5;--tint-warm: #f0efec;--ink-green: #065f46;--ink-red: #991b1b;--ink-amber: #92400e;--accent-blue: #1b6fe8;--accent-green: #059669;--accent-orange: #d97706;--accent-purple: #9333ea;--accent-red: #dc2626;--accent-cyan: #0891b2;--chart-grid: #e1e0d9;--chart-axis: #c3c2b7;--link: var(--brand)}html[data-theme=dark]{color-scheme:dark;--brand-light: #14284a;--brand-text: #8db9fb;--link: #7ab0f8;--bg: #0b1424;--surface: #111d31;--surface2: #16253c;--border: #243652;--border-strong: #34496b;--text: #e6edf7;--text-muted: #a3b4ca;--text-subtle: #7b8ea8;--success: #34d399;--success-bg: #0f2c22;--success-text: #7ee0b4;--error: #f87171;--error-bg: #3a1517;--error-text: #fca5a5;--warning: #fbbf24;--warning-bg: #35280c;--warning-text: #fcd34d;--info: #38bdf8;--info-bg: #0f2a3f;--info-text: #7dd3fc;--shadow-sm: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow: 0 2px 8px rgba(0,0,0,.45), 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.35);--sidebar-bg: #08111f;--sidebar-hover: #12203a;--sidebar-active: #1a2d52;--sidebar-border: #162540;--tint-blue: #14264a;--tint-green: #0f2c22;--tint-red: #3a1517;--tint-amber: #35280c;--tint-orange: #3a2414;--tint-yellow: #332f0c;--tint-pink: #3a1830;--tint-cyan: #0f2f35;--tint-grey: #1a2433;--tint-warm: #1c2636;--ink-green: #7ee0b4;--ink-red: #fca5a5;--ink-amber: #fcd34d;--accent-blue: #7ab0f8;--accent-green: #34d399;--accent-orange: #fbbf24;--accent-purple: #c4a1f7;--accent-red: #f87171;--accent-cyan: #5dd6e8;--chart-grid: #263a58;--chart-axis: #3b5176;--st-pass-fg: #7ee0b4;--st-pass-bg: #0f2c22;--st-pass-bd: #1f5a45;--st-fail-fg: #fca5a5;--st-fail-bg: #3a1517;--st-fail-bd: #7a2a2d;--st-warn-fg: #fcd34d;--st-warn-bg: #35280c;--st-warn-bd: #6b4f12;--st-manual-fg: #c4b5fd;--st-manual-bg: #261d4a;--st-manual-bd: #4a3d8a;--st-info-fg: #7dd3fc;--st-info-bg: #0f2a3f;--st-info-bd: #1f5a80;--st-na-fg: #aab6c6;--st-na-bg: #1a2433;--st-na-bd: #34445c;--tc-m365-bg: #14264a;--tc-m365-fg: #8db9fb;--tc-ta-bg: #0f2f35;--tc-ta-fg: #6fd0de;--tc-cis-bg: #251f4a;--tc-cis-fg: #b9a8fb;--tc-cr-bg: #3a2410;--tc-cr-fg: #f2b878;--tc-sc-bg: #0f3024;--tc-sc-fg: #7ee0b4;--tc-zt-bg: #1c2740;--tc-zt-fg: #9fb4e6;--tc-os-bg: #3d1626;--tc-os-fg: #f59bb5;--tc-int-bg: #1d2250;--tc-int-fg: #a5acf5;--tc-portal-bg: #0f2e44;--tc-portal-fg: #7dc4f0;--tc-audit-bg: #33291a;--tc-audit-fg: #d9bf94;--tc-azure-bg: #1c2c35;--tc-azure-fg: #9fc1d1;--tc-default-bg: #1c2636;--tc-default-fg: #aab6c6}a.link,.link{color:var(--link)}.alert.error{border-color:var(--st-fail-bd)}.alert.success{border-color:var(--st-pass-bd)}.alert.info{border-color:var(--st-info-bd)}.alert.warning,.inline-warning{border-color:var(--st-warn-bd)}button.danger{border-color:var(--st-fail-bd)}html[data-theme=dark] button.danger:hover{background:var(--error-bg)}html[data-theme=dark] .settings-row.selected{border-color:var(--border-strong)}html[data-theme=dark] .settings-row.clickable.selected:hover{background:#1a3059}html[data-theme=dark] .toggle-track{background:#4b5d78}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{color-scheme:dark}html[data-theme=dark] .stat-card.tint-blue{background:#12233f;border-color:#1f3a68}html[data-theme=dark] .stat-card.tint-violet{background:#1c1a3f;border-color:#342f78}html[data-theme=dark] .stat-card.tint-teal{background:#0f2c33;border-color:#1b4d57}html[data-theme=dark] .stat-card.tint-green{background:#0f2c22;border-color:#1f5a45}html[data-theme=dark] .stat-card.tint-amber{background:#35280c;border-color:#6b4f12}html[data-theme=dark] .stat-card.tint-red{background:#3a1517;border-color:#7a2a2d}html[data-theme=dark] .stat-card.tint-blue .stat-value{color:#8db9fb}html[data-theme=dark] .stat-card.tint-violet .stat-value{color:#b9a8fb}html[data-theme=dark] .stat-card.tint-teal .stat-value{color:#6fd0de}html[data-theme=dark] .stat-card.tint-green .stat-value,html[data-theme=dark] .stat-card.tint-amber .stat-value,html[data-theme=dark] .stat-card.tint-red .stat-value{filter:none}html[data-theme=dark] .stat-card.tint-blue .stat-label,html[data-theme=dark] .stat-card.tint-blue .stat-sub{color:#a3b9dc}html[data-theme=dark] .stat-card.tint-violet .stat-label,html[data-theme=dark] .stat-card.tint-violet .stat-sub{color:#b4aadf}html[data-theme=dark] .stat-card.tint-teal .stat-label,html[data-theme=dark] .stat-card.tint-teal .stat-sub{color:#9ccbd3}html[data-theme=dark] .stat-card.tint-green .stat-label,html[data-theme=dark] .stat-card.tint-green .stat-sub{color:#9bd6b9}html[data-theme=dark] .stat-card.tint-amber .stat-label,html[data-theme=dark] .stat-card.tint-amber .stat-sub{color:#e0c27a}html[data-theme=dark] .stat-card.tint-red .stat-label,html[data-theme=dark] .stat-card.tint-red .stat-sub{color:#e8a3a3}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;margin:0;border-radius:7px;border:1px solid var(--sidebar-border);background:transparent;color:var(--sidebar-text);cursor:pointer}.theme-toggle:hover{background:var(--sidebar-hover);color:#fff}.theme-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sidebar-footer .theme-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}html[data-theme=dark] input:not([type]),html[data-theme=dark] input[type=search],html[data-theme=dark] input[type=number],html[data-theme=dark] input[type=date],html[data-theme=dark] input[type=url],html[data-theme=dark] input[type=tel]{background:var(--surface);color:var(--text);border-color:var(--border-strong)}
