:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1c2430;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}.app-shell{width:min(1440px,100%);margin:0 auto;padding:24px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-header h1{margin:0 0 6px;font-size:28px}.page-header p{margin:0;color:#5d6878}.view-tabs,.market-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.view-tabs{margin-bottom:20px}.view-tabs button,.market-tabs button{min-height:36px;padding:0 12px;border:1px solid #c8d0da;border-radius:8px;background:#fff;color:#263445;cursor:pointer;font:inherit}.market-tabs button:hover{border-color:#8fa0b4}.view-tabs button.active,.market-tabs button.active{border-color:#1f5f99;background:#e7f1fa;color:#123b60;font-weight:600}.state{padding:16px;border:1px solid #d7dde5;border-radius:8px;background:#fff}.state.error{border-color:#d98d8d;color:#8b1f1f}.compact-state{padding:10px 12px;border:1px solid #d7dde5;border-radius:8px;background:#fff;color:#3c4958;font-size:13px}.compact-state.error{border-color:#d98d8d;color:#8b1f1f}.fetch-panel{display:grid;gap:12px;margin-bottom:16px;padding:16px;border:1px solid #d7dde5;border-radius:8px;background:#fff}.fetch-grid{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(90px,130px)) auto auto;gap:12px;align-items:end}.token-field{min-width:0}.checkbox-row{display:flex;align-items:center;gap:8px;min-height:40px;color:#3c4958;font-size:14px;font-weight:600;white-space:nowrap}.checkbox-row input{width:16px;height:16px}.checkbox-group{display:grid;gap:6px}.analysis-layout{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:18px;align-items:start}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:18px;align-items:start}.recommendations-layout,.bets-layout,.review-layout,.world-cup-layout{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:18px;align-items:start}.control-panel,.prediction-panel,.recommendations-panel,.settings-panel,.risk-summary{border:1px solid #d7dde5;border-radius:8px;background:#fff}.control-panel{display:grid;gap:12px;padding:16px}.prediction-panel,.recommendations-panel{min-height:360px;overflow:hidden}.recommendation-table{padding:0 18px 18px;overflow-x:auto}.recommendation-table table{min-width:980px;table-layout:auto}.world-cup-table table{min-width:1240px}.world-cup-table td:first-child,.world-cup-table td:nth-child(4),.world-cup-table td:nth-child(5),.world-cup-table td:nth-child(7){display:grid;gap:3px;min-width:150px;text-align:left}.world-cup-table td:nth-child(4){min-width:210px}.world-cup-table td:nth-child(5){min-width:190px}.world-cup-table td:nth-child(7){min-width:170px}.world-cup-table th:first-child,.world-cup-table td:first-child{width:92px;min-width:92px;max-width:110px}.world-cup-table td:first-child small,.world-cup-table td:nth-child(5) small{color:#5d6878;font-size:12px}.fixture-teams span{color:#1d2733;font-size:14px;font-weight:500;line-height:1.35}.focus-actions{display:flex;flex-wrap:wrap;gap:6px}.focus-actions .table-action{min-width:76px;padding:6px 8px}.world-cup-prediction{margin:0 18px 18px;padding-top:14px;border-top:1px solid #edf0f4}.world-cup-prediction .market-title{padding:0 0 12px}.world-cup-prediction h3{margin:0 0 4px;font-size:18px}.recommendation-table td:first-child{display:grid;gap:3px;min-width:180px}.recommendation-table td:first-child small{color:#5d6878;font-size:12px}.review-notes{display:grid;gap:8px;padding:0 18px 16px}.table-heading{margin:0;padding:16px 18px 8px;font-size:15px}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;min-width:96px;padding:3px 8px;border:1px solid #d7dde5;border-radius:8px;background:#f8fafc;color:#3c4958;font-size:12px;font-weight:700;text-transform:capitalize;white-space:nowrap}.status-recommended{border-color:#8ac7a4;background:#ecf8f0;color:#1d6b3a}.status-no_value,.status-blocked_stale_odds,.status-blocked_low_confidence,.status-blocked_risk_limit{border-color:#e5b0a8;background:#fff1ef;color:#8b2d20}.status-watchlist{border-color:#d9c47a;background:#fff9df;color:#735d00}.settings-panel{display:grid;gap:16px;padding-bottom:18px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 18px}.settings-actions,.settings-checkbox{margin:0 18px}.settings-actions{display:flex;justify-content:flex-start}.settings-actions .primary-action{min-width:160px;padding:0 16px}.risk-summary{padding:18px}.risk-summary h2{margin:0 0 14px;font-size:18px}.form-row{display:grid;gap:6px}.form-row label{color:#5d6878;font-size:13px;font-weight:600}.form-row input,.form-row textarea,.form-row select,.event-heading select{width:100%;min-height:38px;padding:0 10px;border:1px solid #c8d0da;border-radius:8px;color:#1c2430;font:inherit}.form-row textarea{min-height:120px;padding:10px;resize:vertical}.form-row input:disabled{background:#eef2f6;color:#7b8695}.compact-metrics{padding:10px 0}.primary-action{min-height:40px;border:1px solid #1f5f99;border-radius:8px;background:#1f5f99;color:#fff;cursor:pointer;font:inherit;font-weight:700}.primary-action:disabled{border-color:#9fb0c2;background:#9fb0c2;cursor:wait}.secondary-action{min-height:38px;border:1px solid #9fb0c2;border-radius:8px;background:#fff;color:#263445;cursor:pointer;font:inherit;font-weight:700}.secondary-action:disabled{color:#8b96a6;cursor:wait}.divider{height:1px;margin:4px 0;background:#e7ebf0}.candidate-list,.mapping-list,.compact-list{display:flex;flex-wrap:wrap;gap:6px}.candidate-list button,.mapping-list span,.compact-list span{min-height:28px;padding:5px 8px;border:1px solid #d7dde5;border-radius:8px;background:#f8fafc;color:#3c4958;font:inherit;font-size:12px}.candidate-list button{cursor:pointer}.candidate-list button:hover{border-color:#8fa0b4}.event-list{display:grid;gap:16px}.event-panel{border:1px solid #d7dde5;border-radius:8px;background:#fff;overflow:hidden}.event-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e7ebf0}.event-heading.flat{border-bottom:0}.event-heading h2{margin:0 0 4px;font-size:18px}.event-heading p,.event-heading span{margin:0;color:#5d6878;font-size:14px}.event-heading select{max-width:190px;flex-shrink:0}.event-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.event-actions button{min-height:34px;padding:0 12px;border:1px solid #1f5f99;border-radius:8px;background:#fff;color:#1f5f99;cursor:pointer;font:inherit;font-weight:700}.table-action{min-height:30px;padding:0 10px;border:1px solid #1f5f99;border-radius:8px;background:#fff;color:#1f5f99;cursor:pointer;font:inherit;font-size:13px;font-weight:700}.table-action:disabled{border-color:#c8d0da;color:#8b96a6;cursor:not-allowed}.event-actions button:hover{background:#e7f1fa}.market-table{padding:14px 18px 18px}.probability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 18px 18px}.probability-tile{display:grid;gap:6px;min-height:108px;padding:14px;border:1px solid #d7dde5;border-radius:8px;background:#f8fafc}.probability-tile span,.probability-tile small{color:#5d6878}.probability-tile strong{font-size:28px}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px}.score-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 18px 18px;padding:12px 14px;border:1px solid #d7dde5;border-radius:8px;background:#fff}.score-strip span{color:#5d6878;font-size:13px}.score-strip strong{font-size:22px}.line-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px}.line-market{border:1px solid #d7dde5;border-radius:8px;background:#fff;overflow:hidden}.line-market h3{margin:0;padding:14px;border-bottom:1px solid #edf0f4;font-size:17px}.team-card{border:1px solid #d7dde5;border-radius:8px;background:#fff;overflow:hidden}.team-card-heading{display:flex;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid #edf0f4}.team-card-heading h3{margin:0 0 4px;font-size:17px}.team-card-heading p,.team-card-heading strong{margin:0;color:#5d6878;font-size:13px}.metric-grid{display:grid;grid-template-columns:1fr auto;gap:10px 14px;padding:14px}.metric-grid span{color:#5d6878}.metric-grid span,.metric-grid strong{font-size:14px}.notes{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 18px}.notes span{padding:7px 10px;border:1px solid #d7dde5;border-radius:8px;background:#f8fafc;color:#3c4958;font-size:13px}.market-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.market-title span{color:#5d6878;font-size:13px}table{width:100%;border-collapse:collapse;table-layout:fixed}th,td{padding:9px 8px;border-bottom:1px solid #edf0f4;text-align:right;font-size:14px}th:first-child,td:first-child{text-align:left;width:40%}th{color:#5d6878;font-weight:600}@media (max-width: 720px){.app-shell{padding:14px}.analysis-layout,.bets-layout,.review-layout,.world-cup-layout,.recommendations-layout,.settings-layout,.settings-grid,.fetch-grid,.probability-grid,.line-grid,.team-grid{grid-template-columns:1fr}.score-strip{display:grid}.event-heading,.market-title{display:block}.event-actions{margin-top:10px}th,td{padding:8px 5px;font-size:12px}}
