:root { --primary: #2563eb; --primary-hover: #1d4ed8; --bg: #f3f4f6; --card-bg: #ffffff; --text: #1f2937; --border: #e5e7eb; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background-color: var(--bg); color: var(--text); display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; padding: 20px; } .container { background-color: var(--card-bg); padding: 2rem; border-radius: 12px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); width: 100%; max-width: 500px; } .card { background-color: var(--card-bg); padding: 2rem; border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); text-align: center; max-width: 400px; width: 100%; } h1 { margin-top: 0; margin-bottom: 1.5rem; text-align: center; font-size: 1.5rem; color: var(--text); } h2 { color: #059669; margin-top: 0; } .form-group { margin-bottom: 1rem; } label { display: block; margin-bottom: 0.5rem; font-weight: 500; font-size: 0.875rem; } input[type="text"], input[type="number"], input[type="file"] { width: 100%; padding: 0.5rem; border: 1px solid var(--border); border-radius: 6px; box-sizing: border-box; font-size: 1rem; } .hint { font-size: 0.75rem; color: #6b7280; margin-top: 0.25rem; } button { width: 100%; background-color: var(--primary); color: white; padding: 0.75rem; border: none; border-radius: 6px; font-size: 1rem; font-weight: 500; cursor: pointer; transition: background-color 0.2s; margin-top: 1rem; } button:hover { background-color: var(--primary-hover); } button:disabled { background-color: #9ca3af; cursor: not-allowed; } #loading { display: none; text-align: center; margin-top: 1rem; } .spinner { border: 4px solid #f3f3f3; border-top: 4px solid var(--primary); border-radius: 50%; width: 30px; height: 30px; animation: spin 1s linear infinite; margin: 0 auto 0.5rem auto; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .btn { display: inline-block; background: var(--primary); color: white; padding: 0.75rem 1.5rem; text-decoration: none; border-radius: 6px; margin-top: 1rem; transition: 0.2s; } .btn:hover { background: var(--primary-hover); } .secondary { background: #e5e7eb; color: #374151; margin-left: 0.5rem; } .secondary:hover { background: #d1d5db; }