:root{--font-display: "Sora", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg-deep: oklch(.115 .004 60);--bg: oklch(.16 .005 60);--surface: oklch(.2 .006 60);--surface-sunken: oklch(.18 .006 60);--surface-hover: oklch(.24 .007 60);--border: oklch(.32 .008 75 / 65%);--border-strong: oklch(.4 .01 80);--border-accent: color-mix(in srgb, var(--accent) 30%, transparent);--text: oklch(.96 .01 85);--muted: oklch(.72 .015 80);--muted-2: oklch(.62 .012 80);--accent: oklch(.76 .13 85);--accent-bright: oklch(.82 .12 88);--accent-hover: oklch(.8 .12 88);--accent-active: oklch(.7 .13 84);--accent-soft: oklch(.3 .03 85);--accent-contrast: oklch(.14 .005 60);--accent-glow: color-mix(in srgb, var(--accent) 30%, transparent);--danger: oklch(.66 .2 25);--danger-strong: oklch(.74 .18 25);--danger-soft: oklch(.28 .06 25);--success: oklch(.74 .14 155);--success-soft: oklch(.26 .04 155);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 8px 24px -12px rgba(0, 0, 0, .6);--shadow-lg: 0 24px 60px -20px rgba(0, 0, 0, .7);--shadow-card: 0 0 0 1px rgba(255, 255, 255, .05), 0 2px 20px rgba(0, 0, 0, .45), 0 0 40px rgba(0, 0, 0, .25);--shadow-card-hover: 0 0 0 1px rgba(255, 255, 255, .1), 0 12px 44px rgba(0, 0, 0, .55), 0 0 70px var(--accent-glow);--shadow-cta: 0 0 0 1px color-mix(in srgb, var(--accent) 50%, transparent), 0 6px 20px -4px color-mix(in srgb, var(--accent) 35%, transparent), inset 0 1px 0 0 rgba(255, 255, 255, .22);--ease-expo: cubic-bezier(.16, 1, .3, 1);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{margin:0;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-color:var(--bg);background-image:radial-gradient(ellipse 130% 90% at 50% -10%,oklch(.24 .01 70) 0%,var(--bg) 46%,var(--bg-deep) 100%);background-repeat:no-repeat;background-attachment:fixed;color:var(--text)}h1{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0 0 4px}h2{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}p{line-height:1.5}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-screen,.event-form-screen{max-width:440px;margin:8vh auto;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:10px}.login-brand-word{width:120px;height:auto;color:var(--accent);flex-shrink:0}.login-brand h1{margin:0}.events-screen{max-width:620px;margin:8vh auto;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.photos-screen{max-width:960px;margin:5vh auto;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.login-screen form,.event-form-screen form{display:flex;flex-direction:column;gap:14px;margin-top:20px}.login-screen label,.event-form-screen label,.moderators-section label,.promotion-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--muted)}.checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important}input,select{font:inherit;font-size:15px;color:var(--text);caret-color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;transition:border-color .12s ease}input::placeholder{color:var(--muted-2)}input:hover,select:hover{border-color:var(--border-strong)}input:focus-visible,select:focus-visible{border-color:var(--accent)}input:disabled,select:disabled{background:var(--surface-sunken);color:var(--muted-2);cursor:not-allowed}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}input[type=color]{width:64px;height:40px;padding:4px;cursor:pointer}input[type=file]{border:none;padding:4px 0;font-size:14px}input[type=file]::file-selector-button{font:inherit;font-size:13px;font-weight:500;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px;margin-right:12px;cursor:pointer;transition:background .12s ease,border-color .12s ease}input[type=file]::file-selector-button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.field-hint{font-size:12px;color:var(--muted-2);margin:-6px 0 0}button{font:inherit;font-size:15px;font-weight:500;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 16px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;-webkit-tap-highlight-color:transparent}button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}button:active:not(:disabled){background:var(--surface-hover)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}.btn-danger{color:var(--danger-strong);background:var(--surface);border-color:var(--border)}.btn-danger:hover:not(:disabled){color:#fff;background:var(--danger-strong);border-color:var(--danger-strong)}.btn-link{border:none;background:none;padding:4px 0;color:var(--accent);font-weight:500;text-align:left}.btn-link:hover:not(:disabled){background:none;text-decoration:underline}.btn-icon{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn-block{display:block;width:100%}.btn-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;padding:8px 12px;font-size:14px;color:var(--muted);background:transparent;border-color:transparent}.btn-back:hover:not(:disabled){color:var(--text);background:var(--surface-hover);border-color:var(--border)}.btn-file{display:inline-flex;align-items:center;font-size:13px;font-weight:500;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:9px 14px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.btn-file:hover{background:var(--surface-hover);border-color:var(--border-strong)}.error{color:var(--danger-strong);font-size:14px}.success{color:var(--success);font-size:14px}.role-badge{display:inline-block;color:var(--muted-2);font-size:12px;font-weight:500;background:var(--surface-sunken);border:1px solid var(--border);border-radius:999px;padding:4px 12px;margin:0;white-space:nowrap}.events-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:4px}.events-header h1{margin:0}.events-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 4px}.events-toolbar .btn-primary{flex-shrink:0}.center-msg{text-align:center;margin-top:20vh;color:var(--muted)}ul{list-style:none;padding:0;margin:16px 0 0}.event-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;text-decoration:none;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;font-weight:400;transition:border-color .12s ease,box-shadow .12s ease}.event-row:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.event-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}.event-row-name{font-weight:600;font-size:15px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-code{color:var(--muted-2);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.04em}.event-tabs{display:flex;gap:8px;margin:18px 0 16px;padding-bottom:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.event-tab{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;padding:7px 14px;font-size:13.5px;font-weight:500;color:var(--muted);background:var(--surface-sunken);border:1px solid var(--border);border-radius:999px;cursor:pointer;white-space:nowrap;transition:color .14s var(--ease-expo),background .14s var(--ease-expo),border-color .14s var(--ease-expo)}.event-tab:hover:not(.active){color:var(--text);background:var(--surface-hover);border-color:var(--border-strong)}.event-tab.active{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.event-tab-count{font-size:12px;font-weight:600;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--muted) 24%,transparent);color:inherit}.event-tab.active .event-tab-count{background:color-mix(in srgb,var(--accent-contrast) 18%,transparent)}.status-badge{flex-shrink:0;display:inline-flex;align-items:center;font-size:12px;font-weight:600;letter-spacing:.01em;padding:4px 11px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.status-draft{color:var(--muted);background:var(--surface-sunken);border-color:var(--border)}.status-live{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent);border-color:color-mix(in srgb,var(--success) 42%,transparent)}.status-live:before{content:"";width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--success)}.status-pending_reveal{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 42%,transparent)}.status-revealed{color:#6dbbe8;background:color-mix(in srgb,oklch(.76 .1 235) 15%,transparent);border-color:color-mix(in srgb,oklch(.76 .1 235) 42%,transparent)}.status-archived{color:var(--muted-2);background:transparent;border-color:var(--border);opacity:.85}.events-empty{color:var(--muted);margin:8px 0}.form-actions{display:flex;gap:8px}.form-actions input{flex:1;min-width:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.qr-section{display:flex;flex-direction:column;align-items:center;gap:10px;margin:20px 0;padding:20px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius)}.qr-section canvas{background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);max-width:100%;height:auto}.guest-url{font-size:13px;color:var(--muted-2);word-break:break-all;text-align:center}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:16px}.photo-grid a{display:block;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);transition:box-shadow .12s ease,transform .08s ease}.photo-grid a:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.photo-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.readonly-detail{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:16px 0}.readonly-detail p{margin:4px 0;color:var(--muted)}.logo-section,.promotions-section,.moderators-section{margin-top:28px;border-top:1px solid var(--border);padding-top:20px}.logo-section{display:flex;flex-direction:column;gap:12px}.logo-preview{max-width:160px;max-height:160px;object-fit:contain;border-radius:var(--radius);background:var(--surface-sunken);border:1px solid var(--border);padding:8px}.moderators-section form{display:flex;flex-direction:column;gap:12px;margin-top:12px}.moderators-section ul li{padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.promotions-list{list-style:none;padding:0;margin:12px 0;display:flex;flex-direction:column;gap:8px}.promotion-item{display:flex;align-items:center;gap:12px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.promotion-image{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.promotion-info{flex:1;min-width:0}.promotion-info p{margin:2px 0;color:var(--muted-2);font-size:13px}.promotion-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.promotion-form{display:flex;flex-direction:column;gap:12px;margin-top:16px}@media (max-width: 640px){.login-screen,.event-form-screen,.events-screen,.photos-screen{margin:4vh 12px;padding:20px}h1{font-size:20px}.promotion-item{flex-wrap:wrap}.promotion-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}.dash{display:flex;min-height:100vh}.dash-sidebar{width:244px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:22px 16px;background:var(--surface);border-right:1px solid var(--border);position:sticky;top:0;height:100vh}.dash-brand{display:flex;flex-direction:column;gap:3px;padding:6px 8px 16px}.dash-brand-word{width:108px;height:auto;color:var(--accent)}.dash-brand-tag{font-size:11px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.08em}.dash-nav{display:flex;flex-direction:column;gap:2px}.dash-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--muted);font-weight:500;font-size:14px;text-decoration:none;transition:background .12s ease,color .12s ease}.dash-nav a:hover{background:var(--surface-hover);color:var(--text)}.dash-nav a.active{background:var(--accent-soft);color:var(--text)}.dash-nav-icon{width:18px;text-align:center;opacity:.85}.dash-sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.dash-account{display:flex;flex-direction:column;gap:2px;padding:0 4px;min-width:0}.dash-account-email{font-size:12.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-account-role{font-size:11px;color:var(--muted-2)}.dash-main{flex:1;min-width:0;padding:32px;overflow-x:hidden}.dash-topbar,.dash-backdrop{display:none}.page-head{margin-bottom:2px}.page-sub{margin:3px 0 0;color:var(--muted-2);font-size:14px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:22px}.dash-card{display:flex;flex-direction:column;gap:4px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);transition:border-color .12s ease,transform .08s ease,box-shadow .12s ease}.dash-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.dash-card-icon{font-size:22px;color:var(--accent);margin-bottom:2px}.dash-card h2{margin:2px 0 0}.dash-card p{margin:0;color:var(--muted-2);font-size:13px}.report-list{list-style:none;padding:0;margin:16px 0 0}.dash-main :is(.events-screen,.event-form-screen,.photos-screen){margin:0 auto}.dash-main :is(.overview-screen,.reports-screen){max-width:920px;margin:0 auto}@media (max-width: 860px){.dash{flex-direction:column}.dash-topbar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.dash-hamburger{padding:6px 10px;font-size:18px;background:transparent;border-color:transparent}.dash-sidebar{position:fixed;top:0;left:0;bottom:0;height:100dvh;z-index:40;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.dash-sidebar.open{transform:translate(0)}.dash-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0000008c}.dash-main{padding:18px 14px}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:20px}.kpi-tile{padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.kpi-label{font-size:12px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em}.kpi-value{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.02em;margin-top:6px;line-height:1}.kpi-value.accent{color:var(--accent)}.stat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.stat-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--surface-sunken);border:1px solid var(--border);font-size:12.5px;color:var(--muted)}.stat-chip b{color:var(--text);font-weight:600}.overview-section{margin-top:28px}.overview-section>h2{margin-bottom:12px}.reveal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.reveal-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.reveal-item a{color:var(--text);text-decoration:none}.reveal-item a:hover{text-decoration:underline}.reveal-when{color:var(--accent);font-size:13px;white-space:nowrap}.report-section{margin-top:26px}.report-section>h2{margin-bottom:12px}.chart-empty{color:var(--muted-2);font-size:14px;margin:0}.chart-scroll{overflow-x:auto;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.chart-svg{display:block;max-width:100%;height:auto}.chart-bar{fill:var(--accent)}.chart-val{fill:var(--text);font-size:12px;font-weight:600}.chart-axis{fill:var(--muted-2);font-size:11px}.hbars{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.hbar-row{display:grid;grid-template-columns:minmax(80px,140px) 1fr auto;align-items:center;gap:12px}.hbar-label{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{height:12px;background:var(--surface-sunken);border-radius:999px;overflow:hidden}.hbar-fill{display:block;height:100%;background:var(--accent);border-radius:999px;min-width:3px}.hbar-value{font-size:13px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.dash-main .report-detail{max-width:760px}.camera-mode-field{display:flex;flex-direction:column;gap:8px}.field-title{font-size:14px;font-weight:500;color:var(--muted)}.camera-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.camera-mode-opt{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px;background:var(--surface-sunken);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .12s ease,background .12s ease}.camera-mode-opt:hover{border-color:var(--border-strong)}.camera-mode-opt.selected{border-color:var(--accent);background:var(--accent-soft)}.camera-mode-opt input[type=radio]{position:absolute;opacity:0;pointer-events:none}.cmo-title{font-size:14px;font-weight:600;color:var(--text)}.cmo-desc{font-size:12px;line-height:1.4;color:var(--muted-2)}@media (max-width: 520px){.camera-mode-options{grid-template-columns:1fr}}textarea{font:inherit;font-size:15px;color:var(--text);caret-color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;resize:vertical;min-height:64px;line-height:1.5;transition:border-color .12s ease}textarea::placeholder{color:var(--muted-2)}textarea:hover{border-color:var(--border-strong)}textarea:focus-visible{border-color:var(--accent)}.danger-zone{margin-top:28px;padding:18px;border:1px solid var(--danger-soft);border-radius:var(--radius);background:color-mix(in srgb,var(--danger) 6%,transparent)}.danger-zone>h2{margin-bottom:8px;color:var(--danger-strong)}.danger-zone-desc{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.5}.danger-zone code{font-family:var(--font-mono);font-size:13px;background:var(--surface-sunken);border:1px solid var(--border);padding:1px 7px;border-radius:6px;color:var(--text)}.danger-confirm-input{width:100%;margin:0 0 12px;font-family:var(--font-mono);letter-spacing:.08em}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.ambient-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,#fff 1px,transparent 1px),linear-gradient(to bottom,#fff 1px,transparent 1px);background-size:64px 64px;opacity:.022;-webkit-mask-image:radial-gradient(ellipse 85% 65% at 50% 0%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse 85% 65% at 50% 0%,#000 25%,transparent 78%)}.ambient-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.ambient-blob{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform}.ambient-blob-1{top:-22%;left:50%;width:min(620px,130vw);height:520px;transform:translate(-50%);background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 55%,transparent),transparent 70%);opacity:.5}.ambient-blob-2{bottom:-18%;left:-12%;width:min(460px,90vw);height:460px;background:radial-gradient(circle at center,oklch(.62 .11 55 / 42%),transparent 70%);opacity:.45}@media (prefers-reduced-motion: no-preference){.ambient-blob-1{animation:ambient-float-a 12s ease-in-out infinite}.ambient-blob-2{animation:ambient-float-b 15s ease-in-out infinite}}@keyframes ambient-float-a{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(28px)}}@keyframes ambient-float-b{0%,to{transform:translate(0)}50%{transform:translate(26px,-22px)}}@supports ((background-clip: text) or (-webkit-background-clip: text)){h1{background:linear-gradient(180deg,#fff,#fffffff0 42%,#ffffffa8);-webkit-background-clip:text;background-clip:text;color:transparent}}.btn-primary{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,var(--accent-bright),var(--accent));border-color:transparent;box-shadow:var(--shadow-cta);transition:transform .14s var(--ease-expo),box-shadow .24s var(--ease-expo),filter .24s var(--ease-expo)}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.32) 50%,transparent 66%);transform:translate(-130%);transition:transform .7s var(--ease-expo);pointer-events:none}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,var(--accent-bright),var(--accent));filter:brightness(1.05);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent),0 10px 30px -6px color-mix(in srgb,var(--accent) 45%,transparent),inset 0 1px #ffffff47}.btn-primary:hover:not(:disabled):after{transform:translate(130%)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{box-shadow:none;filter:none}input,select,textarea{background:var(--surface-hover);border-color:var(--border-strong);transition:border-color .18s var(--ease-expo),box-shadow .18s var(--ease-expo)}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);outline:none}.login-screen,.event-form-screen,.events-screen,.photos-screen,.kpi-tile,.reveal-item{background:linear-gradient(180deg,#ffffff0f,#ffffff05),var(--surface);box-shadow:var(--shadow-card)}.dash-card,.event-row{background:linear-gradient(180deg,#ffffff0f,#ffffff05),var(--surface);box-shadow:var(--shadow-card);transition:transform .24s var(--ease-expo),box-shadow .24s var(--ease-expo),border-color .24s var(--ease-expo)}.dash-card:hover,.event-row:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}.dash-card:active,.event-row:active{transform:translateY(-1px) scale(.995)}.photo-grid a{transition:transform .2s var(--ease-expo),box-shadow .2s var(--ease-expo),border-color .2s var(--ease-expo)}.photo-grid a:hover{transform:translateY(-3px);border-color:var(--border-accent);box-shadow:0 0 0 1px var(--border-accent),0 6px 22px -8px color-mix(in srgb,var(--accent) 40%,transparent)}.dash-sidebar{background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:saturate(1.3) blur(14px);backdrop-filter:saturate(1.3) blur(14px)}.dash-topbar{background:color-mix(in srgb,var(--surface) 78%,transparent);-webkit-backdrop-filter:saturate(1.3) blur(12px);backdrop-filter:saturate(1.3) blur(12px)}@media (prefers-reduced-motion: no-preference){.login-screen,.event-form-screen,.events-screen,.photos-screen,.overview-screen,.reports-screen{animation:rise-in .5s var(--ease-expo) both}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
