/* Portal-only usability layer; scanner and customer pages keep their own shell. */
@media screen{
:root{font-family:'DM Sans',Arial,sans-serif;--portal-display:'Barlow Condensed',Impact,sans-serif;--coral:#f34d39}
html,body,#app,.main-wrap,main{min-width:0}body{background:#f5f4f0}.main-wrap{margin-left:250px}main{max-width:none;padding:clamp(20px,3vw,42px);width:100%}
h1{font:800 clamp(34px,4vw,52px)/1.05 var(--portal-display);letter-spacing:-.015em}h2{letter-spacing:-.025em}.page-heading{align-items:center;flex-wrap:wrap}.page-heading>div{min-width:0}.page-heading p{font-size:13px;line-height:1.6}
.sidebar{width:250px;height:100dvh;padding:18px 14px 14px;overflow:hidden}.logo{flex:none;padding-inline:12px}.logo img{height:52px}.logo>span{margin:4px 0 15px}.workspace{flex:none;padding:12px;font-size:9px}.sidebar nav{display:block;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#625b52 transparent;padding-right:4px}.nav-group{padding-bottom:14px}.nav-caption{font-size:9px;letter-spacing:.15em;text-transform:uppercase;margin:10px 12px 6px;color:#a6a19a}.nav-item{min-height:42px;padding:10px 12px;line-height:1.35;border-left:2px solid transparent}.nav-item.active{padding-left:12px}.sidebar-bottom{flex:none;display:grid;gap:8px;padding:14px 12px 0;margin-top:0;border-top:1px solid #ffffff20}.sidebar-bottom a{display:block;font-size:11px;line-height:1.45}.sidebar-bottom>span{margin-top:5px;font-size:8px}
.topbar{min-height:72px;height:auto;padding:12px clamp(16px,3vw,42px);position:sticky;top:0;z-index:10;box-shadow:0 1px 5px #00000005}.portal-location{display:flex;flex-direction:column;gap:4px;min-width:0}.portal-location>span{font-size:9px;letter-spacing:.12em;color:var(--muted);font-weight:700}.portal-location>strong{font-size:14px;line-height:1.3}.account{min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:6px 14px}.account #accountName{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account a{min-height:32px;display:inline-flex;align-items:center}.icon-button{min-width:40px;min-height:40px;border-radius:6px}.preview-notice{padding-inline:clamp(16px,3vw,42px)}
.button{min-height:42px;font-size:12px;white-space:normal;line-height:1.35;text-align:center}.button.small{min-height:36px;font-size:11px}.text-button{min-height:34px;padding:7px 5px;font-size:12px}.toolbar{flex-wrap:wrap;gap:10px;align-items:center}.toolbar .search{flex:1 1 220px;min-width:0;max-width:none}.toolbar select{min-width:140px;max-width:100%;flex:0 1 auto}.toolbar input,.toolbar select{min-height:42px;font-size:13px}.table-wrap{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain}.panel,.panel-body,.dashboard-grid>*{min-width:0}td{max-width:340px;overflow-wrap:anywhere;vertical-align:top}th{white-space:nowrap}.table-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.table-footer>div,.pager{display:flex;flex-wrap:wrap;gap:8px}.section-tabs{gap:18px;overflow-x:auto;max-width:100%;scrollbar-width:thin}.section-tabs button{white-space:nowrap;min-height:44px;flex:none}.offer-row-actions{min-width:170px;max-width:280px}.offer-row-actions .text-button{margin:2px}.metrics{gap:14px}.metric{min-width:0}.metric>span{display:block;font-size:12px;font-weight:600}.metric>small{display:block;font-size:11px;color:var(--muted)}.setup-item{flex-wrap:wrap}.setup-item>div{flex:1;min-width:120px}.portal-shortcuts .panel-body{display:flex;flex-wrap:wrap;gap:12px}.portal-shortcuts p{flex-basis:100%;margin:0;color:var(--muted)}
#editor[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 24px);overflow:hidden;padding:20px;width:min(640px,calc(100vw - 24px))}#editor.content-editor[open],#editor.page-preview[open],#editor.ticket-preview[open]{width:min(1180px,calc(100vw - 24px));padding:0}#editor .dialog-heading{flex:none;margin-bottom:14px}#editorForm{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}#editorFields{min-height:0;overflow:auto;overscroll-behavior:contain;padding:3px 3px 8px;flex:1}#editor .dialog-actions{display:flex;flex:none;flex-wrap:wrap;margin-top:12px;padding-top:14px;background:#faf9f6}#editorError{flex:none;margin:8px 0 0;overflow-wrap:anywhere}#editorError:empty{display:none}#editor input,#editor select,#editor textarea{max-width:100%;min-width:0;font-size:14px}#editor .check-list input{width:18px;min-height:18px;flex:none}#editor .dialog-heading h2{overflow-wrap:anywhere}#editor[aria-busy=true] #saveEditor:before{content:'';display:inline-block;width:12px;height:12px;border:2px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:portal-spin .8s linear infinite}.record-diff pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
.portal-progress{display:flex;align-items:center;gap:10px;padding:10px clamp(16px,3vw,42px);font-size:12px;font-weight:600;background:#fff2db;color:#784529;border-bottom:1px solid #ebd7b7}.portal-progress>span{width:14px;height:14px;border:2px solid #f34d3930;border-top-color:#f34d39;border-radius:50%;animation:portal-spin .8s linear infinite}main[aria-busy=true]{opacity:.6;transition:opacity .15s}.skip-link{position:fixed;left:12px;top:-100px;z-index:100;background:#fff;color:#171514;padding:12px;border:2px solid var(--coral)}.skip-link:focus{top:10px}.nav-backdrop{position:fixed;inset:0;z-index:19;border:0;background:#0b0b0bb3;width:100%;height:100%;cursor:pointer}#navClose{display:none}.toast{max-width:calc(100vw - 24px);overflow-wrap:anywhere}.portal-footer{gap:12px;flex-wrap:wrap}
@keyframes portal-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.setup-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.sidebar{width:min(300px,calc(100vw - 48px));transform:translateX(-100%);transition:transform .18s ease-out;visibility:hidden}.nav-open .sidebar{transform:none;visibility:visible}.main-wrap{margin-left:0}#menuToggle{display:block;flex:none}.topbar{gap:10px}#navClose{display:block;position:absolute;right:10px;top:12px;color:#f5f2e9}.sidebar .logo{padding-right:36px}.nav-open{overflow:hidden}.nav-item{min-height:44px}.page-heading{gap:14px}.page-heading>.button{margin-left:0}}
@media(max-width:600px){main{padding:22px 14px 28px}.topbar{padding:10px 12px;min-height:64px}.account #accountName,.account .connection{display:none}.account{margin-left:auto}.account a{font-size:11px}.portal-location>strong{font-size:13px}.portal-location>span{font-size:8px}.metrics{gap:10px}.metric{padding:16px;min-height:128px}.metric strong{font-size:34px}.panel-heading,.panel-body{padding:16px}.toolbar{padding:14px}.toolbar .search{flex-basis:100%}.toolbar select{flex:1 1 130px}.table-footer{padding:14px}.page-heading>.button{width:100%}.section-tabs{margin-bottom:16px}.button{min-height:44px}.panel-heading{flex-wrap:wrap;gap:10px}#editor[open]{padding:16px;max-height:calc(100dvh - 16px);width:calc(100vw - 16px)}#editor .dialog-heading{gap:10px}#editor .dialog-heading h2{font-size:24px}#editor .dialog-actions .button{flex:1}#editor input,#editor select,#editor textarea{font-size:16px}.preview-notice{font-size:10px;line-height:1.4;padding:9px 14px}.portal-footer{padding:14px}.attendance-admin{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.sidebar,main[aria-busy=true]{transition:none}.portal-progress>span,#editor[aria-busy=true] #saveEditor:before{animation:none}}
}
@media screen{
 html{overflow-x:clip}.mobile-cell-label{display:none}.cell-value{min-width:0;overflow-wrap:anywhere}
 @media(max-width:600px){
  #main .table-wrap table{width:100%;min-width:0;border-collapse:collapse}#main .table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#main .table-wrap tbody{display:block;width:100%}#main .table-wrap tr{display:block;border-bottom:1px solid var(--line);padding:12px 14px}#main .table-wrap td{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:start;border:0;padding:7px 0;width:100%;min-width:0;max-width:none;white-space:normal}#main .table-wrap .mobile-cell-label{display:block;font-size:9px;line-height:1.6;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}#main .table-wrap td .cell-value{font-size:12px;line-height:1.5}#main .table-wrap .offer-row-actions .cell-value{display:flex;flex-wrap:wrap;gap:4px}#main .table-wrap td small{display:block}.table-wrap{contain:inline-size}
 }
}
