:root { font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #1f2937; background: #f3f4f6; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
.container { width: min(760px, 100%); margin: 0 auto; padding: 24px 16px; }
.card { background: #fff; border-radius: 18px; padding: 24px; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
h1 { margin: 0 0 8px; font-size: 28px; }
.muted { color: #6b7280; }
label { display: block; margin: 22px 0 8px; font-weight: 600; }
input[type=text], input[type=file] { width: 100%; padding: 13px; border: 1px solid #d1d5db; border-radius: 10px; background: #fff; font-size: 16px; }
button { width: 100%; margin-top: 22px; padding: 14px 18px; border: 0; border-radius: 10px; background: #111827; color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; }
button:disabled { opacity: .55; cursor: wait; }
.preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; margin-top: 16px; }
.preview-item { overflow: hidden; border: 1px solid #e5e7eb; border-radius: 10px; background: #f9fafb; }
.preview-image-wrap { position: relative; }
.preview-item img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.remove-photo { position: absolute; top: 7px; right: 7px; width: 32px; height: 32px; margin: 0; padding: 0; border-radius: 50%; background: rgba(17,24,39,.82); color: #fff; font-size: 22px; line-height: 32px; font-weight: 400; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.remove-photo:hover { background: rgba(17,24,39,.95); }
.preview-item div { padding: 7px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.status { margin-top: 16px; padding: 12px; border-radius: 10px; display: none; }
.status.success { display: block; background: #ecfdf5; color: #065f46; }
.status.error { display: block; background: #fef2f2; color: #991b1b; }
@media (max-width: 520px) { .card { padding: 18px; } h1 { font-size: 24px; } }
