:root{color-scheme:dark;--bg:#080b10;--panel:#11171f;--text:#edf1f5;--muted:#9caabc;--gold:#e8c16d;--border:#ffffff16}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0,#4e361e28,transparent 55%),var(--bg);color:var(--text);font:14px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #d9b56166;border-radius:9px;padding:10px 15px;font-weight:650;color:var(--text);background:#15202b}button:hover{border-color:var(--gold)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}input,select,textarea{display:block;width:100%;padding:12px 13px;border:1px solid #405063;border-radius:8px;background:#0a1017;color:white;margin:6px 0 15px}input:focus,select:focus,textarea:focus{outline:2px solid #d9b05d55;border-color:var(--gold)}input[type=checkbox]{display:inline-block;width:auto;margin:0 10px 0 0;accent-color:var(--gold)}textarea{resize:vertical;min-height:125px}label{font-size:12px;color:#cbd6e2}p{color:var(--muted)}h1,h2,h3,h4,p{margin-top:0}h1{font-size:32px;line-height:1.2;margin-bottom:12px;letter-spacing:-.8px}h2{font-size:22px}h3{font-size:18px}.eyebrow{display:block;font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700;margin-bottom:11px}.gold{background:linear-gradient(115deg,#b88a35,#f9db8c,#d0a144);border:1px solid #f5d586;color:#15110a}.outline{background:transparent;color:#e6ce99;border:1px solid #c3a16166}small{font-size:11px;color:var(--muted)}.top{height:85px;display:flex;align-items:center;gap:38px;padding:12px 32px;border-bottom:1px solid #d1aa592e;background:#090c11;position:sticky;top:0;z-index:20}.top img{width:217px;height:auto}.top>span{font:21px/1.1 Georgia,serif;color:var(--gold)}.top span small{display:block;font:8px system-ui;letter-spacing:2px;margin-top:6px}.top>button{margin-left:auto}.login{max-width:480px;margin:8vh auto;padding:38px}.login .gold{width:100%}.login>small{display:block;text-align:center;margin-top:18px}.panel{background:linear-gradient(120deg,#131b25,#0d131b);border:1px solid var(--border);border-radius:16px;padding:25px;margin-bottom:22px;box-shadow:0 15px 30px #0002}.side{position:fixed;top:85px;bottom:0;left:0;width:215px;padding:27px 16px;background:#0c1118;border-right:1px solid var(--border)}.side nav{display:grid;gap:6px}.side button{text-align:left;background:none;border:1px solid transparent;color:#bac5d5;font-size:12px;padding:11px 12px}.side button.active{background:linear-gradient(90deg,#b4843633,transparent);border-color:#c3a16150;color:#ffe0a0}.sidebar-note{padding:24px 12px;font-size:10px;line-height:1.8}.content{margin-left:215px;padding:34px 32px 70px;max-width:1900px}.heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:24px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.compact input{margin:4px 0 0;padding:8px 10px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.kpi{padding:22px 20px;border-radius:13px;border:1px solid #ffffff12;background:linear-gradient(130deg,#172331,#101720);min-width:0}.kpi small{font-size:10px;text-transform:uppercase;letter-spacing:.9px}.kpi strong{display:block;font-size:32px;line-height:1.4;color:#fff2d1}.kpi p{font-size:11px;margin:4px 0 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.state{display:inline-flex;align-items:center;padding:4px 9px;border-radius:6px;background:#335b4540;color:#a9dabc;font-size:11px}.state.warn{background:#80632633;color:#efd18c}.state.bad{background:#75362944;color:#ebb3a6}.checklist{margin:12px 0 18px;padding-left:20px;color:#d2c39d}.checklist li{padding:5px 0}.line{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:10px 0}.line:last-child{border:0}.line span{flex:1;color:#b8c2cf}.line b{color:#e9ce91}.bar{height:7px;border-radius:8px;background:#273342;overflow:hidden;margin:7px 0 17px}.bar i{display:block;height:100%;background:linear-gradient(90deg,#aa7d39,#f2d185)}.scroll{overflow:auto;max-height:650px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid #ffffff0c;vertical-align:top;max-width:370px;overflow-wrap:anywhere}th{position:sticky;top:0;z-index:1;background:#1a2633;color:#d2dfed;font-size:10px;letter-spacing:.4px;font-weight:650}tbody tr:nth-child(even){background:#ffffff02}.table-tools{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:14px}.table-tools input{max-width:370px;margin:0}.table-tools h2{margin:0}.empty{text-align:center;padding:45px 15px;color:#95a3b4}.empty h3{color:#efce8d}.downloads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.downloads .panel{display:flex;flex-direction:column;margin:0}.downloads button{margin-top:auto}.downloads p{font-size:12px}.notice{border:1px solid #e7b85f44;background:#dcb3550b;color:#decb9f;padding:14px 17px;border-radius:10px;font-size:12px;margin-bottom:20px}.error{color:#f2ac9b;font-size:12px;white-space:pre-line}.success{color:#a1d6b3}.muted{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}.span2{grid-column:1/-1}.check{display:flex;align-items:start;margin:16px 0 22px}.check input{margin-top:5px}.data-map{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 16px}.data-map select{margin-bottom:12px}.sample-table{margin:16px 0}.sample-table td{font-size:11px}.mapping-summary{color:#efcc83;line-height:1.9;padding:12px 0}.pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:18px}.export-line{margin-top:15px}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.filters select{width:auto;margin:0}.question-card h3{font-size:14px;line-height:1.6;min-height:44px}.comment{padding:12px;background:#ffffff04;margin-bottom:8px;border-radius:8px}.comment p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;margin:4px 0}.code{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.3px;color:#efce8e}#message:not(:empty){padding:12px 18px;margin-bottom:20px;border:1px solid #a47b3a;border-radius:8px;color:#f2d195}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:13px 22px;background:#15212e;border:1px solid #d5ac5b66;border-radius:10px;max-width:90%;opacity:0;pointer-events:none;transition:.2s;z-index:100}#toast.show{opacity:1;transform:translate(-50%,0)}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}details summary{cursor:pointer;color:var(--gold)}details{margin:10px 0}[hidden]{display:none!important}
@media(max-width:1100px){.kpis{grid-template-columns:1fr 1fr}.downloads{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.data-map{grid-template-columns:1fr 1fr}.content{padding:28px 22px}.heading{align-items:start}}@media(max-width:720px){.top{height:70px;padding:12px 18px}.top img{width:170px}.top>span{font-size:16px}.top>span small{display:none}.side{position:static;width:auto;padding:12px 15px;border-bottom:1px solid var(--border)}.side .eyebrow,.sidebar-note{display:none}.side nav{display:flex;overflow:auto}.side button{white-space:nowrap}.content{margin:0;padding:26px 16px}.heading{display:block}.heading .actions{margin-top:18px}.kpi strong{font-size:27px}.kpis{gap:10px}.kpi{padding:16px 12px}.panel{padding:20px 16px}.downloads{grid-template-columns:1fr}.form-grid,.data-map{grid-template-columns:1fr}.span2{grid-column:auto}.login{margin:30px 15px}.table-tools{display:block}.table-tools input{margin-top:15px}.top>button{font-size:10px;padding:7px}.pagination{font-size:10px}.pagination button{font-size:10px}}
.linkbutton{display:inline-block;text-decoration:none;padding:10px 15px;border-radius:9px;font-size:12px;margin-bottom:20px}

/* V30 · Scheduled benefits administration */
.promo-intro{display:flex;justify-content:space-between;gap:28px;align-items:center;background:radial-gradient(ellipse at 90% 20%,#a7742430,transparent 70%),#10151b}.promo-intro h2{font-size:30px;margin:4px 0 14px}.promo-intro p{max-width:650px}.promo-counter{display:grid;justify-items:center;gap:9px;min-width:130px}.promo-counter strong{font:700 62px/1 Georgia,serif;color:#f9d47d;text-shadow:0 0 25px #c99b412b}.promo-counter span{font-size:8px;letter-spacing:1.7px;color:#ba9d64}.promo-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.promo-stats article{padding:20px 24px;border:1px solid #b18a413a;border-radius:13px;background:#10151d}.promo-stats span{font-size:9px;letter-spacing:1px;color:#bcae91;display:block}.promo-stats strong{font-size:31px;color:#f0d292}.promo-options{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:22px 0}.promo-option{padding:21px 18px;display:flex;align-items:center;gap:12px;background:#0c111a;border:1px solid #a7803e5c;border-radius:13px;cursor:pointer}.promo-option:has(input:checked){border-color:#edc268;background:linear-gradient(120deg,#322714,#171816)}.promo-option input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:#e9bd63}.promo-option b{display:block;color:#fce4ad;font-size:15px}.promo-option small{display:block;line-height:1.65;font-size:11px;color:#c4bda9;font-weight:400}.promo-option>strong{color:#f5d081;font:600 28px/1 Georgia,serif;margin-left:auto}.promo-time{font-size:11px;color:#bba67e}.promo-enabled{padding:16px 18px;background:#111a20;border-radius:10px;border:1px solid #566b723d;margin:20px 0}.promo-enabled span{font-size:12px}.promo-scope{background:#0b0f15;border-left:3px solid #b68c44;padding:18px 21px;margin:22px 0}.promo-scope strong{color:#f3d296}.promo-scope p{font-size:12px;line-height:1.8;margin:9px 0}.promo-options label{margin:0}#promotionForm{scroll-margin-top:24px}
@media(max-width:760px){.promo-options{grid-template-columns:1fr}.promo-intro h2{font-size:25px}.promo-counter{min-width:70px}.promo-counter strong{font-size:42px}.promo-counter span{display:none}.promo-stats{gap:9px}.promo-stats article{padding:15px}.promo-stats span{font-size:8px}.promo-stats strong{font-size:26px}}
/* V31 amount multiplier is separate from number of plays/tickets. */
.promo-options{grid-template-columns:repeat(3,minmax(0,1fr))}.promo-option.amount-benefit{border-color:#d3ad60}.promo-option small{line-height:1.6}
@media(max-width:1050px){.promo-options{grid-template-columns:1fr}}

/* V32: acquisition labels are visible only in administration. */
.state.new-customer{background:#17372c;color:#b4efd1;border:1px solid #4b9c77;padding:5px 9px;white-space:nowrap}

/* V38 detailed reporting */
.r38-table{min-width:1250px}.r38-table td{vertical-align:top;max-width:260px}.r38-detail{min-width:190px}.r38-detail summary{cursor:pointer;color:#f6d383}.r38-detail dl{display:grid;gap:8px;margin-top:15px;max-width:360px}.r38-detail dl>div{border-bottom:1px solid #94703744;padding:5px 0}.r38-detail dt{font-size:10px;color:#c6ad75}.r38-detail dd{margin:0;font-size:12px;overflow-wrap:anywhere}

/* V47 protected promotion controls and accessible report details. */
.benefits47{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.benefit47{background:#10161f;border:1px solid #9e7a414d;border-radius:14px;padding:18px}.benefit47 .check{align-items:start;margin-bottom:18px}.benefit47 b{display:block;color:#ffe2a1;font-size:14px}.benefit47 small{display:block;font-size:12px;line-height:1.6;font-weight:400;color:#c2b8a7;margin-top:7px}.benefit47:has(input:checked){border-color:#ebc773;background:#282218}.benefit47 input[type=number]{max-width:160px;font-size:20px}.preview47{border-left:3px solid #e3b85c;background:#171d24;padding:20px 24px;margin-bottom:24px;line-height:1.7}.preview47 strong{color:#ffe3a7}.preview47 p{margin:5px 0}.preset47{display:flex;align-items:center;justify-content:space-between;gap:20px}.r38-detail dd{white-space:normal;overflow-wrap:anywhere}.r38-detail dl{min-width:220px;max-width:440px}.r38-detail dt{font-size:11px;color:#c9b078;margin-top:14px}.r38-detail dd{margin-left:0}details>summary{cursor:pointer;color:#f4d99b}@media(max-width:1000px){.benefits47{grid-template-columns:1fr}.preset47{align-items:stretch;flex-direction:column}.preview47{padding:16px}}
