.media-library .media-upload { min-height:44px; padding:9px 14px; border:2px solid #96b5d5; border-radius:7px; color:#174d79; background:#eef7ff; font-family:inherit; font-size:16px; font-weight:700; line-height:1.3; }
.media-library .media-tools { flex-wrap:wrap; }
.media-library .media-upload:disabled { opacity:.55; }
.image-upload-dialog { width:min(620px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; padding:24px; border:1px solid #c7bda7; border-radius:9px; background:#fffdf6 url('/assets/textures/paper-grain.png'); color:#244766; box-shadow:0 14px 50px #20384c40; font:16px/1.5 Pretendard,Arial,sans-serif; }
.image-upload-dialog::backdrop { background:#19374b80; }
.upload-heading { display:flex; justify-content:space-between; gap:12px; align-items:start; }
.upload-heading p { margin:0; color:#6d6e65; font-size:12px; font-weight:800; letter-spacing:.08em; }
.upload-heading h2 { margin:2px 0 0; font-size:27px; line-height:1.2; }
.image-upload-dialog button { min-height:44px; padding:8px 16px; border:1px solid #a6b7c7; border-radius:7px; background:#fff; color:#244766; font-family:inherit; font-size:16px; font-weight:700; line-height:1.4; cursor:pointer; }
.upload-heading button { min-width:44px; padding:4px; font-size:25px; }
.upload-intro { margin:16px 0; }
.upload-file-label { display:grid; gap:7px; font-weight:700; }
.upload-file-label input { max-width:100%; font:inherit; }
.upload-file-label input::file-selector-button { min-height:44px; margin-right:10px; padding:8px 14px; border:1px solid #87a7c5; border-radius:7px; background:#eaf5ff; color:#164675; font:700 16px/1.4 Pretendard,Arial,sans-serif; cursor:pointer; }
.upload-file-help { margin:7px 0 14px; font-size:14px; color:#5e6e76; }
.upload-preview { display:flex; justify-content:center; align-items:center; height:220px; padding:12px; border:1px dashed #b8b19e; border-radius:7px; background:#f0ede5; }
.upload-preview img { display:block; max-width:100%; max-height:100%; object-fit:cover; object-position:center; }
.upload-shapes { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 0; padding:0; border:0; }
.upload-shapes legend { margin-bottom:8px; font-weight:700; }
.upload-shapes label { display:flex; align-items:center; gap:7px; min-height:44px; padding:7px 12px; border:1px solid #b6bdc1; border-radius:6px; background:#fff; cursor:pointer; }
.upload-shapes label:has(input:checked) { border-color:#3974ae; background:#e9f4ff; }
.upload-shapes input { width:18px; height:18px; accent-color:#23649f; }
.upload-message { min-height:1.5em; margin:12px 0; }
.upload-actions { display:flex; flex-wrap:wrap; justify-content:end; gap:10px; }
.image-upload-dialog .primary { background:#207752; color:white; border-color:#155b3d; box-shadow:0 2px 0 #155b3d; }
.image-upload-dialog button:disabled { opacity:.5; cursor:default; }
.image-upload-dialog :focus-visible { outline:3px solid #145ea8; outline-offset:3px; }
.image-upload-dialog [hidden] { display:none!important; }
@media(max-width:480px){.image-upload-dialog{padding:18px}.upload-heading h2{font-size:24px}.upload-preview{height:180px}.upload-actions button{flex:1}}
