.login-page{display:flex;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif}.login-hero{flex:3;background:linear-gradient(135deg,#f0883d,#e8752a 40%,#d06424);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;position:relative;overflow:hidden;color:#fff}.hero-grid-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1px);background-size:32px 32px}.hero-glow{position:absolute;border-radius:50%;filter:blur(100px);opacity:.2}.hero-glow-1{width:500px;height:500px;top:-120px;left:-100px;background:#ffffff4d}.hero-glow-2{width:400px;height:400px;bottom:-80px;right:-60px;background:#0003}.hero-content{position:relative;z-index:1;max-width:380px;width:100%}.hero-logo{margin-bottom:16px}.hero-title{font-size:36px;font-weight:800;letter-spacing:-1.5px;margin-bottom:6px;color:#fff}.hero-subtitle{font-size:13px;color:#ffffffb3;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:0}.hero-divider{width:40px;height:2px;background:#ffffff59;border-radius:1px;margin:24px 0}.hero-features{display:flex;flex-direction:column;gap:14px}.feature-item{display:flex;align-items:center;gap:12px}.feature-icon-wrap{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;border-radius:7px;background:#ffffff26;border:1px solid rgba(255,255,255,.15);color:#ffffffd9;transition:all .2s}.feature-item:hover .feature-icon-wrap{background:#ffffff40;border-color:#ffffff40;color:#fff}.feature-text{display:flex;flex-direction:column;gap:1px}.feature-label{font-size:13px;font-weight:600;color:#e2e8f0;letter-spacing:-.1px}.feature-desc{font-size:11.5px;color:#ffffffbf;font-weight:400}.hero-stats{display:flex;gap:10px;margin-top:28px}.stat-pill{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;background:#ffffff26;white-space:nowrap;border:1px solid rgba(255,255,255,.25);border-radius:10px;flex:1}.stat-value{font-size:14px;font-weight:700;color:#fff;letter-spacing:-.3px}.stat-label{font-size:11px;color:#fff;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.hero-attribution{margin-top:36px;display:flex;align-items:center;gap:12px;font-size:12px;color:#fff;font-weight:500;letter-spacing:.3px}.attribution-line{flex:1;height:1px;background:#ffffff4d}.login-form-panel{flex:2;display:flex;align-items:center;justify-content:center;padding:48px;background:#fff;position:relative}.login-form-container{width:100%;max-width:380px}.form-header{margin-bottom:4px}.form-title{font-size:28px;font-weight:700;color:#0f172a;margin-bottom:8px;letter-spacing:-.5px}.form-desc{font-size:14px;color:#64748b;margin-bottom:28px;line-height:1.4}.login-form{display:flex;flex-direction:column;gap:20px}.field label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px;letter-spacing:-.1px}.field input{width:100%;padding:11px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1e293b;transition:all .2s;background:#f8fafc;font-family:inherit}.field input:focus{outline:none;border-color:#e8752a;box-shadow:0 0 0 3px #e8752a14;background:#fff}.field input::placeholder{color:#94a3b8}.form-error{background:#fef2f2;color:#991b1b;padding:10px 14px;border-radius:8px;font-size:13px;border:1px solid #fecaca;display:flex;align-items:center;gap:8px}.form-success{background:#f0fdf4;color:#166534;padding:10px 14px;border-radius:8px;font-size:13px;border:1px solid #bbf7d0}.login-btn{width:100%;padding:12px;border:none;border-radius:10px;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(135deg,#e8752a,#d06424);cursor:pointer;transition:all .2s;margin-top:4px;font-family:inherit;letter-spacing:-.1px}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#d06424,#b84e18);box-shadow:0 4px 16px #e8752a4d;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #e8752a33}.login-btn:disabled{opacity:.5;cursor:not-allowed}.btn-loading{display:inline-flex;align-items:center;gap:8px}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.password-field{position:relative;display:flex;align-items:center}.password-field input{padding-right:44px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .2s}.password-toggle:hover{color:#475569}.form-links{display:flex;justify-content:center;gap:16px;margin-top:20px}.link-btn{background:none;border:none;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;padding:4px 0;transition:color .2s;font-family:inherit}.link-btn:hover{color:#0f172a}@media (max-width: 1024px){.login-hero{padding:48px 32px}.hero-title{font-size:36px}.hero-stats{gap:8px}.stat-pill{padding:8px 12px}}@media (max-width: 768px){.login-page{flex-direction:column}.login-hero{min-height:auto;flex:none;padding:40px 24px 32px}.hero-title{font-size:30px}.hero-subtitle{font-size:13px}.hero-features,.hero-stats,.hero-divider{display:none}.hero-attribution{margin-top:20px}.login-form-panel{padding:32px 20px}}.copilot-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#e8752a,#d4631f);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 16px #e8752a59;display:flex;align-items:center;justify-content:center;z-index:900;transition:transform .2s,box-shadow .2s}.copilot-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px #e8752a73}.copilot-fab.open{background:#475569;box-shadow:0 4px 12px #4755694d}.copilot-drawer{position:fixed;top:0;right:0;width:440px;height:100vh;background:#fff;box-shadow:-4px 0 24px #0000001f;z-index:910;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.copilot-drawer.open{transform:translate(0)}.copilot-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;background:#fafbfc;flex-shrink:0}.copilot-header-left{display:flex;align-items:center;gap:10px}.copilot-header-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#e8752a,#d4631f);display:flex;align-items:center;justify-content:center;color:#fff}.copilot-header h3{margin:0;font-size:15px;font-weight:700;color:#1e293b}.copilot-header-sub{font-size:11px;color:#94a3b8;font-weight:500}.copilot-header-actions{display:flex;gap:4px}.copilot-header-btn{background:none;border:none;cursor:pointer;color:#94a3b8;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.copilot-header-btn:hover{background:#f1f5f9;color:#475569}.copilot-tenant-bar{display:flex;align-items:center;gap:10px;padding:8px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.copilot-tenant-label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#64748b;white-space:nowrap}.copilot-tenant-select{flex:1;font-size:12px;padding:5px 8px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#1e293b;outline:none;cursor:pointer;transition:border-color .15s}.copilot-tenant-select:focus{border-color:#e8752a}.copilot-tenant-select option[value=""]{color:#94a3b8}.copilot-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.copilot-messages::-webkit-scrollbar{width:5px}.copilot-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.copilot-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#64748b;flex:1}.copilot-welcome-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#fff7ed,#ffedd5);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.copilot-welcome h4{margin:0 0 8px;font-size:16px;color:#1e293b}.copilot-welcome p{margin:0 0 20px;font-size:13px;line-height:1.5}.copilot-suggestions{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px}.copilot-suggestion{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px;text-align:left;font-size:12.5px;color:#475569;cursor:pointer;transition:background .15s,border-color .15s}.copilot-suggestion:hover{background:#fff7ed;border-color:#e8752a}.copilot-msg{display:flex;gap:10px;max-width:100%}.copilot-msg.user{flex-direction:row-reverse}.copilot-msg-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.copilot-msg.user .copilot-msg-avatar{background:#dbeafe;color:#2563eb}.copilot-msg.assistant .copilot-msg-avatar{background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#e8752a}.copilot-msg-content{flex:1;min-width:0}.copilot-msg-bubble{padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.55;word-wrap:break-word;overflow-wrap:break-word}.copilot-msg.user .copilot-msg-bubble{background:#2563eb;color:#fff;border-bottom-right-radius:4px}.copilot-msg.assistant .copilot-msg-bubble{background:#f1f5f9;color:#1e293b;border-bottom-left-radius:4px}.copilot-msg.assistant .copilot-msg-bubble p{margin:0 0 8px}.copilot-msg.assistant .copilot-msg-bubble p:last-child{margin-bottom:0}.copilot-msg.assistant .copilot-msg-bubble code{background:#e2e8f0;padding:1px 5px;border-radius:3px;font-size:12px;font-family:SF Mono,Fira Code,monospace}.copilot-msg.assistant .copilot-msg-bubble pre{background:#1e293b;color:#e2e8f0;padding:12px;border-radius:8px;overflow-x:auto;margin:8px 0;font-size:12px}.copilot-msg.assistant .copilot-msg-bubble pre code{background:none;padding:0;color:inherit}.copilot-msg.assistant .copilot-msg-bubble table{width:100%;border-collapse:collapse;margin:8px 0;font-size:12px}.copilot-msg.assistant .copilot-msg-bubble th,.copilot-msg.assistant .copilot-msg-bubble td{padding:6px 8px;border:1px solid #cbd5e1;text-align:left}.copilot-msg.assistant .copilot-msg-bubble th{background:#e2e8f0;font-weight:600}.copilot-msg.assistant .copilot-msg-bubble ul,.copilot-msg.assistant .copilot-msg-bubble ol{margin:4px 0;padding-left:20px}.copilot-msg.assistant .copilot-msg-bubble li{margin-bottom:2px}.copilot-msg.assistant .copilot-msg-bubble strong{font-weight:600}.copilot-tool-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:20px;font-size:11px;color:#c2410c;margin:4px 0}.copilot-tool-spinner{width:12px;height:12px;border:2px solid #fed7aa;border-top-color:#e8752a;border-radius:50%;animation:copilot-spin .8s linear infinite}@keyframes copilot-spin{to{transform:rotate(360deg)}}.copilot-tool-done{color:#16a34a}.copilot-cursor{display:inline-block;width:2px;height:14px;background:#e8752a;margin-left:2px;animation:copilot-blink 1s step-end infinite;vertical-align:text-bottom}@keyframes copilot-blink{0%,50%{opacity:1}51%,to{opacity:0}}.copilot-input-area{padding:12px 16px;border-top:1px solid #e2e8f0;background:#fafbfc;flex-shrink:0}.copilot-input-row{display:flex;align-items:flex-end;gap:8px}.copilot-input{flex:1;resize:none;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;font-size:13px;font-family:inherit;line-height:1.4;min-height:40px;max-height:120px;outline:none;transition:border-color .15s;background:#fff}.copilot-input:focus{border-color:#e8752a}.copilot-input::placeholder{color:#94a3b8}.copilot-send-btn{width:40px;height:40px;border-radius:10px;background:#e8752a;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.copilot-send-btn:hover{background:#d4631f}.copilot-send-btn:disabled{background:#cbd5e1;cursor:not-allowed}.copilot-error{padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:12.5px;display:flex;align-items:center;gap:8px}.copilot-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0003;z-index:905;transition:opacity .3s}.copilot-fab .copilot-alert-dot{position:absolute;top:-2px;right:-2px;width:14px;height:14px;background:#ef4444;border-radius:50%;border:2px solid #fff;animation:copilot-pulse 2s ease-in-out infinite}@keyframes copilot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}.copilot-material-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px;margin:8px 0}.copilot-material-card .field-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px;border-bottom:1px solid #f1f5f9}.copilot-material-card .field-row:last-child{border-bottom:none}.copilot-material-card .field-label{color:#64748b;font-weight:500}.copilot-material-card .field-value{color:#1e293b;font-weight:600}.copilot-severity-high{color:#dc2626;font-weight:600}.copilot-severity-medium{color:#f59e0b;font-weight:600}.copilot-severity-low{color:#16a34a;font-weight:600}.copilot-input-wrap{flex:1;position:relative;display:flex;align-items:flex-end}.copilot-input-wrap .copilot-input{flex:1;padding-right:38px}.copilot-mic-btn{position:absolute;right:6px;bottom:6px;width:30px;height:30px;border-radius:8px;background:transparent;color:#94a3b8;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.copilot-mic-btn:hover{background:#f1f5f9;color:#e8752a}.copilot-mic-btn:disabled{opacity:.4;cursor:not-allowed}.copilot-mic-btn--transcribing{color:#e8752a;animation:copilot-rec-pulse 1s ease-in-out infinite}.copilot-recording-overlay{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border-top:1px solid #fecaca}.copilot-recording-indicator{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#dc2626}.copilot-recording-dot{width:10px;height:10px;border-radius:50%;background:#dc2626;animation:copilot-rec-pulse 1s ease-in-out infinite}@keyframes copilot-rec-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.copilot-recording-time{font-variant-numeric:tabular-nums;min-width:32px}.copilot-waveform{display:flex;align-items:center;gap:3px;flex:1;justify-content:center}.copilot-waveform span{width:3px;border-radius:2px;background:#dc2626;animation:copilot-wave .8s ease-in-out infinite}.copilot-waveform span:nth-child(1){height:12px;animation-delay:0s}.copilot-waveform span:nth-child(2){height:20px;animation-delay:.1s}.copilot-waveform span:nth-child(3){height:16px;animation-delay:.2s}.copilot-waveform span:nth-child(4){height:24px;animation-delay:.3s}.copilot-waveform span:nth-child(5){height:14px;animation-delay:.4s}@keyframes copilot-wave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.copilot-recording-stop{width:40px;height:40px;border-radius:50%;background:#dc2626;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.copilot-recording-stop:hover{background:#b91c1c}@media (max-width: 768px){.copilot-drawer{width:100vw}.copilot-fab{bottom:16px;right:16px;width:50px;height:50px}}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid #e2e8f0}.sidebar-logo{flex-shrink:0}.sidebar-brand-text{display:flex;flex-direction:column}.brand-name{font-size:18px;font-weight:800;color:#1e293b;letter-spacing:-.5px}.brand-sub{font-size:11px;color:#94a3b8;font-weight:500}.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto}.nav-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#94a3b8;padding:16px 20px 6px;margin-top:4px}.nav-group-label:first-child{margin-top:0;padding-top:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#64748b;text-decoration:none;margin:2px 10px;border-radius:8px;transition:all .2s;font-size:14px;font-weight:500}.nav-item:hover{background:#f8fafc;color:#1e293b}.nav-active{background:#e8752a1f!important;color:#e8752a!important;font-weight:600}.sidebar-footer{padding:16px 20px;border-top:1px solid #e2e8f0}.sidebar-user{display:flex;align-items:center;gap:10px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#e8752a,#f5a623);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.user-info{display:flex;flex-direction:column;min-width:0}.user-name{font-size:13px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role-badge{font-size:11px;color:#64748b;text-transform:capitalize;font-weight:500}.main-wrapper{margin-left:260px;flex:1;display:flex;flex-direction:column;min-height:100vh}.topbar{height:60px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:40}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.topbar-user{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;border-radius:8px;transition:background .15s;position:relative}.topbar-user:hover{background:#f1f5f9}.user-avatar-sm{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#e8752a,#f5a623);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.topbar-username{font-size:14px;font-weight:500;color:#1e293b}.user-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 40px #0000001f;min-width:200px;z-index:100;overflow:hidden}.dropdown-header{padding:12px 16px;display:flex;align-items:center;gap:8px}.dropdown-header strong{font-size:14px;color:#1e293b}.dropdown-role{font-size:11px;background:#f1f5f9;color:#64748b;padding:2px 8px;border-radius:999px;text-transform:capitalize;font-weight:600}.dropdown-divider{height:1px;background:#e2e8f0}.dropdown-item{display:block;width:100%;padding:10px 16px;border:none;background:none;text-align:left;font-size:14px;color:#475569;cursor:pointer;transition:background .15s}.dropdown-item:hover{background:#f8fafc}.dropdown-logout{color:#ef4444}.dropdown-logout:hover{background:#fef2f2}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39}.topbar-env-selector{display:flex;align-items:center;gap:6px}.topbar-env-label{color:#64748b;display:flex;align-items:center}.topbar-env-select{border:1px solid #e2e8f0;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:500;color:#1e293b;background:#f8fafc;cursor:pointer;outline:none;transition:border-color .15s}.topbar-env-select:hover{border-color:#cbd5e1}.topbar-env-select:focus{border-color:#e8752a;box-shadow:0 0 0 2px #e8752a1a}.topbar-env-select:disabled{opacity:.6;cursor:not-allowed}.topbar-token-badge{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600;white-space:nowrap}.topbar-token-badge.token-ok{background:#f0fdf4;color:#16a34a}.topbar-token-badge.token-warn{background:#fffbeb;color:#d97706}.content{flex:1;padding:24px;background:#f5f6fa}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#f5f6fa;color:#64748b;gap:12px}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #E8752A;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1024px){.sidebar{width:220px}.main-wrapper{margin-left:220px}}@media (max-width: 768px){.sidebar{display:flex;transform:translate(-100%);transition:transform .25s ease;width:260px;z-index:100}.sidebar.sidebar-open{transform:translate(0)}.main-wrapper{margin-left:0}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:6px;color:#475569;margin-right:8px}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:99}}@media (min-width: 769px){.mobile-menu-btn,.sidebar-backdrop{display:none}}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:1}}.skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:6px}.skeleton-text{height:14px;margin-bottom:8px;width:80%}.skeleton-title{height:22px;margin-bottom:12px;width:40%}.skeleton-card{height:120px;border-radius:10px}.home-welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap}.home-welcome-left{display:flex;flex-direction:column;gap:4px}.home-greeting{font-size:26px;font-weight:700;color:#0f172a;line-height:1.2}.home-greeting-sub{display:flex;align-items:center;gap:10px;font-size:14px;color:#64748b;margin-top:2px}.home-role-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 12px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#fff7ed;color:#e8752a;border:1px solid #fed7aa}.home-hero-card{display:block;background:linear-gradient(135deg,#f0883d,#e8752a,#d06424);border-radius:16px;padding:0;margin-bottom:24px;text-decoration:none;color:#fff;overflow:hidden;transition:transform .2s,box-shadow .2s;border:none}.home-hero-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #e8752a40}.home-hero-content{display:flex;align-items:center;gap:16px;padding:24px 28px}.home-hero-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border-radius:12px;background:#fff3;border:1px solid rgba(255,255,255,.15)}.home-hero-text{flex:1}.home-hero-title{font-size:20px;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.home-hero-desc{font-size:13.5px;color:#ffffffbf;line-height:1.4}.home-hero-arrow{color:#ffffff80;transition:color .2s,transform .2s}.home-hero-card:hover .home-hero-arrow{color:#e2e8f0;transform:translate(3px)}.home-hero-stats{display:flex;align-items:center;background:#0000001a;border-top:1px solid rgba(255,255,255,.12);padding:16px 28px;gap:0}.home-hero-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.home-hero-stat-value{font-size:20px;font-weight:700;color:#f1f5f9;letter-spacing:-.5px}.home-hero-stat-label{font-size:11px;color:#fff9;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.home-hero-stat-divider{width:1px;height:32px;background:#ffffff26}.home-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.home-kpi-card{display:flex;align-items:center;gap:14px;background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 1px 3px #0000000a;border:1px solid #f1f5f9}.home-kpi-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.home-kpi-body{display:flex;flex-direction:column;gap:1px}.home-kpi-value{font-size:22px;font-weight:700;letter-spacing:-.5px;line-height:1.2}.home-kpi-label{font-size:12px;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.home-projects-section{margin-bottom:28px}.home-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.home-section-link{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:#64748b;text-decoration:none;transition:color .15s}.home-section-link:hover{color:#0f172a}.home-projects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.home-project-card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 3px #0000000a;border:1px solid #f1f5f9;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}.home-project-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014;border-color:#e2e8f0}.home-project-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.home-project-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border-radius:8px;background:#eff6ff}.home-project-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.home-project-name{font-size:14px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-project-type{font-size:11.5px;color:#94a3b8}.home-project-stats-row{display:flex;gap:12px;margin-bottom:10px}.home-project-stat{display:flex;flex-direction:column;gap:1px;flex:1}.home-project-stat-num{font-size:16px;font-weight:700;color:#1e293b;letter-spacing:-.3px}.home-project-stat-lbl{font-size:10.5px;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.home-project-time{font-size:11px;color:#cbd5e1}.home-action-category{margin-bottom:8px}.home-section-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:12px;margin-top:6px}.home-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.home-action-card{display:flex;align-items:center;gap:14px;background:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 1px 3px #0000000a;border:1px solid #f1f5f9;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;text-decoration:none;color:inherit;position:relative;overflow:hidden}.home-action-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000014;border-color:#e2e8f0}.home-action-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px}.home-action-body{flex:1;min-width:0}.home-action-title{font-size:14px;font-weight:600;color:#1e293b;line-height:1.3}.home-action-desc{font-size:12px;color:#94a3b8;line-height:1.4;margin-top:2px}.home-action-arrow{flex-shrink:0;color:#cbd5e1;transition:color .15s,transform .15s}.home-action-card:hover .home-action-arrow{color:#64748b;transform:translate(2px)}.home-empty-kpi{display:flex;align-items:center;gap:8px;padding:14px 18px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:13px;margin-bottom:20px}@media (max-width: 1200px){.home-projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.home-actions-grid,.home-kpi-row{grid-template-columns:repeat(2,1fr)}.home-hero-stats{flex-wrap:wrap}}@media (max-width: 768px){.home-projects-grid{grid-template-columns:1fr}.home-hero-content{padding:20px}.home-hero-stats{padding:14px 20px}}@media (max-width: 600px){.home-actions-grid,.home-kpi-row{grid-template-columns:1fr}.home-greeting{font-size:22px}.home-hero-title{font-size:18px}}:root{--cx-accent: #E8752A;--cx-accent-light: #fff7ed;--cx-accent-hover: #d96a1f;--cx-blue: #3b82f6;--cx-blue-light: #eff6ff;--cx-green: #10b981;--cx-green-light: #f0fdf4;--cx-red: #ef4444;--cx-red-light: #fef2f2;--cx-yellow: #f59e0b;--cx-yellow-light: #fffbeb;--cx-purple: #8b5cf6;--cx-text-primary: #0f172a;--cx-text-secondary: #475569;--cx-text-muted: #64748b;--cx-text-disabled: #94a3b8;--cx-text-placeholder: #cbd5e1;--cx-bg-page: #f1f5f9;--cx-bg-card: #ffffff;--cx-bg-subtle: #f8fafc;--cx-bg-hover: #f1f5f9;--cx-border: #e2e8f0;--cx-border-light: #f1f5f9;--cx-border-focus: var(--cx-blue);--cx-shadow-sm: 0 1px 3px rgba(0,0,0,.04);--cx-shadow-md: 0 4px 12px rgba(0,0,0,.08);--cx-shadow-lg: 0 8px 24px rgba(0,0,0,.12);--cx-space-1: 4px;--cx-space-2: 8px;--cx-space-3: 12px;--cx-space-4: 16px;--cx-space-5: 20px;--cx-space-6: 24px;--cx-space-8: 32px;--cx-radius-sm: 6px;--cx-radius-md: 8px;--cx-radius-lg: 12px;--cx-radius-xl: 16px;--cx-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--cx-font-mono: "SF Mono", Monaco, "Cascadia Code", monospace;--cx-z-dropdown: 10;--cx-z-sticky: 20;--cx-z-sidebar: 50;--cx-z-modal: 100;--cx-z-overlay: 1000;--cx-z-fullscreen: 10000}.cx-page{max-width:1400px;margin:0 auto}.cx-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.cx-page-title{font-size:24px;font-weight:700;color:#0f172a;line-height:1.2}.cx-page-subtitle{font-size:14px;color:#64748b;margin-top:4px}.cx-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.cx-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#64748b;gap:12px}.cx-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap}.cx-btn:disabled{opacity:.5;cursor:not-allowed}.cx-btn-primary{background:#e8752a;color:#fff}.cx-btn-primary:hover:not(:disabled){background:#d06424;box-shadow:0 2px 8px #e8752a4d}.cx-btn-secondary{background:#fff;color:#475569;border:1px solid #e2e8f0}.cx-btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.cx-btn-ghost{background:transparent;color:#64748b;padding:8px 14px}.cx-btn-ghost:hover{color:#e8752a}.cx-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px}.cx-stat-card{background:#fff;border-radius:12px;padding:20px;text-align:center;box-shadow:0 1px 3px #00000014;transition:transform .15s,box-shadow .15s}.cx-stat-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.cx-stat-accent{border-left:4px solid #E8752A}.cx-stat-icon{margin-bottom:8px}.cx-stat-value{font-size:28px;font-weight:700;line-height:1.2}.cx-stat-label{font-size:12px;color:#64748b;margin-top:4px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.cx-info-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014;margin-bottom:20px}.cx-card-title{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:16px}.cx-error-card{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:24px;text-align:center;color:#b91c1c}.cx-error-card h3{font-size:16px;margin-bottom:8px}.cx-error-card p{font-size:14px;color:#dc2626;margin-bottom:16px}.cx-notice-card{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:10px;background:#fffbeb;border:1px solid #fde68a;margin-bottom:20px;font-size:14px;color:#92400e}.cx-notice-error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.cx-filters{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.cx-search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 14px;flex:1;min-width:200px;transition:border-color .15s,box-shadow .15s}.cx-search-box:focus-within{border-color:#e8752a;box-shadow:0 0 0 3px #e8752a1a}.cx-search-input{border:none;outline:none;background:transparent;font-size:14px;color:#1e293b;flex:1;min-width:0}.cx-search-input::placeholder{color:#94a3b8}.cx-search-clear{background:none;border:none;cursor:pointer;color:#94a3b8;padding:2px;display:flex}.cx-search-clear:hover{color:#64748b}.cx-filter-select{border:1px solid #e2e8f0;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:500;color:#1e293b;background:#fff;cursor:pointer;outline:none}.cx-filter-select:focus{border-color:#e8752a;box-shadow:0 0 0 2px #e8752a1a}.cx-filter-count{font-size:13px;color:#64748b;font-weight:500;white-space:nowrap}.cx-explorer-layout{display:flex;gap:20px;min-height:500px}.cx-endpoint-list{flex:1;min-width:0;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden;max-height:70vh;overflow-y:auto}.cx-category-group{border-bottom:1px solid #f1f5f9}.cx-category-group:last-child{border-bottom:none}.cx-category-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#f8fafc;border-bottom:1px solid #f1f5f9;position:sticky;top:0;z-index:2}.cx-category-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#64748b}.cx-category-count{font-size:11px;font-weight:600;color:#94a3b8;background:#e2e8f0;padding:1px 8px;border-radius:999px}.cx-endpoint-row{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:background .1s;border-bottom:1px solid #f8fafc}.cx-endpoint-row:hover{background:#f8fafc}.cx-endpoint-selected{background:#fff7ed!important}.cx-endpoint-row:last-child{border-bottom:none}.cx-method-badge{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.5px;color:#fff;padding:3px 8px;border-radius:4px;min-width:52px;text-align:center;flex-shrink:0}.cx-method-badge-lg{font-size:12px;padding:5px 12px;min-width:60px}.cx-method-badge-sm{font-size:9px;padding:2px 5px;min-width:36px;border-radius:3px;color:#fff;display:inline-block;text-align:center;font-weight:700;margin-right:6px}.cx-endpoint-path{font-size:13px;font-family:SF Mono,SFMono-Regular,Consolas,monospace;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.cx-endpoint-summary{font-size:12px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;flex-shrink:0}.cx-endpoint-detail{width:420px;flex-shrink:0;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden;max-height:70vh;overflow-y:auto}.cx-detail-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid #f1f5f9;background:#fafbfc;position:sticky;top:0;z-index:2}.cx-detail-title{font-size:13px;font-family:SF Mono,SFMono-Regular,Consolas,monospace;color:#1e293b;font-weight:600;flex:1;word-break:break-all}.cx-detail-close{background:none;border:none;cursor:pointer;color:#94a3b8;padding:4px;border-radius:6px;display:flex}.cx-detail-close:hover{background:#f1f5f9;color:#64748b}.cx-detail-body{padding:20px}.cx-detail-section{margin-bottom:20px}.cx-detail-section:last-child{margin-bottom:0}.cx-detail-section h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#64748b;margin-bottom:8px}.cx-detail-section p{font-size:14px;color:#475569;line-height:1.5}.cx-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cx-detail-field{display:flex;flex-direction:column;gap:2px}.cx-field-label{font-size:11px;color:#94a3b8;font-weight:600}.cx-field-value{font-size:13px;color:#1e293b;font-weight:500}.cx-mono{font-family:SF Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.cx-text-warn{color:#f59e0b!important}.cx-text-muted{color:#94a3b8!important}.cx-text-success{color:#10b981!important}.cx-text-danger{color:#ef4444!important}.cx-code-block{background:#1e293b;border-radius:8px;padding:14px 16px;position:relative;overflow:hidden}.cx-code-block pre{font-family:SF Mono,SFMono-Regular,Consolas,monospace;font-size:12px;color:#e2e8f0;line-height:1.6;white-space:pre-wrap;word-break:break-all;margin:0}.cx-copy-btn{position:absolute;top:8px;right:8px;background:#ffffff1a;border:none;border-radius:4px;padding:4px 6px;cursor:pointer;color:#94a3b8;display:flex;transition:all .15s}.cx-copy-btn:hover{background:#fff3;color:#e2e8f0}.cx-params-list{display:flex;flex-direction:column;gap:6px}.cx-param-row{display:flex;align-items:center;gap:8px;font-size:13px}.cx-param-name{font-family:SF Mono,SFMono-Regular,Consolas,monospace;font-size:12px;background:#f1f5f9;padding:2px 8px;border-radius:4px;color:#7c3aed}.cx-param-value{color:#64748b;font-size:12px}.cx-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8;gap:12px}.cx-empty-state p{font-size:14px}.cx-empty-state-sm{padding:30px;text-align:center;color:#94a3b8;font-size:14px}.cx-health-banner{display:flex;align-items:center;gap:14px;padding:18px 24px;border-radius:12px;border:1px solid;margin-bottom:24px}.cx-health-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0;animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}.cx-health-banner-content{flex:1}.cx-health-status{font-size:16px;font-weight:700}.cx-health-time{display:block;font-size:12px;color:#64748b;margin-top:2px}.cx-uptime-badge{font-size:13px;font-weight:600;color:#475569;background:#0000000a;padding:6px 14px;border-radius:999px}.cx-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:24px}.cx-component-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014;border-top:3px solid #e2e8f0;transition:transform .15s,box-shadow .15s}.cx-component-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.cx-component-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.cx-component-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:10px}.cx-component-name{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:4px}.cx-component-status{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px}.cx-component-metric{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid #f1f5f9}.cx-metric-label{font-size:12px;color:#94a3b8;font-weight:500}.cx-metric-value{font-size:14px;font-weight:700;color:#1e293b}.cx-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.cx-info-item{display:flex;flex-direction:column;gap:4px}.cx-info-label{font-size:11px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.cx-info-value{font-size:14px;color:#1e293b;font-weight:500}.cx-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.cx-metric-box{text-align:center;padding:16px;background:#f8fafc;border-radius:10px}.cx-metric-box-value{font-size:24px;font-weight:700;line-height:1.2}.cx-metric-unit{font-size:12px;font-weight:500;opacity:.7;margin-left:2px}.cx-metric-box-label{font-size:11px;color:#64748b;margin-top:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.cx-toggle-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:#64748b;font-weight:500}.cx-toggle-input{accent-color:#E8752A;width:16px;height:16px;cursor:pointer}.cx-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.cx-table-header{display:grid;grid-template-columns:1fr 80px 80px;gap:8px;padding:10px 16px;background:#f8fafc;border-radius:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:4px}.cx-endpoint-table .cx-table-header{grid-template-columns:1fr 80px 80px}.cx-history-table .cx-table-header{grid-template-columns:1.5fr 90px 70px 70px 80px}.cx-table-row{display:grid;gap:8px;padding:10px 16px;border-bottom:1px solid #f8fafc;align-items:center;font-size:13px}.cx-table-row:last-child{border-bottom:none}.cx-endpoint-table .cx-table-row{grid-template-columns:1fr 80px 80px}.cx-history-table .cx-table-row{grid-template-columns:1.5fr 90px 70px 70px 80px}.cx-table-endpoint{display:flex;align-items:center;min-width:0;font-family:SF Mono,SFMono-Regular,Consolas,monospace;font-size:12px;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cx-table-value{font-weight:600;color:#475569;text-align:center}.cx-table-date{font-size:12px;color:#64748b}.cx-status-code{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;font-family:SF Mono,SFMono-Regular,Consolas,monospace}.cx-status-pill{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px}.cx-error-list{display:flex;flex-direction:column;gap:8px}.cx-error-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fafbfc;border-radius:8px}.cx-error-status{display:flex;align-items:center;gap:10px}.cx-error-message{font-size:13px;color:#475569}.cx-error-count{font-size:14px;font-weight:700;color:#1e293b}.cx-timeline-chart{display:flex;align-items:flex-end;gap:3px;height:120px;padding:10px 0}.cx-timeline-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.cx-timeline-bar{width:100%;background:linear-gradient(180deg,#e8752a,#f5a623);border-radius:3px 3px 0 0;min-height:2px;transition:height .3s}.cx-timeline-label{font-size:9px;color:#94a3b8;margin-top:4px;white-space:nowrap}.cx-sync-status-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;border-left:4px solid #e2e8f0}.cx-sync-status-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cx-sync-badge{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;padding:5px 14px;border-radius:999px}.cx-pulse{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse-glow 1s infinite}.cx-sync-time{font-size:12px;color:#94a3b8}.cx-sync-progress{margin-bottom:16px}.cx-sync-progress-text{font-size:13px;color:#475569;margin-bottom:8px}.cx-sync-results{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:16px;border-top:1px solid #f1f5f9}.cx-sync-result-item{text-align:center}.cx-result-value{font-size:24px;font-weight:700;display:block}.cx-result-label{font-size:11px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.cx-steps-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cx-flow-step{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8fafc;border-radius:10px;flex:1;min-width:180px}.cx-flow-num{width:28px;height:28px;border-radius:50%;background:#e8752a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.cx-flow-text{display:flex;flex-direction:column}.cx-flow-text strong{font-size:13px;color:#1e293b}.cx-flow-text span{font-size:11px;color:#94a3b8}.cx-flow-arrow{flex-shrink:0;display:flex;align-items:center}.cx-spinner-sm{width:16px;height:16px;border-width:2px}@media (max-width: 1200px){.cx-explorer-layout{flex-direction:column}.cx-endpoint-detail{width:100%;max-height:none}}@media (max-width: 900px){.cx-two-col{grid-template-columns:1fr}.cx-steps-flow{flex-direction:column}.cx-flow-arrow{transform:rotate(90deg)}}@media (max-width: 768px){.cx-page-header{flex-direction:column}.cx-stats-row,.cx-sync-results{grid-template-columns:repeat(2,1fr)}.ana-grid-2{grid-template-columns:1fr}.ana-kpi-row{grid-template-columns:repeat(2,1fr)}.ana-log-filters{flex-wrap:wrap}.ana-log-col-source,.ana-log-col-tenant{display:none}.ana-ep-col-num{font-size:11px;min-width:40px}.cx-header-actions{flex-wrap:wrap;gap:8px}}.cx-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:16px}.cx-form-group{display:flex;flex-direction:column;gap:4px}.cx-form-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.cx-form-input,.cx-form-select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;background:#f8fafc;transition:border-color .15s;outline:none}.cx-form-input:focus,.cx-form-select:focus{border-color:#e8752a;box-shadow:0 0 0 2px #e8752a1a}.cx-form-input::placeholder{color:#cbd5e1}.cx-form-actions{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.cx-card-subtitle{font-size:14px;font-weight:600;color:#475569;margin:16px 0 8px}.cx-btn-close{background:none;border:none;font-size:20px;color:#94a3b8;cursor:pointer;padding:4px 8px;border-radius:4px}.cx-btn-close:hover{background:#f1f5f9;color:#1e293b}.cx-btn-sm{padding:6px 12px!important;font-size:12px!important}.cx-btn-xs{padding:3px 8px;font-size:11px;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc;color:#475569;cursor:pointer;font-weight:500;transition:all .15s}.cx-btn-xs:hover{background:#e2e8f0}.cx-btn-xs.cx-btn-success{color:#10b981;border-color:#d1fae5}.cx-btn-xs.cx-btn-danger{color:#ef4444;border-color:#fecaca}.cx-btn-warning{background:#fbbf24!important;color:#78350f!important;border-color:#fbbf24!important}.cx-btn-warning:hover:not(:disabled){background:#f59e0b!important}.cx-btn-success{background:#10b981!important;color:#fff!important;border-color:#10b981!important}.cx-btn-success:hover:not(:disabled){background:#059669!important}.cx-btn-danger{background:#fff!important;color:#ef4444!important;border:1px solid #fecaca!important}.cx-btn-danger:hover{background:#fef2f2!important}.cx-test-result{margin-top:12px;padding:12px 16px;border-radius:8px;font-size:13px}.cx-test-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.cx-test-fail{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.cx-test-pre{margin-top:8px;padding:8px;background:#0000000a;border-radius:4px;font-size:11px;overflow-x:auto;white-space:pre-wrap}.cx-tenant-list{display:flex;flex-direction:column;gap:2px}.cx-tenant-row{border:1px solid #f1f5f9;border-radius:8px;overflow:hidden;transition:box-shadow .15s}.cx-tenant-row:hover{box-shadow:0 1px 4px #0000000f}.cx-tenant-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;transition:background .15s}.cx-tenant-header:hover{background:#fafbfc}.cx-tenant-info{display:flex;align-items:center;gap:12px}.cx-tenant-id{font-weight:700;font-size:14px;color:#1e293b;font-family:SF Mono,Fira Code,monospace}.cx-tenant-name{color:#64748b;font-size:13px}.cx-tenant-meta{display:flex;align-items:center;gap:10px}.cx-tenant-plan{font-size:11px;font-weight:600;text-transform:uppercase;color:#94a3b8;letter-spacing:.5px}.cx-tenant-auth{font-size:11px;color:#94a3b8}.cx-tenant-detail{padding:0 16px 16px;border-top:1px solid #f1f5f9;background:#fafbfc}.cx-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:16px 0}.cx-detail-item{display:flex;flex-direction:column;gap:2px}.cx-detail-label{font-size:11px;font-weight:600;text-transform:uppercase;color:#94a3b8;letter-spacing:.5px}.cx-detail-value{font-size:13px;color:#1e293b}.cx-code-inline{font-family:SF Mono,Fira Code,monospace;font-size:12px;background:#f1f5f9;padding:2px 6px;border-radius:4px}.cx-detail-actions{display:flex;gap:8px;padding:12px 0;flex-wrap:wrap}.cx-env-section{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.cx-env-form{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:12px}.cx-env-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.cx-env-card{border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#fff;transition:border-color .15s}.cx-env-card.cx-env-active{border-color:#e8752a;background:#fff7ed}.cx-env-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cx-env-name{font-weight:700;font-size:13px;color:#1e293b;text-transform:uppercase}.cx-env-badge{font-size:10px;font-weight:700;color:#e8752a;background:#fed7aa;padding:2px 6px;border-radius:4px;text-transform:uppercase}.cx-env-card-body{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#64748b;margin-bottom:8px}.cx-env-card-actions{display:flex;gap:6px}.cx-empty-text{font-size:13px;color:#94a3b8;text-align:center;padding:16px}.cx-page-wide{max-width:1600px}.cx-explorer-grid{display:grid;grid-template-columns:2fr 3fr;gap:20px;min-height:70vh}.cx-sidebar{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;overflow:hidden;max-height:82vh;position:sticky;top:80px}.cx-sidebar-search{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #f1f5f9;background:#fafbfc}.cx-sidebar-search-input{border:none;outline:none;background:transparent;font-size:14px;color:#1e293b;flex:1;min-width:0}.cx-sidebar-search-input::placeholder{color:#94a3b8}.cx-method-pills{display:flex;gap:5px;flex-wrap:wrap}.cx-method-pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:5px}.cx-method-pill:hover{border-color:#cbd5e1;background:#f8fafc}.cx-method-pill-active{border-color:transparent}.cx-pill-count{font-size:10px;opacity:.7}.cx-sidebar-groups{flex:1;overflow-y:auto;overflow-x:hidden}.cx-sidebar-group{border-bottom:1px solid #f1f5f9}.cx-sidebar-group:last-child{border-bottom:none}.cx-group-header{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:600;color:#334155;text-align:left;transition:background .1s}.cx-group-header:hover{background:#f8fafc}.cx-group-icon{font-size:16px;flex-shrink:0}.cx-group-label{flex:1}.cx-group-count{font-size:11px;font-weight:700;color:#94a3b8;background:#f1f5f9;padding:2px 8px;border-radius:999px}.cx-chevron{flex-shrink:0;transition:transform .2s;color:#94a3b8}.cx-chevron-open{transform:rotate(90deg)}.cx-chevron-sm{width:12px;height:12px}.cx-group-body{padding-bottom:6px}.cx-sidebar-ep{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px 8px 28px;background:none;border:none;border-left:3px solid transparent;cursor:pointer;text-align:left;transition:all .1s}.cx-sidebar-ep:hover{background:#f8fafc}.cx-sidebar-ep-active{background:#fff7ed!important;border-left-color:#e8752a}.cx-sidebar-ep-nested{padding-left:42px}.cx-method-tag{font-size:9px;font-weight:800;letter-spacing:.3px;color:#fff;padding:2px 6px;border-radius:3px;min-width:40px;text-align:center;flex-shrink:0}.cx-ep-path{font-family:SF Mono,SFMono-Regular,Consolas,monospace;font-size:12px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.cx-sub-group{margin-left:0}.cx-sub-group-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 16px 8px 28px;background:#fafbfc;border:none;cursor:pointer;font-size:12px;font-weight:600;color:#475569;text-align:left;transition:background .1s}.cx-sub-group-header:hover{background:#f1f5f9}.cx-sub-group-label{flex:1}.cx-sub-group-count{font-size:10px;font-weight:700;color:#94a3b8;background:#e2e8f0;padding:1px 6px;border-radius:999px}.cx-main-panel{min-width:0;display:flex;flex-direction:column;gap:16px}.cx-welcome-panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:60px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.cx-welcome-panel h3{font-size:20px;color:#334155;font-weight:700}.cx-welcome-panel p{font-size:14px;color:#94a3b8;max-width:480px;line-height:1.6}.cx-welcome-groups{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}.cx-welcome-group-chip{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;font-size:13px;color:#475569}.cx-welcome-chip-icon{font-size:14px}.cx-welcome-chip-label{font-weight:500}.cx-welcome-chip-count{font-size:11px;font-weight:700;color:#94a3b8;background:#e2e8f0;padding:1px 6px;border-radius:999px}.cx-request-bar{display:flex;align-items:center;gap:0;background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;border:2px solid #e2e8f0;overflow:hidden}.cx-req-method{padding:12px 16px;font-size:12px;font-weight:700;color:#fff;letter-spacing:.5px;flex-shrink:0}.cx-req-url{flex:1;padding:12px 16px;font-family:SF Mono,SFMono-Regular,Consolas,monospace;font-size:13px;color:#1e293b;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cx-req-base{color:#94a3b8}.cx-req-path{color:#1e293b;font-weight:600}.cx-btn-send{border-radius:0 8px 8px 0;padding:12px 20px!important;border:none}.cx-ep-summary{font-size:13px;color:#64748b;padding:0 4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cx-ep-meta{display:flex;gap:6px;align-items:center}.cx-ep-meta code{font-size:11px;padding:2px 6px;background:#f1f5f9;border-radius:4px;color:#7c3aed;font-family:SF Mono,SFMono-Regular,Consolas,monospace}.cx-ep-version{font-size:10px;font-weight:700;color:#94a3b8;padding:2px 6px;background:#f1f5f9;border-radius:4px}.cx-req-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cx-tab-bar{display:flex;gap:0;background:#f1f5f9;border-radius:8px;padding:3px}.cx-tab{padding:6px 14px;font-size:12px;font-weight:600;color:#64748b;background:none;border:none;border-radius:6px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:4px}.cx-tab:hover{color:#1e293b}.cx-tab-active{background:#fff;color:#1e293b;box-shadow:0 1px 2px #00000014}.cx-tab-badge{font-size:10px;font-weight:700;background:#e8752a;color:#fff;padding:0 5px;border-radius:999px;min-width:16px;text-align:center}.cx-tenant-selector{display:flex;align-items:center;gap:6px}.cx-tenant-label{font-size:12px;font-weight:600;color:#64748b}.cx-tenant-select{border:1px solid #e2e8f0;border-radius:6px;padding:6px 10px;font-size:12px;color:#1e293b;background:#fff;outline:none;cursor:pointer;max-width:200px}.cx-tenant-select:focus{border-color:#e8752a}.cx-tab-content{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;overflow:hidden}.cx-kv-editor{padding:8px}.cx-kv-row{display:flex;gap:6px;align-items:center;padding:3px 4px}.cx-kv-input{padding:7px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;font-family:SF Mono,SFMono-Regular,Consolas,monospace;color:#1e293b;outline:none;background:#fafbfc;transition:border-color .15s}.cx-kv-input:focus{border-color:#e8752a;background:#fff}.cx-kv-key{flex:2}.cx-kv-value{flex:3}.cx-kv-remove{background:none;border:none;cursor:pointer;color:#cbd5e1;padding:4px;border-radius:4px;display:flex;flex-shrink:0}.cx-kv-remove:hover{color:#ef4444;background:#fef2f2}.cx-body-editor{padding:8px}.cx-body-textarea{width:100%;border:1px solid #e2e8f0;border-radius:8px;padding:12px;font-family:SF Mono,SFMono-Regular,Consolas,monospace;font-size:12px;color:#1e293b;resize:vertical;outline:none;background:#fafbfc;box-sizing:border-box}.cx-body-textarea:focus{border-color:#e8752a;background:#fff}.cx-response-section{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;overflow:hidden}.cx-response-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f1f5f9}.cx-response-header h4{font-size:13px;font-weight:700;color:#475569;margin:0}.cx-response-meta{display:flex;align-items:center;gap:10px}.cx-status-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:6px;font-family:SF Mono,SFMono-Regular,Consolas,monospace}.cx-status-ok{background:#ecfdf5;color:#065f46}.cx-status-warn{background:#fffbeb;color:#92400e}.cx-status-err{background:#fef2f2;color:#991b1b}.cx-response-time{font-size:12px;color:#64748b;font-weight:600}.cx-response-size{font-size:12px;color:#94a3b8}.cx-response-body{max-height:400px;overflow-y:auto;background:#1e293b;padding:16px}.cx-response-body pre{font-family:SF Mono,SFMono-Regular,Consolas,monospace;font-size:12px;color:#e2e8f0;line-height:1.6;white-space:pre-wrap;word-break:break-all;margin:0}.cx-json-key{color:#7dd3fc}.cx-json-string{color:#86efac}.cx-json-number{color:#fbbf24}.cx-json-bool{color:#c4b5fd}.cx-json-null{color:#f87171}.cx-code-section{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;overflow:hidden}.cx-code-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f1f5f9}.cx-code-header h4{font-size:13px;font-weight:700;color:#475569;margin:0}.cx-code-tabs{display:flex;gap:0;background:#f1f5f9;border-radius:6px;padding:2px}.cx-code-tab{padding:4px 12px;font-size:11px;font-weight:600;color:#64748b;background:none;border:none;border-radius:4px;cursor:pointer;transition:all .15s}.cx-code-tab:hover{color:#1e293b}.cx-code-tab-active{background:#fff;color:#1e293b;box-shadow:0 1px 2px #00000014}.cx-code-section .cx-code-block{border-radius:0;margin:0}.cx-code-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px}.cx-upload-zone{border:2px dashed #d1d5db;border-radius:12px;padding:40px 24px;text-align:center;cursor:pointer;transition:all .2s;background:#fafbfc;margin-bottom:20px}.cx-upload-zone:hover,.cx-upload-zone-active{border-color:#e8752a;background:#fff7ed}.cx-upload-zone-loaded{border-style:solid;border-color:#10b981;background:#ecfdf5;cursor:default}.cx-upload-file-info{display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:600;color:#1e293b}.cx-format-badge{display:inline-flex;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.cx-format-badge-openapi{background:#dbeafe;color:#1d4ed8}.cx-format-badge-postman{background:#fef3c7;color:#b45309}.cx-preview-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:20px;margin-bottom:16px}.cx-preview-title{font-size:16px;font-weight:700;color:#0f172a;margin-bottom:8px}.cx-preview-methods{display:flex;gap:8px;flex-wrap:wrap}.cx-method-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;background:#f1f5f9;color:#334155}.cx-category-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .15s}.cx-category-row:hover{background:#f8fafc}.cx-category-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.cx-category-name{font-size:14px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cx-category-count{font-size:12px;color:#64748b;white-space:nowrap}.cx-category-methods{display:flex;gap:4px;flex-wrap:wrap}.cx-category-actions{display:flex;gap:6px;align-items:center}.cx-endpoint-item{display:flex;align-items:center;gap:10px;padding:10px 18px 10px 36px;border-bottom:1px solid #f8fafc;font-size:13px}.cx-endpoint-item:hover{background:#f1f5f9}.cx-endpoint-path{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;color:#334155;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cx-endpoint-summary{font-size:12px;color:#64748b;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.cx-notice-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:8px;padding:12px 16px;font-size:13px}@media (max-width: 1100px){.cx-explorer-grid{grid-template-columns:1fr}.cx-sidebar{max-height:50vh;position:static}.cx-page-header{flex-direction:column}}.ana-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.ana-kpi{display:flex;align-items:center;gap:14px;background:#fff;border-radius:12px;padding:20px 22px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #00000008;transition:box-shadow .15s}.ana-kpi:hover{box-shadow:0 4px 16px #00000014}.ana-kpi-accent{border-left:4px solid #E8752A}.ana-kpi-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:10px}.ana-kpi-value{font-size:26px;font-weight:700;line-height:1.1}.ana-kpi-label{font-size:12px;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.ana-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #00000008;margin-bottom:20px;overflow:hidden;min-width:0}.ana-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}.ana-card-title{font-size:15px;font-weight:600;color:#1e293b;margin:0;display:flex;align-items:center;gap:8px}.ana-card-meta{font-size:12px;color:#94a3b8;font-weight:500}.ana-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:0;overflow:hidden;min-width:0}.ana-chart{display:flex;align-items:flex-end;gap:2px;height:140px;padding:0 4px}.ana-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}.ana-chart-bar-wrap{flex:1;display:flex;align-items:flex-end;width:100%}.ana-chart-bar{width:100%;background:linear-gradient(180deg,#e8752a,#f5a061);border-radius:3px 3px 0 0;min-height:2px;position:relative;transition:height .3s ease}.ana-chart-bar-err{position:absolute;bottom:0;left:0;right:0;background:#ef4444;border-radius:0;opacity:.85}.ana-chart-label{font-size:10px;color:#94a3b8;margin-top:6px;white-space:nowrap}.ana-chart-legend{display:flex;gap:16px;margin-top:12px;padding-top:10px;border-top:1px solid #f1f5f9;font-size:12px;color:#64748b}.ana-chart-legend span{display:flex;align-items:center;gap:6px}.ana-chart-legend i{display:inline-block;width:10px;height:10px;border-radius:2px}.ana-breakdown-list{display:flex;flex-direction:column;gap:10px}.ana-breakdown-row{display:flex;align-items:center;gap:10px}.ana-method-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700;color:#fff;min-width:54px;text-align:center;letter-spacing:.03em}.ana-status-tag{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;min-width:100px;text-align:center}.ana-bar-track{flex:1;height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}.ana-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.ana-breakdown-count{font-size:13px;font-weight:600;color:#1e293b;min-width:40px;text-align:right}.ana-breakdown-pct{font-size:12px;color:#94a3b8;min-width:44px;text-align:right}.ana-ep-table{font-size:13px}.ana-ep-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border-radius:8px;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.ana-ep-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #f8fafc;transition:background .1s}.ana-ep-row:hover{background:#fafbfc}.ana-ep-col-route{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.ana-ep-col-num{width:70px;text-align:right;font-variant-numeric:tabular-nums;color:#475569}.ana-method-sm{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:700;color:#fff;letter-spacing:.03em;flex-shrink:0}.ana-ep-path{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ana-log-count{font-size:11px;font-weight:600;color:#94a3b8;background:#f1f5f9;padding:2px 8px;border-radius:10px;margin-left:4px}.ana-log-filters{display:flex;gap:8px}.ana-filter-pill{font-size:12px;padding:5px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#475569;cursor:pointer;outline:none}.ana-filter-pill:focus{border-color:#e8752a}.ana-log-table{border:1px solid #f1f5f9;border-radius:10px;overflow:hidden}.ana-log-header{display:flex;align-items:center;gap:0;padding:10px 16px;background:#f8fafc;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #f1f5f9}.ana-log-row{display:flex;align-items:center;gap:0;padding:10px 16px;border-bottom:1px solid #f8fafc;cursor:pointer;transition:background .1s;font-size:13px}.ana-log-row:hover{background:#fafbfc}.ana-log-row:last-child{border-bottom:none}.ana-log-row-active{background:#f8fafc}.ana-log-row-err{border-left:3px solid #fecaca}.ana-log-col-status{width:54px;flex-shrink:0}.ana-log-col-method{width:52px;flex-shrink:0}.ana-log-col-path{flex:1;min-width:0;font-family:SF Mono,Fira Code,monospace;font-size:12px;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:12px}.ana-log-col-time{width:72px;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums;padding-right:12px}.ana-log-col-tenant{width:64px;text-align:right;flex-shrink:0;color:#94a3b8;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:12px}.ana-log-col-source{width:80px;text-align:center;flex-shrink:0;overflow:hidden;padding-right:8px}.ana-log-col-ts{width:64px;text-align:right;flex-shrink:0;color:#94a3b8;font-size:12px;font-variant-numeric:tabular-nums}.ana-source-badge{display:inline-block;padding:2px 6px;border-radius:999px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ana-source-databridge-ui{background:#dbeafe;color:#1d4ed8}.ana-source-copilot{background:#ede9fe;color:#6d28d9}.ana-source-external{background:#f1f5f9;color:#475569}.ana-status-code{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700;border:1px solid;font-variant-numeric:tabular-nums}.ana-duration{color:#475569;font-variant-numeric:tabular-nums}.ana-duration-slow{color:#ef4444;font-weight:600}.ana-log-detail{padding:16px 20px;background:#f8fafc;border-bottom:1px solid #f1f5f9;animation:ana-slide-down .15s ease}@keyframes ana-slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ana-log-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px}.ana-detail-item{display:flex;flex-direction:column;gap:2px}.ana-detail-label{font-size:11px;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.ana-detail-value{font-size:13px;color:#1e293b;font-weight:500;word-break:break-all}.ana-mono{font-family:SF Mono,Fira Code,monospace;font-size:12px}.ana-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;color:#94a3b8}.ana-empty p{font-size:14px;font-weight:500;margin:0;color:#64748b}.ana-empty span{font-size:12px}.ana-footer-note{display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:10px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-size:13px;margin-top:4px}.ana-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid #f1f5f9;font-size:13px}.ana-pagination-info{color:#64748b;font-size:13px}.ana-pagination-buttons{display:flex;align-items:center;gap:4px}.ana-page-btn{min-width:32px;height:32px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#475569;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0 6px}.ana-page-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.ana-page-btn-active{background:#e8752a!important;color:#fff!important;border-color:#e8752a!important;font-weight:600}.ana-page-btn:disabled{opacity:.4;cursor:not-allowed}.ana-page-ellipsis{color:#94a3b8;padding:0 4px;font-size:14px;line-height:32px}.ana-error-section{margin-top:12px;padding-top:12px;border-top:1px solid #fecaca}.ana-error-body{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:10px 14px;font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;color:#991b1b;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;margin:6px 0 0;line-height:1.5}@media (max-width: 900px){.ana-kpi-row{grid-template-columns:repeat(2,1fr)}.ana-grid-2{grid-template-columns:1fr}.ana-log-detail-grid{grid-template-columns:repeat(2,1fr)}.ana-log-col-tenant,.ana-log-col-source{display:none}.ana-pagination{flex-direction:column;gap:8px}.ana-log-filters{flex-wrap:wrap}}@media (max-width: 600px){.ana-kpi-row,.ana-log-detail-grid{grid-template-columns:1fr}.ana-log-col-ts{display:none}.ana-pagination-buttons{flex-wrap:wrap}}.cgx-tabs{display:flex;gap:4px;border-bottom:1px solid #e2e8f0;margin-bottom:24px}.cgx-tab{padding:12px 18px;border:none;background:none;border-bottom:2px solid transparent;color:#64748b;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.cgx-tab:hover{color:#1e293b}.cgx-tab-active{color:#e8752a;border-bottom-color:#e8752a;font-weight:600}.cgx-tab-count{display:inline-block;margin-left:6px;padding:1px 7px;background:#f1f5f9;border-radius:10px;font-size:11px;color:#64748b}.cgx-tab-active .cgx-tab-count{background:#fff7ed;color:#e8752a}.cgx-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:capitalize;white-space:nowrap}.cgx-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.cgx-status-connected,.cgx-status-online,.cgx-status-ready,.cgx-status-completed,.cgx-status-approved,.cgx-status-running_vm{background:#f0fdf4;color:#15803d}.cgx-status-disconnected,.cgx-status-stopped,.cgx-status-terminated{background:#f1f5f9;color:#475569}.cgx-status-error,.cgx-status-failed{background:#fef2f2;color:#b91c1c}.cgx-status-connecting,.cgx-status-queued,.cgx-status-training,.cgx-status-pending,.cgx-status-staging,.cgx-status-provisioning{background:#fffbeb;color:#b45309}.cgx-status-running,.cgx-status-labeled{background:#eff6ff;color:#1d4ed8}.cgx-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:16px}.cgx-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.cgx-card-title{font-size:15px;font-weight:700;color:#0f172a}.cgx-card-subtitle{font-size:12px;color:#64748b;margin-top:2px}.cgx-table{width:100%;border-collapse:collapse}.cgx-table th{text-align:left;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.cgx-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9;font-size:13px;color:#1e293b;vertical-align:middle}.cgx-table tbody tr:hover{background:#fafbfc}.cgx-table tbody tr:last-child td{border-bottom:none}.cgx-camera-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.cgx-cam-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:box-shadow .15s,transform .15s}.cgx-cam-card:hover{box-shadow:0 8px 24px #0f172a14;transform:translateY(-1px)}.cgx-cam-header{padding:12px 16px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;gap:10px}.cgx-cam-name{font-weight:700;font-size:14px;color:#0f172a;line-height:1.2}.cgx-cam-meta{font-size:11px;color:#94a3b8;margin-top:2px}.cgx-cam-viewport{background:linear-gradient(135deg,#1e293b,#0f172a);aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.cgx-cam-viewport img{max-width:100%;max-height:100%;object-fit:contain}.cgx-cam-viewport-empty{color:#64748b;font-size:12px;text-align:center;padding:20px}.cgx-cam-overlay{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cgx-cam-overlay-pass{background:#10b981e6}.cgx-cam-overlay-fail{background:#ef4444e6}.cgx-cam-body{padding:14px 16px}.cgx-cam-metric{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:3px 0}.cgx-cam-metric-label{color:#64748b}.cgx-cam-metric-value{font-weight:700;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cgx-cam-time{font-size:10px;color:#94a3b8;margin-top:6px}.cgx-cam-footer{padding:10px 16px;border-top:1px solid #f1f5f9;background:#fafbfc}.cgx-dataset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.cgx-dataset-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px;transition:all .15s}.cgx-dataset-card:hover{border-color:#e8752a;box-shadow:0 4px 12px #e8752a14}.cgx-dataset-title{font-size:15px;font-weight:700;color:#0f172a}.cgx-dataset-uc{font-size:11px;color:#64748b;margin-top:2px}.cgx-dataset-desc{font-size:12px;color:#475569;margin:10px 0;line-height:1.5}.cgx-dataset-stats{display:flex;gap:14px;font-size:11px;color:#64748b;margin:12px 0;padding:10px 0;border-top:1px dashed #e2e8f0;border-bottom:1px dashed #e2e8f0}.cgx-dataset-stats strong{color:#0f172a;font-weight:700}.cgx-dataset-actions{display:flex;gap:6px;flex-wrap:wrap}.cgx-progress{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden;position:relative}.cgx-progress-bar{height:100%;background:linear-gradient(90deg,#e8752a,#f59e0b);transition:width .3s ease;border-radius:4px}.cgx-progress-label{font-size:11px;color:#64748b;margin-top:4px}.cgx-vm-card{background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1px solid #fdba74;border-radius:12px;padding:18px 22px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.cgx-vm-info{min-width:0}.cgx-vm-label{font-size:11px;color:#c2410c;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.cgx-vm-state{display:flex;align-items:center;gap:10px;margin-top:6px}.cgx-vm-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cgx-vm-status-text{font-size:16px;font-weight:700;color:#0f172a}.cgx-vm-hint{font-size:11px;color:#92400e;margin-top:4px}.cgx-vm-actions{display:flex;gap:8px;flex-shrink:0}.cgx-btn-sm{padding:6px 12px;font-size:12px;border-radius:6px;font-weight:600;border:1px solid #e2e8f0;background:#fff;color:#475569;cursor:pointer;transition:all .15s}.cgx-btn-sm:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.cgx-btn-sm:disabled{opacity:.5;cursor:not-allowed}.cgx-btn-sm-primary{background:#e8752a;color:#fff;border-color:#e8752a}.cgx-btn-sm-primary:hover:not(:disabled){background:#d06424}.cgx-btn-sm-danger{background:#fff;color:#b91c1c;border-color:#fecaca}.cgx-btn-sm-danger:hover:not(:disabled){background:#fef2f2}.cgx-btn-sm-success{background:#10b981;color:#fff;border-color:#10b981}.cgx-btn-sm-success:hover:not(:disabled){background:#059669}.cgx-empty{text-align:center;padding:48px 20px;color:#94a3b8}.cgx-empty-icon{margin-bottom:12px;opacity:.4}.cgx-empty-title{font-size:15px;font-weight:600;color:#475569;margin-bottom:4px}.cgx-empty-subtitle{font-size:13px;color:#94a3b8}.cgx-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.cgx-form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cgx-field-label{display:block;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.cgx-field-label-required:after{content:" *";color:#ef4444}.cgx-label-workspace{display:grid;grid-template-columns:1fr 320px;gap:20px}.cgx-label-canvas{position:relative;background:#0f172a;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0}.cgx-label-canvas img{width:100%;display:block;-webkit-user-select:none;user-select:none}.cgx-label-nav{display:flex;gap:8px;justify-content:center;margin-top:12px}.cgx-label-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px;align-self:start;position:sticky;top:20px}.cgx-label-panel-meta{background:#f8fafc;padding:8px 12px;border-radius:6px;font-size:11px;color:#64748b;margin-bottom:12px}.cgx-box-list{max-height:160px;overflow-y:auto;border:1px solid #f1f5f9;border-radius:6px;padding:4px}.cgx-box-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;font-size:11px;border-radius:4px}.cgx-box-item:hover{background:#f8fafc}.cgx-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.cgx-modal{background:#fff;border-radius:12px;padding:24px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.cgx-modal-title{font-size:17px;font-weight:700;color:#0f172a;margin-bottom:8px}@media (max-width: 900px){.cgx-label-workspace,.cgx-form-grid-2{grid-template-columns:1fr}.cgx-vm-card{flex-direction:column;align-items:flex-start}}.cgx-file-input{min-height:42px}.cgx-file-input:hover{border-color:#cbd5e1}.cgx-form-grid-2 .cx-form-input,.cgx-form-grid .cx-form-input{box-sizing:border-box;min-height:42px;font-size:13px}.cgx-form-grid-2 textarea.cx-form-input,.cgx-form-grid textarea.cx-form-input{min-height:auto;font-family:inherit}.user-management{max-width:100%}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h2{font-size:22px;font-weight:700;color:#0f172a}.user-form-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0}.user-form-card h3{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:16px}.user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.user-form-grid select{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;color:#1e293b;background:#fff}.user-form-grid select:focus{outline:none;border-color:#e8752a;box-shadow:0 0 0 3px #e8752a1a}.table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.users-table{width:100%;border-collapse:collapse;font-size:13px}.users-table th{background:#f8fafc;padding:10px 14px;text-align:left;font-weight:600;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.users-table td{padding:10px 14px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.users-table tbody tr:hover{background:#f8fafc}.row-disabled{opacity:.5}.you-badge{display:inline-block;margin-left:6px;font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;background:#dbeafe;color:#3b6fc4}.role-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.role-admin{background:#fef3c7;color:#92400e}.role-operator{background:#dbeafe;color:#1e40af}.role-viewer{background:#f1f5f9;color:#475569}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot-active{background:#10b981}.dot-inactive{background:#94a3b8}.td-name{font-weight:600;color:#1e293b;white-space:nowrap}.td-date{font-size:12px;color:#64748b;white-space:nowrap}.td-actions{display:flex;gap:6px;flex-wrap:wrap}.btn-sm{padding:4px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;background:#fff;transition:all .15s;white-space:nowrap}.btn-sm.btn-edit{color:#475569}.btn-sm.btn-edit:hover{background:#f1f5f9}.btn-sm.btn-reset{color:#e8752a;border-color:#fed7aa}.btn-sm.btn-reset:hover{background:#fff7ed}.btn-sm.btn-disable{color:#ef4444;border-color:#fecaca}.btn-sm.btn-disable:hover{background:#fef2f2}.btn-sm.btn-enable{color:#10b981;border-color:#a7f3d0}.btn-sm.btn-enable:hover{background:#ecfdf5}.reset-token-card{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:20px;margin-bottom:20px}.reset-token-card h4{font-size:14px;font-weight:600;color:#92400e;margin-bottom:10px}.token-value{font-family:monospace;font-size:13px;background:#fff;padding:10px 14px;border-radius:8px;border:1px solid #e2e8f0;word-break:break-all;margin-bottom:8px;color:#1e293b}.token-info{font-size:12px;color:#92400e;margin-bottom:12px}.settings-page{max-width:600px}@media (max-width: 768px){.user-form-grid{grid-template-columns:1fr}}.mig-conn-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mig-conn-wizard{background:#fff;border-radius:16px;width:90vw;max-width:780px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040}.mig-conn-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px 16px;border-bottom:1px solid #e2e8f0}.mig-conn-header h2{font-size:18px;font-weight:700;color:#1e293b;margin:0}.mig-conn-close{background:none;border:none;font-size:22px;color:#94a3b8;cursor:pointer;padding:4px 8px;border-radius:6px}.mig-conn-close:hover{background:#f1f5f9;color:#475569}.mig-conn-steps{display:flex;align-items:center;gap:4px;padding:16px 28px;background:#f8fafc;border-bottom:1px solid #e2e8f0;overflow-x:auto}.mig-conn-step{display:flex;align-items:center;gap:6px;white-space:nowrap}.mig-conn-step-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:#e2e8f0;color:#64748b;flex-shrink:0}.mig-conn-step.active .mig-conn-step-num{background:#e8752a;color:#fff}.mig-conn-step.done .mig-conn-step-num{background:#10b981;color:#fff}.mig-conn-step-label{font-size:13px;color:#64748b}.mig-conn-step.active .mig-conn-step-label{color:#1e293b;font-weight:600}.mig-conn-step-line{width:20px;height:2px;background:#cbd5e1;margin:0 4px;flex-shrink:0}.mig-conn-step.done+.mig-conn-step .mig-conn-step-line,.mig-conn-step.done .mig-conn-step-line{background:#10b981}.mig-conn-error{margin:12px 28px 0;padding:10px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px;display:flex;align-items:center;justify-content:space-between}.mig-conn-error button{background:none;border:none;color:#dc2626;font-size:18px;cursor:pointer;padding:0 4px}.mig-conn-body{flex:1;overflow-y:auto;padding:24px 28px}.mig-conn-hint{font-size:14px;color:#64748b;margin-bottom:16px}.mig-conn-section-title{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 16px}.mig-conn-divider{height:1px;background:#e2e8f0;margin:20px 0}.mig-conn-method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mig-conn-method-card{position:relative;border:2px solid #e2e8f0;border-radius:12px;padding:20px;cursor:pointer;transition:all .15s}.mig-conn-method-card:hover{border-color:#cbd5e1;background:#f8fafc}.mig-conn-method-card.selected{border-color:#e8752a;background:#fff7ed}.mig-conn-method-icon{font-size:28px;margin-bottom:8px}.mig-conn-method-card h3{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 4px}.mig-conn-method-card p{font-size:12px;color:#64748b;margin:0;line-height:1.5}.mig-conn-method-check{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:#e8752a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.mig-conn-config h4{font-size:14px;font-weight:600;color:#475569;margin:0 0 12px}.mig-conn-form-group{margin-bottom:14px}.mig-conn-form-group label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:5px}.mig-conn-form-group input,.mig-conn-form-group select{width:100%;padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;transition:border-color .15s;box-sizing:border-box}.mig-conn-form-group input:focus,.mig-conn-form-group select:focus{outline:none;border-color:#e8752a;box-shadow:0 0 0 3px #e8752a1a}.mig-conn-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mig-conn-provision-start{text-align:center;padding:16px 0}.mig-conn-provision-start h3{font-size:16px;margin-bottom:8px}.mig-conn-resource-list{text-align:left;max-width:320px;margin:16px auto;list-style:none;padding:0}.mig-conn-resource-list li{padding:6px 0;font-size:13px;color:#475569;border-bottom:1px solid #f1f5f9}.mig-conn-resource-list li:before{content:"→ ";color:#e8752a;font-weight:600}.mig-conn-vpn-steps{display:flex;flex-direction:column;gap:8px;margin:20px 0}.mig-conn-vpn-step{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;background:#f8fafc;font-size:13px;color:#64748b}.mig-conn-vpn-step.complete{background:#f0fdf4;color:#166534}.mig-conn-vpn-step.current{background:#fff7ed;color:#9a3412;font-weight:500}.mig-conn-vpn-step.failed{background:#fef2f2;color:#dc2626}.mig-conn-vpn-step-indicator{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:#e2e8f0;color:#64748b;flex-shrink:0}.mig-conn-vpn-step.complete .mig-conn-vpn-step-indicator{background:#10b981;color:#fff}.mig-conn-vpn-step.current .mig-conn-vpn-step-indicator{background:#e8752a;color:#fff}.mig-conn-vpn-step.failed .mig-conn-vpn-step-indicator{background:#ef4444;color:#fff}.mig-conn-progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin:16px 0}.mig-conn-progress-fill{height:100%;background:#e8752a;border-radius:3px;transition:width .5s ease}.mig-conn-fail-box{padding:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px;margin-top:12px}.mig-conn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:mig-conn-spin .6s linear infinite}@keyframes mig-conn-spin{to{transform:rotate(360deg)}}.mig-conn-customer-config{margin-top:20px}.mig-conn-customer-config h4{font-size:15px;font-weight:600;margin:0 0 8px;color:#1e293b}.mig-conn-config-block{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;margin-top:12px}.mig-conn-config-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:13px;font-weight:600;color:#475569}.mig-conn-config-pre{margin:0;padding:16px;font-size:12px;line-height:1.6;overflow-x:auto;background:#1e293b;color:#e2e8f0;max-height:300px}.mig-conn-vendor-notes{margin-top:16px}.mig-conn-vendor-notes h5{font-size:13px;font-weight:600;color:#475569;margin:0 0 8px}.mig-conn-vendor-detail{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;overflow:hidden}.mig-conn-vendor-detail summary{padding:10px 14px;font-size:13px;font-weight:500;cursor:pointer;background:#f8fafc;color:#1e293b}.mig-conn-vendor-detail pre{margin:0;padding:12px 14px;font-size:11px;line-height:1.5;background:#f1f5f9;white-space:pre-wrap}.mig-conn-vpn-actions{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.mig-conn-test-result{display:flex;align-items:flex-start;gap:14px;padding:16px;border-radius:10px;margin-top:16px}.mig-conn-test-result.success{background:#f0fdf4;border:1px solid #bbf7d0}.mig-conn-test-result.fail{background:#fef2f2;border:1px solid #fecaca}.mig-conn-test-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.mig-conn-test-result.success .mig-conn-test-icon{background:#10b981;color:#fff}.mig-conn-test-result.fail .mig-conn-test-icon{background:#ef4444;color:#fff}.mig-conn-test-detail{flex:1}.mig-conn-test-detail strong{display:block;font-size:14px;margin-bottom:4px}.mig-conn-test-detail span{font-size:13px;color:#64748b;margin-right:12px}.mig-conn-test-error{font-size:12px;color:#dc2626;margin-top:6px}.mig-conn-latency{font-weight:600;color:#475569!important}.mig-conn-checks{margin-top:20px}.mig-conn-checks h4{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 10px}.mig-conn-check-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #f1f5f9;font-size:13px}.mig-conn-check-row:last-child{border-bottom:none}.mig-conn-check-icon{font-weight:700;flex-shrink:0;width:18px;text-align:center}.mig-conn-check-row.pass .mig-conn-check-icon{color:#10b981}.mig-conn-check-row.fail .mig-conn-check-icon{color:#ef4444}.mig-conn-check-row.warn .mig-conn-check-icon{color:#f59e0b}.mig-conn-check-row.skip .mig-conn-check-icon{color:#94a3b8}.mig-conn-check-row.warn{background:#fffbeb}.mig-conn-check-name{font-weight:500;color:#1e293b;text-transform:capitalize;min-width:60px}.mig-conn-check-tag{display:inline-block;font-size:10px;font-weight:600;background:#e2e8f0;color:#64748b;padding:1px 6px;border-radius:4px;margin-right:6px;text-transform:uppercase;vertical-align:middle}.mig-conn-check-details{flex:1;color:#64748b}.mig-conn-check-latency{color:#94a3b8;font-size:12px;flex-shrink:0}.mig-conn-preflight-summary{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:10px;margin-top:16px;font-size:14px}.mig-conn-preflight-summary.pass{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.mig-conn-preflight-summary.fail{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.mig-conn-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.mig-conn-summary-item{padding:14px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.mig-conn-summary-label{display:block;font-size:12px;color:#94a3b8;margin-bottom:4px}.mig-conn-summary-value{font-size:14px;font-weight:600;color:#1e293b}.mig-conn-summary-value.text-success{color:#10b981}.mig-conn-summary-value.text-warn{color:#f59e0b}.mig-conn-footer{display:flex;align-items:center;padding:16px 28px;border-top:1px solid #e2e8f0;gap:12px}.mig-conn-env-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.mig-conn-env-card{position:relative;border:2px solid #e2e8f0;border-radius:10px;padding:14px 16px;cursor:pointer;transition:all .15s}.mig-conn-env-card:hover{border-color:#cbd5e1;background:#f8fafc}.mig-conn-env-card.selected{border-color:#3b82f6;background:#eff6ff}.mig-conn-env-icon{font-size:20px;margin-right:6px}.mig-conn-env-card strong{font-size:13px;color:#1e293b}.mig-conn-env-card p{font-size:11px;color:#64748b;margin:6px 0 0;line-height:1.5}.mig-conn-info-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px;font-size:12px;color:#475569;line-height:1.6;margin-top:12px}.mig-conn-info-box strong{color:#1e293b}.mig-conn-form-hint{display:block;font-size:11px;color:#94a3b8;margin-top:4px}.mig-conn-wizard-view{max-width:680px}.mig-conn-status-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:10px;font-size:14px}.mig-conn-status-banner.pass{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.mig-conn-status-banner.fail{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.mig-conn-status-banner.info{background:#f8fafc;border:1px solid #e2e8f0;color:#475569}.mig-conn-status-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.mig-conn-status-banner.pass .mig-conn-status-icon{background:#10b981;color:#fff}.mig-conn-status-banner.fail .mig-conn-status-icon{background:#ef4444;color:#fff}.mig-conn-status-banner.info .mig-conn-status-icon{background:#94a3b8;color:#fff}.mig-conn-status-text{flex:1}.mig-conn-status-text strong{display:block;font-size:15px}.mig-conn-status-text span{font-size:12px;opacity:.8}.mig-conn-save-prompt{display:flex;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}@media (max-width: 768px){.mig-conn-wizard{width:96vw;max-height:95vh}.mig-conn-method-grid,.mig-conn-env-grid,.mig-conn-form-row,.mig-conn-summary-grid{grid-template-columns:1fr}.mig-conn-steps{gap:2px;padding:12px 16px}.mig-conn-body{padding:16px}}.mig-page{padding:24px 32px;max-width:1400px;margin:0 auto}.mig-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.mig-title{font-size:22px;font-weight:700;color:#1e293b;margin:0 0 4px}.mig-subtitle{font-size:13px;color:#64748b;margin:0}.mig-header-actions{display:flex;gap:8px;flex-wrap:wrap}.mig-back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid #e2e8f0;border-radius:6px;color:#475569;font-size:13px;font-weight:500;cursor:pointer;padding:5px 12px 5px 8px;margin-bottom:8px;transition:all .15s ease}.mig-back-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.mig-back-btn:active{background:#e2e8f0}.mig-back-btn svg{width:15px;height:15px;flex-shrink:0;transition:transform .15s ease}.mig-back-btn:hover svg{transform:translate(-2px)}.mig-btn{padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#475569;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.mig-btn:hover{background:#f8fafc;border-color:#cbd5e1}.mig-btn:disabled{opacity:.5;cursor:not-allowed}.mig-btn-primary{background:#e8752a;color:#fff;border-color:#e8752a}.mig-btn-primary:hover{background:#d4691f;border-color:#d4691f}.mig-btn-warn{color:#f59e0b;border-color:#fde68a}.mig-btn-warn:hover{background:#fffbeb}.mig-btn-sm{padding:5px 10px;font-size:12px}.mig-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.mig-error button{background:none;border:none;color:#dc2626;font-size:18px;cursor:pointer}.mig-loading{text-align:center;padding:40px;color:#64748b}.mig-empty{text-align:center;padding:60px 20px}.mig-empty-icon{margin-bottom:16px}.mig-empty h3{color:#1e293b;margin:0 0 8px}.mig-empty p{color:#64748b;margin:0 0 20px;font-size:14px}.mig-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.mig-project-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;cursor:pointer;transition:all .15s}.mig-project-card:hover{border-color:#e8752a;box-shadow:0 2px 8px #e8752a1a}.mig-project-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mig-project-card-header h3{font-size:15px;font-weight:600;color:#1e293b;margin:0}.mig-project-desc{font-size:13px;color:#64748b;margin:0 0 12px}.mig-project-meta{display:flex;gap:16px;font-size:12px;color:#94a3b8}.mig-project-date{font-size:11px;color:#cbd5e1;margin-top:12px}.mig-status-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:capitalize}.mig-status-draft{background:#f3f4f6;color:#6b7280}.mig-status-active{background:#dcfce7;color:#16a34a}.mig-status-paused{background:#fef3c7;color:#d97706}.mig-status-completed{background:#dbeafe;color:#2563eb}.mig-status-failed{background:#fee2e2;color:#dc2626}.mig-status-archived{background:#f3f4f6;color:#9ca3af}.mig-category-tabs{display:flex;gap:4px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}.mig-cat-tab{padding:7px 14px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;color:#64748b;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:all .15s}.mig-cat-tab:hover{border-color:#cbd5e1}.mig-cat-tab.active{background:#1e293b;color:#fff;border-color:#1e293b}.mig-cat-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.mig-cat-badge{font-size:10px;font-weight:600;color:#fff;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.mig-connector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.mig-connector-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;transition:border-color .15s}.mig-connector-card:hover{border-color:#cbd5e1}.mig-connector-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.mig-connector-info{display:flex;flex-direction:column;gap:6px}.mig-connector-name{font-size:14px;font-weight:600;color:#1e293b;margin:0}.mig-connector-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;white-space:nowrap}.mig-connector-meta{margin-bottom:12px}.mig-connector-meta-row{display:flex;justify-content:space-between;padding:3px 0;font-size:12px}.mig-meta-label{color:#94a3b8}.mig-meta-value{color:#475569;font-weight:500;font-family:SF Mono,monospace;font-size:11px}.mig-connector-actions{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #f1f5f9;padding-top:12px}.mig-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.mig-modal{background:#fff;border-radius:14px;width:95%;max-width:520px;box-shadow:0 20px 60px #00000026}.mig-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f1f5f9}.mig-modal-header h2{font-size:16px;font-weight:600;margin:0;color:#1e293b}.mig-modal-close{background:none;border:none;font-size:22px;color:#94a3b8;cursor:pointer}.mig-modal-body{padding:22px}.mig-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 22px;border-top:1px solid #f1f5f9}.mig-connector-info-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;font-size:12px;color:#475569;margin-top:12px}.mig-connector-info-box div{margin-bottom:4px}.mig-create-form{max-width:600px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:28px}.mig-form-field{margin-bottom:16px}.mig-form-field label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.mig-form-field input,.mig-form-field textarea,.mig-form-field select{width:100%;padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;box-sizing:border-box}.mig-form-field input:focus,.mig-form-field textarea:focus,.mig-form-field select:focus{outline:none;border-color:#e8752a;box-shadow:0 0 0 3px #e8752a1a}.mig-form-hint{font-size:11px;color:#94a3b8;margin-top:4px;display:block}.mig-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mig-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.mig-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:24px}.mig-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;text-align:center}.mig-stat-value{font-size:28px;font-weight:700;color:#1e293b}.mig-stat-label{font-size:12px;color:#94a3b8;margin-top:4px}.mig-pipeline-bar{display:flex;gap:4px;margin-bottom:24px}.mig-pipeline-step{flex:1;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;text-align:center}.mig-pipeline-step.active{background:#eff6ff;border-color:#93c5fd}.mig-pipeline-step.completed{background:#dcfce7;border-color:#86efac}.mig-pipeline-step-label{font-size:12px;font-weight:600;color:#475569}.mig-pipeline-step-count{font-size:10px;color:#94a3b8;margin-top:2px}.mig-config{padding:4px 0}.mig-config-tabs{display:flex;gap:4px;margin-bottom:16px}.mig-config-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.mig-config-tab:hover:not(.active){background:#f8fafc;border-color:#cbd5e1}.mig-config-tab svg{flex-shrink:0}.mig-config-tab.active{background:#1e293b;color:#fff;border-color:#1e293b}.mig-config-empty{text-align:center;padding:40px;color:#94a3b8;font-size:13px}.mig-mapping-header{display:grid;grid-template-columns:1fr 30px 1fr 120px 32px;gap:8px;padding:8px 0;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}.mig-mapping-row{display:grid;grid-template-columns:1fr 30px 1fr 120px 32px;gap:8px;padding:6px 0;align-items:center}.mig-mapping-input{padding:6px 8px;border:1px solid #e2e8f0;border-radius:5px;font-size:12px;font-family:SF Mono,monospace}.mig-mapping-input:focus{outline:none;border-color:#e8752a}.mig-mapping-select{padding:6px 8px;border:1px solid #e2e8f0;border-radius:5px;font-size:12px;background:#fff}.mig-mapping-arrow{text-align:center;color:#cbd5e1;font-size:14px}.mig-mapping-remove{background:none;border:none;color:#dc2626;font-size:18px;cursor:pointer;padding:0;width:32px;text-align:center}.mig-mapping-remove:hover{color:#991b1b}.mig-mapping-actions{display:flex;justify-content:space-between;margin-top:16px}.mig-log-table{width:100%;border-collapse:collapse;font-size:12px}.mig-log-table th{text-align:left;padding:8px 10px;color:#94a3b8;font-weight:600;font-size:11px;text-transform:uppercase;border-bottom:1px solid #e2e8f0}.mig-log-table td{padding:8px 10px;color:#475569;border-bottom:1px solid #f1f5f9}.mig-log-table tr:hover td{background:#f8fafc}.mig-log-type{font-size:11px;font-weight:500;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:3px}.mig-log-status{font-size:11px;font-weight:600;padding:2px 6px;border-radius:3px}.mig-log-status-completed{color:#16a34a;background:#dcfce7}.mig-log-status-failed{color:#dc2626;background:#fee2e2}.mig-log-status-running{color:#3b82f6;background:#dbeafe}.mig-lineage-flow{display:flex;align-items:center;gap:12px;padding:20px;overflow-x:auto}.mig-lineage-node{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px;min-width:160px}.mig-lineage-source{border-color:#93c5fd;background:#eff6ff}.mig-lineage-transform{border-color:#c4b5fd;background:#f5f3ff}.mig-lineage-target{border-color:#86efac;background:#f0fdf4}.mig-lineage-label{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.mig-lineage-entity{font-size:13px;font-weight:600;color:#1e293b;margin:4px 0}.mig-lineage-fields{margin-top:8px}.mig-lineage-field{font-size:11px;color:#64748b;font-family:SF Mono,monospace;padding:2px 0}.mig-lineage-arrow{color:#cbd5e1;font-size:12px;white-space:nowrap}.mig-card-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.mig-card-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.mig-project-card:hover .mig-card-actions{opacity:1}.mig-card-action{background:none;border:none;cursor:pointer;padding:5px 6px;border-radius:6px;color:#94a3b8;display:flex;align-items:center;transition:all .15s}.mig-card-action:hover{background:#f1f5f9;color:#475569}.mig-card-action-danger:hover{background:#fef2f2;color:#ef4444}.mig-modal-sm{max-width:400px}.mig-modal-md{max-width:580px}.mig-modal-lg{max-width:950px}.mig-btn-danger{color:#dc2626;border-color:#fecaca;background:#fff}.mig-btn-danger:hover{background:#fef2f2;border-color:#f87171}.mig-btn-danger-solid{background:#ef4444;color:#fff;border-color:#ef4444}.mig-btn-danger-solid:hover{background:#dc2626;border-color:#dc2626}.mig-btn-xs{padding:2px 8px;font-size:11px;border-radius:4px;line-height:1.4}.mig-btn-transform{color:#7c3aed;border-color:#c4b5fd;background:#f5f3ff}.mig-btn-transform:hover{background:#ede9fe;border-color:#8b5cf6}.mig-btn-validate{color:#059669;border-color:#a7f3d0;background:#f0fdf4}.mig-btn-validate:hover{background:#dcfce7;border-color:#34d399}.mig-btn-load{color:#d97706;border-color:#fde68a;background:#fffbeb}.mig-btn-load:hover{background:#fef3c7;border-color:#fbbf24}.mig-phase-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:10px;font-weight:700}.mig-phase-t{background:#ede9fe;color:#7c3aed}.mig-phase-v{background:#dcfce7;color:#059669}.mig-phase-l{background:#fef3c7;color:#d97706}.mig-confirm-icon{margin-bottom:4px}.mig-detail-desc{font-size:14px;color:#64748b;margin:0 0 20px;line-height:1.6}.mig-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.mig-detail-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px}.mig-detail-section-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#1e293b;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.mig-detail-item{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-bottom:1px solid #f1f5f9;font-size:13px}.mig-detail-item:last-child{border-bottom:none}.mig-detail-label{color:#94a3b8;font-weight:500}.mig-detail-value{color:#1e293b;font-weight:500;text-align:right;max-width:60%;word-break:break-all}.mig-detail-mono{font-family:SF Mono,monospace;font-size:12px}.mig-detail-meta-row{display:flex;gap:24px;padding-top:4px}.mig-detail-meta-row .mig-detail-item{border-bottom:none}.mig-toast-container{position:fixed;top:20px;right:20px;z-index:1100;display:flex;flex-direction:column;gap:8px;max-width:420px}.mig-toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;background:#fff;box-shadow:0 4px 20px #0000001f;border-left:4px solid #10b981;animation:mig-toast-in .3s ease-out;font-size:13px;color:#1e293b}.mig-toast-error{border-left-color:#ef4444}.mig-toast-success{border-left-color:#10b981}.mig-toast-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.mig-toast-success .mig-toast-icon{background:#dcfce7;color:#16a34a}.mig-toast-error .mig-toast-icon{background:#fee2e2;color:#dc2626}.mig-toast-msg{flex:1;font-weight:500}.mig-toast-close{background:none;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:0 4px;flex-shrink:0}.mig-toast-close:hover{color:#475569}@keyframes mig-toast-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.mig-project-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid #e2e8f0;padding-bottom:0}.mig-project-tab{display:flex;align-items:center;gap:6px;padding:10px 18px;border:none;background:none;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.mig-project-tab:hover{color:#1e293b}.mig-project-tab.active{color:#e8752a;border-bottom-color:#e8752a}.mig-project-tab svg{opacity:.6}.mig-project-tab.active svg{opacity:1;stroke:#e8752a}.mig-sync-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(59,130,246,.25);border-top-color:#3b82f6;border-radius:50%;animation:mig-spin .7s linear infinite;vertical-align:middle;margin-right:4px}@keyframes mig-spin{to{transform:rotate(360deg)}}.mig-status-syncing-anim{display:flex;align-items:center;gap:4px}.mig-connector-syncing{border-color:#93c5fd;animation:mig-sync-pulse 2s ease-in-out infinite}@keyframes mig-sync-pulse{0%,to{border-color:#93c5fd;box-shadow:0 0 #3b82f600}50%{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f614}}.mig-sync-logs-tab{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.mig-logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mig-logs-header h3{font-size:15px;font-weight:600;color:#1e293b;margin:0}.mig-sync-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:capitalize;white-space:nowrap}.mig-sync-status-completed{color:#16a34a;background:#dcfce7}.mig-sync-status-failed{color:#dc2626;background:#fee2e2}.mig-sync-status-running,.mig-sync-status-syncing{color:#3b82f6;background:#dbeafe}.mig-log-row-error{background:#fef2f2}.mig-log-row-error:hover td{background:#fee2e2!important}.mig-log-num{font-family:SF Mono,monospace;font-size:12px;font-weight:500}.mig-log-connector{font-weight:600;color:#1e293b}.mig-log-error{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#94a3b8}.mig-log-row-error .mig-log-error{color:#dc2626}.mig-meta-records{font-weight:700;color:#1e293b!important}.mig-discovery-panel{background:linear-gradient(135deg,#fff7ed,#fef3c7);border:1px solid #fed7aa;border-radius:10px;padding:16px 20px;margin-bottom:20px}.mig-discovery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mig-discovery-header h3{font-size:14px;font-weight:600;color:#92400e;margin:0;display:flex;align-items:center;gap:8px}.mig-discovery-time{font-size:11px;color:#a16207}.mig-discovery-summary{display:flex;gap:24px;flex-wrap:wrap}.mig-discovery-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.mig-discovery-stat-num{font-size:22px;font-weight:700;color:#1e293b}.mig-discovery-stat-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.mig-discovery-stat-warn .mig-discovery-stat-num{color:#ef4444}.mig-method-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.mig-method-odata{background:#dbeafe;color:#1d4ed8}.mig-method-bapi{background:#fae8ff;color:#9333ea}.mig-meta-methods{display:flex;gap:4px}.mig-method-indicator{display:inline-flex;align-items:center;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600}.mig-method-available{background:#dcfce7;color:#166534}.mig-method-unavailable{background:#fee2e2;color:#991b1b}.mig-discovery-details{margin-top:16px;border-top:1px solid #fed7aa;padding-top:12px;max-height:400px;overflow-y:auto}.mig-discovery-table{width:100%;border-collapse:collapse;font-size:12px}.mig-discovery-table th{text-align:left;padding:8px 10px;font-weight:600;color:#92400e;border-bottom:1px solid #fed7aa;font-size:11px;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;background:#fef3c7}.mig-discovery-table td{padding:6px 10px;border-bottom:1px solid #fef3c7;color:#1e293b}.mig-discovery-obj-name{font-weight:500}.mig-discovery-bapi-list{font-family:SF Mono,Consolas,monospace;font-size:11px;color:#64748b;max-width:300px;word-break:break-all}.mig-discovery-row-none{opacity:.5}.mig-discovery-row-none td{color:#9ca3af}.mig-btn-discover{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#fff7ed,#fef3c7);border:1px solid #fed7aa;color:#92400e}.mig-btn-discover:hover{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.mig-hero-header{display:flex;align-items:center;justify-content:space-between;padding:28px 32px;margin:-24px -24px 20px;background:linear-gradient(135deg,#fff8f3,#fff 60%,#f0fdf4);border-bottom:1px solid #f1f5f9;border-radius:12px 12px 0 0}.mig-hero-content{display:flex;align-items:center;gap:40px}.mig-hero-text .mig-title{margin-bottom:4px}.mig-hero-flow{display:flex;align-items:center;gap:12px}.mig-hero-flow-node{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.3px}.mig-hero-flow-source{background:#fff7ed;color:#e8752a;border:1px solid #fed7aa}.mig-hero-flow-target{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.mig-hero-flow-arrow{display:flex;align-items:center}.mig-stats-bar{display:flex;gap:12px;margin-bottom:20px}.mig-stats-pill{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;font-size:12px;color:#64748b}.mig-stats-pill-num{font-weight:700;font-size:14px;color:#1e293b}.mig-project-card{border-left:3px solid #e2e8f0;transition:transform .15s ease,box-shadow .15s ease}.mig-project-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.mig-project-flow{display:flex;align-items:center;gap:8px;padding:8px 0;margin:4px 0}.mig-project-flow-item{display:flex;align-items:center;gap:5px;font-size:11px;color:#475569;min-width:0}.mig-project-flow-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mig-project-date{display:flex;align-items:center;gap:5px}.mig-empty-steps{display:flex;gap:16px;margin-top:20px}.mig-empty-step{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b}.mig-empty-step-num{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#e8752a;color:#fff;font-size:11px;font-weight:700;flex-shrink:0}.mig-detail-flow-container{display:flex;align-items:stretch;gap:0;margin:16px 0}.mig-detail-card{flex:1;border-radius:10px;overflow:hidden;border:1px solid #e2e8f0}.mig-detail-card-source{border-top:3px solid #E8752A;background:linear-gradient(180deg,#fff8f3,#fff 30%)}.mig-detail-card-target{border-top:3px solid #10b981;background:linear-gradient(180deg,#ecfdf5,#fff 30%)}.mig-detail-card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:600;color:#1e293b;border-bottom:1px solid #f1f5f9}.mig-detail-status-dot{width:7px;height:7px;border-radius:50%;margin-left:auto;flex-shrink:0}.mig-detail-card-body{padding:12px 16px}.mig-detail-row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;font-size:12px;border-bottom:1px solid #f8fafc}.mig-detail-row:last-child{border-bottom:none}.mig-detail-flow-arrow{display:flex;align-items:center;justify-content:center;padding:0 8px;flex-shrink:0}.mig-detail-footer{display:flex;gap:20px;padding:12px 0 0;margin-top:8px;border-top:1px solid #f1f5f9}.mig-detail-footer-item{display:flex;align-items:center;gap:5px;font-size:11px;color:#94a3b8}.mig-project-header-stats{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;margin-top:4px}.mig-header-stat-sep{color:#cbd5e1}.mig-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:20px}.mig-kpi-grid-compact{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.mig-kpi-card{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;transition:box-shadow .15s ease}.mig-kpi-card:hover{box-shadow:0 2px 8px #0000000a}.mig-kpi-card-sm{padding:14px 16px;gap:0;justify-content:center;text-align:center}.mig-kpi-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;flex-shrink:0}.mig-kpi-content{min-width:0}.mig-kpi-value{font-size:22px;font-weight:700;line-height:1.2;color:#1e293b}.mig-kpi-label{font-size:12px;color:#64748b;margin-top:2px}.mig-kpi-sub{font-size:10px;color:#94a3b8;margin-top:1px}.mig-section-header{display:flex;align-items:baseline;justify-content:space-between;margin:20px 0 12px}.mig-section-header h3{font-size:14px;font-weight:600;color:#1e293b;margin:0}.mig-section-meta{font-size:12px;color:#94a3b8}.mig-tab-panel{border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden}.mig-tab-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e2e8f0;background:#fafbfc}.mig-tab-panel-header h3{font-size:14px;font-weight:600;color:#1e293b;margin:0}.mig-tab-panel-header-meta{font-size:11px;color:#94a3b8}.mig-tab-panel-header-actions{display:flex;align-items:center;gap:10px}.mig-tab-panel-body{padding:20px}.mig-tab-panel-body-flush{padding:0}.mig-panel-table{width:100%;border-collapse:collapse;font-size:12px}.mig-panel-table thead{position:sticky;top:0;z-index:1}.mig-panel-table th{padding:8px 14px;background:#f8fafc;border-bottom:2px solid #e2e8f0;text-align:left;font-weight:600;font-size:11px;color:#475569;white-space:nowrap}.mig-panel-table td{padding:8px 14px;border-bottom:1px solid #f1f5f9;color:#334155}.mig-panel-table tbody tr:nth-child(2n){background:#fafbfc}.mig-panel-table tbody tr:hover{background:#f1f5f9}.mig-panel-table-wrap{overflow:auto;max-height:400px}.mig-overview-section{margin-bottom:20px}.mig-overview-section:last-child{margin-bottom:0}.mig-recon-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.mig-recon-summary-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;text-align:center}.mig-recon-summary-value{font-size:24px;font-weight:700;line-height:1.2}.mig-recon-summary-label{font-size:11px;color:#64748b;margin-top:4px;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.mig-recon-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600}.mig-recon-status-badge.match{background:#dcfce7;color:#16a34a}.mig-recon-status-badge.mismatch{background:#fef3c7;color:#d97706}.mig-recon-status-badge.error{background:#fee2e2;color:#dc2626}.mig-recon-timestamp{padding:12px 20px;border-top:1px solid #e2e8f0;font-size:11px;color:#94a3b8;background:#fafbfc}.mig-audit-action-badge{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;background:#f1f5f9;color:#475569;text-transform:lowercase}.mig-audit-action-badge.create{background:#dcfce7;color:#16a34a}.mig-audit-action-badge.update{background:#dbeafe;color:#2563eb}.mig-audit-action-badge.delete{background:#fee2e2;color:#dc2626}.mig-audit-action-badge.run{background:#f5f3ff;color:#7c3aed}.mig-audit-action-badge.sync{background:#ecfdf5;color:#059669}.mig-audit-details{font-size:11px;color:#64748b;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:SF Mono,Fira Code,Consolas,monospace}.mig-audit-user{font-size:12px;color:#475569;font-weight:500}.mig-audit-time{font-size:11px;color:#94a3b8;white-space:nowrap}@media (max-width: 768px){.mig-recon-summary-grid{grid-template-columns:repeat(2,1fr)}}.mig-preview-layout{display:flex;height:600px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff;min-height:400px}.mig-preview-sidebar{width:280px;border-right:1px solid #e2e8f0;background:#f8fafc;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;min-height:0}.mig-preview-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 0}.mig-preview-sidebar-header h4{font-size:13px;font-weight:600;color:#1e293b;margin:0}.mig-preview-count{font-size:11px;background:#e2e8f0;color:#475569;padding:2px 8px;border-radius:10px;font-weight:600}.mig-preview-search-wrap{padding:10px 16px}.mig-preview-search{width:100%;padding:7px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;background:#fff;outline:none;transition:border-color .15s;box-sizing:border-box}.mig-preview-search:focus{border-color:#e8752a}.mig-preview-sidebar-empty{padding:20px 16px;font-size:12px;color:#94a3b8;text-align:center}.mig-preview-table-list{flex:1;overflow-y:auto;min-height:0}.mig-preview-table-item{padding:10px 16px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .1s}.mig-preview-table-item:hover{background:#eff6ff}.mig-preview-table-item.active{background:#eff6ff;border-left:3px solid #E8752A;padding-left:13px}.mig-preview-table-item-top{display:flex;align-items:center;gap:7px}.mig-preview-cat-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.mig-preview-table-name{font-size:12px;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mig-transformed-badge{display:inline-block;background:#10b981;color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:4px;margin-left:4px;flex-shrink:0}.mig-preview-table-item-meta{display:flex;gap:10px;margin-top:3px;padding-left:14px;font-size:10px;color:#94a3b8}.mig-preview-main{flex:1;display:flex;flex-direction:column;overflow:auto}.mig-preview-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;font-size:13px;gap:8px}.mig-preview-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e2e8f0;background:#fafbfc}.mig-preview-header-left{display:flex;align-items:baseline;gap:10px}.mig-preview-header-left h3{font-size:14px;font-weight:600;color:#1e293b;margin:0}.mig-preview-header-meta{font-size:11px;color:#94a3b8}.mig-preview-header-right{font-size:11px;color:#64748b}.mig-data-table-wrap{flex:1;overflow:auto}.mig-data-table{width:100%;border-collapse:collapse;font-size:12px}.mig-data-table thead{position:sticky;top:0;z-index:1}.mig-data-table th{padding:8px 12px;background:#f8fafc;border-bottom:2px solid #e2e8f0;text-align:left;font-weight:600;font-size:11px;color:#475569;white-space:nowrap}.mig-data-table td{padding:7px 12px;border-bottom:1px solid #f1f5f9;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155}.mig-data-table tbody tr:nth-child(2n){background:#fafbfc}.mig-data-table tbody tr:hover{background:#f1f5f9}.mig-data-row-num{color:#cbd5e1!important;font-size:10px!important;width:40px;text-align:right!important;padding-right:8px!important;font-variant-numeric:tabular-nums}.mig-data-col-header{display:flex;flex-direction:column;gap:3px}.mig-data-col-type{display:inline-block;padding:1px 5px;border-radius:3px;font-size:9px;font-weight:600;letter-spacing:.3px;width:fit-content}.mig-preview-pagination{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-top:1px solid #e2e8f0;background:#fafbfc}.mig-page-btn{padding:5px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;color:#475569;cursor:pointer;transition:all .15s}.mig-page-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.mig-page-btn:disabled{opacity:.4;cursor:not-allowed}.mig-page-info{font-size:12px;color:#64748b}.mig-archive-badge{display:inline-block;padding:2px 8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:10px;color:#64748b;font-weight:600}.mig-pipeline-step-icon{font-size:14px;margin-bottom:2px}@media (max-width: 768px){.mig-page{padding:16px}.mig-header{flex-direction:column}.mig-hero-header{flex-direction:column;gap:16px;padding:20px;margin:-16px -16px 16px}.mig-hero-content{flex-direction:column;gap:16px}.mig-hero-flow{display:none}.mig-stats-bar{flex-wrap:wrap}.mig-connector-grid,.mig-form-row{grid-template-columns:1fr}.mig-category-tabs{flex-wrap:nowrap}.mig-header-actions{width:100%}.mig-detail-flow-container{flex-direction:column}.mig-detail-flow-arrow{transform:rotate(90deg);padding:8px 0}.mig-card-actions{opacity:1}.mig-discovery-summary{gap:16px}.mig-preview-layout{flex-direction:column;min-height:auto}.mig-preview-sidebar{width:100%;border-right:none;border-bottom:1px solid #e2e8f0;max-height:200px}.mig-kpi-grid{grid-template-columns:repeat(2,1fr)}.mig-empty-steps{flex-direction:column;gap:8px}.mig-project-header-stats{display:none}.mig-run-stats-row{flex-wrap:wrap}.mig-run-objects-grid{grid-template-columns:repeat(2,1fr)}}.mig-run-progress-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 4px #0000000f;transition:border-color .3s}.mig-run-progress-panel.running{border-color:#3b82f6;border-left:4px solid #3b82f6}.mig-run-progress-panel.completed{border-color:#10b981;border-left:4px solid #10b981}.mig-run-progress-panel.failed{border-color:#ef4444;border-left:4px solid #ef4444}.mig-run-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mig-run-progress-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#1e293b}.mig-run-phase-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;background:#f1f5f9;color:#64748b;text-transform:capitalize}.mig-run-progress-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#64748b}.mig-run-progress-bar-wrap{display:flex;align-items:center;gap:12px;margin-bottom:14px}.mig-run-progress-bar{flex:1;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.mig-run-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:4px;transition:width .5s ease;min-width:2px}.mig-run-progress-pct{font-size:12px;color:#64748b;white-space:nowrap;font-variant-numeric:tabular-nums}.mig-run-stats-row{display:flex;gap:24px;margin-bottom:12px;padding:8px 0;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9}.mig-run-stat{display:flex;flex-direction:column;gap:2px}.mig-run-stat-value{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px}.mig-run-stat-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.mig-run-objects-wrap{max-height:180px;overflow-y:auto;margin-top:4px}.mig-run-objects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.mig-run-object-item{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;font-size:12px;background:#f8fafc}.mig-run-object-item.completed{background:#f0fdf4}.mig-run-object-item.failed{background:#fef2f2}.mig-run-object-item.extracting{background:#eff6ff;font-weight:500}.mig-run-object-status{flex-shrink:0;width:16px;text-align:center;font-size:11px}.mig-run-object-item.completed .mig-run-object-status{color:#10b981}.mig-run-object-item.failed .mig-run-object-status{color:#ef4444}.mig-run-object-item.extracting .mig-run-object-status{color:#3b82f6}.mig-run-object-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155}.mig-run-object-count{font-size:11px;color:#64748b;font-variant-numeric:tabular-nums}.mig-role-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;letter-spacing:.02em}.mig-role-migration_admin{background:#dbeafe;color:#1e40af}.mig-role-migration_manager{background:#fef3c7;color:#92400e}.mig-role-migration_user{background:#f1f5f9;color:#475569}.mig-team-tab{margin-top:16px}.mig-team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mig-team-header h3{font-size:16px;font-weight:600;color:#1e293b;margin:0}.mig-team-add-form{display:flex;gap:10px;align-items:center;margin-bottom:20px;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.mig-team-input{flex:1;padding:7px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;outline:none}.mig-team-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.mig-team-select{padding:7px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;outline:none;background:#fff}.mig-team-role-legend{display:flex;gap:20px;margin-bottom:16px;padding:12px 16px;background:#fafbfc;border-radius:8px;flex-wrap:wrap}.mig-team-role-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b}.mig-team-role-item .mig-role-badge{flex-shrink:0}.mig-cutover-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:12px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:600;border:1px solid #fcd34d}.mig-validation-result{margin-top:16px}.mig-validation-banner{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-radius:8px;border:1px solid}.mig-validation-banner.mig-validation-pass{background:#f0fdf4;border-color:#86efac;color:#166534}.mig-validation-banner.mig-validation-fail{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.mig-validation-banner.mig-validation-warnings{background:#fffbeb;border-color:#fcd34d;color:#92400e}.mig-validation-banner-icon{font-size:24px;line-height:1;flex-shrink:0}.mig-validation-summary-stats{display:flex;gap:16px;margin-top:6px;font-size:13px;font-weight:500}.mig-val-stat-pass{color:#16a34a}.mig-val-stat-fail{color:#dc2626}.mig-val-stat-warn{color:#d97706}.mig-recon-card{padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:10px;display:flex;flex-direction:column;gap:6px}.mig-recon-card strong{font-size:13px;color:#374151}.mig-recon-detail{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#6b7280}.mig-sync-progress{margin:8px 0 4px;padding:8px 0;border-top:1px solid #f1f5f9}.mig-sync-progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.mig-sync-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#3b82f6,#60a5fa);transition:width .3s ease}.mig-sync-progress-fill.indeterminate{width:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa,#93c5fd,#60a5fa,#3b82f6);background-size:200% 100%;animation:mig-shimmer 1.5s infinite linear}.mig-sync-progress-fill.paused{width:100%;background:#f59e0b;animation:none}@keyframes mig-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mig-sync-progress-stats{display:flex;gap:12px;margin-top:6px;font-size:11px;color:#64748b}.mig-sync-progress-stats strong{color:#1e293b;font-weight:600}.mig-sync-paused-badge{background:#fef3c7;color:#92400e;padding:1px 6px;border-radius:4px;font-weight:600;font-size:10px}.mig-log-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center}.mig-log-modal{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:900px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.mig-log-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mig-log-modal-header h3{margin:0;font-size:16px}.mig-log-modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280;padding:4px 8px;border-radius:4px}.mig-log-modal-close:hover{background:#f1f5f9;color:#1e293b}.mig-heartbeat{overflow-x:auto;padding:16px 0}.mig-heartbeat-row{display:flex;align-items:center;margin-bottom:2px;min-height:28px}.mig-heartbeat-label{width:200px;min-width:200px;font-size:12px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:12px}.mig-heartbeat-dots{display:flex;gap:2px;align-items:center}.mig-heartbeat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;cursor:pointer;position:relative}.mig-heartbeat-dot.completed{background:#10b981}.mig-heartbeat-dot.failed{background:#ef4444}.mig-heartbeat-dot.cancelled{background:#f59e0b}.mig-heartbeat-dot.none{background:#e2e8f0}.mig-heartbeat-dot:hover{transform:scale(1.5);z-index:1}.mig-heartbeat-dot-tooltip{display:none;position:absolute;bottom:18px;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;white-space:nowrap;z-index:10}.mig-heartbeat-dot:hover .mig-heartbeat-dot-tooltip{display:block}.mig-heartbeat-header{display:flex;align-items:center;margin-bottom:4px}.mig-heartbeat-date-labels{display:flex;gap:2px;margin-left:200px}.mig-heartbeat-date-label{width:10px;text-align:center;font-size:8px;color:#94a3b8}.mig-heartbeat-legend{display:flex;gap:16px;margin-top:12px;font-size:11px;color:#64748b}.mig-heartbeat-legend-item{display:flex;align-items:center;gap:4px}.mig-heartbeat-legend-dot{width:8px;height:8px;border-radius:50%}.mig-sql-panel{border:1px solid #e2e8f0;border-radius:10px;background:#fff;margin-bottom:16px;overflow:hidden}.mig-sql-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border-bottom:1px solid transparent;transition:background .15s}.mig-sql-panel.expanded .mig-sql-panel-header{border-bottom-color:#e2e8f0}.mig-sql-panel-header:hover{background:#f1f5f9}.mig-sql-panel-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#1e293b}.mig-sql-panel-badge{font-size:11px;font-weight:500;color:#64748b;background:#f1f5f9;padding:2px 8px;border-radius:10px}.mig-sql-chevron{transition:transform .2s;color:#94a3b8}.mig-sql-chevron.open{transform:rotate(180deg)}.mig-sql-panel-body{padding:16px 18px}.mig-sql-editor-row{margin-bottom:10px}.mig-sql-textarea{width:100%;min-height:80px;padding:12px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;border:1px solid #d1d5db;border-radius:8px;background:#f8fafc;color:#1e293b;resize:vertical;line-height:1.5;box-sizing:border-box}.mig-sql-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.mig-sql-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mig-sql-templates{font-size:12px;padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff}.mig-sql-gui-row{display:flex;align-items:center;gap:6px;margin-top:10px;flex-wrap:wrap}.mig-sql-gui-label{font-size:11px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.mig-sql-gui-chip{font-size:11px;font-family:SF Mono,Fira Code,Consolas,monospace;padding:3px 10px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#475569;cursor:pointer;transition:all .15s}.mig-sql-gui-chip:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.mig-sql-error{margin-top:10px;padding:8px 12px;background:#fee2e2;border-radius:6px;font-size:12px;color:#dc2626;border:1px solid #fca5a5}.mig-sql-result-section{margin-top:12px}.mig-sql-result-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mig-sql-result-info{font-size:12px;color:#64748b;font-weight:500}.mig-phase-pipeline{display:flex;align-items:center;gap:6px;margin:10px 0;padding:8px 12px;background:#f8fafc;border-radius:8px;flex-wrap:wrap}.mig-phase-step{font-size:12px;font-weight:500;padding:4px 10px;border-radius:12px;white-space:nowrap}.mig-phase-step.done{background:#ecfdf5;color:#10b981}.mig-phase-step.active{background:#eff6ff;color:#3b82f6;font-weight:600;animation:pulse 2s infinite}.mig-phase-step.failed{background:#fef2f2;color:#ef4444}.mig-phase-step.pending{background:#f1f5f9;color:#94a3b8}.mig-phase-arrow{color:#cbd5e1;font-size:14px}.mig-run-object-phases{display:flex;gap:3px;margin-left:6px}.mig-phase-badge-sm{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font-size:10px;font-weight:700;line-height:1}.mig-phase-badge-sm.extracted{background:#ecfdf5;color:#10b981}.mig-phase-badge-sm.transformed{background:#f5f3ff;color:#8b5cf6}.mig-phase-badge-sm.validated{background:#fef3c7;color:#f59e0b}.mig-phase-badge-sm.loaded{background:#dbeafe;color:#3b82f6}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.mig-mappings-layout{display:flex;height:600px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.mig-mappings-sidebar{width:260px;border-right:1px solid #e2e8f0;background:#f8fafc;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.mig-mappings-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 0}.mig-mappings-sidebar-header h4{font-size:13px;font-weight:600;color:#1e293b;margin:0;text-transform:uppercase;letter-spacing:.5px}.mig-mappings-count{font-size:11px;background:#e2e8f0;color:#475569;padding:2px 8px;border-radius:10px;font-weight:600}.mig-mappings-search-wrap{padding:10px 16px}.mig-mappings-search{width:100%;padding:7px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;background:#fff;outline:none;transition:border-color .15s;box-sizing:border-box}.mig-mappings-search:focus{border-color:#e8752a}.mig-mappings-object-list{flex:1;overflow-y:auto}.mig-mappings-object-item{padding:10px 16px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .1s}.mig-mappings-object-item:hover{background:#eff6ff}.mig-mappings-object-item.active{background:#eff6ff;border-left:3px solid #E8752A;padding-left:13px}.mig-mappings-object-item-top{display:flex;align-items:center;gap:8px}.mig-mappings-object-name{font-size:12px;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mig-mappings-object-item.active .mig-mappings-object-name{color:#e8752a}.mig-mappings-object-status{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.mig-mappings-object-meta{display:flex;gap:10px;margin-top:3px;padding-left:15px;font-size:10px;color:#94a3b8}.mig-mappings-sidebar-empty{padding:20px 16px;font-size:12px;color:#94a3b8;text-align:center}.mig-mappings-main{flex:1;display:flex;flex-direction:column;overflow:auto}.mig-mappings-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;font-size:13px;gap:8px}.mig-mappings-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e2e8f0;background:#fafbfc}.mig-mappings-header-left{display:flex;align-items:baseline;gap:10px}.mig-mappings-header-left h3{font-size:14px;font-weight:600;color:#1e293b;margin:0}.mig-mappings-header-meta{font-size:11px;color:#94a3b8}.mig-mappings-table-wrap{flex:1;overflow:auto}.mig-mappings-table{width:100%;border-collapse:collapse;font-size:12px}.mig-mappings-table thead{position:sticky;top:0;z-index:1}.mig-mappings-table th{padding:8px 12px;background:#f8fafc;border-bottom:2px solid #e2e8f0;text-align:left;font-weight:600;font-size:11px;color:#475569;white-space:nowrap}.mig-mappings-table td{padding:7px 12px;border-bottom:1px solid #f1f5f9;color:#334155}.mig-mappings-table tbody tr:nth-child(2n){background:#fafbfc}.mig-mappings-table tbody tr:hover{background:#f1f5f9}.mig-mappings-field-source{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11px;color:#64748b}.mig-mappings-field-target{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11px;font-weight:600;color:#1e293b}.mig-mappings-transform-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.mig-mappings-transform-badge.direct{background:#f1f5f9;color:#64748b}.mig-mappings-transform-badge.value-map{background:#fef3c7;color:#92400e}.mig-mappings-transform-badge.pad-left{background:#dbeafe;color:#1e40af}.mig-mappings-transform-badge.other{background:#f0fdf4;color:#166534}.mig-mappings-config{font-size:11px;color:#64748b;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mig-mappings-arrow{display:inline-flex;align-items:center;color:#cbd5e1;padding:0 4px;font-size:14px}@media (max-width: 768px){.mig-mappings-layout{flex-direction:column;height:auto;min-height:400px}.mig-mappings-sidebar{width:100%;border-right:none;border-bottom:1px solid #e2e8f0;max-height:200px}}.mig-flow-indicator{display:flex;align-items:center;justify-content:center;gap:0;padding:14px 20px;margin-bottom:16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto}.mig-flow-step{display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;border:1px solid transparent}.mig-flow-step:hover{background:#f1f5f9}.mig-flow-step--done{color:#10b981;background:#ecfdf5;border-color:#a7f3d0}.mig-flow-step--active{color:#3b82f6;background:#eff6ff;border-color:#93c5fd;animation:pulse 2s infinite}.mig-flow-step--pending{color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}.mig-flow-step--failed{color:#ef4444;background:#fef2f2;border-color:#fca5a5}.mig-flow-step-icon{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.mig-flow-step--done .mig-flow-step-icon{background:#10b981;color:#fff}.mig-flow-step--active .mig-flow-step-icon{background:#3b82f6;color:#fff}.mig-flow-step--pending .mig-flow-step-icon{background:#e2e8f0;color:#94a3b8}.mig-flow-step--failed .mig-flow-step-icon{background:#ef4444;color:#fff}.mig-flow-connector{width:24px;height:2px;background:#e2e8f0;flex-shrink:0}.mig-flow-step--done+.mig-flow-connector{background:#10b981}.mig-transform-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e2e8f0;background:#f8fafc;border-radius:10px 10px 0 0}.mig-transform-header-left{display:flex;align-items:center;gap:12px}.mig-transform-header-left h3{font-size:14px;font-weight:600;color:#1e293b;margin:0}.mig-transform-header-actions{display:flex;align-items:center;gap:8px}.mig-transform-select{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;background:#fff;outline:none;min-width:120px}.mig-transform-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.mig-transform-input{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;outline:none;background:#fff}.mig-transform-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.mig-transform-config-panel{padding:12px 16px;background:#f8fafc;border-top:1px dashed #e2e8f0;border-bottom:1px dashed #e2e8f0}.mig-transform-config-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mig-transform-config-row label{display:flex;align-items:center;gap:6px;font-size:12px;color:#475569;font-weight:500}.mig-transform-config-empty{font-size:12px;color:#94a3b8;font-style:italic}.mig-transform-kv-editor{display:flex;flex-direction:column;gap:6px;width:100%}.mig-transform-kv-row{display:flex;align-items:center;gap:8px}.mig-transform-kv-row input{flex:1;padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;outline:none}.mig-transform-kv-row input:focus{border-color:#3b82f6}.mig-transform-kv-arrow{color:#94a3b8;font-size:12px;flex-shrink:0}.mig-transform-kv-remove{background:none;border:none;color:#ef4444;cursor:pointer;font-size:16px;padding:0 4px;line-height:1}.mig-transform-footer{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid #e2e8f0;background:#f8fafc;border-radius:0 0 10px 10px}.mig-transform-expand-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:2px 6px;border-radius:4px;font-size:12px}.mig-transform-expand-btn:hover{background:#f1f5f9;color:#1e293b}.mig-transform-custom-textarea{width:100%;min-height:60px;padding:8px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;resize:vertical;box-sizing:border-box}.mig-transform-custom-textarea:focus{outline:none;border-color:#3b82f6}.mig-transform-warning{font-size:11px;color:#d97706;margin-top:4px}.mig-sap-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;letter-spacing:.02em;white-space:nowrap}.mig-dest-toggle{display:flex;gap:8px}.mig-dest-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:#475569;transition:all .15s}.mig-dest-btn:hover{border-color:#94a3b8;background:#f8fafc}.mig-dest-btn.active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.mig-bq-info{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#fefce8;border:1px solid #fde68a;border-radius:8px;font-size:13px;color:#854d0e;line-height:1.5}.mig-bq-info svg{flex-shrink:0;margin-top:2px}.mig-add-connector-card{padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s;background:#fff}.mig-add-connector-card:hover{border-color:#94a3b8;background:#f8fafc}.mig-add-connector-card.selected{border-color:#059669;background:#ecfdf5}.mig-search-input{padding:7px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;outline:none;transition:border-color .15s}.mig-search-input:focus{border-color:#3b82f6}.mig-btn:focus-visible,.mig-cat-tab:focus-visible,.mig-input:focus-visible,button:focus-visible{outline:2px solid #e67e22;outline-offset:2px}.mig-btn{color:#334155}.mig-btn:hover{color:#0f172a}@keyframes mig-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes mig-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes mig-shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.mig-skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200px 100%;animation:mig-shimmer 1.5s ease-in-out infinite;border-radius:6px}.mig-unsaved-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;background:#fef3c7;color:#92400e;border:1px solid #fde68a}.mig-unsaved-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#f59e0b;animation:mig-pulse 1.5s ease-in-out infinite}.mig-freshness{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#64748b;padding:3px 8px;border-radius:6px;background:#f8fafc}.mig-freshness--stale{color:#dc2626;background:#fef2f2}.mig-panel-table tbody tr{color:#1e293b}.mig-panel-table tbody tr:hover{background:#f0f9ff!important}.mig-error-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:13px}.mig-error-alert .mig-btn{flex-shrink:0}@media (max-width: 1024px){.mig-page{padding:16px 20px}.mig-hero-header{flex-direction:column;gap:12px}.mig-hero-flow{display:none}.mig-stats-bar{flex-wrap:wrap}.mig-project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important}.mig-flow-indicator{overflow-x:auto;padding-bottom:8px}.mig-tab-bar{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}}@media (max-width: 768px){.mig-page{padding:12px 16px}.mig-title{font-size:18px}.mig-subtitle{font-size:12px}.mig-hero-header{flex-direction:column;align-items:flex-start;gap:12px}.mig-hero-flow{display:none}.mig-header-actions{flex-wrap:wrap;gap:6px}.mig-header-actions .mig-btn{font-size:11px;padding:6px 12px}.mig-stat-card{padding:12px}.mig-stat-card h3{font-size:20px}.mig-tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:0;border-bottom:1px solid #e2e8f0}.mig-tab-bar button{font-size:12px;padding:8px 12px;white-space:nowrap}.mig-form-row{grid-template-columns:1fr!important}.mig-modal{width:100%!important;max-width:100%!important;border-radius:0!important;max-height:100vh!important}.mig-modal-overlay{padding:0}.mig-connector-grid{grid-template-columns:1fr!important}.mig-panel-table th:nth-child(n+5),.mig-panel-table td:nth-child(n+5){display:none}.mig-flow-indicator{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.mig-flow-step span{font-size:10px}}@media (max-width: 480px){.mig-page{padding:8px 12px}.mig-title{font-size:16px}.mig-btn{font-size:11px;padding:6px 10px}.mig-btn-primary{padding:8px 14px}.mig-cat-tab{font-size:11px;padding:5px 10px}}@media print{.mig-header-actions,.mig-btn,.mig-flow-indicator,.mig-tab-bar{display:none!important}.mig-page{padding:0;max-width:100%}.mig-panel-table{font-size:10px}}.mig-date-range-picker{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:12px;cursor:pointer;transition:border-color .15s}.mig-date-range-picker:hover{border-color:#e67e22}.mig-date-range-picker--active{border-color:#e67e22;background:#fff7ed}.mig-date-range-presets{display:flex;flex-wrap:wrap;gap:4px;padding:8px}.mig-date-range-presets button{padding:5px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:11px;color:#64748b;cursor:pointer;transition:all .15s}.mig-date-range-presets button:hover,.mig-date-range-presets button.active{border-color:#e67e22;background:#fff7ed;color:#c2410c}.mig-kpi-good{color:#059669}.mig-kpi-warn{color:#d97706}.mig-kpi-bad{color:#dc2626}.mig-kpi-trend-up{color:#059669}.mig-kpi-trend-up:before{content:"↑ "}.mig-kpi-trend-down{color:#dc2626}.mig-kpi-trend-down:before{content:"↓ "}.mig-kpi-trend-flat{color:#64748b}.mig-kpi-trend-flat:before{content:"→ "}.mig-kpi-progress{height:6px;border-radius:3px;background:#e2e8f0;overflow:hidden;margin-top:8px}.mig-kpi-progress-bar{height:100%;border-radius:3px;transition:width .6s ease}.cx-skip-nav{position:absolute;top:-40px;left:0;background:#3b82f6;color:#fff;padding:8px 16px;z-index:10000;font-size:13px;font-weight:600;border-radius:0 0 8px;transition:top .2s;text-decoration:none}.cx-skip-nav:focus{top:0;outline:none}.cx-focusable:focus-visible,.dashboard-page-grid button:focus-visible,.drag-handle:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.cx-chart-card:focus-within{box-shadow:0 0 0 2px #3b82f633}.cx-tab:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px;border-radius:4px}.cx-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){.dashboard-page-grid *,.cx-chart-card,.cx-tab,.cx-focusable{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(0)}}}@media (forced-colors: active){.cx-chart-card{border:2px solid ButtonText}.cx-tab[aria-selected=true]{border-bottom:3px solid Highlight}.cx-focusable:focus-visible{outline:3px solid Highlight}}@media print{.cx-sr-only,.cx-skip-nav{display:none}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f1f5f9;color:#1e293b;min-height:100vh}.app{max-width:1400px;margin:0 auto;padding:20px}.app-header{padding:24px 0}.header-content{display:flex;align-items:center;justify-content:space-between}.header-title{text-align:center;flex:1}.app-header h1{font-size:28px;font-weight:700;color:#0f172a}.app-header p{font-size:14px;color:#64748b;margin-top:4px}.settings-btn{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px;cursor:pointer;color:#64748b;transition:all .2s;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000000f}.settings-btn:hover{background:#f8fafc;color:#e8752a;border-color:#fed7aa;box-shadow:0 2px 8px #e8752a1f}.step-indicator{display:flex;align-items:flex-start;justify-content:center;margin-bottom:24px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.step-wrapper{display:flex;align-items:flex-start}.step-item{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:100px}.step-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:2px solid #cbd5e1;color:#94a3b8;background:#fff;transition:all .3s ease}.step-active .step-circle{border-color:#e8752a;color:#fff;background:#e8752a;box-shadow:0 0 0 4px #e8752a26}.step-completed .step-circle{border-color:#10b981;color:#fff;background:#10b981}.step-label{font-size:12px;font-weight:500;color:#94a3b8;text-align:center}.step-active .step-label{color:#e8752a;font-weight:600}.step-completed .step-label{color:#10b981}.step-connector{width:60px;height:2px;background:#e2e8f0;margin:17px 12px 0;flex-shrink:0;transition:background .3s ease}.connector-completed{background:#10b981}.stats-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;padding:20px;text-align:center;box-shadow:0 1px 3px #00000014;border-left:4px solid transparent}.stat-uploaded{border-left-color:#0ea5e9}.stat-drafts{border-left-color:#6b7280}.stat-converted{border-left-color:#e8752a}.stat-total{border-left-color:#3b82f6}.stat-processed{border-left-color:#f5a623}.stat-approved{border-left-color:#10b981}.stat-sap-ok{border-left-color:#059669}.stat-sap-err{border-left-color:#f97316}.stat-failed{border-left-color:#ef4444}.stat-value{font-size:32px;font-weight:700;line-height:1}.stat-uploaded .stat-value{color:#0ea5e9}.stat-drafts .stat-value{color:#6b7280}.stat-converted .stat-value{color:#e8752a}.stat-total .stat-value{color:#3b82f6}.stat-processed .stat-value{color:#f5a623}.stat-approved .stat-value{color:#10b981}.stat-sap-ok .stat-value{color:#059669}.stat-sap-err .stat-value{color:#f97316}.stat-failed .stat-value{color:#ef4444}.stat-label{font-size:13px;color:#64748b;margin-top:6px;font-weight:500}.progress-container{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #00000014}.progress-text{font-size:14px;font-weight:500;color:#475569;margin-bottom:10px}.progress-bar{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#e8752a,#f5a623);border-radius:999px;transition:width .3s ease}@keyframes progress-pulse{0%,to{opacity:.6}50%{opacity:1}}.progress-indeterminate .progress-fill{animation:progress-pulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,#d06424,#e8752a)}.actions{display:flex;align-items:center;gap:12px;margin-bottom:24px;flex-wrap:wrap}.concurrency-control{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 14px;border-radius:8px;box-shadow:0 1px 3px #00000014}.concurrency-control label{font-size:13px;font-weight:500;color:#475569;white-space:nowrap}.concurrency-control select{padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;font-weight:600;color:#1e293b;background:#f8fafc;cursor:pointer}.btn{padding:12px 28px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#e8752a,#d06424);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#d06424,#b85520);transform:translateY(-1px);box-shadow:0 4px 12px #e8752a4d}.btn-secondary{background:#fff;color:#475569;border:1px solid #cbd5e1}.btn-secondary:hover{background:#f8fafc}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.status-banner{padding:14px 20px;border-radius:8px;margin-bottom:24px;font-size:14px;font-weight:500}.error-banner{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px;border:1px solid #fecaca}.warning-banner{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.success-banner{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.empty-state{text-align:center;padding:60px 20px;color:#94a3b8;font-size:15px;background:#fff;border-radius:12px}.table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow-x:auto;max-height:70vh;overflow-y:auto}.material-table{width:100%;border-collapse:collapse;font-size:14px}.material-table thead{position:sticky;top:0;z-index:1}.material-table th{background:#f8fafc;padding:12px 16px;text-align:left;font-weight:600;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.material-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.material-table tbody tr:hover{background:#f8fafc}.material-group{border-bottom:1px solid #e2e8f0}.td-name{font-weight:500;max-width:250px}.td-error{font-size:12px;color:#9a3412;max-width:300px;word-break:break-word}.td-error-detail{font-size:11px;color:#dc2626;margin-top:4px;line-height:1.3;max-width:280px;word-break:break-word;cursor:help}.td-success-detail{font-size:11px;color:#16a34a;margin-top:4px;line-height:1.3;max-width:280px;cursor:help}.btn-download{background:#1d4ed8;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;gap:6px}.btn-download:hover{background:#1e40af}.td-code{font-size:13px;font-weight:600;color:#059669;font-variant-numeric:tabular-nums}.td-duration{font-size:13px;color:#64748b;font-variant-numeric:tabular-nums}.detail-value-code{font-weight:600;color:#059669}.td-expand{text-align:center;font-size:11px;color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none}.row-expandable{cursor:pointer}.row-expandable:hover{background:#fff7ed!important}.workflow-selector{text-align:center;margin-bottom:8px;width:100%}.workflow-selector h3{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:16px}.workflow-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.workflow-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:24px 20px;cursor:pointer;transition:all .2s ease;text-align:center}.workflow-card:hover{border-color:#e8752a;background:#fff7ed;transform:translateY(-2px);box-shadow:0 4px 12px #e8752a26}.workflow-icon{font-size:36px;margin-bottom:12px}.workflow-title{font-size:16px;font-weight:700;color:#1e293b;margin-bottom:8px}.workflow-desc{font-size:13px;color:#64748b;line-height:1.4;margin-bottom:12px}.workflow-steps-preview{font-size:12px;font-weight:600;color:#e8752a;background:#fff7ed;display:inline-block;padding:4px 12px;border-radius:999px}.workflow-badge{font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;background:#eff6ff;color:#1d4ed8;white-space:nowrap}.btn-sm{font-size:12px;padding:6px 12px}.upload-zone{display:flex;align-items:center;gap:16px;padding:32px 40px;border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;cursor:pointer;transition:all .2s ease;width:100%}.upload-zone:hover{border-color:#e8752a;background:#fff7ed}.upload-zone-active{border-color:#e8752a;background:#ffedd5;box-shadow:0 0 0 4px #e8752a1a}.upload-icon{font-size:36px;flex-shrink:0}.upload-text{display:flex;flex-direction:column;gap:4px}.upload-text strong{font-size:16px;color:#1e293b}.upload-text span{font-size:13px;color:#64748b}.checkbox-cell{width:40px;text-align:center;padding:8px!important}.row-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#E8752A}.row-checkbox:disabled{cursor:not-allowed;opacity:.4}.row-selected{background:#fff7ed!important}.row-selected:hover{background:#ffedd5!important}.row-details td{padding:0 16px 16px;background:#f8fafc;border-bottom:2px solid #e2e8f0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.detail-item{display:flex;gap:8px;align-items:baseline}.detail-item-full{grid-column:1 / -1}.detail-label{font-size:12px;font-weight:600;color:#64748b;white-space:nowrap}.detail-value{font-size:13px;color:#1e293b;word-break:break-word}.status-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}@keyframes pulse{0%,to{background-color:#ffedd5}50%{background-color:#fed7aa}}.row-processing{animation:pulse 1.5s ease-in-out infinite}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:60px 20px;overflow-y:auto}.settings-panel{background:#fff;border-radius:16px;width:100%;max-width:600px;box-shadow:0 20px 60px #00000026;padding:28px;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.settings-header h2{font-size:20px;font-weight:700;color:#0f172a}.settings-close{background:none;border:none;font-size:28px;color:#94a3b8;cursor:pointer;line-height:1;padding:4px;transition:color .2s}.settings-close:hover{color:#ef4444}.settings-error{background:#fee2e2;color:#991b1b;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;border:1px solid #fecaca}.settings-success{background:#d1fae5;color:#065f46;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;border:1px solid #a7f3d0}.settings-loading{text-align:center;padding:40px;color:#64748b}.env-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.env-empty{text-align:center;padding:24px;color:#94a3b8;font-size:14px}.env-card{border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;transition:all .2s}.env-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.env-active{border-color:#e8752a;background:#fff7ed;box-shadow:0 0 0 2px #e8752a1f}.env-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.env-name{font-weight:700;font-size:15px;color:#1e293b;display:flex;align-items:center;gap:8px}.env-badge{background:#e8752a;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.env-url{font-size:12px;color:#64748b;word-break:break-all}.env-actions{display:flex;gap:6px}.btn-env{padding:4px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;background:#fff;transition:all .15s}.btn-activate{color:#e8752a;border-color:#fed7aa}.btn-activate:hover{background:#e8752a;color:#fff}.btn-edit{color:#475569}.btn-edit:hover{background:#f1f5f9}.btn-delete{color:#ef4444;border-color:#fecaca}.btn-delete:hover{background:#ef4444;color:#fff}.btn-add-env{width:100%}.env-form{border:1px solid #e2e8f0;border-radius:12px;padding:20px;background:#f8fafc}.env-form h3{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:16px}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:13px;font-weight:600;color:#475569;margin-bottom:4px}.form-group input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#e8752a;box-shadow:0 0 0 3px #e8752a1f}.form-group input:disabled{background:#f1f5f9;color:#94a3b8}.form-actions{display:flex;gap:10px;margin-top:16px}.env-run-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:14px 20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.env-selector{display:flex;align-items:center;gap:10px;flex:1}.env-selector label{font-size:13px;font-weight:600;color:#475569;white-space:nowrap}.env-selector select{padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;font-weight:500;color:#1e293b;background:#f8fafc;cursor:pointer;flex:1;max-width:500px;transition:border-color .2s}.env-selector select:focus{outline:none;border-color:#e8752a;box-shadow:0 0 0 3px #e8752a1a}.env-selector select:disabled{opacity:.6;cursor:not-allowed}.env-none{font-size:13px;color:#94a3b8;font-style:italic}.run-id-badge{background:linear-gradient(135deg,#e8752a,#f5a623);color:#fff;font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;white-space:nowrap;letter-spacing:.3px}.env-bar-right{display:flex;align-items:center;gap:10px}.token-fresh-badge{font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;white-space:nowrap}.token-fresh-badge.token-ok{background:#d1fae5;color:#065f46}.token-fresh-badge.token-warn{background:#fef3c7;color:#92400e}.settings-page{max-width:700px;margin:0 auto}.env-token-status{margin-top:6px;font-size:12px}.token-indicator{display:inline-flex;align-items:center;gap:4px}.token-indicator.token-ok{color:#059669}.token-indicator.token-warn{color:#d97706}.token-indicator.token-none{color:#94a3b8}.token-user{color:#64748b;font-size:11px}.btn-refresh{color:#e8752a;border-color:#fed7aa}.btn-refresh:hover{background:#e8752a;color:#fff}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.form-section-toggle{display:flex;align-items:center;gap:8px;padding:10px 0;cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:8px;border-top:1px solid #e2e8f0}.toggle-arrow{font-size:11px;color:#64748b;width:14px}.toggle-label{font-size:13px;font-weight:600;color:#475569}.login-fields{border-left:3px solid #E8752A;padding:12px 0 4px 16px;margin-bottom:8px}.form-row{display:flex;gap:12px}.form-half{flex:1}.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;font-size:13px;color:#64748b}.pagination-bar+.material-table{margin-top:0}.table-container>.pagination-bar:last-child{margin-top:8px;margin-bottom:0}.pagination-controls{display:flex;align-items:center;gap:6px}.pagination-page{font-weight:500;color:#1e293b;padding:0 8px}.btn-pagination{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;font-size:13px;cursor:pointer;color:#475569;transition:all .15s}.btn-pagination:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.btn-pagination:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:12px}.ai-insights-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:16px;overflow:hidden}.ai-insights-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #e2e8f0}.ai-insights-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.ai-insights-title{font-weight:600;font-size:15px;color:#0f172a;display:flex;align-items:center;gap:8px}.ai-insights-toggle{font-size:12px;color:#94a3b8}.ai-insights-body{padding:20px}.ai-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:16px;line-height:1.6;font-size:14px;color:#334155;white-space:pre-wrap}.ai-decisions-section{margin-top:16px}.ai-decisions-title{font-weight:600;font-size:14px;color:#0f172a;margin-bottom:10px}.ai-decision-group{margin-bottom:12px}.ai-decision-category{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;margin-bottom:6px}.ai-category-auth_expired{background:#fef3c7;color:#92400e}.ai-category-db_lock{background:#fee2e2;color:#991b1b}.ai-category-validation{background:#dbeafe;color:#1e40af}.ai-category-network{background:#fce7f3;color:#9d174d}.ai-category-rate_limit{background:#ede9fe;color:#5b21b6}.ai-category-unknown{background:#f1f5f9;color:#475569}.ai-decision-item{padding:8px 12px;background:#f8fafc;border-radius:6px;margin-bottom:4px;font-size:13px;color:#475569}.ai-loading{text-align:center;padding:24px;color:#94a3b8;font-size:14px}.ai-error{text-align:center;padding:16px;color:#ef4444;font-size:13px;display:flex;align-items:center;justify-content:center;gap:10px}.ai-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid #e2e8f0;padding-bottom:0}.ai-tab{padding:8px 16px;border:none;background:none;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.ai-tab:hover{color:#334155;background:#f8fafc}.ai-tab-active{color:#e8752a;border-bottom-color:#e8752a;font-weight:600}.ai-tab-content{min-height:80px}.ai-live-counters{display:flex;gap:12px;margin-bottom:16px}.ai-counter-card{flex:1;text-align:center;padding:12px 8px;border-radius:8px;border:2px solid;background:#fafafa}.ai-counter-num{font-size:24px;font-weight:700;line-height:1.2}.ai-counter-label{font-size:11px;font-weight:600;text-transform:uppercase;color:#64748b;margin-top:4px}.ai-latest-classification{padding:10px 14px;background:#f8fafc;border-radius:8px;font-size:13px;margin-bottom:12px;border-left:3px solid #E8752A}.ai-latest-label{font-weight:600;color:#64748b}.ai-retryable-badge{display:inline-block;padding:1px 8px;border-radius:10px;background:#ecfdf5;color:#059669;font-size:11px;font-weight:600;margin-left:6px}.ai-retry-btn{padding:4px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;color:#475569;cursor:pointer;transition:all .2s}.ai-retry-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.ai-history-content{display:flex;flex-direction:column;gap:16px}.ai-history-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px}.ai-history-section-title{font-weight:600;font-size:13px;color:#0f172a;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.ai-history-section p{font-size:14px;color:#334155;line-height:1.6;margin:0}.ai-history-list{list-style:none;padding:0;margin:0}.ai-history-list li{padding:6px 0;font-size:13px;color:#475569;border-bottom:1px solid #e2e8f0;line-height:1.5}.ai-history-list li:last-child{border-bottom:none}.ai-inline-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;margin-left:6px;vertical-align:middle}.delete-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.delete-confirm-dialog{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 60px #00000026}.delete-confirm-dialog h4{margin-bottom:8px;font-size:16px;color:#1e293b}.delete-confirm-dialog p{color:#64748b;font-size:14px;margin-bottom:16px}.delete-confirm-actions{display:flex;gap:10px;justify-content:flex-end}.image-upload-header{margin-bottom:24px}.image-upload-header h2{font-size:24px;font-weight:700;color:#0f172a}.img-mode-toggle{display:flex;gap:12px;margin-bottom:16px}.img-mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 24px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;font-size:15px;font-weight:600;color:#475569;transition:all .2s ease}.img-mode-btn:hover{border-color:#e8752a;background:#fff7ed}.img-mode-active{border-color:#e8752a;background:#fff7ed;color:#e8752a;box-shadow:0 0 0 3px #e8752a1a}.img-mode-desc{font-size:12px;font-weight:400;color:#94a3b8}.img-mode-active .img-mode-desc{color:#e8752a}.img-history-panel{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.img-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.img-history-header h3{font-size:18px;font-weight:600;color:#1e293b}.status-pending-badge{background:#fef3c7;color:#92400e}.medit-mode-toggle{display:flex;gap:12px;margin-bottom:16px}.medit-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;font-size:15px;font-weight:600;color:#475569;transition:all .2s ease}.medit-mode-btn:hover:not(:disabled){border-color:#e8752a;background:#fff7ed}.medit-mode-btn:disabled{opacity:.5;cursor:not-allowed}.medit-mode-active{border-color:#e8752a;background:#fff7ed;color:#e8752a}.medit-field-preview{font-size:12px;color:#64748b;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.medit-history-panel{margin-top:16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.medit-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.medit-history-header h4{font-size:16px;font-weight:600;color:#1e293b}.medit-run-detail{background:#f8fafc;border-radius:8px;padding:12px;margin-bottom:12px}.medit-run-detail p{font-size:13px;color:#475569;margin-bottom:4px}.msg-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#64748b}.row-failed{background:#fef2f2}.template-download-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 14px;font-size:13px;font-weight:500;color:#e8752a;background:none;border:1px solid #E8752A;border-radius:6px;cursor:pointer;transition:all .15s}.template-download-link:hover{background:#fff7ed;color:#c45f1a}.sap-sync-panel{background:linear-gradient(135deg,#fafbfc,#f1f5f9);border:1px solid #e2e8f0;border-left:4px solid #E8752A;border-radius:10px;padding:24px;margin:16px 0}.sap-sync-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sap-sync-header h3{margin:0;font-size:16px;font-weight:700;color:#1e293b}.sap-sync-stats{display:flex;gap:16px;margin-bottom:16px}.sap-stat{flex:1;text-align:center;background:#fff;border-radius:8px;padding:12px 8px;border:1px solid #e2e8f0}.sap-stat-value{font-size:24px;font-weight:700}.sap-stat-label{font-size:11px;color:#64748b;margin-top:2px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.sap-sync-actions{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.sap-sync-flow{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border-radius:8px;border:1px dashed #cbd5e1;font-size:12px;color:#64748b}.sap-flow-step{padding:3px 10px;background:#f1f5f9;border-radius:4px;font-weight:600;color:#475569}.sap-flow-arrow{color:#cbd5e1;font-weight:700}@media (max-width: 1024px){[role=tablist]{overflow-x:auto!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin}[role=tab]{white-space:nowrap!important;flex-shrink:0!important}.mig-tab-panel-body table,.mig-panel-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}[role=dialog]>div{width:95%!important;max-width:95%!important;max-height:90vh!important}}@media (max-width: 768px){.react-grid-layout{width:100%!important}.react-grid-item{position:relative!important;transform:none!important;width:100%!important;left:0!important}.cx-form-row,.kpi-form-row{flex-direction:column!important;gap:8px!important}.cx-form-row>*,.kpi-form-row>*{width:100%!important;min-width:0!important}.cx-toolbar,.mig-actions{flex-wrap:wrap!important;gap:4px!important}.cx-hide-mobile{display:none!important}[role=dialog]>div{width:100%!important;max-width:100%!important;margin:8px!important;border-radius:12px!important}.mig-tab-panel [role=tablist] [role=tab]{font-size:12px!important;padding:8px 10px!important}.mig-tab-panel-header-actions{flex-wrap:wrap!important;gap:4px!important}.mig-tab-panel-body>div[style*="display: flex"][style*=gap]{flex-wrap:wrap!important}}@media (max-width: 480px){[role=tab]{font-size:11px!important;padding:6px 8px!important}.mig-actions{flex-direction:column!important}.mig-actions button{width:100%!important}.mig-tab-panel-header-actions{flex-direction:column!important;width:100%!important}.mig-tab-panel-header-actions button{width:100%!important}}
