:root{--color-bg:#f3f4f6;--color-surface:#fff;--color-text-main:#111827;--color-text-muted:#6b7280;--color-text-subtle:#9ca3af;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#eff6ff;--color-border:#e5e7eb;--color-border-hover:#d1d5db;--color-badge-bg:#eff6ff;--color-badge-text:#1e40af;--color-success-bg:#ecfdf5;--color-success-text:#065f46;--color-warning-bg:#fffbeb;--color-warning-text:#92400e;--color-danger-bg:#fef2f2;--color-danger-text:#991b1b}body{background-color:var(--color-bg);color:var(--color-text-main);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.public-qr-layout{box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:1rem;display:flex}@media (width>=640px){.public-qr-layout{justify-content:center;padding:2rem 1.5rem}}.public-qr-card{background:var(--color-surface);box-sizing:border-box;text-align:left;border-radius:20px;width:100%;max-width:480px;padding:1.5rem;box-shadow:0 4px 24px #00000012}@media (width>=640px){.public-qr-card{padding:2rem}}.public-qr-card-centered{text-align:center}.public-qr-badge{background:var(--color-badge-bg);color:var(--color-badge-text);border-radius:9999px;margin-bottom:.875rem;padding:.35rem .75rem;font-size:.8125rem;font-weight:600;display:inline-block}.public-badge-success{background:var(--color-success-bg);color:var(--color-success-text)}.public-badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.public-badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.public-qr-title{color:var(--color-text-main);margin:0 0 .5rem;font-size:1.375rem;font-weight:700;line-height:1.35}.public-qr-subtitle{color:var(--color-text-muted);margin:0 0 1rem;font-size:.9375rem;font-weight:500;line-height:1.45}.public-qr-text{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.9375rem;line-height:1.5}.public-qr-public-id{color:#374151;background:#f3f4f6;border-radius:6px;margin-bottom:1.25rem;padding:.25rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;display:inline-block}.public-identity-card{border:1px solid var(--color-border);background:#f9fafb;border-radius:14px;margin-bottom:1.25rem;padding:1rem 1.125rem}.public-identity-owner{color:var(--color-text-main);margin-bottom:.25rem;font-size:.875rem;font-weight:600}.public-identity-vehicle{color:var(--color-text-main);font-size:1.0625rem;font-weight:700;line-height:1.3}.public-identity-meta{color:var(--color-text-muted);margin-top:.25rem;font-size:.875rem}.public-plate-pill{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:5px;margin-left:.35rem;padding:.15rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:600;display:inline-block}.public-status-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-bottom:1.25rem;padding:.875rem 1rem}.public-status-card-empty{border:1px dashed var(--color-border);color:var(--color-text-muted);background:#f9fafb}.public-status-title{text-transform:uppercase;letter-spacing:.05em;color:#166534;margin-bottom:.25rem;font-size:.75rem;font-weight:700}.public-status-text{color:#14532d;font-size:.9375rem;font-weight:600;line-height:1.4}.public-status-expiry{color:#166534;margin-top:.25rem;font-size:.8125rem}.public-contacts-card{border:1px solid var(--color-border);background:#f8fafc;border-radius:12px;margin-bottom:1.25rem;padding:.875rem 1rem}.public-contacts-title{color:var(--color-text-muted);margin-bottom:.625rem;font-size:.8125rem;font-weight:600}.public-contacts-list{flex-direction:column;gap:.5rem;display:flex}.public-contact-item{color:var(--color-primary);border:1px solid var(--color-border);background:#fff;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:border-color .15s;display:flex}.public-contact-item:hover{border-color:var(--color-primary)}.public-contact-disclaimer{color:var(--color-text-subtle);margin-top:.5rem;font-size:.75rem;line-height:1.35}.public-reasons-section{margin-top:1.25rem;margin-bottom:1.5rem}.public-reasons-title{color:var(--color-text-main);margin:0 0 .75rem;font-size:1.125rem;font-weight:700}.public-reasons-list{flex-direction:column;gap:.5rem;display:flex}.public-reason-btn{text-align:left;border:1.5px solid var(--color-border);width:100%;color:var(--color-text-main);cursor:pointer;box-sizing:border-box;background:#fff;border-radius:12px;justify-content:flex-start;align-items:center;padding:.875rem 1rem;font-size:.9375rem;font-weight:500;transition:all .15s;display:flex}.public-reason-btn:hover{border-color:var(--color-border-hover);background:#f9fafb}.public-reason-btn.is-selected{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.public-reason-radio{border:2px solid #9ca3af;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.125rem;height:1.125rem;margin-right:.75rem;display:flex}.public-reason-btn.is-selected .public-reason-radio{border-color:var(--color-primary)}.public-reason-radio-dot{background:var(--color-primary);border-radius:50%;width:.5rem;height:.5rem}.public-textarea-container{margin-top:.875rem}.public-textarea-label{color:var(--color-text-main);margin-bottom:.35rem;font-size:.875rem;font-weight:600;display:block}.public-textarea{border:1.5px solid var(--color-border);resize:vertical;box-sizing:border-box;width:100%;min-height:80px;color:var(--color-text-main);border-radius:10px;padding:.75rem;font-family:inherit;font-size:.9375rem}.public-textarea:focus{border-color:var(--color-primary);outline:none}.public-textarea-hint{color:var(--color-text-muted);margin-top:.25rem;font-size:.75rem}.public-qr-btn-primary{background:var(--color-primary);color:#fff;cursor:pointer;box-sizing:border-box;border:none;border-radius:14px;justify-content:center;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1.0625rem;font-weight:600;text-decoration:none;transition:background-color .15s;display:flex}.public-qr-btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.public-qr-btn-primary:disabled{opacity:.55;cursor:not-allowed}.public-qr-btn-secondary{width:100%;color:var(--color-text-muted);border:1.5px solid var(--color-border);cursor:pointer;box-sizing:border-box;background:0 0;border-radius:12px;justify-content:center;align-items:center;margin-top:.75rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.public-qr-btn-secondary:hover{color:var(--color-text-main);background:#f9fafb}.public-cta-hint{text-align:center;color:var(--color-text-muted);margin-top:.5rem;font-size:.8125rem}.public-report-link-container{text-align:center;border-top:1px solid var(--color-border);margin-top:1.5rem;padding-top:1rem}.public-report-link{color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:.8125rem;text-decoration:underline}.public-report-link:hover{color:var(--color-text-muted)}.public-incident-info{border:1px solid var(--color-border);background:#f9fafb;border-radius:12px;margin-bottom:1.25rem;padding:1rem}.public-incident-reason{color:var(--color-text-main);font-size:1.125rem;font-weight:700}.public-incident-body{color:var(--color-text-main);white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:.75rem;padding:.75rem;font-size:.9375rem}.public-incident-status-box{border-radius:12px;margin-bottom:1.5rem;padding:1rem}.status-awaiting{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.status-replied{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.status-closed{color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb}.public-incident-status-title{margin-bottom:.25rem;font-size:.9375rem;font-weight:700}.public-incident-status-desc{opacity:.9;font-size:.875rem;line-height:1.4}.public-incident-reply-content{color:var(--color-text-main);white-space:pre-wrap;background:#fff;border-radius:8px;margin-top:.75rem;padding:.875rem;font-size:.9375rem;font-weight:500}.public-retention-notice{color:var(--color-text-subtle);text-align:center;margin-bottom:1.25rem;font-size:.8125rem}
