@import "https://fonts.googleapis.com/css2?family=Titillium+Web:wght@400;600;700&display=swap";:root{--color-primary-red:#c80008;--color-primary-blue:#0077c0;--color-primary-navy:#003161;--color-primary-night:#000828;--color-primary-blue-light:#eef7fc;--color-success:#007a3d;--color-warning:#b49509;--color-danger:#b42318;--color-info:#0077c0;--color-bg:#fff;--color-surface-2:#eef7fc;--color-border:#c7d8e5;--color-text:#003161;--color-red-10:#c800081a;--color-red-32:#c8000852;--color-blue-10:#0077c01a;--color-blue-32:#0077c052;--text:var(--color-text);--text-h:var(--color-primary-navy);--bg:var(--color-bg);--border:var(--color-border);--code-bg:var(--color-surface-2);--accent:var(--color-primary-blue);--accent-bg:var(--color-surface-2);--accent-border:var(--color-border);--social-bg:var(--color-surface-2);--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Titillium Web", sans-serif;--heading:"Titillium Web", sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}@media (width<=1024px){:root{font-size:16px}}.u-text-primary-red{color:var(--color-primary-red)}.u-text-primary-blue{color:var(--color-primary-blue)}.u-text-primary-navy{color:var(--color-primary-navy)}.u-text-primary-night{color:var(--color-primary-night)}.u-text-success{color:var(--color-success)}.u-text-warning{color:var(--color-warning)}.u-text-danger{color:var(--color-danger)}.u-text-info{color:var(--color-info)}.u-bg-primary-red{background-color:var(--color-primary-red)}.u-bg-primary-blue{background-color:var(--color-primary-blue)}.u-bg-primary-navy{background-color:var(--color-primary-navy)}.u-bg-primary-night{background-color:var(--color-primary-night)}.u-bg-surface{background-color:var(--color-bg)}.u-bg-surface-2{background-color:var(--color-surface-2)}.u-bg-red-10{background-color:var(--color-red-10)}.u-bg-red-32{background-color:var(--color-red-32)}.u-bg-blue-10{background-color:var(--color-blue-10)}.u-bg-blue-32{background-color:var(--color-blue-32)}.u-border{border:1px solid var(--color-border)}.u-border-primary-red{border-color:var(--color-primary-red)}.u-border-primary-blue{border-color:var(--color-primary-blue)}.u-border-success{border-color:var(--color-success)}.u-border-warning{border-color:var(--color-warning)}.u-border-danger{border-color:var(--color-danger)}.u-border-info{border-color:var(--color-info)}.u-surface-success{background-color:color-mix(in srgb, var(--color-success) 10%, white);border-color:color-mix(in srgb, var(--color-success) 32%, white);color:var(--color-success)}.u-surface-warning{background-color:color-mix(in srgb, var(--color-warning) 10%, white);border-color:color-mix(in srgb, var(--color-warning) 32%, white);color:var(--color-warning)}.u-surface-danger{background-color:var(--color-red-10);border-color:var(--color-red-32);color:var(--color-danger)}.u-surface-info{background-color:var(--color-blue-10);border-color:var(--color-blue-32);color:var(--color-info)}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}main{text-align:left;gap:24px;padding:32px;display:grid}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:700}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;font-weight:600;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}a{text-decoration:none}.login-page{place-items:center;min-height:100svh;padding:24px;display:grid}.login-panel{width:min(460px,100%)}.login-copy{margin-bottom:16px}.login-form{gap:12px;display:grid}.field{gap:6px;display:grid}.field span{color:var(--text-h);font-weight:600}.field input,.field select{border:1px solid var(--border);font:inherit;background:var(--bg);color:var(--text-h);border-radius:12px;padding:10px 12px}.field input:focus,.field select:focus{outline:2px solid var(--accent-border);outline-offset:1px}.ticket-booth-page{gap:16px;display:grid}.ticket-booth-header{gap:8px;display:grid}.ticket-booth-eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700}.ticket-booth-header h1{margin:0;font-size:clamp(28px,4vw,44px)}.ticket-booth-grid{grid-template-columns:1.2fr 1fr;gap:12px;display:grid}.ticket-booth-panel{align-content:start;gap:12px;display:grid}.ticket-booth-scanner{justify-items:center;gap:8px;display:grid}.ticket-booth-scanner-viewport{border:1px solid var(--border);background:#000;border-radius:12px;width:100%;max-width:360px;overflow:hidden}.ticket-booth-scanned-list{gap:8px;display:grid}.ticket-booth-scanned-items{gap:6px;max-height:240px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.ticket-booth-scanned-item{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.ticket-booth-summary{background:linear-gradient(150deg, color-mix(in srgb, var(--accent-bg) 80%, transparent), transparent 50%), var(--bg)}.ticket-booth-receipt{margin-top:8px}.raffle-picker-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.raffle-picker-btn{background:var(--bg-alt,var(--bg));border:1px solid var(--border,#e0e0e0);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 18px;transition:background .15s,border-color .15s;display:flex}.raffle-picker-btn:hover{background:color-mix(in srgb, var(--accent-bg) 40%, var(--bg));border-color:var(--accent)}.raffle-picker-name{font-size:15px;font-weight:600}.raffle-picker-selected{align-items:center;gap:10px;font-weight:600;display:flex}.raffle-status-badge{letter-spacing:.05em;text-transform:uppercase;background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);border-radius:99px;padding:2px 8px;font-size:12px;font-weight:600}.raffle-status-badge.status-active{background:color-mix(in srgb, var(--color-success) 15%, transparent);color:var(--color-success)}.raffle-status-badge.status-pending{background:color-mix(in srgb, var(--color-warning) 15%, transparent);color:var(--color-warning)}.raffle-status-badge.status-paused{color:#374151;background:#6b728026}@media (width<=960px){.ticket-booth-grid{grid-template-columns:1fr}}.session-header{text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:16px 32px 0;display:flex}.header-actions{align-items:center;gap:10px;display:flex}.header-actions .ghost-btn.active{border-color:var(--accent-border);background:var(--accent-bg)}#logo{width:130px;height:auto}.panel{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:20px}.highlight-panel{background:var(--accent-bg);border-color:var(--accent-border)}.panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.panel-actions{gap:10px;display:flex}.status-grid{gap:6px;margin-bottom:14px;display:grid}.stack-form{gap:12px;display:grid}.result-card{border-radius:12px;gap:6px;margin-top:16px;padding:14px;display:grid}.success-card{background:color-mix(in srgb, var(--color-success) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-success) 20%, transparent)}.table-wrap{overflow-x:auto}.raffle-list-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.raffle-list-control{gap:6px;display:grid}.raffle-list-control span{color:var(--text-h);font-size:14px;font-weight:600}.raffle-list-control input,.raffle-list-control select{border:1px solid var(--border);font:inherit;background:var(--bg);color:var(--text-h);border-radius:10px;padding:8px 10px}.raffle-list-control input:focus,.raffle-list-control select:focus{outline:2px solid var(--accent-border);outline-offset:1px}.raffle-table{border-collapse:collapse;width:100%;font-size:15px}.raffle-table th,.raffle-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 8px}.raffle-table th{color:var(--text-h);font-weight:600}.table-sort-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:600;display:inline-flex}.table-sort-btn:hover{color:var(--accent)}.table-sort-btn:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px;border-radius:6px}.table-sort-btn--active{color:var(--accent)}.sort-chevron{gap:2px;display:inline-grid}.sort-chevron-up,.sort-chevron-down{opacity:.45;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0}.sort-chevron-up{border-bottom:6px solid}.sort-chevron-down{border-top:6px solid}.sort-chevron-up.is-active,.sort-chevron-down.is-active{opacity:1}.raffle-table tbody tr:hover{background:var(--accent-bg);cursor:pointer}.audit-metadata{text-overflow:ellipsis;white-space:nowrap;max-width:360px;display:inline-block;overflow:hidden}.compact-btn{padding:6px 10px;font-size:14px}.detail-grid{gap:8px;display:grid}.raffle-timeline{grid-template-columns:repeat(4,1fr);gap:0;display:grid}.timeline-step{justify-items:center;gap:8px;display:grid;position:relative}.timeline-node{border:2px solid var(--border);background:var(--bg);width:32px;height:32px;color:var(--text-h);z-index:1;border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.timeline-node--completed{border-color:var(--accent);background:var(--accent);color:#fff}.timeline-node--current{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.timeline-label{color:var(--text-h);margin:0;font-size:14px;font-weight:600}.timeline-line{background:var(--border);width:calc(100% - 32px);height:2px;position:absolute;top:16px;left:calc(50% + 16px)}.timeline-line--completed{background:var(--accent)}.progress-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.tenant-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px;display:grid}.progress-card{border:1px solid var(--border);background:var(--bg);border-radius:14px;gap:8px;padding:16px;display:grid}.progress-card-label{color:var(--text-h);margin:0;font-size:14px;font-weight:600}.progress-card-value{color:var(--text-h);margin:0;font-size:24px;font-weight:700;line-height:1.1}.progress-card-meta{color:var(--text);margin:0;font-size:14px}@media (width<=900px){.raffle-list-controls{grid-template-columns:1fr 1fr}.progress-card-grid,.tenant-stats-grid{grid-template-columns:1fr}}@media (width<=560px){.raffle-list-controls{grid-template-columns:1fr}}.action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.success-text{color:var(--color-success);font-weight:600}.status-pill{border-radius:999px;padding:4px 10px;font-size:14px;font-weight:600}.status-pill--ok{background:color-mix(in srgb, var(--color-success) 15%, transparent);color:var(--color-success)}.status-pill--error{background:color-mix(in srgb, var(--color-danger) 15%, transparent);color:var(--color-danger)}.primary-btn,.ghost-btn,.danger-btn{border:1px solid var(--accent-border);font:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;border-radius:12px;padding:10px 14px}.primary-btn{background:var(--accent);color:#fff;border-color:#0000}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.ghost-btn{background:var(--accent-bg);color:var(--text-h)}.danger-btn{background:var(--color-red-10);border-color:var(--color-red-32);color:var(--color-danger)}.danger-btn:disabled{opacity:.6;cursor:not-allowed}.error-text{color:var(--color-danger);font-weight:600}.global-notification{background:var(--bg);z-index:1000;box-shadow:var(--shadow);text-transform:uppercase;letter-spacing:.06em;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;max-width:min(420px,100vw - 24px);padding:12px 14px;display:flex;position:fixed;top:20px;right:20px}.global-notification p{margin:0;font-weight:600}.global-notification--success{border-color:color-mix(in srgb, var(--color-success) 35%, transparent);color:var(--color-success)}.global-notification--error{border-color:color-mix(in srgb, var(--color-danger) 35%, transparent);color:var(--color-danger)}.global-notification--info{border-color:color-mix(in srgb, var(--color-info) 35%, transparent);color:var(--color-info)}.winner-number{margin-top:14px;font-size:20px}.winner-number span{font-weight:700}.screen-page{color:#f8fafc;background:radial-gradient(circle at 15% 20%,#10b98159,#0000 38%),radial-gradient(circle at 85% 10%,#0ea5e94d,#0000 35%),linear-gradient(135deg,#0b1220 0%,#101c34 40%,#0f172a 100%);width:100vw;min-height:100svh;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.screen-page--before-sale{background:radial-gradient(circle at 15% 20%,#3b82f661,#0000 40%),radial-gradient(circle at 85% 15%,#14b8a64d,#0000 36%),linear-gradient(145deg,#0f172a,#10213d 50%,#0c2340)}.screen-page--on-sale{background:radial-gradient(circle at 20% 30%,#22c55e73,#0000 42%),radial-gradient(circle at 80% 10%,#0ea5e94d,#0000 32%),linear-gradient(145deg,#0a2a1f,#0f3f2f 48%,#0b1b2e)}.screen-page--drawn{background:radial-gradient(circle at 22% 18%,#facc1575,#0000 38%),radial-gradient(circle at 82% 18%,#f871714d,#0000 36%),linear-gradient(145deg,#3a1f08,#582f0d 45%,#271104)}.screen-shell{text-align:center;align-content:center;gap:clamp(16px,2.5vw,32px);min-height:100svh;padding:clamp(22px,4vw,48px);display:grid}.screen-header{gap:10px;display:grid}.screen-header h1{color:#fff;letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(40px,7vw,104px);line-height:.95}.screen-status{text-transform:uppercase;letter-spacing:.12em;color:#f8fafce6;margin:0;font-size:clamp(16px,2vw,26px);font-weight:700}.screen-event{color:#f8fafccc;margin:0;font-size:clamp(20px,2.8vw,38px)}.screen-pot,.screen-countdown,.screen-winner{justify-items:center;gap:10px;display:grid}.screen-pot-label,.screen-countdown-label,.screen-winner-label{color:#f8fafcd9;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:clamp(18px,2.2vw,28px);font-weight:600}.screen-pot-value,.screen-countdown-value,.screen-winner-value{color:#fff;letter-spacing:-.04em;margin:0;font-size:clamp(46px,9vw,130px);font-weight:800;line-height:.95}.screen-winner-meta{color:#f8fafce0;margin:0;font-size:clamp(20px,2.8vw,36px);font-weight:600}.screen-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,20px);display:grid}.screen-metric-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a59;border:1px solid #f8fafc3d;border-radius:18px;gap:6px;padding:clamp(10px,2vw,20px);display:grid}.screen-metric-card p{color:#f8fafccc;text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:clamp(14px,1.8vw,24px)}.screen-metric-card strong{color:#fff;font-size:clamp(24px,3.8vw,52px);line-height:1}.screen-loading,.screen-error{color:#fff;margin:0;font-size:clamp(24px,4vw,56px);font-weight:700}.ticket-result-page{background:var(--bg);place-items:center;width:100vw;min-height:100svh;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);display:grid}.ticket-result-shell{text-align:center;gap:12px;display:grid}.ticket-result-number{color:var(--text-h);letter-spacing:-.04em;margin:0;font-size:clamp(52px,10vw,132px);font-weight:800;line-height:.9}.ticket-result-status{color:var(--text-h);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:clamp(26px,4vw,56px);font-weight:700;line-height:1}.ticket-result-status--winner{color:var(--color-success)}.ticket-result-status--not-winner{color:var(--color-danger)}@media (width<=800px){.screen-shell{align-content:start;padding-top:24px;padding-bottom:24px}.screen-metrics{grid-template-columns:1fr}}@media (width<=768px){.home{padding:20px}.session-header{flex-direction:column;align-items:flex-start;padding:16px 20px 0}.header-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.panel{padding:16px}.global-notification{max-width:none;top:12px;left:12px;right:12px}.raffle-timeline{grid-template-columns:1fr;gap:12px}.timeline-step{grid-template-columns:32px auto;place-items:center start;column-gap:10px}.timeline-line{width:2px;height:16px;top:calc(100% + 4px);left:15px}}
