/* Shared device layout. No zoom lock and no hiding overflowing business data. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:90px}
*,*::before,*::after{box-sizing:border-box}
body{min-width:0}
main,section,article,fieldset,form,.grid>*,.columns>*,.fields>*,.row>*,.actions>*,.workspace-layout>*{min-width:0}
img,video,canvas{max-width:100%}
input,select,textarea{max-width:100%;min-width:0}
button,a,summary{touch-action:manipulation}
button,.btn,.button,.primary,.secondary,.outline,summary{min-height:44px}
button:disabled{touch-action:auto}
h1,h2,h3,h4,.receipt-item,.event-meta,.badge,.notice{overflow-wrap:anywhere}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.responsive-table{max-width:100%;overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-radius:9px}
.responsive-table:focus-visible{outline:3px solid #727bc7;outline-offset:3px}
.responsive-table table{min-width:620px}
.detix-studio .price-summary,.detix-studio .tier-example strong{color:#526b20}
.detix-studio .tier-metrics span,.detix-studio .tier-order{color:#626975}
.detix-studio input[type=checkbox],.detix-studio input[type=radio]{min-height:20px;width:20px;height:20px;padding:0;flex-shrink:0}
.detix-studio label:has(input[type=checkbox]),.detix-studio label:has(input[type=radio]){min-height:44px;align-items:center}
.detix-studio .actions{flex-wrap:wrap}
.detix-studio .actions>*{max-width:100%}
.detix-studio .studio-sidebar .studio-brand small{font-size:10px;letter-spacing:2px}
.detix-studio .studio-sidebar .studio-close{display:none}
.studio-bottom-nav,.studio-backdrop{display:none}
.pro-install{padding:13px 10px;border-top:1px solid #30343b;margin-top:20px}
.pro-install summary{display:flex;align-items:center;color:#e6ecdc;cursor:pointer;font-size:12px;font-weight:650}
.pro-install p{font-size:12px;line-height:1.6;color:#bac1cb}
.pro-install a{color:#d6ff46;font-size:12px;display:block;padding:12px 0}
.pro-install button{width:100%}
.pro-install [hidden],.studio-backdrop[hidden]{display:none!important}
.detix-studio .studio-sidebar-foot{margin-top:16px}
.scan-shell{max-width:1160px;padding-bottom:max(32px,env(safe-area-inset-bottom))}
.scan-shell>.install-help{max-width:720px;margin-inline:auto}
.scan-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}
.scan-primary,.scan-secondary{min-width:0}
.scan-primary{position:sticky;top:20px}
.scan-shell .event-heading{max-width:100%}
.scan-shell h1{font-size:clamp(26px,3.5vw,40px)}
.scan-shell .day-selector{max-width:580px}
.scan-shell .camera-preview{max-height:55svh}
.scan-shell .result{scroll-margin-top:20px}
.scan-shell .staff-line{flex-wrap:wrap}
.scan-shell .connection{white-space:normal}
@media(min-width:761px) and (max-width:1100px){
 .scan-workspace{grid-template-columns:1fr 1fr;gap:16px}
 .scan-shell .card{padding:20px}
 .scan-shell .section-heading{flex-wrap:wrap;gap:8px}
}
@media(max-width:1024px){
 .detix-studio{padding-left:0}
 .detix-studio>header{position:sticky;top:0;z-index:40;min-height:66px;height:auto;flex-wrap:wrap;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));gap:10px;background:#fff}
 .detix-studio>header nav,.detix-studio>header>a:not(.brand):not(.logo){display:none}
 .detix-studio>header::after{content:'DETIX PRO';font-size:12px;font-weight:800;letter-spacing:1.4px;color:#363f2e}
 .studio-menu{display:inline-flex!important;align-items:center;margin-right:auto;min-height:44px!important;background:#fff!important;color:#303b24!important;border:1px solid #cdd3da!important}
 .studio-sidebar{width:min(320px,calc(100vw - 36px));top:0;bottom:0;z-index:70;transform:translateX(-105%);visibility:hidden;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));overscroll-behavior:contain;box-shadow:12px 0 36px #0003}
 .studio-menu-open .studio-sidebar{transform:none;visibility:visible}
 .detix-studio .studio-sidebar .studio-close{display:block;align-self:flex-end;background:transparent;color:#fff;border:1px solid #58604e;margin-bottom:16px;min-width:44px}
 .studio-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:60;background:#07110688;border:0;border-radius:0;padding:0}
 .studio-menu-open{overflow:hidden}
 .studio-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));bottom:0;left:0;right:0;z-index:45;padding:5px max(8px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fff;border-top:1px solid #dde2d7;box-shadow:0 -5px 24px #17201108}
 .detix-studio .studio-bottom-nav :is(a,button){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;padding:5px 2px;border:0;background:transparent;color:#556149;font-size:11px;text-decoration:none;border-radius:8px}
 .studio-bottom-nav svg{width:21px;height:21px}
 .studio-bottom-nav [aria-current]{color:#253114;background:#ecf4d7;font-weight:750}
 .detix-studio .shell,.detix-studio .shell.wide{padding:26px max(20px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
 .detix-studio .columns,.detix-studio .grid{grid-template-columns:minmax(0,1fr)}
 .detix-studio .workspace-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .detix-studio .overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .detix-studio .workspace-heading{align-items:flex-start;flex-wrap:wrap}
 .detix-studio .studio-skip{left:14px}
 .detix-studio input,.detix-studio select,.detix-studio textarea{font-size:16px;min-height:46px}
 .detix-studio .password-toggle{min-width:44px;min-height:44px}
}
@media(max-width:760px){
 .scan-shell{margin:18px auto;padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}
 .scan-workspace{display:block}.scan-primary{position:static}
 .scan-shell .camera-preview{max-height:48svh}
 .scan-shell .event-heading{margin-bottom:20px}
 body>header{height:auto;min-height:64px;flex-wrap:wrap;gap:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px}
 input,select,textarea{font-size:16px!important}
 .grid,.columns,.fields,.tier-fields{grid-template-columns:minmax(0,1fr)}
 .row{flex-wrap:wrap}
 .row>*{max-width:100%}
 .detix-studio .shell,.detix-studio .shell.wide{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}
 .detix-studio h1{font-size:clamp(26px,7vw,32px)}
 .detix-studio .workspace-heading h1{font-size:32px}
 .detix-studio .overview-grid,.detix-studio .table-summary-grid,.detix-studio .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .detix-studio .workspace-event{gap:12px}
 .detix-studio .workspace-open{display:none}
 .detix-studio .tabs{display:flex;overflow-x:auto;gap:8px;flex-wrap:nowrap;padding:6px 2px 12px}
 .detix-studio .tabs button{flex:none;min-height:44px}
 .detix-studio :is(.card,.box,.event-tables-summary,.report-details){padding:18px}
 .actions{gap:10px;flex-wrap:wrap}
 .actions :is(button,.btn,.button){min-height:46px}
 .shell{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
}
@media(max-width:390px){
 .detix-studio .overview-grid,.detix-studio .workspace-stats{gap:8px}
 .detix-studio .metric,.detix-studio .stat{padding:14px 10px}
 .detix-studio .nav-grid{grid-template-columns:1fr}
 .detix-studio .event-actions[open]{min-width:0;width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.ui-arrow{display:inline-block;vertical-align:middle;flex:none}

/* Consistent readable controls across public pages, checkout, Pro and Access. */
:root{--detix-focus:#7c8f33}
button,input,select,textarea{font-family:inherit}
button,.button,.btn{line-height:1.4}
textarea{line-height:1.6;resize:vertical}
input,select,textarea{scroll-margin-block:110px 120px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--detix-focus);outline-offset:3px}
[aria-busy=true]{cursor:progress}
.message:not(:empty){padding:12px 15px;border:1px solid currentColor;border-radius:10px;line-height:1.6}
.detix-studio{font-size:15px;--line:#dde3e9;--muted:#586371}
.detix-studio .shell,.detix-studio .shell.wide{padding-top:28px}
.detix-studio h1{font-size:clamp(28px,3vw,38px);line-height:1.2}
.detix-studio .eyebrow{font-size:11px;letter-spacing:1.5px}
.detix-studio :is(.hint,.small,.field-hint,.footnote){font-size:13px}
.detix-studio label{font-size:14px;font-weight:550;line-height:1.5}
.detix-studio :is(input,select,textarea){font-size:16px;border-radius:10px;min-height:46px}
.detix-studio :is(button,.btn,.button){font-size:14px;border-radius:9px;min-height:44px}
.detix-studio .studio-sidebar nav>a{font-size:14px;min-height:46px;line-height:1.35}
.detix-studio .studio-nav-label{font-size:10px;letter-spacing:1.3px}
.detix-studio .studio-workspace strong{font-size:13px}
.detix-studio .studio-workspace small,.detix-studio .studio-sidebar-foot{font-size:12px}
.detix-studio :is(.metric span,.stat span){font-size:13px}
.detix-studio .metric small{font-size:12px;color:#626d79}
.detix-studio table{font-variant-numeric:tabular-nums}
.detix-studio th{font-size:12px;color:#4f5b68;text-align:left}
.detix-studio td{font-size:14px;line-height:1.5}
.detix-studio .badge{font-size:12px;padding:5px 10px}
.detix-studio .message.error{background:#fff4f2;color:#9a2d28;border-color:#e5b8b2}
.detix-studio .message:not(.error):not(:empty){background:#f2f7e8;color:#405821;border-color:#cedeb4}
.detix-studio .empty{padding:26px 18px;border:1px dashed #cbd3dc;border-radius:12px;background:#fafbfd;font-size:14px}
.detix-studio :is(.card,.box){box-shadow:0 3px 14px #18253505}
body:not(.detix-studio) .shell.narrow{max-width:720px}
body:not(.detix-studio) .price-line{flex-wrap:wrap;align-items:baseline;line-height:1.6}
body:not(.detix-studio) .price-line strong{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}
body:not(.detix-studio) .attendee-block{padding:18px;border:1px solid #46513c;border-radius:12px;margin-block:16px}
.scan-shell .connection{font-size:14px;line-height:1.5}
.scan-shell .footer-note{font-size:12px;line-height:1.7}
@media(hover:hover){.detix-studio :is(.card,.box){transition:box-shadow .15s ease}.detix-studio :is(.card,.box):focus-within{box-shadow:0 0 0 3px #bacb8d33}}
@media(max-width:600px){
 .detix-studio .shell,.detix-studio .shell.wide{padding:22px 16px 100px}
 .detix-studio :is(.card,.box){padding:18px}
 .detix-studio .actions>button,.detix-studio .actions>.button{flex:1 1 auto}
 body:not(.detix-studio) .shell{padding-inline:16px}
 body:not(.detix-studio) .card{padding:20px}
 .price-line{gap:8px}
 .price-line strong{max-width:100%;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.studio-sidebar,.studio-bottom-nav,.studio-backdrop,.studio-menu{display:none!important}.detix-studio{padding:0!important}.detix-studio .shell{max-width:none;padding:0!important}.detix-studio .responsive-table,.detix-studio .table-scroll{overflow:visible}}
.home-page .nav a,.home-page .home-header-cta{font-size:14px}
.home-page .home-lead,.home-page .sub{font-size:16px;line-height:1.7}
.home-page .filter{min-height:44px;font-size:14px;padding-inline:18px}
.home-page .search input{font-size:16px;min-height:52px}
.home-page .discovery-tools{box-shadow:0 6px 20px #17201a08}
.home-page .catalog-card{border-radius:16px;overflow:hidden}
@media(max-width:600px){.home-page .filters{gap:8px}.home-page .filter{font-size:13px;padding-inline:14px}.home-page .home-lead{font-size:16px}}
.detix-studio input:is([type=checkbox],[type=radio]){min-height:20px;width:20px;height:20px;padding:0}

/* Door setup: compact touch targets, readable receipts and no horizontal spill. */
.gate-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.gate-filters>h3,.gate-filters>p{grid-column:1/-1;margin:0}.gate-filters .gate-filter-group{min-width:0;border:1px solid #dce1d4;border-radius:12px;padding:14px;background:#f8faf5}.gate-filter-group legend{font-weight:700;padding:0 5px}.gate-filter-group p{font-size:12px;margin:5px 0 10px;color:#536149}.gate-filter-group label.check{display:flex;align-items:center;gap:10px;min-height:44px;margin:4px 0;padding:8px;border-radius:8px;font-size:13px;color:#1d2818}.gate-filter-group input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;accent-color:#526632}.gate-filter-options[hidden]{display:none}.gate-filter-options label:has(input:checked){background:#e9f4ce}.gate-link-receipt{min-width:0;width:100%;margin:14px 0;padding:16px;background:#f0f7df;border:1px solid #c8d9a6;border-radius:12px;color:#24301c}.gate-link-receipt textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:100px;padding:12px;border:1px solid #a2b787;border-radius:8px;background:#fff;color:#24301c;font:14px/1.5 ui-monospace,monospace;resize:vertical;overflow-wrap:anywhere}.gate-link-receipt p{font-size:12px;line-height:1.5}.gate-link-receipt button{min-height:44px;color:#24301c;border-color:#839865}.receipt-item{flex-wrap:wrap}.receipt-item>.gate-link-receipt{flex-basis:100%}@media(max-width:1100px){.gate-filters{grid-template-columns:1fr}}@media(max-width:600px){.gate-link-receipt{padding:12px}.gate-link-receipt button{width:100%}}
