:root{--primary: #8f42ff;--primary-hover: #7a32e0;--bg: #f1f5f9;--card-bg: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--error: #dc2626;--success: #16a34a;--radius: 12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{background:var(--card-bg);width:100%;max-width:420px;padding:36px 32px;border-radius:var(--radius);box-shadow:0 10px 30px #0f172a14}.brand{display:flex;justify-content:center;margin-bottom:22px}.brand__logo{height:56px;width:auto;object-fit:contain}.card__title{font-size:1.6rem;font-weight:700;margin-bottom:6px}.card__subtitle{color:var(--muted);font-size:.95rem;margin-bottom:28px}.field{margin-bottom:18px}.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.field input{width:100%;padding:11px 13px;font-size:.95rem;border:1px solid var(--border);border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.field select{width:100%;height:44px;padding:11px 38px 11px 13px;font-size:.95rem;font-family:inherit;line-height:1.2;color:var(--text);background-color:#fff;border:1px solid var(--border);border-radius:8px;outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238f42ff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .15s,box-shadow .15s}.field select:invalid{color:var(--muted)}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #8f42ff2e}.field__hint{font-size:.75rem;color:var(--muted);margin-top:4px}.field input.is-invalid{border-color:var(--error);box-shadow:0 0 0 3px #ef444426}.field input.is-valid{border-color:var(--success);box-shadow:0 0 0 3px #22c55e26}.field__feedback{font-size:.78rem;margin-top:6px;font-weight:600;display:none}.field__feedback.is-error{display:flex;align-items:center;gap:6px;color:var(--error)}.field__feedback.is-ok{display:flex;align-items:center;gap:6px;color:var(--success)}.field__feedback.is-error:before{content:"✕"}.field__feedback.is-ok:before{content:"✓"}.btn{width:100%;padding:12px;font-size:1rem;font-weight:600;color:#fff;background:var(--primary);border:none;border-radius:8px;cursor:pointer;transition:background .15s}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.form-footer{margin-top:20px;text-align:center;font-size:.9rem;color:var(--muted)}.form-footer a{color:var(--primary);font-weight:600;text-decoration:none}.form-footer a:hover{text-decoration:underline}.alert{display:none;padding:11px 14px;border-radius:8px;font-size:.88rem;margin-bottom:20px}.alert--error{display:block;background:#fef2f2;color:var(--error);border:1px solid #fecaca}.alert--success{display:block;background:#f0fdf4;color:var(--success);border:1px solid #bbf7d0}
