.camera-layer{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.9);display:grid;place-items:center;padding:16px}.camera-panel{width:min(680px,100%);color:#fff}.camera-panel video{width:100%;max-height:70vh;object-fit:contain;background:#111;border-radius:16px}.camera-panel p{margin:12px 0}.camera-error{color:#ffabab}.sync-status{font-size:12px;padding:9px 16px;text-align:center;background:var(--card,#fff);color:var(--text,#172033)}.sync-status.stale{background:#fff0d0;color:#714100}.pending-panel{margin:12px 0}.login-state{padding:40px 20px;max-width:480px;margin:auto}.demo-help,.demo-badge{display:none!important}
html{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
body{position:fixed;inset:0;width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:pan-y pinch-zoom;overflow-wrap:anywhere}
#app{height:100%;width:100%;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch}
#overlay,.modal-backdrop{overflow-x:hidden;overscroll-behavior:none;touch-action:pan-y pinch-zoom}
.modal{min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none;touch-action:pan-y pinch-zoom;overflow-wrap:anywhere}
.modal-head h2{min-width:0;overflow-wrap:anywhere}.modal-head button{flex-shrink:0}
.ledger-row{min-width:0;max-width:100%}.ledger-label{overflow-wrap:anywhere}.ledger-amount{flex-shrink:0}
.app-loading{min-height:100dvh;display:grid;place-items:center}.loading-ring{display:block;width:38px;height:38px;border:3px solid #087bfa22;border-top-color:var(--blue,#087bfa);border-radius:50%;animation:staff-loading .8s linear infinite}@keyframes staff-loading{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-ring{animation:none}}
.profile-crm{margin-top:22px;border-top:1px solid var(--line,#e5eaf1);padding-top:20px}.profile-crm h3{margin-bottom:10px}.profile-crm .sync-status{text-align:left;padding:0 0 14px;background:none;color:var(--muted,#738095)}.profile-crm .sync-status.stale{color:#b86a13}.profile-crm .btn{width:100%}
.section-head{gap:6px}.section-head h2{min-width:0}.section-head .segmented{flex-shrink:0;gap:1px;padding:3px}.section-head .segmented button{white-space:nowrap;line-height:1.2;padding:8px 9px}
.access-help{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:20px}.access-request h3{margin-bottom:6px}.access-request>.muted{margin-bottom:16px;font-size:12px}.access-employee{display:flex;align-items:center;justify-content:space-between;gap:12px}.access-employee>div{min-width:0}.access-employee .btn{flex-shrink:0}.access-employee .muted{font-size:12px;line-height:1.5;margin-top:6px}.login-state .btn{margin-top:18px}
