:root{color-scheme:dark;font-family:Bahnschrift,Aptos,Segoe UI,sans-serif;background:#07090c;color:#f2ede6;--bg: #07090c;--bg-2: #10151b;--surface: rgba(18, 22, 28, .97);--surface-raised: rgba(24, 29, 36, .96);--border: rgba(255, 255, 255, .08);--text: #f2ede6;--muted: rgba(242, 237, 230, .68);--warm-metal: #c8b79d}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 12% 10%,rgba(93,129,161,.14),transparent 24%),radial-gradient(circle at 86% 12%,rgba(180,119,155,.1),transparent 20%),linear-gradient(180deg,var(--bg-2) 0%,var(--bg) 100%)}input,textarea,button{font:inherit}button{cursor:pointer}#root{min-height:100vh}.build-badge{position:fixed;top:12px;right:12px;z-index:40;display:inline-flex;align-items:center;gap:0;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#0c0f13c2;box-shadow:0 10px 28px #0000003d;color:#f2ede69e;font-size:11px;font-weight:700;letter-spacing:.03em}.admin-shell{max-width:1480px;margin:0 auto;padding:32px}.admin-app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.panel{border:1px solid var(--border);background:linear-gradient(180deg,#14181efa,#090b0efa);box-shadow:0 18px 60px #00000047}.panel:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 18%),linear-gradient(90deg,transparent 0%,rgba(255,255,255,.02) 50%,transparent 100%);pointer-events:none;z-index:0}.panel>*{position:relative;z-index:1}.section-head h2,.workspace-header h2,.sidebar-brand h1{margin:0}.sidebar-brand h1{font-size:clamp(32px,3vw,42px);letter-spacing:-.05em;max-width:8ch}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:#c8b79dc2}.section-head p,.message,.subtle-note{color:var(--muted)}.app-sidebar{display:grid;gap:22px;padding:22px;position:sticky;top:20px}.sidebar-brand{display:grid;gap:10px}.sidebar-copy{margin:0;color:var(--muted);line-height:1.45}.sidebar-nav{display:grid;gap:8px}.panel{border-radius:28px;padding:24px;position:relative;overflow:hidden}.sidebar-tab{display:grid;gap:4px;text-align:left;padding:14px 16px;border-radius:18px;border:1px solid transparent;background:#ffffff08;color:#f2ede6ad}.sidebar-tab.is-active{background:#ffffff0f;border-color:#ffffff14;color:var(--text)}.sidebar-tab-label{font-size:15px;font-weight:800}.sidebar-tab-copy{font-size:12px;color:#f2ede685;letter-spacing:.08em;text-transform:uppercase}.sidebar-status{display:grid;gap:12px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-status-copy{display:grid;gap:4px}.sidebar-status-copy strong{font-size:20px;letter-spacing:-.04em}.sidebar-status-copy span{color:#f2ede68f;font-size:13px}.app-workspace{display:grid;gap:18px}.workspace-header{display:flex;align-items:end;justify-content:space-between;gap:20px}.workspace-header h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.05em}.workspace-copy{margin:8px 0 0;color:var(--muted);max-width:52ch}.workspace-meta{display:grid;gap:8px;justify-items:end;color:#f2ede68f;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.auth-panel{display:grid;gap:16px}.auth-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.export-toolbar{margin:0 0 18px}.primary-button,.secondary-button{border:1px solid transparent;border-radius:999px;padding:12px 18px;font-weight:700}.compact-button{min-height:38px;padding:0 14px;font-size:13px}.primary-button{background:linear-gradient(180deg,#f4eee6f5,#c2b6a4db);color:#0a0b0e}.secondary-button{background:#ffffff0a;color:var(--text);border-color:#ffffff14}.danger-button{background:#8f3a4a2e;color:#f0b2bb;border-color:#ffabb81f}.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:not-allowed}.grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}.section-head{margin-bottom:20px;display:grid;gap:6px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1 / -1}.field span,.toggle span{font-size:13px;color:#f2ede6a3}.field input,.field textarea,.style-row input,.code-area{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#07090cd1;color:var(--text);padding:12px 14px}.field textarea,.code-area{min-height:96px;resize:vertical}.code-area{min-height:460px;font-family:Consolas,SFMono-Regular,monospace;line-height:1.5}.subtle-note{margin:0 0 14px;font-size:13px}.toggle-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}.toggle,.mini-toggle{display:inline-flex;align-items:center;gap:8px}.styles-table{display:flex;flex-direction:column;gap:12px}.campaign-card-grid{display:grid;gap:16px}.style-card{border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:18px;background:#ffffff08}.campaign-brand-card{gap:18px}.style-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.style-card-head h3{margin:0}.kiosk-card-copy{margin:8px 0 0;color:#f2ede6ad}.style-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.style-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.style-card-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:16px}.kiosk-card-meta{margin-top:16px}.kiosk-card-links{margin-top:8px}.inline-field-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.campaign-toggle-row{margin-top:18px}.color-field{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.color-swatch{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px #0000002e}.campaign-brand-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.asset-preview-card{border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:16px;background:#ffffff06}.asset-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.asset-preview-head h4{margin:0}.asset-preview-surface{display:grid;place-items:center;min-height:180px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.logo-surface{background:linear-gradient(135deg,rgba(255,255,255,.04) 25%,transparent 25%) -12px 0 / 24px 24px,linear-gradient(225deg,rgba(255,255,255,.04) 25%,transparent 25%) -12px 0 / 24px 24px,linear-gradient(315deg,rgba(255,255,255,.04) 25%,transparent 25%) 0 0 / 24px 24px,linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25%) 0 0 / 24px 24px,#07090ce0}.background-surface{background:#07090ce0}.asset-preview-image{display:block;width:100%;height:100%;max-height:280px;object-fit:contain}.background-surface .asset-preview-image{object-fit:cover}.asset-preview-empty{margin:0;padding:0 18px;color:#f2ede69e;text-align:center}.advanced-panel{border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:16px 18px;background:#ffffff05}.advanced-panel summary{cursor:pointer;font-weight:700;color:#f2ede6eb}.advanced-panel-copy{margin-top:12px}.inline-confirm{display:grid;gap:10px;min-width:min(320px,100%);padding:12px 14px;border-radius:18px;border:1px solid rgba(255,210,92,.22);background:#ffd25c14}.inline-confirm-copy{margin:0;color:#fff0c8eb;font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}.operator-kiosk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.operator-kiosk-card{border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:18px;background:#ffffff08}.operator-kiosk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.operator-kiosk-head h3{margin:0}.operator-kiosk-head p{margin:6px 0 0;color:#f2ede69e;font-size:13px}.operator-kiosk-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:16px 0}.operator-kiosk-meta div{min-width:0}.operator-kiosk-meta dt{margin:0 0 4px;color:#f2ede680;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.operator-kiosk-meta dd{margin:0;color:#f2ede6e6;font-size:14px}.operator-kiosk-actions{display:flex;gap:8px;flex-wrap:wrap}.operator-kiosk-links{margin-top:14px}.operator-kiosk-links p{margin:10px 0 0;color:#f2ede6cc}.status-chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;background:#ffffff0a;color:#f2ede6d1;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.status-chip.ok{background:#4ad68b2e;color:#9ef4bf}.status-chip.off{background:#ff748f2e;color:#ff9ea8}.status-chip.warn{background:#ffd25c2e;color:#ffd66d}.compact-status-row{margin-top:0;margin-bottom:0}.metric-card{border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:18px;background:#ffffff08}.metric-card span{display:block;font-size:12px;color:#f2ede694;letter-spacing:.08em;text-transform:uppercase}.metric-card strong{display:block;margin-top:8px;font-size:26px;letter-spacing:-.04em}.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.operations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.operations-card{border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:18px;background:#ffffff08}.operations-alert-card{margin-bottom:18px}.operations-alert-card.ok{background:radial-gradient(circle at top right,rgba(77,197,131,.12),transparent 32%),#ffffff08}.operations-alert-card.warn{background:radial-gradient(circle at top right,rgba(255,166,128,.16),transparent 32%),#ffffff08}.operations-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.operations-head h3{margin:0;font-size:26px;letter-spacing:-.04em}.operations-copy{margin:10px 0 0;color:#f2ede6ad}.operations-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:16px 0}.operations-facts dt{margin:0 0 4px;color:#f2ede680;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.operations-facts dd{margin:0;color:#f2ede6e6;font-size:14px}.failure-list{display:grid;gap:12px;margin-top:16px}.failure-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.failure-summary-block{display:grid;gap:10px}.failure-summary-label{color:#f2ede68f;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.failure-summary-chips{display:flex;gap:8px;flex-wrap:wrap}.failure-item{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px;background:#080a0eb8}.failure-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.failure-item-head strong{display:block;margin:0}.failure-item-head span{display:block;margin-top:4px;color:#f2ede68f;font-size:12px}.failure-item-copy,.failure-item-meta{margin:10px 0 0}.failure-item-copy{color:#ffb0b8;line-height:1.5}.failure-item-meta{color:#f2ede699;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.failure-item-prompt{margin:10px 0 0;color:#f2ede6bd;font-size:13px;line-height:1.45}.preview-card{border:1px solid rgba(255,255,255,.08);border-radius:26px;padding:22px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--preview-primary, #ff4ebe) 14%,transparent),transparent 36%),radial-gradient(circle at bottom right,color-mix(in srgb,var(--preview-secondary, #8d61ff) 12%,transparent),transparent 32%),#ffffff08}.auth-panel .field{min-width:0}.preview-card h3{margin:0 0 10px}.preview-card p{margin:0;color:#f2ede6bd}.preview-eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#c8b79db8}.preview-chip-row,.preview-mobile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.preview-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border-radius:999px;color:#fff;font-size:13px;font-weight:700}.preview-button{border:1px solid transparent;border-radius:999px;min-height:44px;padding:0 18px;background:linear-gradient(180deg,#f4eee6f5,#c2b6a4db);color:#0a0b0e;font-weight:700}.preview-button.secondary{background:#ffffff0d;color:var(--text);border-color:#ffffff14}.preview-record{display:grid;place-items:center;width:146px;height:146px;margin-top:18px;border-radius:999px;background:radial-gradient(circle at center,rgba(10,8,19,.18) 0 30%,transparent 31%),linear-gradient(180deg,#181d24fa,#080a0dfa);box-shadow:0 14px 42px #00000057;border:1px solid rgba(255,255,255,.08)}.preview-record span{font-size:12px;letter-spacing:.14em;text-transform:uppercase}.jobs-table-wrap{overflow-x:auto}.jobs-table{width:100%;border-collapse:collapse}.jobs-table th,.jobs-table td{padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:top}.jobs-table th{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#f2ede685}.table-subcopy,.table-error{margin:6px 0 0;font-size:13px;line-height:1.45}.table-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.table-subcopy{color:#f2ede6a3}.table-error{color:#ff9ea8}.empty-cell{color:#f2ede6a3}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;background:#ffffff0f}.status-completed{background:#4ad68b2e;color:#9ef4bf}.status-failed{background:#ff748f2e;color:#ff9ea8}.status-processing{background:#ffd25c2e;color:#ffd66d}.status-queued{background:#74a6ff2e;color:#9dc3ff}.style-row{display:grid;grid-template-columns:1.1fr 1fr 1.6fr 1fr 100px 110px;gap:12px}.kiosk-row{grid-template-columns:1.1fr 1fr 1fr 110px minmax(180px,auto)}.kiosk-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.message{margin:14px 0 0}.message.error{color:#ff9ea8}.message.success{color:#9ef4bf}.message.warning{color:#ffd66d}@media(max-width:1120px){.admin-app-shell,.auth-grid,.grid{grid-template-columns:1fr}.metric-grid,.preview-grid,.operations-grid,.campaign-brand-preview,.style-card-grid,.style-row,.operator-kiosk-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.admin-shell{padding:16px}.app-sidebar{position:static}.field-grid,.metric-grid,.preview-grid,.operations-grid,.campaign-brand-preview,.style-card-grid,.style-row,.operator-kiosk-grid,.operator-kiosk-meta{grid-template-columns:1fr}.asset-preview-head,.style-card-head,.style-card-footer{flex-direction:column;align-items:stretch}}
