:root{color:#172033;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f9}*{box-sizing:border-box}body{margin:0}.loading-screen,.login-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:#fff;border:1px solid #e1e6ef;border-radius:18px;box-shadow:0 18px 44px #0f172a1f;display:grid;gap:1rem;max-width:420px;padding:1.5rem;width:100%}.login-card h1{margin:0}.login-card p{color:#667085;margin:0}button,input,select{font:inherit}button{border:0;border-radius:8px;background:#1f5eff;color:#fff;cursor:pointer;padding:.65rem .9rem}.button-link{border-radius:8px;background:#1f5eff;color:#fff;display:inline-block;padding:.65rem .9rem}button:disabled{cursor:not-allowed;opacity:.55}button.secondary,.button-link.secondary{background:#e7ebf3;color:#172033}button.danger{background:#c52828;color:#fff}input,select{border:1px solid #ccd4e0;border-radius:8px;padding:.65rem;width:100%}label{display:grid;gap:.35rem;font-weight:600}a{color:#1f5eff;text-decoration:none}.app{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;max-width:100vw;overflow-x:hidden}aside{background:#111827;color:#fff;padding:1.25rem}aside h2{margin-top:0}.user-box{border-bottom:1px solid #243149;border-top:1px solid #243149;display:grid;gap:.6rem;margin:1rem 0;padding:1rem 0}nav{display:grid;gap:.5rem}nav a{border-radius:8px;color:#d7def0;padding:.7rem}nav a.active,nav a:hover{background:#243149;color:#fff}main{min-width:0;max-width:100%;overflow-x:hidden;padding:1.5rem}section{display:grid;gap:1rem;min-width:0;max-width:100%}.stat-grid,.summary-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:1rem 0 1.5rem}.summary-card{background:#fff;border:1px solid #e1e6ef;border-radius:14px;box-shadow:0 8px 24px #0f172a0d;display:grid;gap:.65rem;padding:1rem}.summary-card h3{margin:0}.winner-scanner{font-size:1.25rem;font-weight:700;margin:0}.winner-setting{color:#475467;margin:0}.winner-stats{display:grid;gap:.45rem;margin:0}.winner-stats div{display:flex;justify-content:space-between;gap:1rem}.winner-stats dt{color:#667085;font-weight:500}.winner-stats dd{font-weight:700;margin:0;text-align:right;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.muted{color:#667085}.error-cell{color:#b42318;white-space:normal;max-width:420px;display:inline-block}.log-level{display:inline-block;min-width:4.5rem;font-weight:600;text-transform:uppercase;font-size:.75rem}.log-level-error{color:#b42318}.log-level-warning{color:#b54708}.log-level-info{color:#475467}.stat-card,.panel,.modal{background:#fff;border:1px solid #e1e6ef;border-radius:14px;box-shadow:0 8px 24px #0f172a0d;padding:1rem;min-width:0;max-width:100%}.stat-card{display:grid;gap:.5rem}.stat-card span{color:#667085}.stat-card strong{font-size:1.55rem}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.button-row,.action-row,.inline-actions,.filter-bar,.pager{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;min-width:0;max-width:100%}.filter-bar{align-items:end}.filter-bar>label{flex:1 1 160px;min-width:140px;max-width:220px}.stack{display:grid;gap:.75rem}.scanner-checkbox-grid{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:.75rem 0}.inline-actions button{padding:.35rem .55rem}.filter-bar input:not([type=checkbox]),.filter-bar select{flex:1 1 180px;min-width:180px;width:auto}.filter-bar input[type=date],.filter-bar input[type=number]{flex:0 1 170px}.filter-bar button{flex:0 0 auto}.filter-bar .inline-check,.filter-bar .checkbox-row{align-items:center;display:flex;flex:0 0 auto;gap:.4rem}.filter-bar input[type=checkbox]{width:auto}.table-wrap{background:#fff;border:1px solid #e1e6ef;border-radius:14px;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible}table{border-collapse:collapse;min-width:100%;width:100%;white-space:nowrap}th,td{border-bottom:1px solid #edf1f6;padding:.75rem;text-align:left;vertical-align:top}td.wrap-cell,.wrap-cell{white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:42rem;min-width:12rem}th{background:#f8fafc;cursor:pointer;font-size:.85rem;position:sticky;top:0;z-index:1}.error{color:#c52828}.success{color:#147a3c}.modal-backdrop{align-items:center;background:#0f172a8c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0}.modal{max-width:460px;width:90%}.checkbox-row{align-items:center;display:flex;gap:.4rem}.checkbox-row input{width:auto}.scenario-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));min-width:0;max-width:100%}.scenario-card{background:#fff;border:1px solid #e1e6ef;border-radius:14px;box-shadow:0 8px 24px #0f172a0d;cursor:pointer;display:grid;gap:.65rem;min-width:0;padding:1rem;transition:border-color .15s ease,transform .15s ease}.scenario-card:hover{border-color:#9db4ff;transform:translateY(-1px)}.scenario-card.active{border-color:#1f5eff;box-shadow:0 10px 28px #1f5eff24}.scenario-card.comparing{outline:2px solid #0f766e}.scenario-card-top{align-items:start;display:flex;gap:.75rem;justify-content:space-between}.scenario-card h3{margin:0}.scenario-runners{display:grid;gap:.35rem;list-style:none;margin:0;padding:.5rem 0 0;border-top:1px solid #eef1f6}.scenario-runners li{display:grid;gap:.1rem;font-size:.9rem}.scenario-runners li strong{font-size:.92rem}.scenario-chart{background:#fff;border:1px solid #e1e6ef;border-radius:14px;display:grid;gap:.75rem;padding:1rem}.scenario-chart h3{margin:0}.bar-chart{display:grid;gap:.65rem}.bar-row{display:grid;gap:.3rem}.bar-label{display:flex;font-size:.9rem;gap:.75rem;justify-content:space-between;min-width:0}.bar-label strong{min-width:0;overflow-wrap:anywhere;word-break:break-word}.bar-track{background:#eef2f7;border-radius:999px;height:10px;overflow:hidden}.bar-fill{border-radius:inherit;height:100%;min-width:4px}.compare-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.compare-list{display:grid;gap:.55rem;margin:0;padding-left:1.1rem}.compare-list li{display:grid;gap:.15rem}.compare-list span{color:#667085;font-size:.9rem}
