:root{color-scheme:light;--bg: #f6f7f9;--surface: #ffffff;--surface-soft: #f0f4f8;--text: #17202a;--muted: #65717f;--line: #d9e0e8;--accent: #126d73;--accent-soft: #dff3f1;--expired: #7a8088;--expired-bg: #eef0f2;--danger: #a33737;--danger-bg: #fde8e8;--shadow: 0 16px 40px rgba(22, 32, 42, .08)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,rgba(18,109,115,.12),transparent 28rem),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}.page-shell{width:min(1440px,100%);margin:0 auto;padding:32px 20px 56px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(2rem,4vw,3.75rem);line-height:1.05;letter-spacing:0}h2{margin-bottom:4px;font-size:1.2rem}.meta-line,.section-note{color:var(--muted)}.meta-line,.section-note{margin-bottom:0}.controls,.table-section{border:1px solid var(--line);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow)}.controls{display:grid;grid-template-columns:max-content minmax(140px,320px);gap:14px;align-items:end;justify-content:space-between;margin-bottom:18px;padding:18px}.field{display:grid;gap:6px}.program-filter{align-self:stretch;min-width:0}.search-field{width:100%;max-width:320px;justify-self:end}.field span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}input,select,button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit}input,select{width:100%;padding:0 12px}.toggle-group{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;min-height:42px;overflow-x:auto}.toggle-button{min-height:34px;padding:0 11px;border-color:#b9d9d8;background:#fff;color:#0c5458;font-size:.82rem;font-weight:400}.toggle-button.active{border-color:var(--accent);background:var(--accent-soft);color:#0c5458}.program-label-short{display:none}button{padding:0 14px;cursor:pointer;font-weight:700}button:hover,input:focus,select:focus{border-color:var(--accent);outline:none}.display-toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;color:var(--muted);font-size:.88rem;font-weight:800;white-space:nowrap}.display-toggle input{width:16px;min-height:0;height:16px;margin:0;accent-color:var(--accent)}.table-section{overflow:hidden}.table-section+.table-section{margin-top:22px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:8px 18px 0;border-bottom:1px solid var(--line);background:#f6f9fb}.section-hint{flex-shrink:0;display:none;margin-bottom:0;color:var(--accent);font-size:.78rem;font-weight:400}.tap-label{display:none}.table-wrap{overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}.bonus-table th:nth-child(1),.bonus-table td:nth-child(1){width:13%}.bonus-table th:nth-child(2),.bonus-table td:nth-child(2){width:32%}.bonus-table th:nth-child(3),.bonus-table td:nth-child(3){width:12%}.bonus-table th:nth-child(4),.bonus-table td:nth-child(4){width:17%}.bonus-table th:nth-child(5),.bonus-table td:nth-child(5){width:26%}.bonus-table.show-details th:nth-child(1),.bonus-table.show-details td:nth-child(1){width:12%}.bonus-table.show-details th:nth-child(2),.bonus-table.show-details td:nth-child(2){width:20%}.bonus-table.show-details th:nth-child(3),.bonus-table.show-details td:nth-child(3){width:9%}.bonus-table.show-details th:nth-child(4),.bonus-table.show-details td:nth-child(4){width:15%}.bonus-table.show-details th:nth-child(5),.bonus-table.show-details td:nth-child(5){width:10%}.bonus-table.show-details th:nth-child(6),.bonus-table.show-details td:nth-child(6){width:34%}th,td{border-top:1px solid var(--line);padding:11px 10px;text-align:left;vertical-align:top}th{background:var(--surface-soft);color:#465461;font-size:.74rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.bonus-table thead{display:none}.sort-button{display:inline-flex;align-items:center;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;text-align:left;text-transform:inherit}.sort-button:hover,.sort-button:focus{color:var(--accent);outline:none}.sort-button.active:after{content:" ↑"}.sort-button[data-sort=bonus].active:after{content:" ↓"}td{font-size:.92rem}tbody tr{background:#fff}tbody tr:nth-child(2n){background:#fbfcfd}tbody tr.expired{background:var(--expired-bg);color:var(--expired)}tbody tr.clickable-row{cursor:pointer}tbody tr.clickable-row:hover,tbody tr.clickable-row:focus{background:#e8f6f4}tbody tr.clickable-row:focus-visible{outline:3px solid rgba(18,109,115,.35);outline-offset:-3px}tbody tr.clickable-row:hover td:first-child,tbody tr.clickable-row:focus td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.partner-name{font-weight:400}.partner-label{display:inline-block;max-width:100%}.partner-label-short{display:none}.date-cell,.days-left-cell{white-space:nowrap}.details-cell{min-width:240px}.notes{margin-top:7px;color:var(--muted);font-size:.84rem}.pill{display:inline-flex;align-items:center;max-width:100%;min-height:26px;padding:3px 9px;border:1px solid transparent;border-radius:999px;font-size:.78rem;font-weight:800;line-height:1.2;white-space:nowrap}.pill.program{border-color:#b9d9d8;background:var(--accent-soft);color:#0c5458;font-weight:400}.pill.type{border-color:#cbd9ec;background:#e9f0fb;color:#284d78;text-transform:capitalize}.pill.bonus{border-color:#f4cf8f;background:#fff3d8;color:#875100;cursor:help}.pill.status{border-color:#d5dce5;background:#f3f5f7;color:#44505c;text-transform:capitalize}.pill.status.cross_checked{border-color:#b9dfc8;background:#e5f7eb;color:#24613a}.sources{margin-top:9px}.sources summary{color:var(--accent);cursor:pointer;font-weight:800}.source-list{display:grid;gap:5px;margin:8px 0 0;padding-left:18px}.source-list a{color:var(--accent);overflow-wrap:anywhere}.details-dialog{width:min(720px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 32px));padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 24px 64px #16202a3d}.details-dialog::backdrop{background:#17202a5c}.details-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.details-dialog-header h2{margin:0}.details-dialog-close{min-height:34px;padding:0 11px;font-size:.82rem}.details-dialog-body{max-height:calc(100vh - 140px);overflow:auto;padding:18px}.details-dialog .details-cell{min-width:0}.message{margin:0 20px 20px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--muted)}.message.error{margin:0 0 18px;border-color:#efb3b3;background:var(--danger-bg);color:var(--danger)}@media(max-width:1080px){.controls{grid-template-columns:max-content minmax(80px,280px)}}@media(max-width:720px){.controls{grid-template-columns:max-content;justify-content:start}.search-field{display:none}}@media(max-width:720px){table{min-width:0}.bonus-table th:nth-child(1),.bonus-table td:nth-child(1){width:21%}.bonus-table th:nth-child(2),.bonus-table td:nth-child(2){width:32%}.bonus-table th:nth-child(3),.bonus-table td:nth-child(3){width:21%}.bonus-table th:nth-child(4),.bonus-table td:nth-child(4){display:none}.bonus-table th:nth-child(5),.bonus-table td:nth-child(5){width:26%}}@media(max-width:720px){.program-label-standard{display:none}.program-label-short{display:inline}}@media(max-width:720px)and (orientation:portrait)and (hover:none)and (pointer:coarse){.bonus-table th:nth-child(1),.bonus-table td:nth-child(1){width:22%}.bonus-table th:nth-child(2),.bonus-table td:nth-child(2){width:25%}.bonus-table th:nth-child(3),.bonus-table td:nth-child(3){width:21%}.bonus-table th:nth-child(5),.bonus-table td:nth-child(5){width:32%}.partner-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partner-label-full{display:none}.partner-label-short{display:inline}}@media(max-width:480px){.controls{padding:14px}.toggle-group{gap:6px;overflow-x:visible}.toggle-button{min-height:32px;padding:0 8px;font-size:.78rem}}@media(hover:none)and (pointer:coarse){.section-hint{display:block}.click-label{display:none}.tap-label{display:inline}}
