@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";.header-container{flex-direction:column;width:100%;display:flex}.header-top{align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border);background-color:#fff;min-height:56px;padding:0 20px;display:flex}.header-logo{color:var(--text);letter-spacing:-.5px;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0;font-size:22px;font-weight:800}.header-logo span{color:var(--brand-accent)}.header-nav-main{flex-wrap:wrap;flex:1;align-items:center;gap:2px;display:flex}.nav-link{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;padding:8px 12px;font-size:.8125rem;font-weight:600;transition:color .15s,background-color .15s;display:inline-flex}.nav-link:hover{color:var(--text);background:var(--bg-panel)}.nav-link.active{color:#fff;background:var(--brand-primary)}.nav-link:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.nav-sep{background:var(--border);width:1px;height:22px;margin:0 6px}.header-right{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.header-sub{background-color:var(--brand-primary);align-items:center;min-height:52px;padding:0 24px;display:flex}.header-crumb{flex-direction:column;line-height:1.25;display:flex}.crumb-title{color:#fff;font-size:.9375rem;font-weight:700}.crumb-sub{color:#ffffffd1;font-size:.75rem}@media (width<=768px){.header-top{gap:var(--space-2);flex-wrap:wrap;padding:8px 16px}.header-nav-main{order:3;gap:4px;width:100%}.nav-sep{display:none}.header-right{margin-left:auto}}.auth-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out authFadeIn;display:flex;position:fixed;inset:0}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}@keyframes authSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.auth-modal{background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:400px;max-width:90vw;padding:2.5rem;animation:.3s cubic-bezier(.16,1,.3,1) authSlideUp;position:relative;box-shadow:0 20px 50px #0000001a}.auth-modal-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.auth-modal-close:hover{color:#1e293b;background:#e2e8f0}.auth-modal-title{color:#1e293b;text-align:center;margin:0 0 .5rem;font-size:1.5rem;font-weight:800}.auth-modal-subtitle{text-align:center;color:#64748b;margin:0 0 1.5rem;font-size:.9rem}.auth-tabs{background:#f1f5f9;border-radius:10px;margin-bottom:1.5rem;padding:4px;display:flex}.auth-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:.55rem 0;font-size:.85rem;font-weight:600;transition:all .2s}.auth-tab:hover{color:#1e293b}.auth-tab.active{color:#2563eb;background:#fff;box-shadow:0 2px 8px #0000000d}.auth-form-group{margin-bottom:1.25rem}.auth-form-label{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.auth-form-input{color:#1e293b;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:.7rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.auth-form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.auth-form-input::placeholder{color:#94a3b8}.auth-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.75rem;font-size:.95rem;font-weight:700;transition:all .2s;display:flex}.auth-submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 15px #2563eb4d}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-error{color:#ef4444;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.6rem .85rem;font-size:.85rem;display:flex}.header-auth{align-items:center;gap:12px;display:flex}.header-login-btn{border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem 1rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .2s}.header-login-btn:hover{background:var(--bg-panel-2);border-color:var(--border-strong)}.header-login-btn.primary{background:var(--brand-primary);color:#fff;border-color:#0000}.header-login-btn.primary:hover{background:var(--brand-primary-hover);box-shadow:0 4px 12px #0081444d}.header-user-info{color:var(--text);align-items:center;gap:8px;display:flex}.header-username{color:var(--text);font-size:.8rem;font-weight:600}.header-role-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.header-role-badge.admin{color:#c2410c;background:#fff7ed}.header-role-badge.user{background:var(--info-soft);color:var(--info)}.header-logout-btn{background:var(--danger-soft);color:var(--danger);cursor:pointer;border:1px solid #fecaca;border-radius:6px;padding:.35rem .8rem;font-family:inherit;font-size:.75rem;font-weight:600;transition:all .2s}.header-logout-btn:hover{background:#fbd5d5;border-color:#fca5a5}.sidebar-container{width:var(--sidebar-width);height:calc(100vh - var(--header-height));top:var(--header-height);background-color:var(--bg);border-right:1px solid var(--border);padding:var(--space-4) 0;flex-shrink:0;position:sticky;overflow-y:auto}.sidebar-search{margin:0 var(--space-4) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-panel);color:var(--text-secondary);align-items:center;gap:8px;padding:0 10px;transition:border-color .15s,box-shadow .15s;display:flex}.sidebar-search:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-soft);background:var(--bg)}.sidebar-search input{min-width:0;font-family:var(--font-sans);color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:9px 0;font-size:.875rem}.sidebar-search-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:inline-flex}.sidebar-search-clear:hover{color:var(--text);background:var(--bg-panel-2)}.sidebar-section{flex-direction:column;display:flex}.sidebar-section-title{padding:var(--space-2) var(--space-4);letter-spacing:.06em;color:var(--text-secondary);text-transform:uppercase;font-size:.6875rem;font-weight:700}.sidebar-list{flex-direction:column;display:flex}.sidebar-list-item{width:100%;padding:10px var(--space-4);color:var(--text);font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s;display:flex}.sidebar-list-item:hover{background-color:var(--bg-panel)}.sidebar-list-item:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.sidebar-list-item.active{background-color:var(--brand-primary-soft);color:var(--brand-primary);box-shadow:inset 3px 0 0 var(--brand-primary)}.sidebar-list-item .icon-wrapper{color:var(--text-secondary);flex-shrink:0}.sidebar-list-item.active .icon-wrapper{color:var(--brand-primary)}.sidebar-item-label{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}@media (width<=768px){.sidebar-container{display:none}}.main-content{background-color:var(--bg-panel-2);flex-direction:column;flex:1;display:flex}.content-header{background-color:var(--bg);border-bottom:1px solid var(--border-color);display:flex}.nav-tabs{flex:1;display:flex}.tab{padding:var(--space-4) var(--space-5);font-size:var(--font-base);color:#64748b;cursor:pointer;border-bottom:3px solid #0000;font-weight:700;transition:all .2s}.tab:hover{color:var(--text)}.tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.odds-highlights{gap:var(--space-4);padding:0 var(--space-5);align-items:center;display:flex}.highlight{background-color:var(--bg-panel);padding:var(--space-2) var(--space-4);gap:var(--space-2);color:#475569;border:1px solid var(--border);border-radius:4px;font-size:13px;font-weight:600;display:flex}.strikethrough{color:#94a3b8;text-decoration:line-through}.matches-section{padding:var(--space-5);background-color:var(--bg-panel-2);flex-direction:column;flex:1;display:flex}.matches-header{padding:var(--space-3) var(--space-4);color:#fff;text-transform:uppercase;letter-spacing:.05em;background-color:#334155;border-top-left-radius:8px;border-top-right-radius:8px;justify-content:space-between;font-size:12px;font-weight:700;display:flex}.date-title{flex:1}.odds-headers{text-align:center;justify-content:space-around;width:240px;display:flex}.odds-headers div{flex:1}.matches-list{background:var(--bg);border-bottom-right-radius:8px;border-bottom-left-radius:8px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.pagination{margin-top:var(--space-5);padding:var(--space-4);background-color:var(--bg);border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;gap:20px;display:flex}.pagination-btn{padding:var(--space-2) var(--space-4);background-color:var(--brand-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;font-size:13px;font-weight:600;transition:background-color .2s}.pagination-btn:disabled{background-color:var(--border);color:#94a3b8;cursor:not-allowed;opacity:1}.pagination-btn:not(:disabled):hover{background-color:var(--brand-primary-hover)}.page-info{color:var(--text);font-size:var(--font-base);font-weight:700}.loading-state{justify-content:center;align-items:center;gap:var(--space-4);color:#94a3b8;flex-direction:column;padding:60px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.admin-market-panel{margin-bottom:var(--space-5);background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.admin-panel-toggle{width:100%;color:var(--bg);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:#334155;border:none;justify-content:space-between;align-items:center;padding:14px 20px;font-size:13px;font-weight:700;transition:background .2s;display:flex}.admin-panel-toggle:hover{background:#475569}.admin-panel-toggle svg{transition:transform .2s}.admin-panel-body{padding:var(--space-5);border-top:1px solid var(--border)}.admin-market-form{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.admin-market-form .form-group{gap:var(--space-2);flex-direction:column;display:flex}.admin-market-form label{font-size:var(--font-sm);color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.admin-market-form input{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);outline:none;padding:.55rem .75rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.admin-market-form input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px #0081441a}.admin-panel-actions{gap:var(--space-3);margin-top:var(--space-2);grid-column:1/-1;align-items:center;display:flex}.admin-btn-create{align-items:center;gap:var(--space-2);background:var(--brand-primary);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .2s;display:inline-flex}.admin-btn-create:hover:not(:disabled){background:var(--brand-primary-hover)}.admin-btn-create:disabled{cursor:not-allowed;background:#94a3b8}.admin-btn-clear{align-items:center;gap:var(--space-2);background:var(--danger);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .2s;display:inline-flex}.admin-btn-clear:hover:not(:disabled){background:var(--danger)}.admin-btn-clear:disabled{cursor:not-allowed;background:#94a3b8}.admin-feedback{border-radius:var(--radius-sm);grid-column:1/-1;padding:.75rem 1rem;font-size:.85rem;font-weight:600}.admin-feedback.success{color:var(--success);background:#dcfce7;border:1px solid #bbf7d0}.admin-feedback.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.admin-danger-zone{background:#fff5f5;border:2px solid #fecaca;border-radius:8px;margin-top:28px;overflow:hidden}.admin-danger-zone-header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:#b91c1c;text-transform:uppercase;letter-spacing:.05em;background:#fef2f2;border-bottom:1px solid #fecaca;font-size:.8rem;font-weight:700;display:flex}.admin-danger-zone-body{padding:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.admin-danger-zone-body p{color:#7f1d1d;flex:1;min-width:200px;margin:0;font-size:.85rem;line-height:1.5}.admin-danger-zone .admin-btn-clear{white-space:nowrap;border:1px solid #f87171}.admin-market-actions{margin-top:var(--space-5);border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;overflow:hidden}.admin-actions-header{align-items:center;gap:var(--space-2);padding:10px var(--space-4);background:var(--bg-panel-2);color:#334155;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);font-size:.8rem;font-weight:700;display:flex}.admin-action-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--bg-panel-2);display:flex}.admin-action-row:last-child{border-bottom:none}.admin-action-row label{font-size:var(--font-sm);color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;min-width:90px;font-weight:700}.admin-action-input-group{gap:var(--space-2);flex:1;align-items:center;display:flex}.admin-action-input-group input{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);outline:none;flex:1;padding:.45rem .65rem;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.admin-action-input-group input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px #0081441a}.admin-btn-action{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;color:var(--bg);border:none;align-items:center;gap:5px;padding:.45rem .85rem;font-size:.8rem;font-weight:600;transition:background .2s,opacity .2s;display:inline-flex}.admin-btn-action:disabled{opacity:.5;cursor:not-allowed}.admin-btn-action-danger{background:var(--danger);border:1px solid #f87171}.admin-btn-action-danger:hover:not(:disabled){background:var(--danger)}.admin-btn-action-reset{background:var(--warning);border:1px solid #fbbf24}.admin-btn-action-reset:hover:not(:disabled){background:var(--warning)}.admin-btn-seed{align-items:center;gap:var(--space-2);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:#6366f1;border:1px solid #818cf8;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .2s;display:inline-flex}.admin-btn-seed:hover:not(:disabled){background:#4f46e5}.admin-btn-seed:disabled{cursor:not-allowed;background:#94a3b8}.match-row-container{background-color:#fff;border-bottom:1px solid #f1f5f9;min-height:80px;display:flex}.match-info{flex:1;gap:16px;padding:16px;display:flex}.match-time-status{flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;width:40px;display:flex}.minute{color:var(--brand-primary);font-size:11px;font-weight:700}.video-icon{color:#94a3b8;cursor:pointer;border:1px solid #e2e8f0;border-radius:2px;padding:1px 4px;font-size:10px}.teams{flex-direction:column;flex:1;gap:8px;display:flex}.team{align-items:center;gap:8px;display:flex}.team-color-badge{border-radius:1px;width:8px;height:12px}.team-name{color:#1e293b;flex:1;font-size:13px;font-weight:700}.team-score{color:#b45309;text-align:center;width:20px;font-size:14px;font-weight:800}.match-odds{width:240px;display:flex}.odd-box{border:0;border-left:1px solid var(--border);background-color:var(--bg-panel);cursor:pointer;font-family:var(--font-sans);flex:1;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.odd-box:hover{background-color:var(--bg-panel-2)}.odd-box:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.odd-box.active{background-color:var(--brand-primary)}.odd-box.active .odd-value{color:#fff}.odd-value{color:var(--text);font-size:13px;font-weight:700}.market-id-tag{color:#94a3b8;letter-spacing:.02em;padding-top:2px;font-size:10px}.ml-platform-container{box-sizing:border-box;background-color:var(--bg-panel);width:100%;min-height:calc(100vh - 120px);padding:2rem 3rem}.ml-header{text-align:center;margin-bottom:3rem}.ml-title{color:var(--text);letter-spacing:-.025em;background:linear-gradient(to right, var(--text), #3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .75rem;font-size:2.5rem;font-weight:800}.ml-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.125rem;line-height:1.6}.ml-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;display:grid}.ml-card{background:var(--bg);box-shadow:var(--shadow-sm);border:1px solid var(--bg-panel-2);cursor:pointer;z-index:1;border-radius:20px;flex-direction:column;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.ml-card:hover{box-shadow:var(--shadow-lg);border-color:#0000;transform:translateY(-5px)}.ml-card-bg{opacity:.8;z-index:-1;width:100%;height:6px;transition:height .3s;position:absolute;top:0;left:0}.ml-card:hover .ml-card-bg{opacity:.03;height:100%}.ml-card-content{flex-direction:column;flex-grow:1;display:flex}.ml-icon-wrapper{border-radius:var(--radius-lg);background:var(--bg-panel);justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.5rem;transition:all .3s;display:inline-flex}.ml-card:hover .ml-icon-wrapper{background:var(--bg);box-shadow:var(--shadow);transform:scale(1.1)}.ml-step-badge{font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;align-self:flex-start;margin-bottom:.5rem;font-weight:700;display:inline-block}.ml-card-title{color:var(--text);margin:0 0 .75rem;font-size:1.25rem;font-weight:700;transition:color .3s}.ml-card-desc{color:var(--text-secondary);flex-grow:1;margin:0 0 2rem;font-size:.95rem;line-height:1.5}.ml-action-button{border-radius:var(--radius);background:var(--bg-panel-2);color:#475569;cursor:pointer;border:none;justify-content:center;align-items:center;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:all .3s;display:flex}.ml-card:hover .ml-action-button{background:var(--hover-color,#3b82f6);color:#fff;box-shadow:var(--shadow)}.ml-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.ml-modal-content{background:var(--bg);width:90%;max-width:500px;max-height:85vh;box-shadow:var(--shadow-lg);border-radius:20px;padding:2.5rem;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto}.ml-modal-content.wide{max-width:800px}.ml-modal-close{background:var(--bg-panel-2);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.ml-modal-close:hover{background:var(--border);color:var(--text)}.ml-modal-title{font-size:var(--font-lg);color:var(--text);margin:0 0 .5rem;font-weight:700}.ml-modal-subtitle{color:var(--text-secondary);margin:0 0 2rem;font-size:.95rem}.ml-form-group{margin-bottom:1.5rem}.ml-form-label{color:var(--text);margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.ml-form-input{border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;font-size:var(--font-md);color:var(--text);box-sizing:border-box;background:var(--bg);padding:.75rem 1rem;transition:all .2s}.ml-form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.ml-textarea{resize:vertical;min-height:80px;font-family:Courier New,monospace}.ml-form-help{color:var(--text-secondary);margin-top:.4rem;font-size:.8rem;display:block}.ml-btn-submit{background:var(--brand-primary);color:#fff;border-radius:var(--radius);width:100%;font-size:var(--font-md);cursor:pointer;box-shadow:var(--shadow);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.875rem;font-weight:600;transition:all .2s;display:flex}.ml-btn-submit:hover{background:var(--brand-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.ml-btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.ml-result{border-radius:var(--radius);flex-wrap:wrap;align-items:flex-start;gap:.5rem;margin-bottom:1.5rem;padding:1rem;font-size:.9rem;line-height:1.5;display:flex}.ml-result.success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.ml-result.error{background:var(--danger-soft);color:var(--danger);border:1px solid #fecaca}.ml-result-detail{width:100%;margin:.5rem 0 0;font-size:.85rem}.ml-result-detail code{border-radius:var(--radius-sm);background:#0000000f;padding:.15em .4em;font-size:.85em}.ml-link{color:#2563eb;width:100%;font-weight:600;text-decoration:none}.ml-link:hover{text-decoration:underline}.ml-log-output{background:var(--bg-panel);color:var(--text);border-radius:var(--radius);white-space:pre-wrap;word-break:break-all;border:1px solid var(--border);width:100%;max-height:300px;margin:1rem 0;padding:1rem;font-family:Courier New,monospace;font-size:.8rem;line-height:1.4;overflow-y:auto}.ml-table-wrapper{border-radius:var(--radius);border:1px solid var(--border);max-height:300px;margin-bottom:1.5rem;overflow:auto}.ml-data-table{border-collapse:collapse;width:100%;font-size:.8rem}.ml-data-table th{text-align:left;color:#475569;background:#f1f5f9;border-bottom:2px solid #e2e8f0;padding:.5rem .75rem;font-weight:600;position:sticky;top:0}.ml-data-table td{color:#334155;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #f1f5f9;max-width:200px;padding:.4rem .75rem;overflow:hidden}.ml-data-table tr:hover td{background:#f8fafc}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.ml-grid{grid-template-columns:1fr}.ml-platform-container{padding:1.5rem}}.dashboard-container{box-sizing:border-box;background-color:var(--bg);width:100%;min-height:calc(100vh - 120px);color:var(--text);padding:2rem 3rem}.dashboard-header{border-bottom:1px solid var(--bg-panel-2);justify-content:space-between;align-items:flex-end;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.dashboard-title{color:var(--text);letter-spacing:-.025em;margin:0;font-size:1.75rem;font-weight:800}.dashboard-subtitle{color:var(--text-secondary);margin:0;font-size:.9rem;font-weight:500}.btn-refresh{border-radius:var(--radius);background:var(--bg-panel-2);border:1px solid var(--border);color:#475569;cursor:pointer;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.btn-refresh:hover{background:var(--border);color:var(--text)}.dashboard-tabs{background:var(--bg-panel-2);border-radius:var(--radius);gap:.5rem;width:fit-content;margin-bottom:2rem;padding:.4rem;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.tab-btn:hover{color:var(--text)}.tab-btn.active{background:var(--bg);color:var(--text);box-shadow:0 4px 12px #0000000d}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2.5rem;display:grid}.kpi-card{background:var(--bg);border:1px solid var(--border);border-radius:20px;flex-direction:column;justify-content:space-between;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000003}.kpi-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000000d}.kpi-icon{border-radius:var(--radius);color:#3b82f6;background:#3b82f61a;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:1rem;display:inline-flex}.kpi-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:.35rem;font-size:.8rem;font-weight:600}.kpi-value{color:#111827;font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-bottom:.25rem;font-size:1.75rem;font-weight:800}.kpi-change{font-size:.8rem;font-weight:600}.kpi-change.positive{color:#34d399}.kpi-change.negative{color:#f87171}.profit-controls{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-end;gap:1.5rem;margin-bottom:2rem;padding:1.25rem;display:flex}.profit-controls .filter-group{flex-direction:column;gap:.5rem;display:flex}.profit-controls .filter-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:flex}.profit-controls .filter-group input{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);border-radius:8px;outline:none;padding:.5rem .75rem;font-size:.9rem;transition:border-color .2s}.profit-controls .filter-group input:focus{border-color:#3b82f6}.profit-controls .refresh-btn{background:var(--brand-primary);color:var(--bg);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:background .2s;display:flex}.profit-controls .refresh-btn:hover{background:var(--brand-primary-hover)}.charts-grid{grid-template-columns:1fr 1fr;gap:1.25rem;max-width:1200px;margin:0 auto 2.5rem;display:grid}.chart-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;transition:all .3s;box-shadow:0 1px 3px #0000000d}.chart-card:hover{box-shadow:0 10px 15px -3px #0000001a}.chart-card.full-width{grid-column:1/-1}.chart-card-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.chart-card-title{color:var(--text);margin:0;font-size:1rem;font-weight:700}.chart-card-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);color:#60a5fa;background:#3b82f626;padding:.25rem .6rem;font-size:.7rem;font-weight:600}.bets-table-wrapper{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);max-height:480px;margin-top:1rem;overflow:auto}.bets-table{border-collapse:collapse;width:100%}.bets-table th{text-align:left;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--bg-panel-2);padding:1rem;font-size:.75rem;font-weight:700}.bets-table td{color:#475569;border-bottom:1px solid var(--bg-panel-2);padding:1rem;font-size:.9rem}.bets-table tr:hover td{background:var(--bg-panel)}.bets-table tr.expanded td{background:var(--bg-panel);border-bottom:none}.mono-text{color:var(--text-secondary);font-family:JetBrains Mono,Courier,monospace;font-weight:500}.profit-text{font-weight:700}.profit-text.positive{color:var(--success)}.profit-text.negative{color:var(--danger)}.profit-positive{color:var(--success);font-weight:600}.profit-negative{color:var(--danger);font-weight:600}.chart-card-badge.fraud-badge{background:var(--danger-soft);color:var(--danger)}.chart-card-badge.system-badge{color:#2563eb;background:#dbeafe}.chart-card-badge.pipeline-badge{background:var(--ml-soft);color:var(--ml)}.fraud-label-badge{border-radius:var(--radius-sm);letter-spacing:.03em;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.fraud-label-badge.fraud{background:var(--danger-soft);color:var(--danger)}.fraud-label-badge.clean{color:var(--success);background:#d1fae5}.fraud-label-badge.warning{color:#f59e0b;background:#f59e0b26}.score-bar-wrapper{align-items:center;gap:.75rem;min-width:120px;display:flex}.score-bar-bg{background:var(--bg-panel-2);border-radius:3px;flex:1;height:6px;overflow:hidden}.score-bar-fill{border-radius:3px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.score-text{color:#475569;min-width:40px;font-size:.78rem;font-weight:700}.fraud-signal-stack{align-items:center;gap:.35rem;display:flex}.signal-chip{border-radius:var(--radius-pill);border:1px solid #0000;justify-content:center;align-items:center;min-width:56px;padding:.18rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.signal-chip.high{color:#b91c1c;background:var(--danger-soft);border-color:#fecaca}.signal-chip.low{color:#065f46;background:#d1fae5;border-color:#a7f3d0}.fraud-controls-inline{gap:1rem;margin-bottom:1rem;display:flex}.fraud-controls-inline .search-box,.fraud-controls-inline .filter-box{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);color:#94a3b8;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.fraud-controls-inline .search-box{flex:1}.fraud-controls-inline .search-box input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-size:.85rem}.fraud-controls-inline .filter-box select{color:var(--text);cursor:pointer;background:0 0;border:none;outline:none;font-size:.85rem}.reasoning-row td{border-bottom:1px solid var(--bg-panel-2)!important;background:#fffcf0!important;padding:0!important}.reasoning-content-inline{border-left:4px solid var(--warning);padding:1.25rem 1.5rem 1.25rem 3.5rem;animation:.3s ease-out fadeInDown}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.reasoning-header-inline{color:#b45309;letter-spacing:.05em;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.7rem;font-weight:800;display:flex}.reasoning-text-inline{color:#475569;max-width:90%;margin:0 0 1.25rem;font-size:.95rem;line-height:1.6}.fraud-detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;margin-top:.5rem;display:grid}.fraud-detail-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem}.fraud-detail-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);font-size:.7rem;font-weight:700}.fraud-detail-value{color:var(--text);overflow-wrap:anywhere;margin-top:.2rem;font-size:.85rem;font-weight:600}.reasoning-subsection{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;margin-top:.9rem;padding:.7rem .8rem}.reasoning-subtitle{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.35rem;font-size:.72rem;font-weight:700}.reasoning-subtext{color:#334155;white-space:pre-wrap;font-size:.85rem;line-height:1.45}.reasoning-footer-inline{border-top:1px solid var(--bg-panel-2);color:#94a3b8;gap:2rem;padding-top:1rem;font-size:.75rem;display:flex}.reasoning-footer-inline .mono{color:var(--text-secondary);font-family:JetBrains Mono,monospace}.view-details-btn{color:#2563eb;border-radius:var(--radius-sm);cursor:pointer;background:#eff6ff;border:1px solid #3b82f633;padding:.25rem .6rem;font-size:.75rem;font-weight:600;transition:all .2s}.view-details-btn:hover{background:#dbeafe;border-color:#3b82f666}.create-market-form{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.create-market-form .form-group{flex-direction:column;gap:.5rem;display:flex}.create-market-form label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.create-market-form input{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);border-radius:8px;outline:none;width:100%;padding:.6rem .8rem;font-size:.95rem;transition:border-color .2s}.create-market-form input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.create-market-success{color:#15803d;background-color:#dcfce7;border:1px solid #bbf7d0;border-radius:8px;padding:1rem;font-size:.9rem;font-weight:600}.create-market-btn{background:var(--text);color:var(--bg);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:background .2s;display:inline-flex}.create-market-btn:hover:not(:disabled){background:#334155}.create-market-btn:disabled{cursor:not-allowed;background:#94a3b8}.loader.small{border-width:2px;width:14px;height:14px}.pie-legend{justify-content:center;align-items:center;gap:1.5rem;margin-top:1rem;display:flex}.pie-legend-item{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;display:flex}.pie-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.pie-dot.clean{background:var(--success)}.pie-dot.fraud{background:var(--danger)}@media (width<=1024px){.charts-grid{grid-template-columns:1fr}}@media (width<=640px){.kpi-grid{grid-template-columns:1fr}.dashboard-container{padding:1rem}}.dashboard-loading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;color:var(--success);border-radius:var(--radius-lg);background:#fffc;flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-weight:600;display:flex;position:absolute;inset:0}.loader{border:3px solid var(--bg-panel-2);border-top-color:var(--success);border-radius:50%;width:32px;height:32px;animation:1s ease-in-out infinite spin}.terminal-logs-container{background-color:var(--bg);color:#334155;white-space:pre-wrap;word-break:break-all;border:1px solid var(--border);border-radius:8px;margin-top:.5rem;padding:1rem;font-family:JetBrains Mono,Fira Code,Courier New,Courier,monospace;font-size:.85rem;line-height:1.5;overflow-x:auto;box-shadow:inset 0 1px 2px #0000000a}.terminal-log-line{margin-bottom:.25rem}.terminal-log-line:last-child{margin-bottom:0}.pipeline-controls-inline{align-items:center;gap:1.5rem;padding:1rem 1.5rem;display:flex}.pipeline-search-box{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);color:#94a3b8;flex:1;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.pipeline-search-box input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-size:.85rem}.streaming-logs-section{flex-direction:column;height:calc(100vh - 320px);min-height:400px;display:flex}.sl-controls{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.sl-controls-left{align-items:center;gap:.75rem;display:flex}.sl-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;display:flex}.sl-label select{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;outline:none;padding:.3rem .5rem;font-size:.8rem}.sl-btn{border:1px solid var(--border);cursor:pointer;background:var(--bg);color:#475569;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.sl-btn:hover{border-color:#94a3b8}.sl-btn-connected{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.sl-btn-disconnected{color:var(--danger);background:#fef2f2;border-color:#fecaca}.sl-btn-clear{background:var(--bg);color:var(--text-secondary)}.sl-checkbox{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.35rem;font-size:.8rem;font-weight:500;display:flex}.sl-checkbox input{cursor:pointer}.sl-status{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:flex}.sl-dot{background:var(--danger);border-radius:50%;width:8px;height:8px}.sl-dot.connected{background:var(--success);animation:2s ease-in-out infinite sl-pulse}@keyframes sl-pulse{0%,to{opacity:1}50%{opacity:.5}}.sl-filter-bar{background:var(--bg);border-left:1px solid var(--border);border-right:1px solid var(--border);color:#94a3b8;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.sl-filter-bar input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.85rem}.sl-log-container{border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);background:#0f172a;border-top:none;flex:1;padding:.75rem 1rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.8rem;line-height:1.65;overflow-y:auto}.sl-empty{color:var(--text-secondary);text-align:center;padding:3rem;font-family:inherit;font-size:.9rem}.sl-line{color:var(--border-strong);white-space:pre-wrap;word-break:break-all;border-bottom:1px solid var(--text);padding:1px 0}.sl-pod-tag{margin-right:6px;font-weight:700}.sl-level-error{color:#f87171}.sl-level-warning{color:#fbbf24}.sl-level-debug{color:var(--text-secondary)}.step-view-toggle{border:1px solid #ddd6fe;border-radius:8px;gap:0;margin-left:auto;display:inline-flex;overflow:hidden}.step-view-btn{background:var(--bg);color:#6d28d9;cursor:pointer;border:none;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.step-view-btn.active{background:var(--ml);color:var(--bg)}.step-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;margin-top:.5rem;display:grid}.step-card{background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:8px;padding:.75rem .9rem;box-shadow:0 1px 2px #0000000a}.step-card--adjusted{border-left-color:var(--warning)}.step-card--triggered{border-left-color:#3b82f6}.step-card--blocked{border-left-color:var(--danger)}.step-card--passed{border-left-color:var(--success)}.step-card--skipped{border-left-color:var(--border-strong);opacity:.7}.step-card-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.step-card-title{color:var(--text);font-size:.85rem;font-weight:700}.step-status-pill{text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-pill);white-space:nowrap;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.step-status-pill--passed{color:#047857;background:#d1fae5}.step-status-pill--adjusted{color:#b45309;background:#fef3c7}.step-status-pill--triggered{color:#1d4ed8;background:#dbeafe}.step-status-pill--blocked{background:var(--danger-soft);color:#b91c1c}.step-status-pill--skipped{background:var(--bg-panel-2);color:var(--text-secondary)}.step-card-summary{color:#475569;font-size:.8rem;line-height:1.45}.step-card-tag{text-transform:uppercase;letter-spacing:.03em;background:var(--ml-soft);color:#6d28d9;border-radius:4px;margin-top:.4rem;margin-right:.35rem;padding:.1rem .45rem;font-size:.62rem;font-weight:700;display:inline-block}.step-card-tag--rule{background:var(--rule-soft);color:#0369a1}.step-card-numbers{margin-top:.5rem;font-size:.75rem}.step-card-numbers summary{cursor:pointer;color:var(--ml);-webkit-user-select:none;user-select:none;font-weight:600}.step-card-numbers table{border-collapse:collapse;width:100%;margin-top:.4rem}.step-card-numbers td{border-bottom:1px solid var(--bg-panel-2);vertical-align:top;padding:.15rem .35rem}.step-card-num-key{color:var(--text-secondary);white-space:nowrap}.step-card-num-val{color:#334155;word-break:break-all}.fraud-dashboard{padding:var(--space-6) var(--space-6);color:#e2e8f0;background-color:#0f1117;min-height:calc(100vh - 80px)}.fraud-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.title-section h1{align-items:center;gap:var(--space-4);font-size:var(--font-lg);background:linear-gradient(135deg,#f87171 0%,#ef4444 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-weight:800;display:flex}.title-section p{color:#94a3b8;margin:var(--space-2) 0 0 0;font-size:var(--font-md)}.refresh-btn{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-radius:var(--radius);color:#f87171;cursor:pointer;background:#ef44441a;border:1px solid #ef44444d;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.refresh-btn:hover:not(:disabled){background:#ef444433;transform:translateY(-2px);box-shadow:0 4px 12px #ef444426}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.spinning{animation:1s linear infinite fraud-spin}@keyframes fraud-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fraud-stats-grid{gap:var(--space-5);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{align-items:center;gap:var(--space-5);border-radius:var(--radius-lg);padding:var(--space-5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff08;border:1px solid #ffffff0f;display:flex;position:relative;overflow:hidden}.stat-icon{border-radius:14px;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.stat-icon.total{color:#60a5fa;background:#3b82f61a}.stat-icon.fraud{color:#f87171;background:#ef44441a}.stat-icon.score{color:#c084fc;background:#a855f71a}.stat-icon.latency{color:#fbbf24;background:#f59e0b1a}.stat-info{flex-direction:column;display:flex}.stat-label{color:#94a3b8;font-size:var(--font-base);margin-bottom:var(--space-1);font-weight:500}.stat-value{font-size:var(--font-lg);color:#f1f5f9;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:800}.stat-value.red{color:#f87171}.stat-badge{top:var(--space-4);right:var(--space-4);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:700;position:absolute}.stat-badge.red{color:#f87171;background:#ef444433}.fraud-controls{gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.search-box,.filter-box{align-items:center;gap:var(--space-3);border-radius:var(--radius);padding:0 var(--space-4);color:#94a3b8;background:#ffffff0d;border:1px solid #ffffff1a;display:flex}.search-box{flex:1;height:48px}.search-box input{color:#fff;width:100%;height:100%;font-size:var(--font-base);background:0 0;border:none;outline:none}.filter-box select{color:#fff;cursor:pointer;height:48px;padding-right:var(--space-2);background:0 0;border:none;outline:none}.fraud-table-container{border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;background:#ffffff05;border:1px solid #ffffff0f;overflow:auto hidden}.fraud-table{border-collapse:collapse;width:100%}.fraud-table th{padding:var(--space-5) var(--space-4);text-align:left;font-size:var(--font-sm);text-transform:uppercase;color:#94a3b8;letter-spacing:.05em;background:#ffffff0d;font-weight:700}.fraud-table td{padding:var(--space-4);vertical-align:middle;border-bottom:1px solid #ffffff0d}.fraud-table tr.expanded{background:#ef444408}.expand-cell{cursor:pointer;color:#64748b}.user-cell{font-family:Inter,sans-serif}.user-id{color:#1e293b;font-weight:700}.risk-score-wrapper{align-items:center;gap:var(--space-4);min-width:140px;display:flex}.risk-bar-bg{border-radius:var(--radius-sm);background:#ffffff0d;flex:1;height:8px;overflow:hidden}.risk-bar-fill{border-radius:var(--radius-sm);height:100%}.risk-value{font-size:var(--font-base);font-weight:700}.risk-value.high{color:#f87171}.risk-value.low{color:#10b981}.label-badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius);font-size:var(--font-sm);width:fit-content;font-weight:700;display:flex}.label-badge.fraud{color:#f87171;background:#ef444426;border:1px solid #ef444433}.label-badge.clean{color:#10b981;background:#10b98126;border:1px solid #10b98133}.latency-val{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:var(--font-base)}.batch-val{color:#64748b;font-weight:600}.mono-text{color:#64748b;font-family:JetBrains Mono,monospace;font-size:var(--font-sm)}.view-details{color:#60a5fa;padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--font-sm);cursor:pointer;background:0 0;border:1px solid #3b82f64d;font-weight:600;transition:all .2s}.view-details:hover{background:#3b82f61a}.reasoning-row td{background:#0003;padding:0}.reasoning-content{padding:var(--space-5) var(--space-6) var(--space-5) var(--space-7);border-left:3px solid #ef4444;animation:.3s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.reasoning-header{align-items:center;gap:var(--space-2);color:#94a3b8;font-size:var(--font-sm);text-transform:uppercase;margin-bottom:var(--space-4);font-weight:700;display:flex}.reasoning-text{color:#cbd5e1;line-height:1.6;font-size:var(--font-md);margin-bottom:var(--space-5);max-width:800px}.model-meta{gap:var(--space-6);padding-top:var(--space-5);border-top:1px solid #ffffff0d;display:flex}.meta-item{gap:var(--space-1);flex-direction:column;display:flex}.meta-label{font-size:var(--font-xs);color:#64748b;text-transform:uppercase;font-weight:700}.meta-value{font-size:var(--font-base);color:#94a3b8}.meta-value.mono{font-family:JetBrains Mono,monospace;font-size:var(--font-sm)}.empty-state{color:#64748b;text-align:center!important;padding:var(--space-8) 0!important}.empty-state p{margin-top:var(--space-4);font-size:var(--font-md)}.loader{border:4px solid #ef44441a;border-top-color:#ef4444;border-radius:50%;width:48px;height:48px;margin:0 auto;animation:1s ease-in-out infinite fraud-spin}.error-message{align-items:center;gap:var(--space-4);color:#f87171;padding:var(--space-4) var(--space-5);border-radius:var(--radius);margin-bottom:var(--space-5);background:#ef44441a;border:1px solid #ef444433;display:flex}@media (width<=1280px){.fraud-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.fraud-dashboard{padding:var(--space-4)}.fraud-header{align-items:flex-start;gap:var(--space-5);flex-direction:column}.fraud-stats-grid{grid-template-columns:1fr}.fraud-controls{flex-direction:column}}.fs-container{flex-direction:column;gap:20px;display:flex}.fs-loading,.fs-error{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.fs-retry-btn{color:#1e293b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 16px}.fs-section-nav{background:#f1f5f9;border-radius:10px;gap:4px;width:fit-content;padding:4px;display:flex}.fs-section-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.fs-section-btn:hover{color:#1e293b;background:#e2e8f0}.fs-section-btn.active{color:#fff;background:#7c3aed}.fs-kpi-row{grid-template-columns:repeat(5,1fr);gap:16px;display:grid}.fs-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:4px;padding:16px;display:flex}.fs-kpi-icon{color:var(--kpi-accent,#7c3aed);margin-bottom:4px}.fs-kpi-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.fs-kpi-value{color:#1e293b;font-family:IBM Plex Mono,monospace;font-size:28px;font-weight:700}.fs-filter-bar{align-items:center;gap:12px;display:flex}.fs-search-box{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;align-items:center;gap:8px;max-width:400px;padding:8px 12px;display:flex}.fs-search-box input{color:#1e293b;background:0 0;border:none;outline:none;width:100%;font-size:13px}.fs-search-box input::placeholder{color:#94a3b8}.fs-select{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:13px}.fs-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto}.fs-table{border-collapse:collapse;width:100%;font-size:13px}.fs-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:#64748b;white-space:nowrap;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-size:11px;font-weight:600}.fs-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.fs-table tbody tr:last-child{border-bottom:none}.fs-row{cursor:pointer}.fs-row:hover{background:#7c3aed0a}.fs-row.expanded{background:#7c3aed0f}.fs-table td{color:#1e293b;white-space:nowrap;padding:8px 12px}.fs-feature-name{align-items:center;gap:6px;display:flex}.fs-feature-name code{color:#7c3aed;font-family:IBM Plex Mono,monospace;font-size:12px}.fs-mono{color:#475569;font-family:IBM Plex Mono,monospace;font-size:11px}.fs-owner{color:#64748b}.fs-domain-badge{background:color-mix(in srgb, var(--badge-color,#64748b) 12%, transparent);color:var(--badge-color,#64748b);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.fs-detail-row td{padding:0!important}.fs-detail-panel{background:#f8fafc;border-top:2px solid #7c3aed;padding:16px 24px}.fs-detail-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.fs-detail-item{flex-direction:column;gap:4px;display:flex}.fs-detail-label{text-transform:uppercase;letter-spacing:.5px;color:#64748b;font-size:10px;font-weight:600}.fs-detail-value{color:#1e293b;font-size:13px}.fs-muted{color:#94a3b8;font-style:italic}.fs-tag{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:3px;margin:2px 4px 2px 0;padding:2px 6px;font-size:10px;display:inline-block}.fs-table-footer{color:#64748b;text-align:right;padding:10px 12px;font-size:12px}.fs-lineage{flex-direction:column;gap:20px;display:flex}.fs-section-title{color:#1e293b;margin:0;font-size:16px;font-weight:600}.fs-lineage-graph{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px}.fs-lineage-svg{width:100%;max-width:600px;height:auto;margin:0 auto;display:block}.fs-lineage-svg text{font-family:IBM Plex Mono,monospace}.fs-feature-chip{color:#7c3aed;background:#7c3aed14;border-radius:4px;margin:2px 4px 2px 0;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;display:inline-block}.fs-freshness{flex-direction:column;gap:20px;display:flex}.fs-freshness-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.fs-freshness-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:8px;padding:14px;display:flex}.fs-freshness-name{color:#1e293b;word-break:break-all;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600}.fs-freshness-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fs-freshness-badge{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.fs-freshness-badge.configured{color:#16a34a;background:#22c55e1f}.fs-freshness-cadence{color:#64748b;font-size:11px}.fs-store-mode-badge{letter-spacing:.02em;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.fs-store-mode-badge.dual{color:#059669;background:#0596691f}.fs-store-mode-badge.online{color:#64748b;background:#64748b1f}.fs-kpi-sub{color:#64748b;margin-top:2px;font-size:10px}.fs-freshness-ts{color:#64748b;font-size:11px}.fs-freshness-ts code{color:#7c3aed;font-family:IBM Plex Mono,monospace}.fs-chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px}.fs-chart-title{color:#1e293b;margin:0 0 12px;font-size:14px;font-weight:600}.fs-feast-ui{flex-direction:column;gap:12px;display:flex}.fs-feast-header{justify-content:space-between;align-items:center;display:flex}.fs-iframe-container{border:1px solid #e2e8f0;border-radius:10px;width:100%;height:calc(100vh - 400px);min-height:500px;overflow:hidden}.fs-iframe{background:#fff;border:none;width:100%;height:100%}@media (width<=768px){.fs-kpi-row{grid-template-columns:repeat(2,1fr)}.fs-filter-bar{flex-direction:column}.fs-search-box{max-width:100%}.fs-detail-grid,.fs-freshness-cards{grid-template-columns:1fr}}.fs-section-nav.grouped{background:0 0;flex-wrap:wrap;gap:18px;width:100%;padding:0;display:flex}.fs-nav-group{background:#f1f5f9;border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex}.fs-nav-glabel{text-transform:uppercase;letter-spacing:.6px;color:#94a3b8;padding:0 8px 0 6px;font-size:10px;font-weight:700}.fs-guide{color:#475569;background:#faf5ff;border:1px solid #ede9fe;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.fs-guide-step{align-items:center;gap:6px;display:inline-flex}.fs-guide-step b{color:#fff;background:#7c3aed;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.fs-guide-arrow{color:#c4b5fd;font-weight:700}.fs-guide-offline{color:#b45309;margin-left:auto;font-size:12px;font-weight:600}.fs-entity-lock{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 14px;font-size:13px;display:flex}.fs-entity-lock code{color:#047857;background:#d1fae5;border-radius:4px;padding:1px 6px}.fs-linkbtn{color:#7c3aed;cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:13px;font-weight:600}.fs-role-cell{width:108px}.fs-role{border:1px solid #e2e8f0;border-radius:8px;display:inline-flex;overflow:hidden}.fs-role button{color:#64748b;cursor:pointer;background:#fff;border:none;border-right:1px solid #e2e8f0;padding:4px 9px;font-size:12px;font-weight:700;line-height:1.2}.fs-role button:last-child{border-right:none}.fs-role button:hover:not(:disabled){background:#f8fafc}.fs-role button.active{color:#fff}.fs-role button.active.x{background:#7c3aed}.fs-role button.active.y{background:#16a34a}.fs-role button.active:not(.x):not(.y){background:#94a3b8}.fs-role button:disabled{opacity:.35;cursor:not-allowed}.fs-row.fs-locked{opacity:.5}.fs-row.fs-selected{background:#7c3aed0d}.fs-contrib{min-width:160px}.fs-imp{align-items:center;gap:8px;display:flex}.fs-actionbar{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px 16px;display:flex;position:sticky;bottom:0;box-shadow:0 -2px 10px #0f172a0d}.fs-action-counts{align-items:center;gap:8px;display:flex}.fs-count{color:#64748b;background:#f1f5f9;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.fs-count.x{color:#6d28d9;background:#ede9fe}.fs-count.y{color:#15803d;background:#dcfce7}.fs-count.ent code{color:inherit;background:0 0}.fs-action-btns{align-items:center;gap:10px;display:flex}.fs-action-btns .btn{align-items:center;gap:6px;display:inline-flex}.fs-run-hint{color:#b45309;text-align:right;margin:6px 2px 0;font-size:12px}.fs-runs{min-height:300px}.rm-overlay{z-index:1000;background:#0f172a80;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.rm-modal{color:#1e293b;background:#fff;border-radius:14px;width:100%;max-width:720px;box-shadow:0 20px 60px #0f172a4d}.rm-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.rm-head h3{margin:0;font-size:17px}.rm-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1}.rm-close:hover{color:#475569}.rm-body{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.rm-summary{flex-wrap:wrap;gap:8px;display:flex}.rm-pill{color:#475569;background:#f1f5f9;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.rm-pill.x{color:#6d28d9;background:#ede9fe}.rm-pill.y{color:#15803d;background:#dcfce7}.rm-pill.ent{color:#0369a1;background:#e0f2fe}.rm-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.rm-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.rs-step{border-top:1px dashed #e2e8f0;flex-direction:column;gap:10px;padding-top:6px;display:flex}.rs-step:first-child{border-top:none;padding-top:0}.rs-step-label{text-transform:uppercase;letter-spacing:.5px;color:#7c3aed;font-size:11px;font-weight:700}.rs-map{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow-y:auto}.rs-map-row{justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.rs-col{color:#1e293b;font-family:IBM Plex Mono,monospace;font-size:12px}.rs-map-row select{border:1px solid #cbd5e1;border-radius:8px;padding:5px 8px;font-size:13px}.rs-validation{color:#b45309;text-align:right;margin:0;font-size:12px}.automl-page{color:#1e293b;max-width:1200px;margin:0 auto;padding:1.25rem 1.5rem}.automl-tabs{border-bottom:1px solid #e2e8f0;gap:.5rem;margin-bottom:1.25rem;display:flex}.automl-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.4rem;padding:.6rem .9rem;font-size:.9rem;font-weight:600;display:inline-flex}.automl-tab:hover{color:#334155}.automl-tab.active{color:#7c3aed;border-bottom-color:#7c3aed}.automl-steps{gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.automl-steps li{color:#64748b;background:#f1f5f9;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.82rem;font-weight:600;display:flex}.automl-steps li.active{color:#6d28d9;background:#ede9fe}.automl-steps li.done{color:#15803d;background:#dcfce7}.step-num{background:#00000014;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.72rem;display:inline-flex}.automl-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.automl-help{color:#475569;margin:0 0 1rem;font-size:.9rem}.automl-note{color:#64748b;margin:.5rem 0;font-size:.82rem}.automl-note code,.job-id{background:#f1f5f9;border-radius:4px;padding:.1rem .35rem;font-size:.8rem}.automl-alert{border-radius:8px;margin-bottom:1rem;padding:.6rem .8rem;font-size:.85rem}.automl-alert.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.automl-alert.warn{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.automl-alert.success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.pred-head{justify-content:space-between;align-items:center;gap:.75rem;margin:.25rem 0 .5rem;display:flex}.pred-table-wrap{border:1px solid #e5e7eb;border-radius:8px;max-height:320px;overflow:auto}.pred-table{border-collapse:collapse;width:100%;font-size:.82rem}.pred-table th,.pred-table td{text-align:left;border-bottom:1px solid #f1f5f9;padding:.4rem .6rem}.pred-table thead th{background:#f8fafc;font-weight:600;position:sticky;top:0}.pred-table tbody tr:last-child td{border-bottom:none}.feature-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.feature-group h4{color:#7c3aed;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .5rem;font-size:.8rem}.feature-item{cursor:pointer;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.85rem;display:flex}.feature-name{flex:1}.feature-dtype{color:#94a3b8;font-size:.72rem}.fx-toolbar{align-items:center;gap:.6rem;margin-bottom:.8rem;display:flex}.fx-search{border:1px solid #cbd5e1;border-radius:8px;flex:1;padding:.55rem .7rem;font-size:.85rem}.fx-search:focus{border-color:#7c3aed;outline:none}.fx-clear{padding:.45rem .8rem}.fx-filters{flex-direction:column;gap:.45rem;margin-bottom:.9rem;display:flex}.fx-filter-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.fx-filter-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;min-width:84px;margin-right:.3rem;font-size:.72rem}.fx-chip{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .55rem;font-size:.74rem}.fx-chip.active{color:#6d28d9;background:#ede9fe;border-color:#7c3aed;font-weight:600}.fx-selected{border-bottom:1px dashed #e2e8f0;flex-wrap:wrap;gap:.35rem;margin-bottom:.9rem;padding-bottom:.8rem;display:flex}.fx-selchip{color:#6d28d9;background:#ede9fe;border-radius:6px;align-items:center;gap:.3rem;padding:.18rem .2rem .18rem .5rem;font-size:.74rem;display:inline-flex}.fx-selchip button{color:#6d28d9;cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:.95rem;line-height:1}.fx-groups{flex-direction:column;gap:1rem;display:flex}.fx-group-head{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.fx-group-head h4{color:#7c3aed;text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.78rem}.fx-selectall{color:#7c3aed;cursor:pointer;background:0 0;border:none;font-size:.74rem;font-weight:600}.fx-rows{flex-direction:column;display:flex}.fx-row{cursor:pointer;border-radius:8px;grid-template-columns:18px minmax(120px,1.4fr) auto auto 1.6fr;align-items:center;gap:.6rem;padding:.4rem .5rem;font-size:.85rem;display:grid}.fx-row:hover{background:#f8fafc}.fx-row.sel{background:#f5f3ff}.fx-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.fx-badge{text-transform:uppercase;letter-spacing:.02em;color:#6d28d9;background:#ede9fe;border-radius:4px;padding:.1rem .4rem;font-size:.68rem}.fx-dtype{color:#94a3b8;font-size:.7rem}.fx-imp{align-items:center;gap:.5rem;min-width:0;display:flex}.fx-imp-track{background:#f1f5f9;border-radius:4px;flex:0 0 60px;height:8px;overflow:hidden}.fx-imp-fill{background:#7c3aed;border-radius:4px;height:100%;display:block}.fx-imp-models{flex-wrap:wrap;gap:.25rem;min-width:0;display:flex}.fx-model-chip{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:4px;padding:.1rem .4rem;font-size:.68rem}.fx-imp-none{color:#cbd5e1;font-size:.7rem;font-style:italic}.declare-feats{border-top:1px dashed #e2e8f0;margin-top:.5rem;padding-top:.7rem}.declare-toggle{color:#6d28d9;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:600}.declare-body{flex-direction:column;gap:.6rem;margin-top:.6rem;display:flex}.declare-cols{flex-wrap:wrap;gap:.5rem;display:flex}.declare-col{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.8rem;display:inline-flex}.declare-body .btn{align-self:flex-start}.declare-body a{color:#6d28d9;word-break:break-all}.source-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.source-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.8rem}.source-card.active{border-color:#7c3aed;box-shadow:0 0 0 2px #ede9fe}.source-card strong{margin-bottom:.25rem;font-size:.9rem;display:block}.source-card span{color:#64748b;font-size:.78rem}.label-fields,.automl-model{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;display:grid}.automl-field{color:#475569;flex-direction:column;gap:.3rem;font-size:.82rem;display:flex}.automl-field input,.automl-field select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem .6rem;font-size:.85rem}.automl-field input:focus,.automl-field select:focus{border-color:#7c3aed;outline:none}.automl-review{grid-template-columns:max-content 1fr;gap:.4rem 1rem;font-size:.85rem;display:grid}.automl-review dt{color:#64748b;font-weight:600}.automl-review dd{word-break:break-word;margin:0}.automl-actions{justify-content:space-between;margin-top:1.25rem;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.55rem 1.1rem;font-size:.87rem;font-weight:600}.btn.primary{color:#fff;background:#7c3aed}.btn.primary:disabled{cursor:not-allowed;background:#c4b5fd}.btn.ghost{color:#475569;background:#fff;border-color:#cbd5e1}.btn.ghost:disabled{opacity:.5;cursor:not-allowed}.jobs-layout{grid-template-columns:260px 1fr;gap:1.25rem;display:grid}.jobs-list{flex-direction:column;gap:.4rem;display:flex}.job-row{cursor:pointer;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .7rem;display:flex}.job-row.active{border-color:#7c3aed;box-shadow:0 0 0 2px #ede9fe}.job-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.job-status{text-transform:uppercase;border-radius:999px;padding:.12rem .45rem;font-size:.7rem;font-weight:700}.s-succeeded{color:#15803d;background:#dcfce7}.s-failed{color:#b91c1c;background:#fee2e2}.s-cancelled{color:#64748b;background:#f1f5f9}.s-queued,.s-building_set,.s-training,.s-evaluating,.s-registering,.s-deploying_staging{color:#1d4ed8;background:#dbeafe}.job-detail{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.job-detail-head{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.job-detail-head h3{margin:0}.phase-timeline{flex-wrap:wrap;gap:.35rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.phase-timeline li{color:#94a3b8;text-transform:capitalize;background:#f1f5f9;border-radius:999px;padding:.25rem .55rem;font-size:.72rem}.phase-timeline li.done{color:#15803d;background:#dcfce7}.phase-timeline li.current{color:#1d4ed8;background:#dbeafe;animation:1.5s infinite pulse}.phase-timeline li.failed{color:#b91c1c;background:#fee2e2}@keyframes pulse{50%{opacity:.55}}.result-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;margin-bottom:.8rem;display:grid}.info{flex-direction:column;display:flex}.info span{color:#94a3b8;text-transform:uppercase;font-size:.72rem}.info strong{font-size:.9rem}.metrics-row{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.metric-chip{background:#f1f5f9;border-radius:6px;padding:.25rem .55rem;font-size:.78rem}.job-logs pre{color:#cbd5e1;white-space:pre-wrap;background:#0f172a;border-radius:8px;max-height:240px;padding:.75rem;font-size:.72rem;overflow:auto}.job-logs summary{cursor:pointer;color:#475569;margin-bottom:.5rem;font-size:.82rem}.imp-bars h4{margin:.5rem 0;font-size:.85rem}.imp-row{grid-template-columns:130px 1fr 46px;align-items:center;gap:.5rem;margin-bottom:.3rem;display:grid}.imp-name{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.imp-track{background:#f1f5f9;border-radius:4px;height:12px;overflow:hidden}.imp-fill{background:#7c3aed;border-radius:4px;height:100%}.imp-val{color:#64748b;text-align:right;font-size:.74rem}.imp-method{color:#94a3b8;margin-top:.3rem;font-size:.72rem}.importance-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem;display:grid}.importance-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem}.importance-card header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.importance-card header h3{text-transform:capitalize;margin:0;font-size:1rem}.importance-card header code{color:#94a3b8;margin-left:auto;font-size:.72rem}.dom-dot{border-radius:50%;width:12px;height:12px}.consumed{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.75rem;display:flex}.consumed-label{color:#64748b;font-size:.74rem}.consumed-chip{background:#f1f5f9;border-radius:6px;padding:.15rem .45rem;font-size:.72rem}.consumed-chip.more{color:#6d28d9;background:#ede9fe}.infer-example{border:1px solid #e2e8f0;border-radius:10px;margin-top:1rem;padding:.5rem .8rem}.infer-example>summary{cursor:pointer;color:#6d28d9;font-size:.85rem;font-weight:600}.infer-controls{flex-wrap:wrap;align-items:flex-end;gap:.8rem;margin:.8rem 0 .3rem;display:flex}.infer-host{flex:1;min-width:220px}.pat-reveal{flex-direction:column;gap:.35rem;display:flex}.pat-token{-webkit-user-select:all;user-select:all;word-break:break-all;color:#a5f3fc;background:#1e293b;border-radius:6px;padding:.4rem .5rem;font-size:.78rem}.code-block{margin-top:.7rem}.code-head{color:#64748b;justify-content:space-between;align-items:center;margin-bottom:.25rem;font-size:.74rem;display:flex}.code-copy{cursor:pointer;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.12rem .5rem;font-size:.72rem}.code-block pre{color:#cbd5e1;white-space:pre;background:#0f172a;border-radius:8px;margin:0;padding:.7rem;font-size:.74rem;overflow-x:auto}@media (width<=720px){.jobs-layout{grid-template-columns:1fr}}.simulation-container{box-sizing:border-box;background-color:var(--bg-panel);color:#334155;width:100%;min-height:calc(100vh - 120px);padding:1.5rem 2rem;font-family:inherit}.simulation-header{text-align:left;margin-bottom:2rem}.simulation-title{color:#0f172a;margin:0 0 .25rem;font-size:1.9rem;font-weight:700}.simulation-subtitle{font-size:var(--font-md);color:#64748b;margin:0}.simulation-layout{grid-template-columns:1fr 300px;gap:2rem;max-width:1600px;display:grid}.simulation-main-col{flex-direction:column;gap:1.5rem;display:flex}.mode-tabs{background:var(--bg);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:12px;gap:.5rem;padding:.5rem;display:flex}.mode-tabs .tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.mode-tabs .tab:hover{background:var(--bg-panel);color:#334155}.mode-tabs .tab.active{color:var(--bg);background:linear-gradient(135deg,#3b82f6,#6366f1);border-color:#0000;box-shadow:0 4px 10px -2px #3b82f666}.simulation-form.modern{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px -6px #0f172a40}.form-section{background:var(--bg);border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.form-section.accent-blue{border-top:3px solid #3b82f6}.form-section.accent-green{border-top:3px solid var(--success)}.form-section.accent-purple{border-top:3px solid #a855f7}.section-header{color:#334155;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.section-header.no-margin{margin-bottom:0}.pointer{cursor:pointer}.section-header h3{margin:0;font-size:1.1rem;font-weight:700}.form-row{gap:1.5rem;margin-bottom:1rem;display:flex}.form-row .form-group{flex:1;margin-bottom:0}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1.25rem;display:flex}.form-group.mb-0{margin-bottom:0}.form-group.flex-1{flex:1}.form-group label{color:#475569;font-size:.85rem;font-weight:600}.form-group input,.form-group select{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);box-sizing:border-box;width:100%;padding:.6rem .8rem;font-size:.95rem;transition:border-color .15s}.form-group input:focus,.form-group select:focus{background:var(--bg);border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.json-area{background:var(--bg-panel);color:#4338ca;border:1px solid var(--border-strong);resize:vertical;box-sizing:border-box;border-radius:8px;width:100%;padding:1rem;font-family:JetBrains Mono,Courier,monospace;font-size:.85rem}.json-area:focus{background:var(--bg);border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}.warning-banner{color:#b45309;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem;font-size:.9rem;line-height:1.4;display:flex}.agent-list-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin:2rem 0 1rem;padding-bottom:.75rem;display:flex}.agent-list-header h3{color:#1e3a8a;margin:0;font-size:1.2rem}.agent-list{flex-direction:column;gap:1rem;display:flex}.agent-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.agent-card-header{background:var(--bg-panel-2);border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.agent-num{color:#94a3b8;font-size:.9rem;font-weight:700}.agent-type-select{border:1px solid var(--border-strong);color:#1e3a8a;border-radius:4px;flex:1;padding:.4rem;font-weight:600}.agent-remove-btn{color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:.4rem;display:flex}.agent-remove-btn:hover:not(:disabled){background:#ef44441a}.agent-remove-btn:disabled{color:var(--border-strong);cursor:not-allowed}.agent-card-body{padding:1rem}.agent-stats{gap:1rem;margin-bottom:1rem;display:flex}.btn-primary{color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;background:#3b82f6;border:none;padding:.5rem 1rem;font-weight:600;transition:all .2s}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary.small{padding:.4rem .8rem;font-size:.85rem}.btn-primary.xs{font-size:var(--font-sm);padding:.25rem .5rem}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg);color:#475569;border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.4rem;padding:.5rem 1rem;font-weight:600;display:flex}.btn-secondary:hover:not(:disabled){background:var(--bg-panel);border-color:#94a3b8}.btn-secondary.small{padding:.4rem .8rem;font-size:.85rem}.simulation-submit-btn{width:100%;color:var(--bg);cursor:pointer;background:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 6px -1px #2563eb40}.simulation-submit-btn:hover:not(:disabled){background:#1d4ed8}.simulation-submit-btn:disabled{cursor:not-allowed;box-shadow:none;background:#94a3b8}.rich-result-panel{flex-direction:column;gap:1rem;display:flex}.summary-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}.sc-header{background:var(--bg-panel);border-bottom:1px solid var(--border);padding:1.25rem}.sc-title{align-items:center;gap:1rem;display:flex}.sc-title h3{color:#1e3a8a;margin:0;font-size:1.2rem}.sc-body.grid-4{background:var(--border);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.stat-box{background:var(--bg);flex-direction:column;gap:.4rem;padding:1.25rem;display:flex}.stat-box.outline{border:1px solid var(--border);border-radius:8px}.stat-box span{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.stat-box strong{color:#1e3a8a;font-size:1.25rem}.collapsible-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}.cc-header{background:var(--bg-panel);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.cc-header h4{margin:0;font-size:1.05rem}.cc-body{padding:1.25rem}.cc-body.p-0{padding:0}.pnl-summary-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.settle-ban{text-align:center;color:#b45309;background:#fffbeb;border:1px dashed #fcd34d;border-radius:8px;padding:1rem}.settle-ban p{margin:0 0 .5rem;font-weight:500}.table-wrapper{max-height:400px;overflow-y:auto}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem}.data-table th{background:var(--bg-panel);color:#475569;z-index:10;font-weight:600;position:sticky;top:0}.data-table tbody tr:hover{background:var(--bg-panel)}.mono{font-family:JetBrains Mono,monospace}.bold{font-weight:700}.text-green{color:var(--success)!important}.text-danger{color:var(--danger)!important}.text-warn{color:var(--warning)!important}.badge{background:var(--border);color:#475569;font-size:var(--font-sm);border-radius:4px;padding:.2rem .5rem;font-weight:600}.badge.subdued{background:var(--bg-panel-2);color:#94a3b8}.badge.green{color:var(--success);background:#d1fae5}.badge.yellow{color:var(--warning);background:#fef3c7}.pill{border-radius:var(--radius-pill);font-size:var(--font-sm);padding:.2rem .6rem;font-weight:600}.pill-purple{color:#7e22ce;background:#f3e8ff;border:1px solid #e9d5ff}.pill-blue{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe}.side-pill.Participant1,.side-pill.P1{color:#2563eb;font-weight:700}.side-pill.Participant2,.side-pill.P2{color:var(--danger);font-weight:700}.odds-flux span{background:var(--bg-panel-2);border-radius:4px;padding:2px 6px;font-family:monospace;display:inline-block}.flex-center{align-items:center;display:flex}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mr-2{margin-right:.5rem}.fade-in{animation:.3s ease-in-out fadeIn}.sidebar-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;height:100%;display:flex}.sb-header{border-bottom:1px solid var(--border);color:#1e3a8a;justify-content:space-between;align-items:center;gap:.5rem;padding:1.25rem;display:flex}.sb-header-left{align-items:center;gap:.5rem;display:flex}.sb-header h3{margin:0;font-size:1.1rem}.sb-clear-btn{justify-content:center;min-width:64px}.sb-list{flex-direction:column;flex:1;display:flex;overflow-y:auto}.sb-item{border-bottom:1px solid var(--bg-panel-2);padding:1rem}.sb-item:hover{background:var(--bg-panel)}.sb-item-top,.sb-item-mid{justify-content:space-between;align-items:center;display:flex}.sb-item-top{margin-bottom:.25rem}.sb-item-mid{color:#64748b;font-size:.8rem}.status-dot{border-radius:50%;width:8px;height:8px}.bg-green{background:var(--success)}.bg-yellow{background:var(--warning)}.sb-item-action{gap:.5rem;display:flex}.agent-param-grid{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;margin-top:.5rem;padding:1rem;display:grid}.agent-param-grid label{text-transform:uppercase;letter-spacing:.05em;color:#475569!important;font-size:.8rem!important}.checkbox-align{align-items:center;display:flex}.checkbox-label{color:#334155;cursor:pointer;align-items:center;gap:8px;margin-top:28px;font-weight:600;display:flex}.checkbox-label input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;width:16px;height:16px}.input-xs{font-size:var(--font-sm);border:1px solid var(--border-strong);border-radius:4px;padding:.2rem}.empty-state{text-align:center;color:#94a3b8;padding:2rem;font-size:.9rem}@media (width<=1200px){.simulation-layout{grid-template-columns:1fr}}@media (width<=768px){.simulation-container{padding:1rem}.form-row{flex-direction:column;gap:.75rem}.agent-stats{flex-direction:column}.sc-body.grid-4{grid-template-columns:1fr 1fr}.pnl-summary-grid{grid-template-columns:1fr}}.error-message{color:#b91c1c;word-break:break-all;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:1rem;padding:1rem;font-family:monospace;font-size:.85rem}.sim-page{padding:var(--space-5) var(--space-6);max-width:1400px;color:var(--text);font-size:var(--font-base);margin:0 auto}.sim-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.sim-header h1{margin:0 0 var(--space-1) 0;font-size:var(--font-lg)}.sim-sub{color:var(--text-secondary);font-size:var(--font-base);margin:0}.sim-sub code{background:var(--bg-panel-2);border-radius:var(--radius-sm);font-size:var(--font-sm);padding:0 4px}.sim-mode-toggle{background:var(--bg-panel-2);border-radius:var(--radius);padding:3px;display:inline-flex}.sim-mode-toggle button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);background:0 0;border:none;font-weight:500}.sim-mode-toggle button.active{background:var(--bg);color:var(--text);box-shadow:var(--shadow-sm)}.sim-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.sim-view-tabs-card{padding:var(--space-2)}.sim-view-tabs{gap:var(--space-1);background:var(--bg-panel-2);border-radius:var(--radius);padding:var(--space-1);width:100%;display:flex}.sim-view-tabs button{color:var(--text);padding:var(--space-2) var(--space-4);background:0 0;border:none;flex:1 1 0;justify-content:center;align-items:center;min-width:0;font-weight:600;display:inline-flex}.sim-view-tabs button.active{background:var(--bg);color:var(--text);box-shadow:var(--shadow-sm)}.sim-card h3{margin:0 0 var(--space-3) 0;font-size:var(--font-md);color:var(--text)}.sim-card-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.sim-card-head h3{margin:0}.sim-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.sim-row>*{flex-shrink:0}.sim-pipeline-row{align-items:stretch}.sim-scenario-load-row{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;display:grid}.sim-scenario-load-row>*{min-width:0}.sim-scenario-select{width:100%;min-width:0}.sim-scenario-save-row{margin-top:var(--space-2);grid-template-columns:minmax(170px,220px) minmax(0,1fr) auto;align-items:center;display:grid}.sim-scenario-save-row>*{min-width:0}.sim-scenario-name-input,.sim-scenario-desc-input{width:100%}.sim-sep{background:var(--border);width:1px;height:24px;margin:0 var(--space-2);display:inline-block}.sim-note{margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--font-sm)}.sim-grid{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.sim-grid label{gap:var(--space-1);flex-direction:column;display:flex}.sim-grid label>span{font-size:var(--font-sm);color:var(--text-secondary);font-weight:500}input,select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--font-base);background:var(--bg);color:var(--text);font-family:inherit}input:focus,select:focus{border-color:var(--color-primary,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f626}button{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);background:var(--bg);border-radius:var(--radius-sm);font-size:var(--font-base);cursor:pointer;color:var(--text);font-family:inherit;font-weight:500;display:inline-flex}button:hover:not(:disabled){background:var(--bg-panel)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--text);color:var(--bg);border-color:var(--text)}button.primary:hover:not(:disabled){background:#1e293b}button.danger{color:var(--danger);border-color:#fecaca}button.danger:hover:not(:disabled){background:#fef2f2}button.icon{padding:var(--space-2)}.sim-agents{border-collapse:collapse;width:100%;font-size:var(--font-base)}.sim-agents th{text-align:left;padding:var(--space-2);color:var(--text-secondary);font-weight:500;font-size:var(--font-sm);border-bottom:1px solid var(--border)}.sim-agents td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--bg-panel-2)}.sim-agents input,.sim-agents select{width:100%;padding:var(--space-1) var(--space-2);font-size:var(--font-base)}.sim-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.sim-pipeline-yaml{border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;min-height:280px;padding:var(--space-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--font-sm);resize:vertical;background:var(--bg-panel);color:var(--text);line-height:1.45}.sim-pipeline-yaml:focus{border-color:var(--color-primary,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f626}.sim-runid{color:var(--text-secondary);font-size:var(--font-sm);align-items:center;gap:var(--space-2);margin-left:auto;display:inline-flex}.sim-runid code{background:var(--bg-panel-2);font-size:var(--font-sm);border-radius:3px;padding:2px 6px}.sim-badge{padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-xs);align-items:center;gap:3px;font-weight:600;display:inline-flex}.sim-badge.ok{background:var(--bg-success,#d1fae5);color:#065f46}.sim-badge.warn{background:var(--bg-warning,#fef3c7);color:#92400e}.sim-badge.err{background:var(--bg-error,#fee2e2);color:#991b1b}.sim-hint{color:var(--text-muted,#94a3b8);margin-left:var(--space-1);font-style:normal;font-weight:400}.sim-agent-block{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);background:var(--bg-panel)}.sim-agent-block:last-child{margin-bottom:0}.sim-agent-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.sim-agent-head strong{font-size:var(--font-base);color:var(--text)}.sim-agent-desc{color:var(--text-secondary);font-size:var(--font-sm);flex:1}.sim-subhead{margin-top:var(--space-3);margin-bottom:var(--space-2);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600}.sim-bool{align-items:center!important;gap:var(--space-2)!important;flex-direction:row!important}.sim-bool input[type=checkbox]{width:auto;margin:0}.sim-bool span{font-size:var(--font-base)!important;color:var(--text)!important;font-weight:500!important}.sim-error{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--danger);border-radius:var(--radius-sm);font-size:var(--font-base);background:#fef2f2;border:1px solid #fecaca}.sim-ledger-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;overflow-x:auto}.sim-ledger-table{border-collapse:collapse;width:100%;min-width:760px}.sim-ledger-table th,.sim-ledger-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--bg-panel-2);font-size:var(--font-base)}.sim-ledger-table th{background:var(--bg-panel);color:var(--text-secondary);font-weight:600;font-size:var(--font-sm)}.sim-kpis{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.sim-kpi{padding:var(--space-3) var(--space-4);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius)}.sim-kpi-label{font-size:var(--font-xs);color:var(--text-secondary);font-weight:500}.sim-kpi-value{margin-top:var(--space-1);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.25rem;font-weight:600}.sim-kpi.pos .sim-kpi-value{color:var(--success)}.sim-kpi.neg .sim-kpi-value{color:var(--danger)}.sim-toast{top:var(--space-5);right:var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--font-base);z-index:1000;box-shadow:var(--shadow-lg);font-weight:500;position:fixed}.sim-toast-success{background:var(--success);color:#fff}.sim-toast-error{background:var(--danger);color:#fff}.sim-draft-banner{color:#78350f;background:#fef9c3;border-color:#fde68a}.sim-draft-banner strong{color:#78350f}.sim-step-block{border:1px solid var(--border);border-radius:var(--radius);margin-top:var(--space-2);background:var(--bg-panel)}.sim-step-toggle{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);text-align:left;cursor:pointer;color:var(--text);font-size:var(--font-base);background:0 0;border:none;border-bottom:1px solid #0000;display:flex}.sim-step-toggle:hover{background:var(--bg-panel-2)}.sim-step-toggle strong{flex:none}.sim-step-count{color:var(--text-secondary);font-size:var(--font-sm);margin-left:auto}.sim-step-fields{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--bg)}.sim-step-fields label span{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--font-sm);color:var(--text);word-break:break-all}.sim-leaf-bool{gap:var(--space-2);flex-direction:row!important;align-items:center!important}.sim-step-desc{font-size:var(--font-base);color:var(--text-secondary);background:var(--bg-panel);border-left:3px solid var(--info,#6366f1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-1);grid-column:1/-1;line-height:1.45}.sim-step-fields label span.sim-leaf-label{font-family:inherit;font-size:var(--font-base);color:var(--text);word-break:normal;flex-direction:column;gap:2px;font-weight:600;display:flex}.sim-step-fields label .sim-leaf-help{font-family:inherit;font-weight:400;font-size:var(--font-sm);color:var(--text-secondary);word-break:normal;line-height:1.4}.sim-step-fields label .sim-leaf-path{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--font-xs);color:var(--text-muted,#94a3b8);background:var(--bg-panel-2);padding:1px var(--space-1);opacity:0;border-radius:3px;align-self:flex-start;transition:opacity .15s}.sim-leaf-wrapper:hover .sim-leaf-path,.sim-step-fields label:hover .sim-leaf-path{opacity:1}.sim-leaf-wrapper{display:contents}.rule-explain{margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-2);grid-column:1/-1}.rule-explain-toggle{all:unset;cursor:pointer;font-size:var(--font-sm);color:var(--info,#6366f1);align-items:center;gap:var(--space-1);padding:var(--space-1) 0;font-weight:500;display:inline-flex}.rule-explain-toggle:hover{text-decoration:underline}.rule-explain-body{margin-top:var(--space-1);padding:var(--space-3);background:var(--bg-panel);border-left:3px solid var(--info,#6366f1);border-radius:var(--radius-sm);gap:var(--space-2);font-size:var(--font-sm);flex-direction:column;line-height:1.5;display:flex}.rule-explain-logic{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--font-sm);color:var(--text);background:var(--bg-panel-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);white-space:pre-wrap}.rule-explain-row{color:var(--text-secondary)}.rule-explain-row strong{color:var(--text);font-weight:600}.rule-ref{border:1px solid var(--info-soft,#e0f2fe);border-radius:var(--radius);margin:var(--space-2) 0 var(--space-4);background:#f5f7ff}.rule-ref-toggle{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);cursor:pointer;text-align:left;color:var(--info,#6366f1);background:0 0;border:none;display:flex}.rule-ref-hint{font-size:var(--font-sm);color:var(--info,#6366f1);font-weight:400}.rule-ref-body{gap:var(--space-2);padding:0 var(--space-4) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.rule-ref-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.rule-ref-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.rule-ref-title{font-weight:700;font-size:var(--font-base);color:var(--text)}.rule-ref-tag{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.03em;padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--rule-soft,#e0f2fe);color:var(--rule,#0284c7);font-weight:700}.rule-ref-tag--ml{background:var(--ml-soft,#ede9fe);color:var(--ml,#7c3aed)}.rule-ref-desc{font-size:var(--font-sm);color:var(--text-secondary);line-height:1.45}.rule-ref-controls{width:100%;margin-top:var(--space-2);border-collapse:collapse;font-size:var(--font-sm);table-layout:fixed}.rule-ref-controls td{padding:2px var(--space-1);border-bottom:1px solid var(--bg-panel-2);vertical-align:top;text-overflow:ellipsis;overflow:hidden}.rule-ref-key{color:var(--text-secondary);overflow-wrap:break-word;width:65%;font-family:ui-monospace,Menlo,Consolas,monospace}.rule-ref-val{color:var(--text);text-align:right;text-overflow:ellipsis;white-space:nowrap;width:35%;font-weight:600;overflow:hidden}.rule-ref-error{color:var(--danger);grid-column:1/-1}.sim-runtime-banner{border:2px solid var(--border)}.sim-runtime-banner.production{background:linear-gradient(135deg,#0081440a 0%,#0000 100%);border-color:#00814440}.sim-runtime-banner.custom{background:linear-gradient(135deg,#d977060a 0%,#0000 100%);border-color:#d9770640}.sim-runtime-status{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.sim-runtime-info{align-items:center;gap:var(--space-2);font-size:var(--font-base);flex-wrap:wrap;display:flex}.sim-runtime-indicator{border-radius:50%;flex-shrink:0;width:10px;height:10px}.sim-runtime-indicator.production{background:var(--success);box-shadow:0 0 6px #00814480}.sim-runtime-indicator.custom{background:var(--warning);box-shadow:0 0 6px #d9770680}.sim-runtime-time{color:var(--text-secondary);font-size:var(--font-sm)}.sim-runtime-actions{gap:var(--space-2);flex-shrink:0;display:flex}.sim-btn-apply{background:var(--brand-primary);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;border:none;font-weight:600;transition:background .15s}.sim-btn-apply:hover:not(:disabled){background:var(--brand-primary-hover)}.sim-btn-apply:disabled{opacity:.4;cursor:not-allowed}.sim-btn-restore{color:var(--success);border:1px solid var(--success);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;background:0 0;font-weight:600;transition:all .15s}.sim-btn-restore:hover:not(:disabled){background:#00814414}.sim-btn-restore:disabled{opacity:.4;cursor:not-allowed}@media (width<=900px){.sim-page{padding:var(--space-4)}.sim-scenario-load-row,.sim-scenario-save-row{grid-template-columns:1fr}.sim-scenario-load-row button,.sim-scenario-save-row button{justify-content:center}}.mflow-container{box-sizing:border-box;background-color:var(--bg-panel);width:100%;min-height:calc(100vh - 120px);padding:2rem 3rem}.mflow-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.mflow-title{color:#0f172a;background:linear-gradient(to right, var(--text), #6366f1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:2rem;font-weight:800}.mflow-subtitle{color:#64748b;margin:0;font-size:.95rem}.mflow-last-refresh{color:#94a3b8;font-size:.82rem}.mflow-header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.mflow-alert-badge{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .8rem;font-size:.8rem;font-weight:600;display:flex}.mflow-refresh-btn{background:var(--bg);border:1px solid var(--border);color:#475569;cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.mflow-refresh-btn:hover{background:var(--bg-panel-2);border-color:var(--border-strong)}.mflow-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.mflow-stats-row{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.mflow-stat-card{background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--radius-lg);color:#94a3b8;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.mflow-stat-card.production{border-left-color:var(--success);color:var(--success)}.mflow-stat-card.staging{border-left-color:var(--warning);color:var(--warning)}.mflow-stat-card.accuracy{color:#6366f1;border-left-color:#6366f1}.mflow-stat-value{color:#0f172a;font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-bottom:.2rem;font-size:1.75rem;font-weight:800;line-height:1}.mflow-stat-label{color:#94a3b8;font-size:.78rem;font-weight:500}.mflow-tabs{border-bottom:2px solid var(--border);gap:.25rem;margin-bottom:1.5rem;display:flex}.mflow-tab{font-size:var(--font-base);color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-2px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.mflow-tab:hover{color:#3b82f6;background:var(--bg-panel)}.mflow-tab.active{color:#3b82f6;background:var(--bg);border-bottom-color:#3b82f6}.mflow-section{background:var(--bg);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.5rem}.mflow-error{color:var(--danger);border-radius:var(--radius);font-size:var(--font-base);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.mflow-loading{color:#64748b;justify-content:center;align-items:center;gap:.5rem;padding:3rem;display:flex}.mflow-empty-state{color:#94a3b8;text-align:center;padding:3rem;font-size:.95rem}.mflow-table-wrapper{border-radius:var(--radius);border:1px solid var(--border);overflow-x:auto}.mflow-table{border-collapse:collapse;width:100%;font-size:var(--font-base)}.mflow-table th{background:var(--bg-panel);text-align:left;color:#475569;font-weight:700;font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--border);white-space:nowrap;padding:.7rem 1rem}.mflow-table td{border-bottom:1px solid var(--bg-panel-2);color:#334155;padding:.75rem 1rem}.mflow-table tr:last-child td{border-bottom:none}.mflow-table tr:hover td{background:var(--bg-panel)}.mflow-table tr.row-alert td{background:#fff7ed}.mflow-table tr.row-alert:hover td{background:#fef3c7}.mflow-empty{text-align:center;color:#94a3b8;padding:2.5rem!important}.mflow-model-name{color:var(--text);font-weight:700}.mflow-stage-badge{border-radius:var(--radius-sm);white-space:nowrap;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.stage-production{color:var(--success);background:#dcfce7}.stage-staging{color:var(--warning);background:#fef3c7}.stage-archived{background:var(--bg-panel-2);color:#64748b}.stage-none{background:var(--bg-panel-2);color:#94a3b8}.mflow-accuracy-cell{align-items:center;gap:.5rem;min-width:120px;display:flex}.mflow-accuracy-bar-bg{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.mflow-accuracy-bar{border-radius:3px;height:100%;transition:width .5s}.mflow-accuracy-text{white-space:nowrap;text-align:right;min-width:44px;font-size:.8rem;font-weight:700}.mflow-no-metric{color:var(--border-strong)}.mflow-metric-key{background:var(--bg-panel-2);color:#475569;border-radius:4px;padding:.15rem .45rem;font-size:.72rem}.mflow-run-id{background:var(--bg-panel);color:#6366f1;border-radius:4px;padding:.15rem .45rem;font-size:.72rem}.mflow-date{color:#94a3b8;white-space:nowrap;font-size:.8rem}.mflow-status-ok{color:var(--success);align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;display:inline-flex}.mflow-status-alert{color:var(--danger);align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;display:inline-flex}.mflow-detail-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:#3b82f6;cursor:pointer;white-space:nowrap;align-items:center;gap:.25rem;padding:.3rem .65rem;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.mflow-detail-btn:hover{background:#eff6ff;border-color:#bfdbfe}.mflow-select-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.mflow-select-label{font-size:var(--font-base);color:#374151;white-space:nowrap;font-weight:600}.mflow-select{font-size:var(--font-base);color:#374151;background:var(--bg);cursor:pointer;border:1px solid #d1d5db;border-radius:8px;padding:.5rem .75rem}.mflow-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.mflow-run-input{color:#374151;border:1px solid #d1d5db;border-radius:8px;flex:1;min-width:220px;padding:.5rem .75rem;font-family:Courier New,monospace;font-size:.8rem}.mflow-run-input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}.mflow-chart-title{font-size:var(--font-md);color:var(--text);margin:0 0 1rem;font-weight:700}.mflow-chart-note{color:#94a3b8;margin-top:.5rem;font-size:.78rem}.spin{animation:1s linear infinite mflow-spin}@keyframes mflow-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.mflow-container{padding:1.25rem}.mflow-header{flex-direction:column}.mflow-stats-row{grid-template-columns:repeat(2,1fr)}.mflow-select-row{flex-direction:column;align-items:flex-start}.mflow-run-input{min-width:unset;width:100%}}.drift-detection-container{width:100%;height:calc(100vh - 120px);padding:0;overflow:hidden}.drift-detection-iframe{background:var(--text);border:none;width:100%;height:100%}.fraud-graph-view{gap:var(--space-5);padding:var(--space-5) var(--space-6);color:var(--text);display:flex}.fraud-graph-list{flex:1;min-width:320px;max-width:420px}.fraud-graph-table{border-collapse:collapse;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%}.fraud-graph-table th,.fraud-graph-table td{padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--font-base);border-bottom:1px solid var(--border)}.fraud-graph-table th{background:var(--bg-panel-2);font-size:var(--font-sm);color:var(--text-secondary)}.fraud-graph-table tbody tr{cursor:pointer}.fraud-graph-table tbody tr:hover{background:var(--bg-panel-hover)}.fraud-graph-table tbody tr.selected{background:var(--brand-primary-soft)}.risk-badge{border-radius:var(--radius-pill);color:#fff;font-size:var(--font-xs);padding:2px 8px;font-weight:600;display:inline-block}.risk-badge-high{background-color:var(--danger)}.risk-badge-medium{background-color:var(--warning)}.risk-badge-low{background-color:var(--success)}.fraud-graph-detail{gap:var(--space-4);flex-direction:column;flex:2;display:flex}.fraud-graph-canvas{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-2)}.fraud-graph-signals{gap:var(--space-2);flex-wrap:wrap;display:flex}.signal-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--danger-soft);color:var(--danger);font-size:var(--font-sm);font-weight:600;display:inline-block}.fraud-graph-explanation{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4);font-size:var(--font-base);color:var(--text)}.bet-slip-container{background-color:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:400px;box-shadow:var(--shadow-lg);z-index:100;color:var(--text);flex-direction:column;max-height:80vh;display:flex;position:fixed;bottom:0;right:20%;overflow:hidden}.bet-slip-header-new{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.bet-slip-title-area{align-items:center;gap:8px;display:flex}.selection-count{background-color:var(--brand-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.title-texts{flex-direction:column;display:flex}.header-right-actions{align-items:center;gap:14px;display:flex}.pay-text{flex-direction:column;align-items:flex-end;display:flex}.close-icon-btn{background:var(--bg-panel-2);width:30px;height:30px;color:var(--text);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.close-icon-btn:hover{background:var(--danger-soft);color:var(--danger)}.close-icon-btn:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.selections-list{flex:1;max-height:400px;overflow-y:auto}.selection-item{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.selection-row-top{justify-content:space-between;align-items:center;display:flex}.selection-name{align-items:center;gap:8px;display:flex}.remove-item-btn{width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.remove-item-btn:hover{background:var(--danger-soft);color:var(--danger)}.remove-item-btn:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.selection-odds-input{align-items:center;gap:12px;display:flex}.bet-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);text-align:right;outline:none;width:84px;padding:8px;font-size:14px;transition:border-color .15s,box-shadow .15s}.bet-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-soft)}.selection-details{flex-direction:column;gap:2px;padding-left:30px;font-size:12px;display:flex}.slip-footer{background-color:var(--bg-panel);flex-direction:column;display:flex}.slip-feedback{text-align:center;padding:10px 16px;font-size:12px;font-weight:600}.slip-feedback.success{background:var(--brand-primary-soft);color:var(--brand-primary)}.slip-feedback.error{background:var(--danger-soft);color:var(--danger)}.bet-status-list{border-bottom:1px solid var(--border);flex-direction:column;display:flex}.bet-status-item{align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:600;display:flex}.bet-status-item.pending{color:var(--warning)}.bet-status-item.confirmed{color:var(--brand-primary)}.bet-status-item.denied{color:var(--danger)}.bet-status-item.timeout{color:var(--text-secondary)}.bet-status-icon{flex-shrink:0;align-items:center;display:inline-flex}.bet-status-spin{animation:1s linear infinite bet-spin}@keyframes bet-spin{to{transform:rotate(360deg)}}.bet-status-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bet-status-id{opacity:.7;flex-shrink:0;font-family:Courier New,monospace;font-size:10px}.slip-summary{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.summary-odds-input{align-items:center;gap:12px;display:flex}.summary-odds-list{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:11px;overflow:hidden}.summary-total{color:var(--text);font-size:14px;font-weight:700}.place-bet-big-btn{background-color:var(--brand-primary);color:#fff;cursor:pointer;width:100%;font-family:var(--font-sans);border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:14px 16px;transition:background-color .15s;display:flex}.place-bet-big-btn:hover:not(:disabled){background-color:var(--brand-primary-hover)}.place-bet-big-btn:disabled{opacity:.7;cursor:not-allowed}.place-bet-big-btn:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.place-bet-big-btn .text-xs{opacity:.85}@media (width<=768px){.bet-slip-container{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;left:0;right:0}}.personalized-banner{justify-content:space-between;align-items:center;gap:var(--space-5);background:radial-gradient(120% 140% at 100% 0%, var(--brand-primary-soft) 0%, transparent 55%), var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4);flex-wrap:wrap;padding:22px 26px;display:flex;position:relative;overflow:hidden}.personalized-banner:before{content:"";background:var(--brand-primary);width:4px;position:absolute;top:0;bottom:0;left:0}.pb-content{flex:320px;min-width:0}.pb-ad-image{object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);flex:none;width:180px;height:90px}@media (width<=640px){.pb-ad-image{width:100%;height:auto}}.pb-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--brand-primary);margin-bottom:6px;font-size:.6875rem;font-weight:700;display:inline-block}.pb-title{letter-spacing:-.02em;color:var(--text);margin:0 0 4px;font-size:1.375rem;font-weight:800}.pb-body{color:var(--text-secondary);margin:0;font-size:.9375rem}.pb-actions{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.pb-reward{background:var(--brand-accent-soft);border-radius:var(--radius);border:1px solid #f5d9b3;align-items:center;gap:10px;padding:8px 14px;display:flex}.pb-reward-icon{font-size:1.25rem;line-height:1}.pb-reward-text{flex-direction:column;line-height:1.15;display:flex}.pb-reward-text strong{color:#c2410c;font-size:1.0625rem;font-weight:800}.pb-reward-label{text-transform:uppercase;letter-spacing:.04em;color:#b45309;font-size:.6875rem;font-weight:600}.pb-cta{background:var(--brand-primary);color:#fff;border-radius:var(--radius);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:none;padding:11px 22px;font-size:.875rem;font-weight:700;transition:background-color .15s,box-shadow .15s}.pb-cta:hover{background:var(--brand-primary-hover);box-shadow:0 4px 12px #00814447}.pb-cta:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}@media (width<=640px){.personalized-banner{align-items:flex-start}.pb-actions{justify-content:space-between;width:100%}.pb-cta{text-align:center;flex:1}}:root{--brand-primary:#008144;--brand-primary-hover:#006b38;--brand-primary-soft:#e6f4ee;--brand-accent:#d97706;--brand-accent-soft:#fdf0e1;--bg:#fff;--bg-panel:#f8fafc;--bg-panel-2:#f1f5f9;--bg-inverse:#0f1c17;--text:#1e293b;--border:#e2e8f0;--border-strong:#cbd5e1;--text-inverse:#e7efe9;--success:#008144;--danger:#dc2626;--danger-soft:#fde8e8;--warning:#d97706;--info:#0284c7;--info-soft:#e0f2fe;--ml:#7c3aed;--ml-soft:#ede9fe;--rule:#0284c7;--rule-soft:#e0f2fe;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #0f1c170f;--shadow:0 4px 16px #0f1c1714;--shadow-lg:0 12px 32px #0f1c171f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-xs:.65rem;--font-sm:.75rem;--font-base:.875rem;--font-md:1rem;--font-lg:1.5rem;--bg-primary:var(--bg);--bg-subheader:var(--brand-primary);--bg-panel-hover:var(--bg-panel-2);--bg-black:var(--bg-inverse);--text-primary:var(--text);--text-secondary:#5b6677;--brand-green:var(--brand-primary);--brand-yellow:#f4c20d;--border-color:var(--border);--sidebar-width:248px;--header-height:108px}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;line-height:1.5}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-brand{color:var(--brand-green)}.text-yellow{color:var(--brand-yellow)}.text-secondary{color:var(--text-secondary)}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content-wrapper{flex:1;display:flex}.sports-column{flex-direction:column;flex:1;min-width:0;display:flex}.clickable{cursor:pointer;transition:all .2s}.clickable:hover{background-color:var(--bg-panel-hover)}.divider-x{background-color:var(--border-color);width:100%;height:1px}.tnum{font-variant-numeric:tabular-nums}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);border-radius:var(--radius);cursor:pointer;border:1px solid #0000;padding:10px 16px;font-size:.875rem;font-weight:600;line-height:1;transition:background-color .15s,border-color .15s,color .15s,transform 50ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.btn-primary{background:var(--brand-primary);color:#fff}.btn-primary:hover{background:var(--brand-primary-hover)}.btn-secondary{background:var(--bg);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--bg-panel-2)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.93)}.btn-ghost{color:var(--brand-primary);background:0 0}.btn-ghost:hover{background:var(--brand-primary-soft)}.btn-sm{padding:6px 10px;font-size:.75rem}.btn-lg{padding:13px 22px;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed}.state-block{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);text-align:center;color:var(--text-secondary);flex-direction:column;font-size:.875rem;display:flex}.state-block .state-title{color:var(--text);font-size:.9375rem;font-weight:600}.spinner{border:3px solid var(--border);border-top-color:var(--brand-primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}
