:root{--night:#07101b;--night2:#0b1724;--panel:#101e2c;--gold:#e4a84a;--gold2:#ffd889;--cream:#f8ead0;--muted:#9f9a91;--line:rgba(229,176,89,.19);--green:#52cc87;--red:#f07b6e;--shadow:0 28px 80px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{background:var(--night);color:var(--cream);font-family:"DM Sans",sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 92% 0,rgba(210,143,48,.12),transparent 30%),var(--night);color:var(--cream)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
.topbar{height:74px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(5,11,18,.88);position:sticky;top:0;z-index:20;backdrop-filter:blur(18px)}.brand{font:600 25px "Cormorant Garamond",serif;letter-spacing:.3px;display:flex;align-items:center;gap:8px}.brand i{font:500 12px "DM Sans",sans-serif;color:#bca77e}.brand-mark{color:var(--gold);text-shadow:0 0 16px rgba(228,168,74,.65)}.top-actions{display:flex;align-items:center;gap:10px}.platform-link{border:1px solid var(--line);color:#c9b48d;padding:9px 11px;font-size:10px;white-space:nowrap}.platform-link:hover{background:rgba(228,168,74,.08);color:var(--gold2)}.platform-link-primary{background:rgba(228,168,74,.12);border-color:rgba(228,168,74,.35)}.mobile-label{display:none}.sync-state,.quiet-button{border:0;background:none;color:#cfc1aa;padding:9px 10px}.sync-state{display:flex;align-items:center;gap:8px;font-size:11px}.sync-state span{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(82,204,135,.11)}.sync-state.offline span{background:var(--red);box-shadow:0 0 0 4px rgba(240,123,110,.11)}.sync-state b{font-weight:500}.quiet-button{font-size:12px}.quiet-button:hover{color:var(--gold2)}
.app-shell{min-height:calc(100vh - 74px);display:grid;grid-template-columns:230px 1fr}.sidebar{border-right:1px solid var(--line);background:#050b12;padding:30px 20px;display:flex;flex-direction:column;gap:28px}.side-heading small,.kicker,.login-card>span,.login-visual>div>span,.dialog-head span{display:block;color:var(--gold);font-size:9px;letter-spacing:1.8px;font-weight:700}.side-heading select{width:100%;margin-top:9px;background:transparent;border:0;border-bottom:1px solid var(--line);padding:10px 2px;color:var(--cream);font-weight:600}.side-heading option{background:var(--night2)}nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:none;color:#8f8b85;text-align:left;padding:13px 12px;font-size:12px;border-left:2px solid transparent}.nav-item span{color:#625f5b;margin-right:10px;font-size:9px}.nav-item.active{color:var(--gold2);background:linear-gradient(90deg,rgba(228,168,74,.14),transparent);border-left-color:var(--gold)}.new-event{border:1px solid var(--line);background:rgba(228,168,74,.06);color:#d8bd8c;padding:12px;font-size:11px}.side-note{margin-top:auto;color:#706e6a;font-size:9px;line-height:1.7}
.workspace{min-width:0;padding:42px 4.5vw 70px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.page-head h1{font:600 44px/1 "Cormorant Garamond",serif;margin:8px 0 6px}.page-head p{color:var(--muted);font-size:11px;margin:0}.page-actions{display:flex;gap:9px}.primary-button,.outline-button{border:0;padding:13px 17px;font-weight:700;font-size:11px}.primary-button{background:linear-gradient(135deg,#e6ad51,#a96a22);color:#07101b;box-shadow:0 0 0 1px rgba(255,220,150,.35),0 8px 28px rgba(202,133,41,.18)}.primary-button:hover{filter:brightness(1.08)}.outline-button{border:1px solid var(--line);background:rgba(228,168,74,.045);color:#dec69d}.wide{width:100%}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:32px}.stats article{border:1px solid var(--line);background:rgba(255,255,255,.025);padding:19px;min-height:128px;position:relative}.stats article>span{font-size:8px;letter-spacing:1.5px;color:#9e8e74;font-weight:700}.stats strong{font:600 38px "Cormorant Garamond",serif;display:block;margin:13px 0 3px}.stats small{color:#817e78;font-size:9px}.progress{height:3px;position:absolute;left:19px;right:19px;bottom:16px;background:rgba(255,255,255,.07)}.progress i{height:100%;display:block;width:0;background:var(--gold);box-shadow:0 0 8px rgba(228,168,74,.5);transition:width .25s}
.view{display:none}.view.active{display:block}.guest-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:13px}.search{height:44px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:rgba(255,255,255,.025);padding:0 12px;flex:1;max-width:560px}.search span{font:600 25px "Cormorant Garamond";color:var(--gold)}.search input{border:0;outline:0;background:transparent;color:var(--cream);width:100%;font-size:12px}.search input::placeholder{color:#706d68}.search i{font-style:normal;color:#746f67;font-size:9px;white-space:nowrap}.filters{display:flex;border:1px solid var(--line)}.filters button{border:0;border-right:1px solid var(--line);background:transparent;color:#8c8881;padding:10px 12px;font-size:9px}.filters button:last-child{border-right:0}.filters button.active{background:var(--gold);color:var(--night);font-weight:700}
.table-wrap{border:1px solid var(--line);background:rgba(255,255,255,.018);overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px}th{text-align:left;padding:11px 15px;font-size:8px;letter-spacing:1.2px;color:#776f64;border-bottom:1px solid var(--line)}td{padding:13px 15px;border-bottom:1px solid rgba(228,168,74,.1);font-size:11px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:rgba(228,168,74,.035)}.person{display:flex;align-items:center;gap:11px}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:rgba(228,168,74,.11);color:var(--gold2);font:600 12px "Cormorant Garamond"}.person strong{display:block;font-size:12px}.person small{color:#797670;font-size:9px}.badge{display:inline-block;padding:5px 7px;border:1px solid rgba(228,168,74,.2);color:#a8a096;font-size:8px}.badge.vip{background:rgba(228,168,74,.13);color:var(--gold2)}.status{display:inline-flex;align-items:center;gap:7px;color:#8b8882}.status i{width:6px;height:6px;border-radius:50%;background:#696761}.status.checked{color:#b9d9c6}.status.checked i{background:var(--green);box-shadow:0 0 7px rgba(82,204,135,.5)}.row-actions{display:flex;justify-content:flex-end;gap:6px}.mini-button{border:1px solid var(--line);background:rgba(228,168,74,.04);color:#c3af8c;padding:7px 9px;font-size:9px}.mini-button.check{background:var(--gold);color:var(--night);font-weight:700}.icon-action{width:30px}.empty-list{text-align:center;padding:50px}.empty-list b,.empty-list span{display:block}.empty-list span{color:var(--muted);font-size:10px;margin-top:5px}
.scanner-view,.import-view{grid-template-columns:minmax(220px,.75fr) minmax(360px,1fr);gap:50px;align-items:start;padding-top:15px}.scanner-view.active,.import-view.active{display:grid}.scanner-copy h2,.import-view h2{font:600 45px/1 "Cormorant Garamond";margin:10px 0 15px}.scanner-copy p,.import-view>div>p{color:#94908a;line-height:1.7;font-size:12px;max-width:400px}.scanner-card,.import-card{border:1px solid var(--line);background:rgba(255,255,255,.025);padding:20px}.camera{height:290px;background:#03070b;position:relative;display:grid;place-items:center;overflow:hidden;margin-bottom:12px}.camera video{width:100%;height:100%;object-fit:cover}.camera>span{position:absolute;color:#77736d;font-size:10px}.scan-frame{position:absolute;width:175px;height:175px;border:1px solid rgba(255,216,137,.55);box-shadow:0 0 0 999px rgba(0,0,0,.25)}.scan-frame:before,.scan-frame:after{content:"";position:absolute;width:35px;height:35px;border-color:var(--gold2)}.scan-frame:before{left:-2px;top:-2px;border-left:3px solid;border-top:3px solid}.scan-frame:after{right:-2px;bottom:-2px;border-right:3px solid;border-bottom:3px solid}.scan-frame i{position:absolute;left:12px;right:12px;top:50%;height:1px;background:var(--gold);box-shadow:0 0 10px var(--gold)}.or{display:flex;align-items:center;gap:10px;margin:13px 0;color:#696762;font-size:9px}.or:before,.or:after{content:"";height:1px;background:var(--line);flex:1}#code-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}label{display:block;font-size:9px;letter-spacing:.9px;color:#b9a582;font-weight:700}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--cream);padding:12px;outline:0}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(228,168,74,.08)}select option{background:var(--night2)}.scan-result{margin-top:12px;padding:13px;border-left:2px solid var(--green);background:rgba(82,204,135,.06);font-size:11px}.scan-result.error{border-left-color:var(--red);background:rgba(240,123,110,.06)}
.dropzone{height:180px;border:1px dashed rgba(228,168,74,.38);display:grid;place-items:center;align-content:center;text-align:center;background:rgba(228,168,74,.025);cursor:pointer}.dropzone input{display:none}.dropzone strong{font:600 24px "Cormorant Garamond";color:var(--cream)}.dropzone span{margin-top:5px;color:#77736d}.columns{font-size:9px;color:#77736d;margin:14px 0}.columns b{color:#a99574}.import-summary{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}.import-summary span{font-size:9px;color:#77736d}.preview-table{max-height:220px;overflow:auto;margin-bottom:14px}.preview-table table{min-width:0}.preview-table td{padding:8px 10px}.empty-events{min-height:70vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:700px}.empty-events>span{color:var(--gold);font-size:10px;letter-spacing:2px}.empty-events h1{font:600 clamp(54px,7vw,92px)/.88 "Cormorant Garamond";margin:25px 0}.empty-events h1 em,.login-visual h1 em{color:var(--gold2);font-weight:500}.empty-events p{color:#9a948a;max-width:500px;line-height:1.7}.empty-events .primary-button{margin-top:20px}
.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--night)}.login-visual{padding:42px 6vw 60px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(90deg,rgba(5,11,18,.92),rgba(5,11,18,.65)),url("../assets/eventfabrika-cover.png") center/cover}.login-visual h1{font:600 clamp(56px,7vw,100px)/.86 "Cormorant Garamond";margin:24px 0}.login-visual p{color:#c4b8a5;max-width:520px}.login-card{padding:13vh 9vw;display:flex;flex-direction:column;justify-content:center}.login-card h2{font:600 43px "Cormorant Garamond";margin:14px 0 5px}.login-card p{color:#88857f;font-size:11px;margin-bottom:30px}.login-card .primary-button{margin-top:12px}.login-card>small{color:var(--red);min-height:18px;margin-top:12px}
dialog{border:1px solid var(--line);padding:0;background:var(--panel);color:var(--cream);width:min(650px,calc(100% - 30px));box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}.dialog-card{padding:26px}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{font:600 34px "Cormorant Garamond";margin:7px 0 24px}.icon-button{border:0;background:none;color:#9a948a;font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.toast{position:fixed;right:22px;bottom:22px;display:none;align-items:center;gap:11px;background:#132231;border:1px solid var(--line);padding:13px 15px;min-width:300px;box-shadow:var(--shadow);z-index:50}.toast.show{display:flex}.toast>span{color:var(--green);font-size:20px}.toast strong,.toast small{display:block}.toast strong{font-size:11px}.toast small{color:#8e8a83;margin-top:3px}.toast>div{flex:1}.toast button{border:0;background:none;color:var(--gold2);font-size:10px}
@media(max-width:1000px){.stats{grid-template-columns:1fr 1fr}.scanner-view,.import-view{grid-template-columns:1fr}.scanner-copy p,.import-view>div>p{max-width:none}}
@media(max-width:900px){.desktop-label{display:none}.mobile-label{display:inline}.sync-state b,.quiet-button{display:none}}
@media(max-width:760px){.topbar{height:64px;padding:0 12px}.topbar .brand i{display:none}.topbar .brand{font-size:20px}.top-actions{gap:5px}.platform-link{padding:8px;font-size:9px}.sync-state{padding:8px 5px}.app-shell{grid-template-columns:1fr}.sidebar{padding:13px 16px;border-right:0;border-bottom:1px solid var(--line);gap:12px;position:sticky;top:64px;z-index:10}.side-heading{display:flex;align-items:center;gap:10px}.side-heading small{display:none}.side-heading select{margin:0}.sidebar nav{flex-direction:row;overflow:auto}.nav-item{white-space:nowrap;padding:9px}.new-event,.side-note{display:none}.workspace{padding:28px 18px 55px}.page-head{align-items:flex-start}.page-head h1{font-size:36px}.page-actions{flex-direction:column}.guest-toolbar{align-items:stretch;flex-direction:column}.search{max-width:none}.filters{overflow:auto}.login-screen{grid-template-columns:1fr}.login-visual{min-height:42vh}.login-visual h1{font-size:58px}.login-card{padding:55px 24px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(max-width:480px){.topbar .brand{font-size:0;gap:0}.topbar .brand .brand-mark{font-size:22px}.platform-link{padding:8px 6px}.sync-state{display:none}}
@media(max-width:520px){.stats{grid-template-columns:1fr 1fr;gap:8px}.stats article{padding:14px;min-height:112px}.stats strong{font-size:31px}.progress{left:14px;right:14px}.page-head{flex-direction:column}.page-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.scanner-card,.import-card{padding:13px}#code-form{grid-template-columns:1fr}.toast{left:12px;right:12px;bottom:12px;min-width:0}.login-visual{padding:28px 24px}.login-visual .brand{margin-bottom:70px}}
