:root { --ink:#10243b; --muted:#6f8296; --line:#dde5ed; --blue:#0c6fbd; --red:#db3546; --bg:#f3f6fa; --card:#fff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--bg); }
button,input,select,textarea { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.login-screen { display: grid; min-height: 100vh; padding: 24px; place-items: center; background: radial-gradient(circle at 70% 10%,#0e70bd 0,transparent 35%), linear-gradient(145deg,#06162c,#08284b); }
.login-card { width: min(420px,100%); padding: 34px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; color: #fff; background: rgba(5,20,41,.82); box-shadow: 0 30px 90px rgba(0,0,0,.4); backdrop-filter: blur(18px); }
.admin-brand { display: flex; gap: 11px; align-items: center; color: inherit; text-decoration: none; }
.admin-brand > img { width:42px; height:42px; flex:0 0 auto; border:1px solid rgba(255,255,255,.28); border-radius:50%; object-fit:cover; box-shadow:0 7px 22px rgba(3,92,167,.28); }
.admin-brand p { display: grid; gap: 1px; margin: 0; }
.admin-brand strong { font-size: 14px; letter-spacing: .11em; }
.admin-brand small { font-size: 7px; letter-spacing: .18em; opacity: .65; }
.login-card h1 { margin: 33px 0 7px; font-size: 27px; }
.login-copy { margin: 0 0 26px; color: #90a5bc; font-size: 12px; }
.login-card label { display: block; margin: 14px 0 7px; color: #b9c8d8; font-size: 11px; font-weight: 700; }
.login-card input { width: 100%; height: 45px; padding: 0 13px; outline: none; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; color: white; background: rgba(0,8,21,.5); }
.login-card input:focus { border-color:#2f96e5; box-shadow:0 0 0 3px rgba(47,150,229,.15); }
.form-error { min-height: 18px; margin: 11px 0; color:#ff8490; font-size:11px; }
.oauth-button { display:flex; width:100%; height:46px; gap:12px; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.16); border-radius:9px; color:#17314b; font-size:10px; font-weight:850; letter-spacing:.05em; background:#fff; box-shadow:0 8px 25px rgba(0,0,0,.2); }
.oauth-button:hover { background:#f4f7fb; transform:translateY(-1px); }
.oauth-button:disabled { cursor:wait; opacity:.7; transform:none; }
.oauth-button svg { width:19px; height:19px; flex:0 0 auto; }
.oauth-note { margin:13px 0 0; color:#71869c; font-size:8px; line-height:1.5; text-align:center; }
.primary-button { padding: 12px 18px; border: 0; border-radius: 9px; color:#fff; font-size:10px; font-weight:850; letter-spacing:.07em; background:linear-gradient(105deg,var(--red),var(--blue)); box-shadow:0 7px 20px rgba(12,111,189,.2); }
.login-card .primary-button { width:100%; height:44px; }
.admin-app { min-height:100vh; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:4; display:flex; width:230px; padding:25px 21px; color:#fff; background:linear-gradient(180deg,#071c36,#061429); flex-direction:column; }
.sidebar nav { display:grid; gap:5px; margin-top:48px; }
.sidebar nav a { padding:11px 13px; border-radius:8px; color:#8199b0; font-size:11px; font-weight:700; text-decoration:none; }
.sidebar nav a:hover,.sidebar nav a.active { color:#fff; background:rgba(29,126,205,.18); }
.logout-button { margin-top:auto; padding:10px; border:1px solid rgba(255,255,255,.1); border-radius:8px; color:#8298ae; font-size:10px; background:transparent; }
.dashboard { display:flex; width:calc(100% - 230px); max-width:1450px; margin-left:230px; padding:33px 43px 60px; flex-direction:column; }
.dashboard-header { display:flex; align-items:center; justify-content:space-between; padding-bottom:28px; border-bottom:1px solid var(--line); }
.dashboard-header p { margin:0 0 4px; color:var(--blue); font-size:9px; font-weight:800; letter-spacing:.17em; }
.dashboard-header h1 { margin:0; font-size:27px; letter-spacing:-.035em; }
.dashboard-header a,.secondary-button { padding:10px 13px; border:1px solid var(--line); border-radius:8px; color:#425c75; font-size:10px; font-weight:700; text-decoration:none; background:#fff; }
.global-message { position:fixed; top:20px; right:25px; z-index:10; max-width:390px; padding:0; border-radius:9px; color:#fff; font-size:11px; background:#167557; box-shadow:0 12px 35px rgba(0,0,0,.2); transition:.2s; }
.global-message.show { padding:12px 16px; }
.global-message.error { background:#b82f3d; }
section { padding-top:38px; scroll-margin-top:10px; }
.dashboard-header { order:0; }
.setup-wizard { order:1; }
#overview { order:2; }
#prizes { order:3; }
#import { order:4; }
#settings { order:5; }
.wizard-footer { order:6; }
#entries { order:7; }
#recovery { order:8; }
#admins { order:9; }
.dashboard footer { order:10; }
.section-title { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:16px; }
.section-title span { color:var(--blue); font-size:8px; font-weight:850; letter-spacing:.18em; }
.section-title h2 { margin:3px 0 0; font-size:19px; letter-spacing:-.02em; }
.section-title p { margin:6px 0 0; color:#73879a; font-size:11px; line-height:1.5; }
.icon-button,.text-button { border:0; color:var(--blue); background:transparent; }
.icon-button { font-size:22px; }
.text-button { font-size:10px; font-weight:700; }
.metric-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.metric-grid article,.card { border:1px solid var(--line); border-radius:12px; background:var(--card); box-shadow:0 8px 25px rgba(17,43,70,.035); }
.metric-grid article { display:grid; gap:5px; padding:21px 23px; }
.metric-grid span { color:var(--muted); font-size:10px; font-weight:700; }
.metric-grid strong { font-size:31px; letter-spacing:-.04em; }
.metric-grid small { color:#a1afbd; font-size:9px; }
.prize-card { margin-top:14px; padding:21px 23px; }
.card-heading { display:flex; align-items:center; justify-content:space-between; }
.card-heading h3 { margin:0; font-size:13px; }
.card-heading small { color:#9aa9b8; font-size:9px; }
.prize-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:18px; }
.prize-status-card { display:grid; gap:9px; min-width:0; padding:13px; border:1px solid #e3eaf0; border-radius:11px; background:#fbfcfd; }
.prize-status-card header { display:flex; gap:8px; align-items:center; justify-content:space-between; }
.prize-status-card header strong { overflow:hidden; color:#203a52; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.prize-status-card header > span { flex:0 0 auto; padding:4px 7px; border-radius:99px; color:#42647e; font-size:8px; font-weight:800; background:#edf3f7; }
.prize-mode { padding:8px 9px; border-radius:8px; background:#edf7f4; }
.prize-mode > span:first-child { display:flex; gap:8px; align-items:center; justify-content:space-between; }
.prize-mode em { color:#197258; font-size:8px; font-style:normal; font-weight:850; }
.prize-mode b { color:#657b8d; font-size:8px; text-align:right; }
.prize-mode.fixed-mode { background:#eef6fc; }
.prize-mode.fixed-mode em { color:#0873bd; }
.prize-mode.special-mode { background:#fff7e6; }
.prize-mode.special-mode em { color:#9b6912; }
.prize-mode.unconfigured-mode { background:#f3f5f7; }
.prize-mode.unconfigured-mode em { color:#748697; }
.prize-mode .bar { height:5px; margin-top:7px; }
.bar { height:6px; overflow:hidden; border-radius:99px; background:#edf1f5; }
.bar i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--red),var(--blue)); }
.empty-state { grid-column:1/-1; color:#9aa9b8; font-size:10px; }
.setup-wizard { margin-top:26px; padding:25px; border:1px solid #cfe0ed; border-radius:16px; background:linear-gradient(135deg,#fff 0%,#f7fbff 100%); box-shadow:0 12px 35px rgba(20,60,92,.06); }
.setup-intro { display:flex; gap:20px; align-items:flex-start; justify-content:space-between; }
.setup-intro > div > span { color:var(--blue); font-size:9px; font-weight:850; letter-spacing:.17em; }
.setup-intro h2 { margin:5px 0 4px; font-size:22px; letter-spacing:-.025em; }
.setup-intro p { margin:0; color:#71869a; font-size:12px; }
.setup-intro > strong { padding:8px 12px; border-radius:99px; color:#315a77; font-size:10px; background:#eaf4fb; }
.setup-progress { height:5px; margin:20px 0 16px; overflow:hidden; border-radius:99px; background:#e5edf4; }
.setup-progress i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--red),var(--blue)); transition:width .3s ease; }
.setup-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.setup-steps a { display:grid; min-width:0; grid-template-columns:34px minmax(0,1fr); gap:3px 10px; align-items:center; padding:13px; border:1px solid #dfe8ef; border-radius:11px; color:inherit; text-decoration:none; background:#fff; transition:.2s; }
.setup-steps a:hover { border-color:#a9c9df; transform:translateY(-1px); box-shadow:0 8px 18px rgba(20,57,89,.06); }
.setup-steps a > b { display:grid; width:33px; height:33px; grid-row:1/3; place-items:center; border-radius:10px; color:#46718e; font-size:12px; background:#eaf3f9; }
.setup-steps a > span { display:grid; min-width:0; gap:2px; }
.setup-steps a > span strong { overflow:hidden; color:#253f56; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.setup-steps a > span small { overflow:hidden; color:#8193a3; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.setup-steps a > em { grid-column:2; color:#b17824; font-size:9px; font-style:normal; font-weight:800; }
.setup-steps a.done { border-color:#cce9dd; background:#fbfffd; }
.setup-steps a.done > b { color:#fff; background:#16805f; }
.setup-steps a.done > em { color:#16805f; }
.setup-steps a.current { border-color:#8ebedf; box-shadow:0 0 0 3px rgba(12,111,189,.08); }
.setup-steps a.current > b { color:#fff; background:var(--blue); }
.wizard-panel { animation:wizard-panel-in .2s ease both; }
@keyframes wizard-panel-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.wizard-footer { display:flex; gap:14px; align-items:center; justify-content:space-between; margin-top:18px; padding:16px 18px; border:1px solid #d9e5ee; border-radius:12px; background:#fff; box-shadow:0 10px 28px rgba(20,57,89,.05); }
.wizard-footer span { color:#73889b; font-size:10px; font-weight:750; }
.wizard-footer button { min-width:125px; }
.wizard-footer button:disabled { cursor:not-allowed; opacity:.4; }
.danger-outline-button,.danger-button { min-height:38px; padding:10px 14px; border-radius:8px; font-size:9px; font-weight:850; letter-spacing:.06em; }
.danger-outline-button { border:1px solid #e5a2a9; color:#b52d3b; background:#fff7f8; }
.danger-button { border:1px solid #b92e3c; color:#fff; background:#bd3341; box-shadow:0 7px 18px rgba(185,46,60,.18); }
.danger-outline-button:hover,.danger-button:hover { filter:brightness(.97); }
.danger-outline-button:disabled,.danger-button:disabled { cursor:not-allowed; opacity:.45; box-shadow:none; }
.lock-note { color:#8a9aaa; font-size:9px; }
.prize-manager { display:grid; grid-template-columns:minmax(370px,.95fr) minmax(440px,1.25fr); gap:18px; align-items:start; }
.prize-form,.prize-list-card { min-height:350px; padding:24px; }
.prize-form { display:flex; flex-direction:column; }
.prize-form-heading { display:flex; gap:13px; align-items:center; margin-bottom:23px; }
.prize-form-heading h3 { margin:0 0 4px; font-size:15px; }
.prize-form-heading p { margin:0; color:#8192a3; font-size:11px; line-height:1.45; }
.prize-form-icon { display:grid; width:38px; height:38px; flex:0 0 auto; place-items:center; border-radius:11px; color:#fff; font-size:22px; line-height:1; background:linear-gradient(145deg,#1a83d3,#0862a9); box-shadow:0 8px 20px rgba(12,111,189,.2); }
.prize-field-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; }
.prize-field-heading label { color:#425a70; font-size:11px; font-weight:800; }
.prize-field-heading span { color:#8798a8; font-size:10px; font-weight:650; }
.prize-name-fields { display:grid; gap:9px; }
.prize-name-field { display:grid; grid-template-columns:31px minmax(0,1fr) 34px; gap:8px; align-items:start; }
.prize-field-number { display:grid; width:29px; height:29px; place-items:center; border-radius:8px; color:#587087; font-size:10px; font-weight:800; background:#edf3f8; }
.prize-field-inputs { display:grid; grid-template-columns:minmax(0,.9fr) minmax(115px,.42fr) minmax(0,1.1fr); gap:7px; }
.prize-name-input { width:100%; height:43px; padding:0 12px; outline:none; border:1px solid #d8e2eb; border-radius:9px; color:var(--ink); font-size:12px; background:#fbfcfe; transition:border-color .2s,box-shadow .2s,background .2s; }
.prize-name-input::placeholder { color:#9eacba; }
.prize-name-input:focus { border-color:#1680cd; background:#fff; box-shadow:0 0 0 3px rgba(12,111,189,.1); }
.prize-value-input { width:100%; height:43px; padding:0 11px; outline:none; border:1px solid #d8e2eb; border-radius:9px; color:#294158; font-size:10px; background:#fbfcfe; }
.prize-value-input:focus { border-color:#1680cd; background:#fff; box-shadow:0 0 0 3px rgba(12,111,189,.1); }
.prize-image-input { width:100%; height:43px; padding:0 12px; outline:none; border:1px solid #d8e2eb; border-radius:9px; color:#456077; font-size:10px; background:#fbfcfe; transition:border-color .2s,box-shadow .2s,background .2s; }
.prize-image-input::placeholder { color:#9eacba; }
.prize-image-input:focus { border-color:#1680cd; background:#fff; box-shadow:0 0 0 3px rgba(12,111,189,.1); }
.prize-image-control,.prize-edit-image-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; }
.prize-upload-button { display:grid; min-width:68px; height:43px; padding:0 9px; place-items:center; border:1px solid #bcd7ea; border-radius:9px; color:#176fae; font-size:9px; font-weight:800; cursor:pointer; background:#eef8ff; white-space:nowrap; }
.prize-upload-button:hover { border-color:#1680cd; background:#e2f3ff; }
.prize-upload-button.uploading { pointer-events:none; opacity:.65; }
.prize-upload-button input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.remove-prize-field { width:34px; height:34px; border:0; border-radius:8px; color:#9a6970; font-size:19px; line-height:1; background:#fff1f3; }
.remove-prize-field:hover:not(:disabled) { color:#b32637; background:#ffe4e8; }
.remove-prize-field:disabled { cursor:not-allowed; opacity:.45; }
.add-prize-field { display:flex; gap:7px; align-items:center; justify-content:center; width:calc(100% - 73px); min-height:39px; margin:10px 34px 0 39px; border:1px dashed #b8c9d8; border-radius:9px; color:#176fae; font-size:11px; font-weight:750; background:#f7fbfe; }
.add-prize-field:hover:not(:disabled) { border-color:#2387cf; background:#eef8ff; }
.add-prize-field:disabled { cursor:not-allowed; opacity:.5; }
.prize-paste-hint { margin:14px 0 20px; padding:10px 12px; border-radius:8px; color:#667c90; font-size:10px; line-height:1.5; background:#f3f7fa; }
.prize-paste-hint strong { color:#405b73; }
.prize-form-actions { display:flex; gap:14px; align-items:center; justify-content:space-between; margin-top:auto; padding-top:17px; border-top:1px solid #edf1f5; }
.prize-form-actions > span { color:#788b9d; font-size:10px; }
.prize-form-actions .primary-button { flex:0 0 auto; }
.primary-button:disabled { cursor:not-allowed; filter:grayscale(.25); opacity:.5; box-shadow:none; }
.prize-list-heading { padding-bottom:18px; border-bottom:1px solid #edf1f5; }
.prize-list-title { display:flex; gap:8px; align-items:center; }
.prize-list-title h3 { font-size:15px; }
.prize-list-title span { display:grid; min-width:23px; height:23px; padding:0 7px; place-items:center; border-radius:99px; color:#0d6db6; font-size:10px; font-weight:850; background:#e8f4fd; }
.prize-list-heading small { display:block; margin-top:5px; font-size:10px; }
.prize-list { display:grid; gap:10px; margin-top:17px; }
.prize-item { display:grid; grid-template-columns:18px 34px minmax(0,1fr) 62px 74px; gap:10px; align-items:center; padding:13px 13px 13px 9px; border:1px solid #e4ebf1; border-radius:11px; background:#fbfcfd; transition:border-color .2s,box-shadow .2s,opacity .15s,transform .15s; }
.prize-item:hover { border-color:#cbdbe8; box-shadow:0 7px 18px rgba(20,57,89,.06); }
.prize-item.dragging { opacity:.42; border-color:#1680cd; box-shadow:0 10px 24px rgba(12,111,189,.15); transform:scale(.995); }
.prize-list.saving-order { pointer-events:none; opacity:.7; }
.prize-drag-handle { display:grid; width:18px; height:38px; place-items:center; border-radius:7px; color:#9aabba; cursor:grab; touch-action:none; user-select:none; }
.prize-drag-handle:hover { color:#147ac0; background:#eaf5fd; }
.prize-drag-handle:focus-visible { outline:2px solid #1680cd; outline-offset:2px; color:#147ac0; }
.prize-drag-handle:active { cursor:grabbing; }
.prize-drag-handle svg { width:12px; height:22px; fill:currentColor; }
.prize-item-number { position:relative; display:grid; width:38px; height:38px; place-items:center; overflow:hidden; border-radius:10px; color:#136eaf; font-size:11px; font-weight:850; background:#eaf5fd; }
.prize-item-number img { display:none; width:100%; height:100%; object-fit:cover; background:#fff; }
.prize-item-number.has-image img { display:block; }
.prize-item-number.has-image b { position:absolute; right:2px; bottom:2px; z-index:1; display:grid; min-width:15px; height:15px; padding:0 3px; place-items:center; border-radius:99px; color:#fff; font-size:7px; background:rgba(4,49,84,.82); box-shadow:0 1px 4px rgba(0,0,0,.2); }
.prize-item-content { min-width:0; }
.prize-item-content > strong { display:block; overflow:hidden; color:#1d344a; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.prize-edit-input,.prize-edit-image-input { width:100%; height:32px; padding:0 9px; outline:none; border:1px solid #4aa8df; border-radius:7px; color:#1d344a; font-size:11px; background:#fff; box-shadow:0 0 0 3px rgba(31,151,220,.1); }
.prize-edit-input { font-weight:750; }
.prize-edit-value-row { margin-top:6px; }
.prize-edit-value-row label { display:grid; grid-template-columns:auto minmax(100px,145px); gap:8px; align-items:center; justify-content:start; color:#7890a4; font-size:8px; font-weight:800; }
.prize-edit-value-input { width:100%; height:32px; padding:0 9px; outline:none; border:1px solid #4aa8df; border-radius:7px; color:#294158; font-size:9px; background:#fff; }
.prize-edit-image-row { margin-top:6px; }
.prize-edit-image-input { color:#597086; font-size:9px; }
.prize-edit-image-row .prize-upload-button { height:32px; border-radius:7px; }
.prize-item-content small { display:block; margin-top:5px; color:#8294a5; font-size:9px; }
.prize-item-content small b { color:#276e9e; }
.prize-item-content small em { color:#147456; font-style:normal; font-weight:750; }
.prize-item-progress { height:4px; margin-top:8px; overflow:hidden; border-radius:99px; background:#e8eef3; }
.prize-item-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--red),var(--blue)); }
.prize-item-divider { height:1px; margin-top:8px; background:#e8eef3; }
.prize-item-total { display:grid; gap:1px; text-align:right; }
.prize-item-total strong { color:#223c54; font-size:15px; }
.prize-item-total span { color:#8a9aaa; font-size:7px; font-weight:800; letter-spacing:.06em; }
.delete-prize { display:grid; width:34px; height:34px; padding:0; place-items:center; border:1px solid #efcbd0; border-radius:8px; color:#b52f3e; background:#fff7f8; }
.delete-prize svg { width:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.delete-prize:hover:not(:disabled) { border-color:#db8791; background:#ffedf0; }
.delete-prize:disabled { cursor:not-allowed; color:#a7b1bb; border-color:#e3e8ed; background:#f3f5f7; opacity:.65; }
.prize-item-actions { display:flex; gap:5px; }
.edit-prize { display:grid; width:34px; height:34px; padding:0; place-items:center; border:1px solid #c9dfef; border-radius:8px; color:#1373b5; background:#f2f9fe; }
.edit-prize:hover:not(:disabled) { border-color:#78b7df; background:#e5f4fd; }
.edit-prize svg { width:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.save-prize-edit,.cancel-prize-edit { display:grid; width:34px; height:34px; padding:0; place-items:center; border-radius:8px; font-size:15px; font-weight:850; }
.save-prize-edit { border:1px solid #87d4bb; color:#117454; background:#effaf6; }
.cancel-prize-edit { border:1px solid #d8e0e7; color:#6f8293; background:#fff; }
.prize-empty { display:grid; min-height:220px; padding:25px; place-items:center; align-content:center; text-align:center; border:1px dashed #d4dee7; border-radius:12px; background:#fafcfd; }
.prize-empty > span { display:grid; width:46px; height:46px; margin-bottom:12px; place-items:center; border-radius:14px; color:#3185c1; background:#eaf5fd; }
.prize-empty svg { width:23px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.prize-empty strong { color:#405a71; font-size:13px; }
.prize-empty p { margin:5px 0 0; color:#91a0ae; font-size:10px; }
.schedule-card { margin-top:18px; padding:24px; scroll-margin-top:18px; }
.schedule-heading { display:flex; gap:20px; align-items:flex-start; justify-content:space-between; padding-bottom:20px; border-bottom:1px solid #e9eef3; }
.schedule-heading h3 { margin:5px 0 5px; font-size:16px; }
.schedule-heading p { max-width:680px; margin:0; color:#71869a; font-size:11px; line-height:1.55; }
.schedule-step { color:var(--blue); font-size:8px; font-weight:850; letter-spacing:.16em; }
.schedule-status { flex:0 0 auto; padding:6px 10px; border-radius:99px; color:#86651d; font-size:9px; font-weight:800; background:#fff5d9; }
.schedule-guide { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; max-width:760px; margin:18px 0; }
.schedule-guide > div { display:flex; gap:11px; align-items:center; padding:13px 14px; border:1px solid #d9e6f0; border-radius:10px; background:#f7fbfe; }
.schedule-guide > div > span { display:grid; width:27px; height:27px; flex:0 0 auto; place-items:center; border-radius:50%; color:#fff; font-size:10px; font-weight:850; background:var(--blue); }
.schedule-guide p { display:grid; gap:3px; margin:0; }
.schedule-guide strong { color:#294158; font-size:12px; }
.schedule-guide small { color:#7890a5; font-size:10px; line-height:1.45; }
.schedule-table-heading { display:grid; grid-template-columns:minmax(190px,.9fr) minmax(180px,.7fr) minmax(280px,1.15fr) minmax(170px,.65fr); gap:12px; padding:0 12px 8px 54px; color:#8394a5; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.schedule-rows { display:grid; gap:8px; }
.schedule-row { display:grid; grid-template-columns:30px minmax(150px,.9fr) minmax(170px,.7fr) minmax(280px,1.15fr) minmax(170px,.65fr); gap:12px; align-items:center; min-height:68px; padding:10px 12px; border:1px solid #e4eaf0; border-radius:10px; background:#fbfcfd; }
.schedule-prize-index { display:grid; width:28px; height:28px; place-items:center; border-radius:8px; color:#176fae; font-size:10px; font-weight:850; background:#e9f4fc; }
.schedule-prize-name { display:flex; min-width:0; gap:8px; align-items:center; overflow:hidden; color:#294158; font-size:12px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.schedule-prize-name small { padding:4px 7px; border-radius:99px; color:#167454; font-size:8px; background:#e6f5ef; }
.schedule-window-control { position:relative; }
.schedule-turns-input { width:100%; height:39px; padding:0 112px 0 11px; outline:none; border:1px solid #d4dee7; border-radius:8px; color:#17364f; font-size:11px; background:#fff; }
.schedule-turns-input:focus { border-color:#1680cd; box-shadow:0 0 0 3px rgba(12,111,189,.1); }
.schedule-turns-input:disabled { color:#7f8d9a; background:#f0f3f6; }
.schedule-window-summary { position:absolute; top:50%; right:8px; max-width:100px; padding:5px 7px; overflow:hidden; border-radius:6px; color:#176fae; font-size:8px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; background:#eaf5fd; transform:translateY(-50%); pointer-events:none; }
.schedule-window-summary.error { color:#b93241; background:#fff0f2; }
.schedule-window-cell { min-width:0; }
.schedule-window-empty { display:none; color:#9aa9b6; font-size:9px; }
.schedule-window-history { display:block; margin-top:5px; overflow:hidden; color:#7b6a3c; font-size:8px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.fixed-mode-action { display:grid; width:100%; min-height:43px; padding:6px 8px; grid-template-columns:25px minmax(0,1fr) 10px; gap:7px; align-items:center; border:1px solid #d3e1eb; border-radius:8px; text-align:left; background:#fff; }
.fixed-mode-icon { display:grid; width:25px; height:25px; place-items:center; border-radius:7px; font-size:11px; background:#f0f4f7; }
.fixed-mode-copy { display:grid; min-width:0; gap:2px; }
.fixed-mode-copy strong { overflow:hidden; color:#3f586e; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.fixed-mode-copy small { overflow:hidden; color:#8a9aaa; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.fixed-mode-arrow { color:#8aa0b1; font-size:16px; }
.fixed-mode-action.has-assigned { border-color:#9fd5bf; background:#f2fbf7; }
.fixed-mode-action.has-assigned .fixed-mode-icon { background:#dff4ea; }
.fixed-mode-action.has-assigned .fixed-mode-copy strong { color:#167454; }
.fixed-mode-action:hover { border-color:#1680cd; background:#e3f3fe; }
.fixed-mode-action:focus-visible { outline:3px solid rgba(12,111,189,.16); outline-offset:2px; }
.schedule-row:not([data-mode="special"]) .schedule-window-control { display:none; }
.schedule-row:not([data-mode="special"]) .schedule-window-empty { display:block; }
.prize-mode-select { width:100%; height:42px; padding:0 10px; outline:none; border:1px solid #d4dee7; border-radius:8px; color:#294158; font-size:11px; font-weight:750; background:#fff; }
.schedule-row[data-mode="regular"] { border-color:#cfe3f3; background:#f7fbfe; }
.schedule-row[data-mode="regular"] .schedule-prize-index { color:#167454; background:#e6f5ef; }
.schedule-row[data-mode="fixed"] { border-color:#d8e4ec; background:#fafcfd; }
.schedule-empty { padding:28px; border:1px dashed #d2dde7; border-radius:10px; color:#8d9dab; font-size:10px; text-align:center; background:#fafcfd; }
.schedule-footer { display:flex; gap:18px; align-items:center; justify-content:space-between; margin-top:18px; padding-top:18px; border-top:1px solid #e9eef3; }
.schedule-footer p { margin:0; color:#748a9d; font-size:10px; }
.schedule-footer p.error { color:#bc3543; }
.report-export-button { min-width:112px; }
.report-card { overflow:hidden; }
.report-filter-bar { display:flex; gap:18px; align-items:flex-end; justify-content:space-between; padding:17px 18px; border-bottom:1px solid var(--line); background:#fbfcfe; }
.report-presets { display:flex; gap:6px; padding:4px; border:1px solid #dbe5ed; border-radius:10px; background:#fff; }
.report-presets button { min-height:32px; padding:0 12px; border:0; border-radius:7px; color:#667d91; font-size:9px; font-weight:800; background:transparent; }
.report-presets button:hover { color:#0c6fbd; background:#eef7fd; }
.report-presets button.active { color:#fff; background:#0c6fbd; box-shadow:0 4px 12px rgba(12,111,189,.22); }
.report-date-fields { display:flex; gap:8px; align-items:flex-end; }
.report-date-fields > span { padding-bottom:10px; color:#96a6b5; font-size:10px; }
.report-date-fields label { display:grid; gap:5px; color:#718497; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.report-date-fields input { width:132px; height:36px; padding:0 9px; outline:none; border:1px solid #d9e3eb; border-radius:8px; color:#294158; font-size:10px; background:#fff; }
.report-date-fields input:focus { border-color:#1680cd; box-shadow:0 0 0 3px rgba(12,111,189,.1); }
.report-date-fields .secondary-button { height:36px; }
.report-range-summary { display:flex; align-items:center; justify-content:space-between; padding:14px 18px 0; }
.report-range-summary span { color:#294158; font-size:11px; font-weight:800; }
.report-range-summary small { color:#92a1af; font-size:8px; }
.report-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; padding:13px 18px 18px; }
.report-metrics article { position:relative; display:grid; min-width:0; gap:5px; padding:17px 18px; overflow:hidden; border:1px solid #e0e8ef; border-radius:11px; background:#fff; }
.report-metrics article::before { position:absolute; inset:0 auto 0 0; width:3px; content:""; background:#8dbad8; }
.report-metrics article.highlight { border-color:#bddbeb; background:linear-gradient(135deg,#f4fbff,#fff); }
.report-metrics article.highlight::before { background:linear-gradient(#db3546,#0c6fbd); }
.report-metrics span { color:#72869a; font-size:9px; font-weight:750; }
.report-metrics strong { overflow:hidden; color:#173149; font-size:23px; letter-spacing:-.035em; text-overflow:ellipsis; white-space:nowrap; }
.report-metrics small { color:#a0aebb; font-size:8px; }
.report-content-grid { display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.65fr); border-top:1px solid var(--line); }
.report-breakdown,.report-customers { min-width:0; padding:18px; }
.report-breakdown { border-right:1px solid var(--line); background:#fbfcfd; }
.report-block-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:13px; }
.report-block-heading h3 { margin:0 0 3px; color:#294158; font-size:12px; }
.report-block-heading small { color:#8b9bab; font-size:8px; }
#reportPrizeBreakdown { display:grid; gap:8px; }
.report-prize-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; padding:11px 12px; border:1px solid #e4ebf1; border-radius:9px; background:#fff; }
.report-prize-row strong { overflow:hidden; color:#294158; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.report-prize-row > span { color:#0c6fbd; font-size:10px; font-weight:850; }
.report-prize-row small { color:#8597a8; font-size:8px; }
.report-prize-row em { color:#516d84; font-size:9px; font-style:normal; font-weight:750; text-align:right; }
.report-prize-progress { grid-column:1/-1; height:3px; margin-top:4px; overflow:hidden; border-radius:99px; background:#e9eef3; }
.report-prize-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#dc3949,#147bc3); }
.report-table-wrap { max-height:410px; overflow:auto; border:1px solid #e4eaf0; border-radius:9px; }
.report-table { min-width:820px; }
.report-table th { position:sticky; top:0; z-index:1; }
.report-table th,.report-table td { padding:10px 11px; }
.report-table td:first-child { font-family:inherit; font-weight:500; }
.report-customer-cell { display:grid; min-width:150px; gap:2px; }
.report-customer-cell strong { color:#294158; font-size:9px; }
.report-customer-cell small { color:#7e91a3; font-size:8px; }
.report-value { color:#176fae; font-weight:800; }
.entry-search-title { margin-top:32px; }
.table-card { overflow:hidden; }
.table-tools { display:flex; gap:10px; padding:15px; border-bottom:1px solid var(--line); }
.table-tools input,.table-tools select,.settings-card input { height:38px; padding:0 11px; outline:none; border:1px solid var(--line); border-radius:8px; color:var(--ink); font-size:10px; background:#fbfcfd; }
.table-tools input { flex:1; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; }
th,td { padding:12px 15px; border-bottom:1px solid #edf1f4; font-size:10px; text-align:left; white-space:nowrap; }
.customer-cell { display:grid; min-width:180px; gap:2px; }
.customer-cell strong { color:#233f57; font-size:10px; }
.customer-cell small { color:#7a8e9f; font-size:9px; }
.muted-cell { color:#9aa8b4; font-size:9px; }
th { color:#8293a4; font-size:8px; text-transform:uppercase; letter-spacing:.08em; background:#fafbfd; }
td:first-child { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-weight:700; }
.status { display:inline-flex; padding:4px 7px; border-radius:99px; color:#18775a; font-size:8px; font-weight:750; background:#e4f6ef; }
.status.used { color:#65788b; background:#edf1f4; }
.entry-rollback-button { min-width:86px; min-height:30px; padding:6px 9px; border:1px solid #e5a2a9; border-radius:7px; color:#b52d3b; font-size:8px; font-weight:800; white-space:nowrap; background:#fff7f8; }
.entry-rollback-button:hover { border-color:#cf6470; background:#fff0f2; }
.entry-rollback-button:disabled { cursor:not-allowed; opacity:.45; }
.pagination { display:flex; align-items:center; justify-content:space-between; padding:12px 15px; color:#8293a4; font-size:9px; }
.pagination button { width:30px; height:27px; border:1px solid var(--line); background:#fff; }
.pagination button:disabled { opacity:.4; cursor:not-allowed; }
.recovery-summary { display:grid; grid-template-columns:180px 180px minmax(280px,1fr); gap:12px; margin-bottom:14px; }
.recovery-summary article { display:grid; gap:5px; padding:18px 20px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.recovery-summary span { color:#778b9e; font-size:9px; font-weight:750; }
.recovery-summary strong { color:#203b53; font-size:25px; }
.recovery-summary .last-spin-summary strong { font-size:13px; }
.recovery-summary small { color:#7f92a4; font-size:9px; }
.recovery-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.recovery-action-card { display:grid; min-height:235px; gap:14px; align-content:start; padding:20px; }
.recovery-action-card > div { display:grid; gap:7px; }
.recovery-action-card h3 { margin:0; color:#213c53; font-size:14px; }
.recovery-action-card p { margin:0; color:#71869a; font-size:10px; line-height:1.55; }
.recovery-action-card button { align-self:end; margin-top:auto; }
.recovery-action-card.warning { border-color:#ecd9ac; background:#fffdf8; }
.recovery-action-card.danger { border-color:#efc6cb; background:#fffafb; }
.recovery-action-icon { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; color:#ae313e; font-size:20px; font-weight:800; background:#fde9eb; }
.recovery-action-icon.safe { color:#167458; background:#e5f5ef; }
.recovery-history-card { margin-top:14px; padding:21px; }
.recovery-history { display:grid; gap:8px; margin-top:16px; }
.recovery-history-row { display:grid; grid-template-columns:minmax(200px,1fr) auto auto; gap:14px; align-items:center; padding:12px 14px; border:1px solid #e4eaf0; border-radius:9px; background:#fbfcfd; }
.recovery-history-row > div { display:grid; gap:3px; }
.recovery-history-row strong { color:#294158; font-size:11px; }
.recovery-history-row small { color:#8193a4; font-size:9px; }
.recovery-history-row > span { color:#60768a; font-size:9px; white-space:nowrap; }
.recovery-history-row.restored { opacity:.6; }
.recovery-history-actions { display:flex; gap:7px; align-items:center; }
.backup-delete-button { min-height:36px; padding:8px 10px; border:1px solid #e2e7ec; border-radius:8px; color:#7f8e9c; font-size:8px; font-weight:850; background:#fff; }
.backup-delete-button:hover { border-color:#db8791; color:#b52d3b; background:#fff5f6; }
.recovery-dialog { width:min(470px,calc(100% - 28px)); padding:0; border:0; border-radius:16px; color:var(--ink); box-shadow:0 28px 90px rgba(4,23,42,.35); }
.recovery-dialog::backdrop { background:rgba(3,19,36,.65); backdrop-filter:blur(3px); }
.recovery-dialog form { display:grid; gap:13px; padding:27px; }
.dialog-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:13px; color:#b82f3d; font-size:21px; font-weight:900; background:#fde9eb; }
.recovery-dialog h2 { margin:3px 0 0; font-size:20px; }
.recovery-dialog p { margin:0; color:#657b90; font-size:11px; line-height:1.6; }
.dialog-confirm-field { display:grid; gap:7px; padding:13px; border-radius:10px; background:#f5f7f9; }
.dialog-confirm-field label { color:#5d7286; font-size:10px; }
.dialog-confirm-field strong { color:#a92e3b; }
.dialog-confirm-field input { width:100%; height:40px; padding:0 11px; outline:none; border:1px solid #d5dfe7; border-radius:8px; color:#203a51; font-weight:750; background:#fff; }
.dialog-confirm-field input:focus { border-color:#c63a48; box-shadow:0 0 0 3px rgba(198,58,72,.09); }
.dialog-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:4px; }
.admin-access-grid { display:grid; grid-template-columns:minmax(300px,.7fr) minmax(440px,1.3fr); gap:14px; align-items:start; }
.admin-access-form { display:grid; gap:11px; padding:22px; }
.admin-access-form h3 { margin:0 0 5px; font-size:15px; }
.admin-access-form p { margin:0; color:#71869a; font-size:10px; line-height:1.5; }
.admin-access-form label { margin-top:7px; color:#425a70; font-size:10px; font-weight:800; }
.admin-access-form input,.admin-access-form select { width:100%; height:42px; padding:0 12px; outline:none; border:1px solid #d4dee7; border-radius:8px; color:#17364f; font-size:11px; background:#fbfcfd; }
.admin-access-form input:focus,.admin-access-form select:focus { border-color:#1680cd; background:#fff; box-shadow:0 0 0 3px rgba(12,111,189,.1); }
.admin-access-form > small { color:#9a6870; font-size:9px; line-height:1.45; }
.admin-access-list-card { padding:22px; }
.admin-access-list { display:grid; gap:8px; margin-top:16px; }
.admin-access-row { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:11px; align-items:center; padding:11px 12px; border:1px solid #e4eaf0; border-radius:10px; background:#fbfcfd; }
.admin-access-avatar { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; color:#fff; font-size:12px; font-weight:850; background:linear-gradient(145deg,#1882cf,#075da1); }
.admin-access-row > div { display:grid; min-width:0; gap:3px; }
.admin-access-row strong { overflow:hidden; color:#294158; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.admin-access-row small { color:#8294a5; font-size:9px; }
.admin-access-row em { padding:5px 8px; border-radius:99px; color:#167454; font-size:8px; font-style:normal; font-weight:850; background:#e4f5ee; }
.staff-role-select { height:32px; padding:0 8px; border:1px solid #d4dee7; border-radius:8px; color:#294158; font-size:9px; font-weight:750; background:#fff; }
.staff-access-actions { display:flex !important; grid-auto-flow:column; gap:7px !important; align-items:center; }
.admin-access-row .danger-outline-button { min-height:32px; padding:7px 10px; }
.import-card { padding:22px; }
.import-top-row { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:12px; margin-bottom:16px; }
.import-prize-mode { display:grid; grid-template-columns:minmax(180px,.55fr) minmax(260px,1fr); gap:5px 16px; align-items:center; padding:13px 15px; border:1px solid #d8e5ef; border-radius:10px; background:#fbfdff; }
.import-prize-mode label { color:#314b63; font-size:12px; font-weight:800; }
.import-prize-mode select { width:100%; height:42px; padding:0 11px; outline:none; border:1px solid #cbd9e5; border-radius:8px; color:#18364e; font-size:11px; font-weight:700; background:#fff; }
.import-prize-mode small { grid-column:2; color:#637d93; font-size:10px; line-height:1.45; }
.file-drop { display:grid; min-height:76px; padding:13px; place-content:center; border:1px dashed #9fc1dc; border-radius:10px; text-align:center; cursor:pointer; background:#f7fbfe; }
.file-drop span { color:var(--blue); font-size:11px; font-weight:750; }
.file-drop small { margin-top:4px; color:#98a7b5; font-size:8px; }
.file-drop input { position:absolute; width:1px; height:1px; opacity:0; }
.vin-paste-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; }
.vin-paste-heading label { color:#425a70; font-size:12px; font-weight:800; }
.vin-paste-heading small { color:#8b9bab; font-size:9px; }
.prize-select { width:100%; height:42px; margin-bottom:17px; padding:0 11px; outline:none; border:1px solid var(--line); border-radius:8px; color:var(--ink); font-size:10px; background:#fbfcfd; }
.prize-select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(12,111,189,.1); }
textarea { width:100%; padding:14px; resize:vertical; outline:none; border:1px solid var(--line); border-radius:9px; color:#243b51; font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace; }
.saved-vin-panel { margin-top:10px; overflow:hidden; border:1px solid #dce6ee; border-radius:9px; background:#f8fbfd; }
.saved-vin-toggle { display:flex; width:100%; min-height:48px; padding:10px 13px; align-items:center; justify-content:space-between; border:0; color:#294158; text-align:left; cursor:pointer; background:transparent; }
.saved-vin-toggle > span:first-child { display:grid; gap:2px; }
.saved-vin-toggle strong { font-size:10px; }
.saved-vin-toggle small { color:#7890a4; font-size:9px; font-weight:600; }
.saved-vin-chevron { color:var(--blue); font-size:18px; transition:transform .18s ease; }
.saved-vin-toggle[aria-expanded="true"] .saved-vin-chevron { transform:rotate(180deg); }
.saved-vin-content { padding:0 10px 10px; }
.saved-vin-list { display:grid; max-height:180px; overflow:auto; border:1px solid #e2e9ef; border-radius:7px; background:#fff; }
.saved-vin-list > span { display:flex; min-height:32px; padding:6px 9px; align-items:center; justify-content:space-between; border-bottom:1px solid #edf1f5; color:#60778c; font-size:9px; }
.saved-vin-list > span:last-child { border-bottom:0; }
.saved-vin-list code { color:#294158; font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; }
.saved-vin-list em { padding:3px 6px; border-radius:99px; color:#6f8191; font-size:7px; font-style:normal; font-weight:800; background:#edf2f5; }
.saved-vin-list .is-spun code { color:#8191a0; }
.check-row { display:flex !important; gap:8px; align-items:center; margin-top:13px !important; color:#60768b; font-size:9px; cursor:pointer; }
.check-row input { accent-color:var(--blue); }
.import-actions { display:flex; align-items:center; justify-content:space-between; margin-top:18px; padding-top:17px; border-top:1px solid var(--line); }
.import-actions span { color:#8293a4; font-size:9px; }
.settings-card { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:18px; align-items:start; padding:21px; }
.settings-content-fields,.settings-event-fields { display:grid; gap:11px; min-width:0; padding:17px; border:1px solid #e5ebf0; border-radius:11px; background:#fbfcfd; }
.settings-card h3 { margin:0 0 2px; color:#294158; font-size:13px; }
.settings-title-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.settings-title-row label,.settings-content-fields > label,.settings-event-fields > label:not(.check-row) { display:grid; gap:6px; color:#687c90; font-size:9px; font-weight:700; }
.duration-input { display:grid; grid-template-columns:minmax(0,1fr) 52px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#fff; }
.duration-input:focus-within { border-color:var(--blue); box-shadow:0 0 0 3px rgba(12,111,189,.1); }
.duration-input input { width:100%; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.duration-input span { display:grid; place-items:center; border-left:1px solid var(--line); color:#60768b; font-size:9px; background:#f5f8fa; }
.settings-event-fields label > small { color:#91a0ae; font-size:8px; font-weight:600; }
.settings-submit-row { display:flex; grid-column:1/-1; gap:15px; align-items:center; justify-content:space-between; padding-top:3px; }
.settings-submit-row small { color:#8293a4; font-size:9px; }
.settings-submit-row .primary-button { min-width:180px; }
.rules-card { margin-bottom:14px; padding:21px; }
.rules-note { margin:14px 0; padding:10px 12px; border-radius:7px; color:#61778d; font-size:9px; line-height:1.5; background:#f3f7fb; }
.rules-table input[type="number"] { width:76px; height:32px; padding:0 7px; border:1px solid var(--line); border-radius:6px; font-size:9px; }
.rules-table input[type="checkbox"] { accent-color:var(--blue); }
.rules-table tr.fallback td:nth-child(3),.rules-table tr.fallback td:nth-child(4),.rules-table tr.fallback td:nth-child(5) { color:#a0adba; }
.rules-table .fallback-label { display:block; margin-top:3px; color:#8698a9; font-size:8px; font-weight:400; }
.settings-card .check-row { align-self:center; margin:0 !important; }
.settings-card .primary-button { height:38px; }
.dashboard footer { padding-top:45px; color:#9aabba; font-size:8px; text-align:center; }

@media (max-width:900px) {
  .sidebar { position:static; width:100%; padding:17px 20px; flex-direction:row; align-items:center; }
  .sidebar nav { display:none; }
  .logout-button { margin:0 0 0 auto; }
  .dashboard { width:100%; margin-left:0; padding:27px 20px 50px; }
  .prize-manager { grid-template-columns:1fr; }
  .settings-card { grid-template-columns:1fr 1fr; }
  .settings-content-fields,.settings-event-fields,.settings-submit-row { grid-column:1/-1; }
  .setup-steps { grid-template-columns:1fr 1fr; }
  .recovery-actions { grid-template-columns:1fr; }
  .admin-access-grid { grid-template-columns:1fr; }
  .prize-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-filter-bar { align-items:stretch; flex-direction:column; }
  .report-date-fields { justify-content:flex-start; }
  .report-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-content-grid { grid-template-columns:1fr; }
  .report-breakdown { border-right:0; border-bottom:1px solid var(--line); }
}

/* EcoXe Red Edition admin accents */
:root { --ink:#45151f; --muted:#866b70; --line:#eadbd8; --blue:#a90f29; --red:#d72b42; --bg:#fff4ec; --card:#fffaf5; }
.login-screen { background:radial-gradient(circle at 80% 14%,rgba(215,43,66,.22),transparent 30%),linear-gradient(140deg,#fff7ef,#f6e3df); }
.login-card { border-color:rgba(145,10,32,.14); color:#53131f; background:rgba(255,250,245,.94); box-shadow:0 32px 90px rgba(93,5,22,.18); }
.sidebar { color:#fff5ef; background:linear-gradient(180deg,#8e0a21,#5e0515); }
.sidebar nav a { color:#d8aeb5; }
.sidebar nav a:hover,.sidebar nav a.active { color:#6e091a; background:#fff0e7; }
.primary-button { background:linear-gradient(135deg,#d72b42,#8e0a21); box-shadow:0 9px 22px rgba(157,11,36,.2); }
.dashboard-header p,.section-title span,.text-button,.icon-button { color:#ba1732; }
.metric-grid article { border-top-color:#c31b36; }
.metric-grid article:nth-child(2) { border-top-color:#e15a49; }
.metric-grid article:nth-child(3) { border-top-color:#dfaa3e; }
.setup-progress i,.bar i { background:linear-gradient(90deg,#a90f29,#e39143); }
.setup-steps a.current > b,.global-message { background:#a90f29; }
@media (max-width:620px) {
  .dashboard-header a { display:none; }
  .metric-grid,.prize-stats { grid-template-columns:1fr; }
  .table-tools { flex-direction:column; }
  .report-title { align-items:flex-start; }
  .report-export-button { min-width:100px; padding:11px 10px; }
  .report-presets { display:grid; grid-template-columns:1fr 1fr; }
  .report-date-fields { display:grid; grid-template-columns:1fr 16px 1fr; align-items:end; }
  .report-date-fields label,.report-date-fields input { width:100%; }
  .report-date-fields > span { text-align:center; }
  .report-date-fields .secondary-button { grid-column:1/-1; width:100%; }
  .report-range-summary { align-items:flex-start; flex-direction:column; gap:4px; }
  .report-metrics { grid-template-columns:1fr 1fr; }
  .report-metrics article { padding:14px; }
  .report-metrics strong { font-size:18px; }
  .import-top-row { grid-template-columns:1fr; }
  .import-prize-mode { grid-template-columns:1fr; }
  .import-prize-mode small { grid-column:1; }
  .vin-paste-heading { align-items:flex-start; flex-direction:column; gap:4px; }
  .settings-card { grid-template-columns:1fr; }
  .settings-title-row { grid-template-columns:1fr; }
  .settings-submit-row { align-items:stretch; flex-direction:column; }
  .settings-submit-row .primary-button { width:100%; }
  .recovery-summary { grid-template-columns:1fr 1fr; }
  .last-spin-summary { grid-column:1/-1; }
  .recovery-history-row { grid-template-columns:1fr auto; }
  .recovery-history-row > span { grid-column:1; }
  .recovery-history-actions { grid-column:2; grid-row:1/3; flex-direction:column; align-items:stretch; }
  .admin-access-row { grid-template-columns:34px minmax(0,1fr); }
  .admin-access-row > button,.admin-access-row > em { grid-column:2; justify-self:start; }
  .section-title { gap:12px; }
  .setup-wizard { padding:19px; }
  .setup-intro { flex-direction:column; }
  .setup-steps { grid-template-columns:1fr; }
  .wizard-footer { padding:11px; }
  .wizard-footer span { display:none; }
  .wizard-footer button { min-width:0; }
  .prize-form,.prize-list-card { min-height:0; padding:18px; }
  .prize-field-inputs { grid-template-columns:1fr; }
  .prize-form-actions { align-items:stretch; flex-direction:column; }
  .prize-form-actions .primary-button { width:100%; }
  .prize-form-actions > span { text-align:center; }
  .prize-item { grid-template-columns:18px 32px minmax(0,1fr) 74px; }
  .prize-item-total { display:none; }
  .schedule-card { padding:18px; }
  .schedule-heading,.schedule-footer { align-items:stretch; flex-direction:column; }
  .schedule-guide { grid-template-columns:1fr; }
  .schedule-table-heading { display:none; }
  .schedule-row { grid-template-columns:30px minmax(0,1fr); }
  .prize-mode-select,.schedule-window-cell,.fixed-mode-action { grid-column:1/-1; }
  .schedule-footer .primary-button { width:100%; }
}

/* EcoXe console identity */
:root { --ink:#193b30; --muted:#718078; --line:#dde3dc; --blue:#247456; --red:#dd7440; --bg:#f4f0e7; --card:#fffdf8; }
body { background:var(--bg); }
.login-screen { background:radial-gradient(circle at 80% 14%,rgba(144,199,99,.3),transparent 30%),linear-gradient(140deg,#f5efe2,#e6eee2); }
.login-card { border:1px solid rgba(30,91,65,.15); border-radius:28px; color:#183e31; background:rgba(255,253,247,.92); box-shadow:0 32px 90px rgba(29,73,55,.18); }
.login-copy,.login-card label,.oauth-note { color:#718078; }
.admin-brand > img { border:0; border-radius:14px; box-shadow:0 8px 20px rgba(29,90,65,.16); }
.login-card input { border-color:#d9e0d9; color:#193b30; background:#fff; }
.login-card input:focus { border-color:#65a66f; box-shadow:0 0 0 4px rgba(101,166,111,.13); }
.primary-button { border-radius:12px; background:linear-gradient(135deg,#2c805e,#1c6248); box-shadow:0 9px 22px rgba(30,105,75,.2); }
.oauth-button { border-radius:12px; }
.sidebar { width:250px; padding:28px 24px; color:#f7f2e7; background:#174f3c; }
.sidebar::after { position:absolute; right:-80px; bottom:-90px; width:220px; height:220px; border:35px solid rgba(255,255,255,.04); border-radius:50%; content:""; pointer-events:none; }
.sidebar nav a { border-radius:12px; color:#a9c1b5; }
.sidebar nav a:hover,.sidebar nav a.active { color:#173f31; background:#f0eadc; }
.dashboard { width:calc(100% - 250px); margin-left:250px; }
.dashboard-header { border-bottom-color:#d7ded7; }
.dashboard-header p,.section-title span,.text-button,.icon-button { color:#dd7440; }
.dashboard-header h1 { color:#173d31; }
.dashboard-header a,.secondary-button { border-radius:11px; color:#315a49; background:#fffdf8; }
.metric-grid article,.card { border-color:#dfe5de; border-radius:18px; background:#fffdf8; box-shadow:0 12px 30px rgba(32,69,53,.045); }
.metric-grid article { border-top:4px solid #77ab62; }
.metric-grid article:nth-child(2) { border-top-color:#df7842; }
.metric-grid article:nth-child(3) { border-top-color:#e0b840; }
.setup-wizard { border-color:#d5e2d6; border-radius:22px; background:linear-gradient(135deg,#fffdf8,#eef4e9); box-shadow:0 18px 40px rgba(35,77,58,.07); }
.setup-progress i,.bar i { background:linear-gradient(90deg,#68a95f,#e18648); }
.setup-steps a { border-radius:15px; background:#fffdf8; }
.setup-steps a.current { border-color:#75a983; box-shadow:0 0 0 4px rgba(60,130,91,.09); }
.setup-steps a.current > b { background:#247456; }
.wizard-footer { border-radius:16px; background:#fffdf8; }
.global-message { background:#247456; }

@media (max-width:900px) {
  .sidebar { width:100%; }
  .dashboard { width:100%; margin-left:0; }
}

/* Final Red Edition cascade lock */
:root { --ink:#45151f; --muted:#866b70; --line:#eadbd8; --blue:#a90f29; --red:#d72b42; --bg:#fff4ec; --card:#fffaf5; }
body { background:var(--bg); }
.login-screen { background:radial-gradient(circle at 80% 14%,rgba(215,43,66,.22),transparent 30%),linear-gradient(140deg,#fff7ef,#f6e3df); }
.login-card { border-color:rgba(145,10,32,.14); color:#53131f; background:rgba(255,250,245,.94); box-shadow:0 32px 90px rgba(93,5,22,.18); }
.sidebar { color:#fff5ef; background:linear-gradient(180deg,#8e0a21,#5e0515); }
.sidebar nav a { color:#d8aeb5; }
.sidebar nav a:hover,.sidebar nav a.active { color:#6e091a; background:#fff0e7; }
.primary-button { background:linear-gradient(135deg,#d72b42,#8e0a21); box-shadow:0 9px 22px rgba(157,11,36,.2); }
.dashboard-header p,.section-title span,.text-button,.icon-button { color:#ba1732; }
.metric-grid article { border-top-color:#c31b36; }
.metric-grid article:nth-child(2) { border-top-color:#e15a49; }
.metric-grid article:nth-child(3) { border-top-color:#dfaa3e; }
.setup-progress i,.bar i { background:linear-gradient(90deg,#a90f29,#e39143); }
.setup-steps a.current > b,.global-message { background:#a90f29; }
/* 81-year campaign logo */
.admin-brand img {
  border-radius:13px !important;
  object-fit:cover;
}
