.file-upload-original{position:absolute!important;width:1px!important;height:1px!important;clip-path:inset(50%);overflow:hidden;opacity:0;pointer-events:none}
.file-upload-zone{box-sizing:border-box;width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 18px;margin:12px 0;border:1.5px dashed #a9c7c1;border-radius:18px;background:linear-gradient(135deg,#fff,#f2f8f6);text-align:center;transition:border-color .18s,background .18s,box-shadow .18s;font-family:inherit}
.file-upload-zone:focus-visible,.file-upload-zone:focus-within{outline:2px solid #087e77;outline-offset:3px}.file-upload-zone.is-dragging{border-color:#087e77;background:#e4f3ee;box-shadow:0 0 0 4px #087e7714}
.file-upload-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d5e4df;border-radius:12px;background:#fff;color:#087e77}.file-upload-icon svg{width:24px;height:24px}
.file-upload-zone>strong{font-size:16px;color:#173e3f;line-height:1.45}.file-upload-zone .file-upload-hint{font-size:13px;line-height:1.55;color:#667e79;margin:0;max-width:380px}
.file-upload-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.file-upload-zone button{padding:10px 14px;font-size:13px;line-height:1.4;min-height:40px;margin:0;border-radius:10px}.file-upload-zone button:hover{box-shadow:0 4px 12px #173e3f15}.file-upload-zone .file-upload-status{font-size:12px;line-height:1.5;margin:0;color:#436b61;overflow-wrap:anywhere;max-width:100%}.file-upload-zone .file-upload-status:empty{display:none}.file-upload-zone .file-upload-status.error{color:#a63d38}
.file-upload-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;min-width:0}.file-upload-list[hidden]{display:none}.file-upload-list select{flex:1 1 160px;min-width:0;width:100%;font-size:13px;padding:10px;border-radius:10px;background:#fff}
.file-upload-zone details{width:100%;font-size:13px;text-align:left}.file-upload-zone details>summary{cursor:pointer;color:#436b61}.file-upload-zone textarea{display:block;box-sizing:border-box;width:100%;margin:12px 0;min-height:80px;padding:12px;font:inherit;border:1px solid #bfd1ca;border-radius:10px;resize:vertical;background:#fff}
.excel-controls:has(.file-upload-zone){align-items:start}.excel-controls .field:has(.file-upload-zone){min-width:0}.excel-controls .file-upload-zone{margin-top:10px}
@media(max-width:600px){.file-upload-zone{padding:20px 12px}.excel-controls:has(.file-upload-zone){display:flex;flex-direction:column}.excel-controls:has(.file-upload-zone)>.field{width:100%}.file-upload-zone>strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.file-upload-zone{transition:none}}

.file-upload-zone[hidden]{display:none}
.file-upload-zone button.secondary{font-family:inherit;font-weight:600;border:1px solid #cfdfda;background:#fff;color:#17615c;cursor:pointer;box-shadow:none}
.file-upload-zone button.secondary:hover{background:#e9f3ef;border-color:#98bdb2;box-shadow:0 3px 10px #173e3f10}
.file-upload-actions>button.secondary:first-child{background:#087e77;color:#fff;border-color:#087e77}.file-upload-actions>button.secondary:first-child:hover{background:#066b65}
.file-upload-zone button:focus-visible{outline:2px solid #087e77;outline-offset:3px}
