.qr-card{max-width:340px;margin:20px auto;padding:22px;background:#fff;text-align:center;border:1px solid #d8ddcf;border-radius:16px}.qr-card svg{width:min(100%,260px);height:auto;display:block;margin:10px auto}.qr-card strong,.qr-card small{display:block}.qr-code{font:600 16px monospace;letter-spacing:1px;overflow-wrap:anywhere}.qr-camera video{display:block;width:100%;max-height:320px;object-fit:cover;background:#172720;border-radius:12px}.qr-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.qr-actions button{min-height:44px}.qr-form{display:grid;gap:16px}.qr-form label{display:grid;gap:7px}.qr-form input,.qr-form select,.qr-form textarea{width:100%;min-height:44px;padding:10px;border:1px solid #cdd3c6;border-radius:8px;background:white;font:inherit;box-sizing:border-box}.qr-form .qr-check{display:flex;align-items:start;gap:10px}.qr-check input{width:20px;min-height:20px;flex:0 0 20px}.arrival-card{border:1px solid #d8ddcf;border-radius:12px;padding:18px;margin:12px 0;background:#fffefa}.arrival-card h3{margin:0 0 7px;font-family:inherit;font-size:18px}.arrival-meta{font-size:14px;color:#5a665c;line-height:1.7}.arrival-state{display:inline-block;padding:5px 10px;border-radius:20px;background:#e4eadb;color:#35452f;font-size:13px;font-weight:700}.arrival-state[data-state=Called]{background:#fff0b8;color:#574209}.arrival-state[data-state=Serving]{background:#d8edf0;color:#16424b}.queue-number{font:700 42px Arial;margin:16px 0}.qr-error{color:#a52b20;white-space:pre-wrap}.qr-hint{font-size:14px;color:#5a665c;line-height:1.6}.queue-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.qr-profile{padding:15px;border-radius:10px;background:#e9eedf;line-height:1.6}.qr-profile strong{display:block}.qr-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.qr-toolbar button{min-height:44px}@media(max-width:600px){.qr-actions>*{flex:1 1 140px}.qr-card{padding:16px}.arrival-card{padding:15px}.qr-toolbar>*{flex:1 1 140px}}

#civic-print-preview{width:min(960px,94vw);max-width:94vw;max-height:92dvh;padding:0;border:1px solid #ccd3c6;border-radius:12px;background:#fff;color:#203026;overflow:auto}#civic-print-preview::backdrop{background:#182319b3}.civic-print-controls{position:sticky;top:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 20px;background:#edf0e7;border-bottom:1px solid #ccd3c6}.civic-print-controls strong{margin-right:auto}.civic-print-controls button{padding:10px 14px;min-height:44px;border-radius:8px;border:1px solid #bcc7b4;background:white;font:inherit}.civic-print-sheet{padding:24px;font:15px/1.5 Arial,sans-serif;overflow-wrap:anywhere}.civic-print-sheet h1{font:600 26px/1.3 Arial,sans-serif}.civic-print-sheet svg{display:block;width:min(260px,100%);height:auto;margin:20px auto}.civic-print-sheet table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}.civic-print-sheet th,.civic-print-sheet td{border-bottom:1px solid #ccd3c6;padding:9px}.civic-print-sheet small{display:block;margin-top:12px}@media print{body.civic-print-active>*:not(#civic-print-preview){display:none!important}body.civic-print-active{background:white!important;margin:0!important;padding:0!important}#civic-print-preview{position:static!important;display:block!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}#civic-print-preview::backdrop{display:none}.civic-print-controls{display:none!important}.civic-print-sheet{padding:0}.civic-print-sheet .table-wrap{overflow:visible}.civic-print-sheet table{font-size:11px}}

.citizen-shortcuts{display:flex;flex-wrap:wrap;gap:9px;padding-block:16px}.citizen-shortcuts .button{font-size:14px;padding:10px 14px;min-height:44px}@media(max-width:600px){.citizen-shortcuts{display:grid;grid-template-columns:1fr 1fr}.citizen-shortcuts>:last-child{grid-column:1/-1}}

.voice-panel audio{display:block;width:100%;max-width:100%;margin:14px 0}.voice-panel audio[hidden]{display:none}.voice-recorder{padding:16px;border-radius:12px;background:#e7eddf}.voice-timer{font:600 25px Arial;margin:0}.voice-recipient,.voice-reply{padding:12px;border-left:3px solid #506a41;background:#eef1e8;line-height:1.6}.voice-reply{white-space:pre-wrap}.voice-panel h2{font-family:inherit;font-weight:600}.voice-panel .qr-check{line-height:1.5}

#mayor-voice-dialog{position:fixed;width:min(740px,94vw);max-height:92dvh;overflow:auto;background:#faf8ef;border:1px solid #cdd5c3;border-radius:14px;padding:36px;color:#26372b}#mayor-voice-dialog::backdrop{background:#182319b3}.voice-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:25px;min-height:44px;min-width:44px}#mayor-voice-dialog input,#mayor-voice-dialog textarea,#mayor-voice-dialog select{color:#26372b}

.voice-panel button{min-height:44px;padding:10px 15px;border:1px solid #c8d1bf;border-radius:9px;background:#fffefa;color:#283a2c;font:600 14px/1.4 Arial,sans-serif;cursor:pointer}.voice-panel button.primary{background:#4a6040;color:white;border-color:#4a6040}.voice-panel button:disabled{opacity:.55;cursor:default}.voice-panel h2{font-size:28px}.voice-panel .qr-actions{margin:12px 0}.voice-panel .qr-hint{font-size:13px}.voice-panel .qr-form{gap:12px}

.emergency-voice .eyebrow{display:none}.emergency-voice h2{font-size:24px;margin:0 0 14px}.emergency-voice .voice-recorder{padding:12px}.emergency-voice .voice-recorder .qr-actions{margin:8px 0}.emergency-voice .voice-recorder p{margin:6px 0}.emergency-voice .voice-location p{font-size:13px;line-height:1.5;margin:5px 0}.emergency-voice .voice-location summary{padding:6px 0;font-size:13px}.emergency-voice #voice-send{position:sticky;bottom:0;background:#a13c2d;border-color:#a13c2d;color:white;z-index:2;box-shadow:0 0 0 5px #f5f1e7}.emergency-voice .emergency-call{margin-bottom:12px;padding:10px}.emergency-voice .emergency-call p{font-size:12px}.emergency-voice .qr-form{gap:10px}.emergency-voice button[hidden]{display:none}

.location-help{margin:10px 0;line-height:1.5}.location-help summary{cursor:pointer;min-height:36px;padding:8px 0;font-weight:600}.location-help details{border-top:1px solid #d8ddcf}.location-help ol{padding-left:22px;margin:6px 0 12px}.location-help li{margin:8px 0}.location-help p{font-size:13px}.voice-location [data-location-help]{font-size:13px}
