/* Numbers and finances use distinct legends, labels and signs, not colour alone. */
:root{--wave-red:#b82d43;--wave-blue:#1d5db7;--wave-green:#157044}
.login .brand{color:#176948}
.number-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.number-stat{display:flex;align-items:center;gap:8px;border:1px solid #e5eae7;border-radius:8px;padding:10px 6px}.number-stat small,.number-stat b{display:block;font-variant-numeric:tabular-nums}.number-stat b{font-size:12px;margin-top:3px;overflow-wrap:anywhere}.mini-ball{flex-shrink:0;width:27px;height:30px;display:grid;place-items:center;border-radius:5px;font-weight:700}.mini-ball.wave-red{background:#b82d43;color:white}.mini-ball.wave-blue{background:#1d5db7;color:white}.mini-ball.wave-green{background:#157044;color:white}
@media(max-width:1050px){.number-board{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:600px){.number-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
.wave-red{color:var(--wave-red)}.wave-blue{color:var(--wave-blue)}.wave-green{color:var(--wave-green)}
.wave-legend,.settlement-legend{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:12px;margin:14px 0}
.number-choice b{font-size:20px;font-variant-numeric:tabular-nums}.number-choice small{display:block;font-size:10px;color:inherit;margin-top:4px;white-space:nowrap}
.numbers button.wave-red{color:var(--wave-red);background:#fff6f7;border-color:#efccd2}.numbers button.wave-blue{color:var(--wave-blue);background:#f3f7fe;border-color:#cbdcf6}.numbers button.wave-green{color:var(--wave-green);background:#f1f9f5;border-color:#c2e1d0}
.numbers button.chosen{position:relative;box-shadow:0 0 0 2px currentColor;outline-offset:2px}.numbers button.chosen:after{content:'✓';position:absolute;right:3px;top:0;font-size:12px}
.numbers button.wave-red.chosen{background:#fce0e6}.numbers button.wave-blue.chosen{background:#dce9fe}.numbers button.wave-green.chosen{background:#d8f0e3}
.ball.wave-red{color:var(--wave-red);border:2px solid #d4586a;background:#fff5f7}.ball.wave-blue{color:var(--wave-blue);border:2px solid #558ad3;background:#f3f7ff}.ball.wave-green{color:var(--wave-green);border:2px solid #489971;background:#f1faf5}
.number-token{display:inline-flex;flex-direction:column;align-items:center;gap:3px}.number-token>b{font-size:14px;color:#263c31}.number-token small{font-size:10px}
.draw-results{display:grid;grid-template-columns:repeat(7,minmax(58px,1fr));gap:10px;margin:18px 0}.draw-cell{display:flex;flex-direction:column;align-items:center;padding:12px 4px;border:1px solid #e5eae7;border-radius:10px;background:#fcfdfc}.draw-cell.special-cell{border:2px solid #d5b371;background:#fffbf1}.draw-cell.special-cell>small{color:#866324;font-weight:700}
.draw-input-preview{display:flex;justify-content:center;align-items:center;min-height:115px;margin-top:8px;border-radius:8px;background:#f8faf9;color:#8b978f}.draw-history{border-top:1px solid var(--line);padding:14px 0 22px}.draw-history:first-of-type{border-top:0}.draw-grid label{min-width:0}
.result-attributes{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#e7ece8;border:1px solid #e7ece8;border-radius:8px;overflow:hidden;margin-bottom:10px}.result-attributes>div{padding:13px 8px;background:#fafcfb;text-align:center}.result-attributes small,.result-attributes b{display:block}.result-attributes b{margin-top:6px;font-size:14px}
.settle-win{color:#b82d43;font-weight:650}.settle-loss{color:#1d5db7;font-weight:650}.settle-tie{color:#6d7771}.settle-win small,.settle-loss small,.settle-tie small{color:inherit;font-size:11px}.settle-win-bg{background:#fde9ee;color:#b82d43}.settle-loss-bg{background:#eaf1fe;color:#1d5db7}.settle-tie-bg{background:#f0f2f1;color:#6d7771}.statement-cards{grid-template-columns:repeat(3,1fr);margin-top:18px}.statement-cards .value{font-size:24px}
.inline-markets{margin-bottom:16px;flex-wrap:wrap}.settings-shortcuts{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.price-actions,.price-footer{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.price-actions{position:sticky;top:0;background:white;z-index:2;padding:8px 0 16px}.price-actions strong{margin-right:auto}.price-footer{margin-top:20px;justify-content:space-between;font-size:12px;color:var(--muted)}
.price-table table{min-width:760px;table-layout:fixed}.price-table th{text-align:center;color:#40594a;font-weight:600}.price-table .play-label{text-align:left;position:sticky;left:0;background:#f7f9f7;z-index:1;width:150px}.play-label small{display:block;font-size:10px;font-weight:400;margin-top:5px}.price-table td{padding:8px}.price-table input{min-width:80px;padding:10px;margin:0;font-variant-numeric:tabular-nums}.price-table td.dirty{background:#fff5df}.price-table .market-new{background:#e8f3ed}.price-table .market-old{background:#edf2fa}.price-table .market-hk{background:#f7f0e4}.price-table th.wave-red{color:var(--wave-red)}.price-table th.wave-blue{color:var(--wave-blue)}.price-table th.wave-green{color:var(--wave-green)}
.weekday-list{display:flex;flex-wrap:wrap;gap:20px}.weekday-list .check{margin:8px 0 20px}.toolbar{flex-wrap:wrap}dialog{max-height:90vh;overflow:auto}dialog .table-wrap{max-height:50vh}dialog .actions{position:sticky;bottom:-28px;background:white;padding:18px 0}
.price-table table{min-width:640px}.price-table input{min-width:0;padding:9px 6px}.price-table th{padding:12px 6px}.price-table td{padding:6px}.price-table .play-label{width:auto}
@media(max-width:720px){.draw-results{gap:4px;grid-template-columns:repeat(7,minmax(37px,1fr))}.ball{width:33px;height:33px;font-size:16px;margin:3px 0}.draw-cell{padding:8px 0}.result-attributes{grid-template-columns:repeat(2,1fr)}.numbers button{padding:8px 2px}.number-choice small{font-size:9px}.statement-cards{grid-template-columns:repeat(2,1fr)}.price-actions{position:static}.price-table .play-label{width:110px}}
/* 期号生成范围与紧凑期号管理表 */
.scope-row{display:flex;gap:16px;margin:2px 0 8px}
.scope-row .check{display:flex;align-items:center;gap:4px;font-size:13px;margin:0}
.scope-row input{min-height:0;margin:0}
#schedule-form .row{gap:10px;flex-wrap:wrap}
#schedule-form .row label{min-width:150px;flex:1}
#calendar-periods table{font-size:12px}
#calendar-periods td,#calendar-periods th{padding:4px 8px}
#calendar-periods button.small{padding:2px 10px;min-height:24px;font-size:11px}
