.upload-control{margin:16px 0;font-size:14px;line-height:1.5;color:var(--text,#1e293b)}
.upload-help{color:var(--muted,#5d6b80);margin:0 0 12px;max-width:65ch}
.upload-choose,.upload-remove,.upload-send,.upload-check{font:inherit;font-weight:700;cursor:pointer;min-height:44px;border-radius:10px;padding:10px 16px}
.upload-choose,.upload-check{color:var(--navy,#173c69);background:#fff;border:2px solid var(--border,#e2e8f0)}
.upload-choose:hover,.upload-check:hover{border-color:var(--blue,#0071ce)}
.upload-list{list-style:none;padding:0;margin:12px 0}.upload-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border,#e2e8f0)}
.upload-list img{width:48px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0}.upload-name{flex:1;min-width:0;overflow-wrap:anywhere}.upload-name small{font-size:12px;color:var(--muted,#5d6b80)}
.upload-remove{flex-shrink:0;background:none;color:var(--navy,#173c69);border:0;padding:10px 8px}.upload-remove:hover{text-decoration:underline}
.upload-status{color:var(--muted,#5d6b80);margin:8px 0}.upload-error{color:#a01019;margin:8px 0}.upload-error:empty,.upload-status:empty{display:none}
.upload-choose:focus-visible,.upload-remove:focus-visible,.upload-send:focus-visible,.upload-check:focus-visible{outline:3px solid var(--blue,#0071ce);outline-offset:3px}
.upload-send{background:var(--blue,#0071ce);color:#fff;border:0}.upload-send:disabled,.upload-choose:disabled,.upload-remove:disabled{opacity:.55;cursor:not-allowed}
.ticket-upload{border-top:1px solid var(--border,#e2e8f0);margin-top:24px;padding-top:20px}.ticket-upload h4{color:var(--navy,#173c69);font-size:16px;margin-bottom:8px}.ticket-upload textarea{width:100%;font:inherit;min-height:80px;margin-top:8px;padding:10px;border:2px solid var(--border,#e2e8f0);border-radius:10px;color:var(--text,#1e293b);background:#fff}.ticket-upload textarea:focus-visible{outline:3px solid var(--blue,#0071ce);outline-offset:2px}
.ticket-upload-actions{display:flex;gap:10px;flex-wrap:wrap}.attachment-doc{display:inline-block;padding:6px 10px;border:1px solid var(--border,#e2e8f0);border-radius:6px;overflow-wrap:anywhere;max-width:100%;font-size:13px}
@media(max-width:480px){.upload-list li{gap:8px}.upload-remove{padding:10px 4px}.ticket-upload-actions button{width:100%}}
