.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0f172a73;place-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:grid;position:fixed;inset:0}.modal-container{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-overlay);border-radius:24px;flex-direction:column;width:100%;max-width:860px;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2{margin:0;font-size:1.5rem;font-weight:950}.modal-close-btn{border:1px solid var(--border-color);width:36px;height:36px;color:var(--text-secondary);background:0 0;border-radius:50%;place-items:center;transition:all .2s;display:grid}.modal-close-btn:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5;transform:rotate(90deg)}.modal-body{padding:1.5rem}.animate-scale-in{animation:.25s cubic-bezier(.34,1.56,.64,1) forwards scaleIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dark .modal-backdrop{background:#000000a6}.dark .modal-container{background:#111827;border-color:#1f2937}.dark .modal-header{border-bottom-color:#1f2937}.dark .modal-close-btn{border-color:#1f2937}.dark .modal-close-btn:hover{background:#ef444426}.upload-grid-container{grid-template-columns:1.2fr 1fr;align-items:start;gap:2rem;max-height:72vh;padding:.2rem;display:grid;overflow-y:auto}.upload-modal-form{background:0 0;padding:0}.upload-modal-form label:not(:first-child),.upload-modal-form .check-row{margin-top:.8rem}.upload-modal-form input[type=file]{cursor:pointer}.upload-helper-text{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem;font-weight:700;display:block}.upload-counter{color:var(--text-secondary);text-align:right;margin-top:.25rem;font-size:.72rem;font-weight:700;display:block}.upload-counter.warning{color:#f59e0b}.upload-counter.danger{color:#ef4444}.upload-storage-card{border:1px solid var(--border-color,#e5e7eb);background:var(--bg-secondary,#f9fafb);border-radius:10px;margin-top:1rem;padding:.75rem .9rem}.upload-storage-meta{color:var(--text-secondary);justify-content:space-between;gap:.75rem;margin-bottom:.4rem;font-size:.75rem;font-weight:700;display:flex}.upload-storage-meta.warning{color:#f59e0b}.upload-storage-meta.danger{color:#ef4444}.upload-storage-track{background:var(--border-color,#e2e8f0);border-radius:99px;height:6px;overflow:hidden}.upload-storage-note{color:var(--text-secondary);margin-top:.3rem;font-size:.7rem}.upload-storage-note.danger{color:#ef4444;font-weight:800}.upload-preview-panel{flex-direction:column;gap:1rem;display:flex;position:sticky;top:5.5rem}.upload-preview-title{color:var(--text-secondary);text-transform:uppercase;margin-bottom:.5rem;font-size:.9rem;font-weight:800}.upload-preview-frame{height:210px;box-shadow:var(--shadow-sm);border-radius:14px;overflow:hidden}@media (max-width:780px){.upload-modal{border-radius:18px;width:min(100%,520px);max-height:calc(100dvh - 1rem)}.modal-header{padding:1rem 1.1rem}.modal-header h2{font-size:1.35rem}.modal-close-btn{width:42px;height:42px}.upload-grid-container{grid-template-columns:1fr;gap:1.25rem;max-height:none;padding:0;overflow:visible}.modal-backdrop{place-items:start center;padding:.5rem}.modal-body{max-height:calc(100dvh - 5.7rem);padding:1.15rem 1rem calc(5rem + env(safe-area-inset-bottom));overflow-y:auto}.upload-modal-form{gap:1.15rem}.upload-modal-form label:not(:first-child),.upload-modal-form .check-row{margin-top:0}.upload-modal-form label{gap:.55rem;font-size:.9rem}.upload-modal-form input,.upload-modal-form select,.upload-modal-form textarea{border-radius:14px;min-height:48px;padding:.95rem;font-size:1rem;font-weight:750}.upload-modal-form textarea{min-height:132px;line-height:1.45}.upload-helper-text,.upload-counter,.upload-storage-meta,.upload-storage-note{font-size:.8rem}.upload-modal-form .check-row{border:1px solid var(--border-color);background:var(--bg-input,#f8fafc);border-radius:14px;align-items:flex-start;gap:.8rem;padding:.9rem;font-size:.86rem;line-height:1.35}.upload-modal-form .check-row input{width:20px;min-width:20px;height:20px;min-height:20px;margin-top:.1rem}.upload-storage-card{border-radius:14px;margin-top:0;padding:.95rem}.upload-storage-meta{flex-direction:column;align-items:flex-start;gap:.25rem}.upload-preview-panel{gap:.75rem;padding-top:.25rem;position:static}.upload-preview-title{font-size:.8rem}.upload-preview-frame{aspect-ratio:16/9;border-radius:14px;height:auto}}
