.badge-info{background:#d9f2f6;color:#0b6675}
.flash{padding:12px 15px;border-radius:9px;margin:0 0 16px;font-size:12px;border:1px solid transparent}
.flash.success{background:#dff4e8;color:#146c43;border-color:#badbcc}
.flash.error{background:#fde8ea;color:#842029;border-color:#f5c2c7}
.flash.warning{background:#fff4d6;color:#7b5800;border-color:#ffe69c}
.filters .filter select.input{height:38px}
.filter-actions{align-items:center}
.table .subtle{display:block;color:#858b8f;font-size:10px;margin-top:3px}
.table .request-ref{font-weight:700;color:#393d3b}
.table .truncate{display:block;max-width:245px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.table .actions{min-width:100px}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:15px;font-size:11px;color:#777}
.pagination-links{display:flex;gap:6px}
.pagination-links a,.pagination-links span{padding:7px 10px;border:1px solid #e2e6e9;border-radius:7px;text-decoration:none}
.pagination-links .current{background:#2f3130;color:#fff;border-color:#2f3130}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:18px}
.detail-section{margin-bottom:16px}
.detail-section:last-child{margin-bottom:0}
.detail-section h3{font-size:13px;margin:0 0 10px;color:#464a48}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.info-item{border:1px solid #eef0f2;border-radius:9px;padding:10px;min-width:0}
.info-item span{display:block;color:#858b8f;font-size:9px;text-transform:uppercase;letter-spacing:.45px}
.info-item strong{display:block;font-size:12px;margin-top:4px;overflow-wrap:anywhere;font-weight:500}
.message-box{white-space:pre-wrap;background:#fafbfc;border:1px solid #edf0f2;border-left:4px solid var(--yellow);border-radius:8px;padding:14px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.timeline{list-style:none;padding:0;margin:0}
.timeline li{position:relative;margin:0 0 13px;padding:0 0 13px 17px;border-bottom:1px solid #eef0f2}
.timeline li:before{content:'';position:absolute;left:0;top:5px;width:7px;height:7px;border-radius:50%;background:var(--yellow)}
.timeline li:last-child{border:0;margin-bottom:0;padding-bottom:0}
.timeline strong{font-size:11px}
.timeline time{display:block;color:#888;font-size:10px;margin:3px 0}
.timeline p{margin:5px 0 0;font-size:11px;line-height:1.6;color:#555;white-space:pre-wrap}
.timeline-photo{display:inline-flex;flex-direction:column;vertical-align:top;width:150px;margin:9px 9px 0 0;padding:5px;border:1px solid #e8ebed;border-radius:8px;background:#fff;text-decoration:none;color:#555}
.timeline-photo img{width:138px;height:94px;object-fit:contain;border-radius:5px;background:#f2f3f4}
.timeline-photo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;padding:5px 2px 1px}
.closure-response-card{border-top:3px solid #28a36a}
.final-reply-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;margin:13px 0 16px}
.final-reply-summary>div{min-width:0;padding:10px 11px;border:1px solid #e9edef;border-radius:8px;background:#fafbfc}
.final-reply-summary span{display:block;margin-bottom:4px;color:#858b8f;font-size:9px;text-transform:uppercase;letter-spacing:.4px}
.final-reply-summary strong{display:block;font-size:11px;font-weight:600;overflow-wrap:anywhere}
.final-reply-heading{margin:14px 0 8px;color:#464a48;font-size:12px}
.final-reply-attachments{margin-top:2px}
.existing-evidence{display:block;width:100%;min-width:0;border:1px solid #e7eaee;border-radius:9px;padding:10px 12px;margin:14px 0 0;max-height:220px;overflow:auto}
.existing-evidence legend{padding:0 5px;font-size:10px;font-weight:600;color:#565d59}
.card label.evidence-choice{display:flex!important;align-items:center;gap:9px;margin:0;padding:8px 0;font-size:10px;cursor:pointer}
.evidence-choice input{margin-top:2px;accent-color:var(--yellow)}
.evidence-choice-copy{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}
.evidence-choice small{color:#858b8f;font-size:9px}
.existing-evidence .evidence-choice img.evidence-choice-thumb{display:block!important;width:64px!important;min-width:64px!important;max-width:64px!important;height:52px!important;min-height:52px!important;max-height:52px!important;flex:0 0 64px!important;object-fit:contain!important;border:1px solid #e5e8eb;border-radius:6px;background:#f4f5f6}
.evidence-choice-file{width:64px;height:52px;flex:0 0 64px;display:grid;place-items:center;border:1px solid #e5e8eb;border-radius:6px;background:#f4f5f6;color:#a4770b;font-size:21px}
.attachment-list{list-style:none;padding:0;margin:0}
.attachment-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eef0f2;font-size:11px}
.attachment-list li:last-child{border-bottom:0}
.attachment-list-main{display:flex;align-items:center;gap:11px;min-width:0;overflow-wrap:anywhere}
.attachment-thumb-link{display:block;flex:0 0 62px;height:52px;border:1px solid #e5e8eb;border-radius:6px;overflow:hidden;background:#f4f5f6}
.attachment-list .attachment-thumb-link img.attachment-thumb{display:block!important;width:62px!important;min-width:62px!important;max-width:62px!important;height:52px!important;min-height:52px!important;max-height:52px!important;object-fit:contain!important}
.attachment-meta{color:#858b8f;font-size:9px;margin-top:3px}
.bar-list{display:grid;gap:11px}
.bar-row{display:grid;grid-template-columns:minmax(90px,180px) 1fr 38px;gap:12px;align-items:center;font-size:11px}
.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-track{height:10px;background:#eef0f2;border-radius:99px;overflow:hidden}
.bar-fill{height:100%;background:var(--yellow);border-radius:99px}
.bar-value{text-align:right;font-weight:600}
.trend-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:end;min-height:155px}
.trend-item{display:flex;flex-direction:column;align-items:center;gap:7px;height:100%;justify-content:flex-end}
.trend-bar-wrap{height:115px;width:min(44px,70%);display:flex;align-items:flex-end;background:#f2f3f4;border-radius:6px 6px 0 0;overflow:hidden}
.trend-bar{width:100%;min-height:3px;background:var(--yellow);border-radius:6px 6px 0 0}
.trend-item strong{font-size:10px}
.trend-item span{font-size:9px;color:#858b8f}
.form-help{font-size:10px;color:#858b8f;margin:5px 0 0}
.label-required:after{content:' *';color:#bc8210}
.public-shell{min-height:100vh;background:linear-gradient(140deg,#f5f6f7,#fff 58%);padding:34px 14px 48px}
.public-wrap{max-width:850px;margin:0 auto}
.public-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin:0 auto 22px;text-align:center}
.public-brand img{width:132px;height:66px;object-fit:contain}
.public-brand-copy span{display:block;color:#737a77;font-size:11px}
.public-title{text-align:center;margin-bottom:22px}
.public-title h1{font-size:27px;margin:0;color:#373b39;font-weight:600}
.public-title p{color:#777;margin:6px 0 0;font-size:12px}
.public-card{background:#fff;border:1px solid #e7eaee;border-top:4px solid var(--yellow);border-radius:14px;padding:26px;box-shadow:var(--shadow)}
.public-card .form-section-title{margin:7px 0 14px!important}
.public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.public-field{min-width:0}
.public-field.full{grid-column:1/-1}
.public-field label{display:block;font-size:11px;font-weight:600;color:#4a4f4c;margin-bottom:5px}
.public-field label.required:after{content:' *';color:#c18a08}
.public-field .input{font-size:12px;padding:11px}
.public-field textarea.input{min-height:145px}
.public-check-label{display:flex!important;align-items:center;gap:9px;cursor:pointer;font-size:12px!important}
.public-check-label input{width:17px;height:17px;accent-color:var(--yellow)}
.public-submit{margin-top:17px}
.public-submit .btn{min-height:45px;font-size:13px}
.public-submit .btn:disabled{opacity:.68;cursor:wait}
.public-upload-status{margin-top:13px;padding:13px 14px;background:#f7f8f9;border:1px solid #e7eaee;border-radius:10px}
.public-upload-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#4a4f4c;font-size:11px}
.public-upload-label strong{color:#9b6a00;font-size:11px}
.public-upload-track{height:10px;margin-top:9px;background:#e5e8eb;border-radius:99px;overflow:hidden}
.public-upload-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#f3a900,#ffd04a);border-radius:99px;transition:width .18s ease}
.public-upload-status.upload-processing .public-upload-track span{width:36%!important;animation:upload-processing 1s ease-in-out infinite alternate}
@keyframes upload-processing{from{transform:translateX(0)}to{transform:translateX(175%)}}
.submission-success{text-align:center;padding:9px 4px 5px}
.submission-success-icon{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:#dff4e8;color:#16834e;font-size:27px;font-weight:700}
.submission-success-kicker{margin:0;color:#16834e;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.submission-success h2{margin:5px 0 7px;color:#333;font-size:22px}
.submission-success-intro,.submission-success-email{max-width:620px;margin:0 auto;color:#6f7672;font-size:12px;line-height:1.7}
.submission-success .reference-box{max-width:540px;margin:18px auto 14px}
.submission-success .reference-box strong{font-size:22px;letter-spacing:1px}
.public-upload-status.upload-error{background:#fff3f3;border-color:#f2c5c8}
.public-upload-status.upload-error .public-upload-label{color:#842029}
.public-upload-status.upload-error .public-upload-track span{background:#c4434d}
.public-privacy{text-align:center;color:#898f8c;font-size:9px;margin:14px 0 0;line-height:1.6}
.reference-box{background:#fff9e9;border:1px solid #f0dda9;border-radius:10px;padding:15px;text-align:center;margin-bottom:16px}
.reference-box span{display:block;color:#78705b;font-size:10px}
.reference-box strong{display:block;color:#2d302e;font-size:20px;letter-spacing:.6px;margin:3px 0}
.reference-box p{margin:4px 0 0;font-size:10px;color:#777}
.dashboard-summary{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.dashboard-summary .pill{font-size:10px}
.inline-form{display:inline}
.archive-flag{color:#a61e2b;font-weight:600}
.report-actions{display:flex;gap:8px;flex-wrap:wrap}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.detail-layout{grid-template-columns:1fr}.trend-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.public-shell{padding:20px 10px 30px}.public-card{padding:18px 14px}.public-title h1{font-size:22px}.public-grid{grid-template-columns:1fr}.public-field.full{grid-column:auto}.public-brand img{width:112px;height:56px}.info-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:85px 1fr 30px;gap:7px}.trend-grid{grid-template-columns:repeat(3,1fr)}.pagination{align-items:flex-start;flex-direction:column}.attachment-list li{align-items:flex-start;flex-direction:column}}
