/* Shared native file picker: keep browser selection, labels and camera support. */
input[type="file"]:not([hidden]) {
    display:block;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:100%;
    min-height:54px;
    padding:6px;
    border:1px solid #d0d1cb;
    border-radius:14px;
    background:#fff;
    color:var(--muted,#4d535b);
    font:400 14px/1.5 'Figtree',sans-serif;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    cursor:pointer;
    transition:border-color .15s ease,box-shadow .15s ease;
}
input[type="file"]::file-selector-button {
    min-height:40px;
    margin:0 12px 0 0;
    padding:9px 16px;
    border:0;
    border-radius:9px;
    background:var(--red,#a5141c);
    color:#fff;
    font:600 14px/1.5 'Figtree',sans-serif;
    cursor:pointer;
    transition:background-color .15s ease;
}
input[type="file"]:not(:disabled):hover { border-color:var(--red,#a5141c); }
input[type="file"]:not(:disabled):hover::file-selector-button { background:var(--dark-red,#83101a); }
input[type="file"]:focus-visible {
    outline:2px solid var(--red,#a5141c);
    outline-offset:3px;
    border-color:var(--red,#a5141c);
    box-shadow:0 0 0 4px #a5141c12;
}
input[type="file"]:disabled { opacity:.5; cursor:not-allowed; }
input[type="file"]:disabled::file-selector-button { cursor:not-allowed; }
@media(max-width:480px) {
    input[type="file"]::file-selector-button { margin-right:8px; padding-inline:12px; }
}
@media(prefers-reduced-motion:reduce) {
    input[type="file"],input[type="file"]::file-selector-button { transition:none; }
}
