/* Detix Pro + Access. Scoped presentation; permissions remain server-side. */
.detix-studio{--ink:#182322;--muted:#64716f;--line:#dde5e2;background:#f3f6f5}
.detix-studio .studio-sidebar{background:#102927;border:0;padding-top:28px}
.detix-studio .studio-workspace,.detix-studio .studio-sidebar-foot,.detix-studio .pro-install{border-color:#ffffff1c}
.detix-studio .studio-workspace{margin-top:24px;padding-block:17px}
.detix-studio .studio-sidebar nav>a{border-radius:10px;margin-block:4px}
.detix-studio .studio-sidebar nav>a:hover{background:#ffffff12}
.detix-studio .studio-sidebar nav>a[aria-current]{background:#d6ff46;color:#17251b}
.detix-studio .studio-nav-label{color:#9bb6b0}
.detix-studio>header{min-height:60px;background:#ffffffed}
.detix-studio .shell{max-width:1600px}
.detix-studio #account>.row{padding:10px 0 18px;margin-bottom:16px}
.detix-studio .tabs{gap:6px;padding:5px;background:#e8eeeb;border:0;border-radius:12px;width:fit-content;max-width:100%}
.detix-studio .tabs button{border:0;background:transparent;color:#50635c;white-space:nowrap}
.detix-studio .tabs button[aria-current]{background:#fff;color:#19362d;box-shadow:0 2px 6px #132a2010}
.detix-studio .workspace-heading{background:#102e2b;border:1px solid #244a40;border-radius:22px;padding:30px 32px;margin:24px 0;color:#fff;position:relative;overflow:hidden}
.detix-studio .workspace-heading h1{color:#fff;font-size:clamp(28px,3vw,42px);letter-spacing:-1.5px;margin:10px 0}
.detix-studio .workspace-heading .eyebrow{color:#c6ee7d;font-size:10px}
.detix-studio .workspace-heading .muted{color:#c4d7d0;font-size:15px;max-width:520px;line-height:1.6}
.detix-studio .workspace-heading>button{background:#d6ff46;color:#17251b;border:0;flex-shrink:0;padding:14px 18px}
.detix-studio .workspace-stats{gap:14px;margin-block:24px}
.detix-studio .workspace-stats .stat{padding:22px;border:1px solid #dce5df;border-radius:16px;gap:8px}
.detix-studio .workspace-stats .stat:first-child{background:#e9f3d9}
.detix-studio .workspace-stats .stat b{font-size:38px;letter-spacing:-1.4px;font-variant-numeric:tabular-nums}
.detix-studio .workspace-stats .stat small{font-size:12px;color:#627367}
.detix-studio :is(.box,.card,.report-details){border-radius:16px}
.detix-studio .workspace-event{padding:18px 12px;margin-inline:-12px;border-radius:12px;transition:background .15s}
.detix-studio .workspace-event:hover{background:#f0f6eb}
.detix-studio .workspace-date{background:#eef4e9;border-color:#d8e4cd;color:#526d45;min-width:60px;height:68px}
.detix-studio .workspace-event h3{font-size:17px;line-height:1.4}
.detix-studio .workspace-open{padding:10px 14px;background:#f0f4ed;border-radius:9px;font-weight:650}
.detix-studio .workspace-help{background:#153b33;padding:26px}
.detix-studio .event-discovery{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:14px;margin-block:20px}
.detix-studio .event-discovery input,.detix-studio .event-discovery select{margin-top:7px;width:100%}
.detix-studio .event-name-link{color:#183f32;font-size:16px;display:inline-block;padding-block:8px}
.detix-studio .event-name-link:hover{text-decoration:underline}
.detix-studio [data-event-row][hidden]{display:none!important}
.detix-studio #events{display:flex;flex-direction:column}
.detix-studio #events.hidden{display:none!important}
.detix-studio #events>#eventeditor{order:2}.detix-studio #events>#ticketeditor{order:3}
.detix-studio #auth{max-width:540px;padding:36px;border-radius:22px;box-shadow:0 16px 45px #1431240a}
.detix-studio .studio-bottom-nav{background:#fff;border-top-color:#dce5df}
.detix-studio .studio-bottom-nav a[aria-current]{color:#173f32;background:#eef5e3;border-radius:10px}
.access-workspace{background:#0b1514;color:#eef5ef;--detix-focus:#d6ff46}
.access-workspace>header{max-width:1200px;height:76px;border-bottom-color:#ffffff12;padding-inline:30px}
.access-workspace>header>span{color:#c4d7ce;font-size:11px}
.access-workspace .scan-shell{max-width:1180px;margin:28px auto;padding-inline:24px}
.access-workspace .card{background:#132320;border-color:#2c4039;border-radius:18px;box-shadow:0 8px 28px #0000000a}
.access-workspace #accessAccountCard{max-width:540px;margin:46px auto 20px;padding:34px}
.access-workspace .access-kicker{font-size:10px;color:#d6ff46;letter-spacing:1.7px}
.access-workspace #accountTitle{font-size:38px;margin:18px 0;line-height:1.1;letter-spacing:-1.3px}
.access-workspace #accessAccountCard>p{color:#bccdc4;font-size:14px;line-height:1.7}
.access-workspace #accountLogin,.access-workspace #accountActivate{margin-top:28px}
.access-workspace label{color:#c5d5cc;font-size:13px}
.access-workspace :is(input,select,textarea){background:#0d1a17;border-color:#40584a;border-radius:10px;min-height:50px;font-size:16px}
.access-workspace .primary{background:#d6ff46;color:#112315;border:0;border-radius:10px;font-size:15px;min-height:50px}
.access-workspace .secondary{border-color:#486252;border-radius:10px;min-height:48px}
.access-workspace :is(.muted,.small){color:#afc6b8;line-height:1.6}
.access-workspace .small{font-size:12px}
.access-workspace #accountMessage:empty{display:none}
.access-workspace #accessState{max-width:540px;margin-inline:auto;padding:20px 26px}
.access-workspace #accessState h1{font-size:22px;margin-top:0}
.access-workspace #accessState p{font-size:13px;line-height:1.6;color:#b5c9ba}
.access-workspace #accessState summary{display:flex;align-items:center;font-size:14px;cursor:pointer}
.access-workspace .install-help{max-width:540px;margin:16px auto;background:transparent;border-color:#2c4039;padding:12px 24px}
.access-workspace .install-help summary{font-size:14px;color:#c6d8cd}
.access-workspace:has(#accountSigned:not([hidden])) #accessAccountCard{max-width:none;margin-top:0}
.access-workspace #accountEvents{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.access-workspace #accountEvents button{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:22px;background:#192e26;border:1px solid #405a47;border-radius:14px;position:relative}
.access-workspace #accountEvents button:hover{border-color:#d6ff46;background:#203829}
.access-workspace .access-event-name{font-size:20px;line-height:1.3;color:#f3f8ee}
.access-workspace .access-event-meta{font-size:13px;line-height:1.6;color:#b7cebf}
.access-workspace .access-event-door{font-size:12px;font-weight:650;color:#d6ff46;margin-top:8px}
.access-workspace #accountEventTools{margin-top:24px;max-width:520px}
.access-workspace #accountEventCount{margin-bottom:0}
.access-workspace:has(#scannerApp:not(.hidden)) #accessAccountCard{padding:14px 20px;margin-bottom:24px}
.access-workspace:has(#scannerApp:not(.hidden)) #accessAccountCard>:is(.access-kicker,h1,p){display:none}
.access-workspace:has(#scannerApp:not(.hidden)) #accountSigned{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.access-workspace:has(#scannerApp:not(.hidden)) #accountSigned .actions{margin:0}
.access-workspace:has(#scannerApp:not(.hidden)) #accountEventTools{display:none}
.access-workspace .event-heading{padding:0 4px}
.access-workspace .event-heading h1{font-size:clamp(26px,4vw,38px);margin-block:12px}
.access-workspace .access-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.access-workspace .access-shortcuts a{padding:13px 18px;background:#203b2d;color:#e2f1d9;border:1px solid #3e5944;border-radius:10px;font-size:14px;font-weight:650}
.access-workspace .access-shortcuts a:first-child{background:#d6ff46;color:#10271a;border-color:#d6ff46}
.access-workspace .scan-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}
.access-workspace .scan-workspace h2{scroll-margin-top:24px}
.access-workspace .camera-preview{border-radius:14px;aspect-ratio:1.15;max-height:430px;background:#07100c}
.access-workspace .result{border-radius:18px;border-width:3px;min-height:280px}
.access-workspace .result h2{font-size:clamp(30px,4vw,42px)}
.access-workspace .counters .access-counter{background:#0e1b17;border-color:#314a38;font-size:12px}
.access-workspace .counters strong{font-size:36px;margin-top:10px}
.access-workspace .connection{font-size:12px;background:#1d3727;border-color:#486d4b;padding:8px 12px}
.access-workspace .connection.offline{background:#422f16;border-color:#ba8540;color:#ffda9d}
.access-workspace [hidden]{display:none!important}
@media(max-width:1024px){.detix-studio .workspace-heading{padding:26px}.detix-studio .workspace-heading h1{font-size:32px}.detix-studio .workspace-heading>button{align-self:flex-start}.detix-studio .workspace-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .detix-studio .workspace-heading{padding:24px;border-radius:17px;gap:14px}.detix-studio .workspace-heading h1{font-size:30px}.detix-studio .workspace-heading>button{width:100%}
 .detix-studio .workspace-stats .stat{padding:18px}.detix-studio .workspace-stats .stat b{font-size:32px}
 .detix-studio .event-discovery{grid-template-columns:1fr;gap:10px}.detix-studio .tabs{width:100%;overflow:auto;flex-wrap:nowrap}.detix-studio .tabs button{min-width:auto;flex:1;padding:12px;font-size:13px}
 .detix-studio #eventlist{overflow:visible}.detix-studio #eventlist table{min-width:0;background:transparent}.detix-studio #eventlist thead{position:absolute;clip-path:inset(100%);width:1px;height:1px;overflow:hidden}
 .detix-studio #eventlist tbody{display:grid;gap:14px}.detix-studio #eventlist tr{display:block;padding:14px;border:1px solid #dce5df;border-radius:14px;background:#fff}
 .detix-studio #eventlist td{display:block;padding:8px 0;border:0;overflow-wrap:anywhere}.detix-studio #eventlist td[data-label]:not(:first-child){display:flex;justify-content:space-between;gap:12px}
 .detix-studio #eventlist td[data-label]:not(:first-child):before{content:attr(data-label);font-size:12px;color:#637168;padding-top:3px}.detix-studio .event-actions[open]{min-width:0;width:100%}
 .access-workspace>header{height:64px;padding-inline:20px}.access-workspace .scan-shell{margin-top:16px;padding-inline:16px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .access-workspace #accessAccountCard{margin:22px auto 16px;padding:26px 22px}.access-workspace #accountTitle{font-size:34px}.access-workspace #accessState{padding:20px}
 .access-workspace #accountEvents{grid-template-columns:1fr}.access-workspace #accountEvents button{padding:20px}.access-workspace .scan-workspace{grid-template-columns:1fr;gap:0}
 .access-workspace .access-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.access-workspace .access-shortcuts a{padding:12px 8px;text-align:center;font-size:12px;line-height:1.4}
 .access-workspace:has(#scannerApp:not(.hidden)) #accountSigned{font-size:12px}.access-workspace:has(#scannerApp:not(.hidden)) #accountSigned .actions{display:flex;width:100%}
 .access-workspace .staff-line{flex-wrap:wrap}.access-workspace .camera-preview{aspect-ratio:1.1}.access-workspace .card{padding:20px}.access-workspace .result{min-height:260px}
}
@media(prefers-reduced-motion:reduce){.detix-studio .workspace-event{transition:none}}

.access-workspace #accessState.access-idle>:is(h1,p){display:none}
.access-workspace:has(#scannerApp:not(.hidden)) #accessAccountCard:has(#accountSigned[hidden]){display:none}
.access-workspace .scan-shell:has(#accountSigned:not([hidden])) #accessAccountCard>p:not(#accountMessage){display:none}
