html,body,#root{text-align:left;border:0;width:100%;max-width:none;min-height:100vh;margin:0;padding:0;display:block}:root{--blue:#0b57d0;--blue-hover:#0a4cb8;--ink:#1f1f1f;--muted:#5f6368;--line:#c4c7c5;--soft:#e3e3e3;--red:#b3261e;--red-bg:#fce8e6;--bg:#f0f4f9}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Roboto,Segoe UI,system-ui,-apple-system,sans-serif}.page{flex-direction:column;justify-content:center;align-items:center;gap:20px;width:100%;min-height:100vh;padding:32px 16px;display:flex}.card{background:#fff;border-radius:24px;width:100%;max-width:560px;padding:40px;animation:.4s both rise;box-shadow:0 1px 3px #3c40431f,0 4px 16px #3c40430f}.logo{align-items:center;gap:10px;margin-bottom:20px;display:flex}.logo-mark{background:var(--blue);color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:grid}.logo-text{letter-spacing:.18em;color:var(--muted);font-weight:700}h1{margin:0 0 8px;font-size:1.75rem;font-weight:500;line-height:1.25}.desc{color:var(--muted);margin:0 0 28px;font-size:.95rem;line-height:1.6}.fields{flex-direction:column;gap:18px;margin-bottom:20px;display:flex}.field{flex-direction:column;display:flex}label{margin-bottom:6px;font-size:.875rem;font-weight:500}.req{color:var(--red)}.opt{color:var(--muted);font-weight:400}input,select,textarea{width:100%;font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;font-size:1rem;transition:border-color .15s,box-shadow .15s}input,select{height:48px;padding:0 14px}textarea{resize:vertical;min-height:120px;padding:12px 14px;line-height:1.5}input::placeholder,textarea::placeholder{color:#80868b}input:hover,select:hover,textarea:hover{border-color:#8e918f}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0b57d02e}.has-error input,.has-error select,.has-error textarea{border-color:var(--red)}.has-error input:focus,.has-error select:focus,.has-error textarea:focus{box-shadow:0 0 0 3px #b3261e2e}.select-wrap select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235f6368' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:44px}select:invalid{color:#80868b}select option{color:var(--ink)}.below{justify-content:space-between;gap:12px;min-height:20px;margin-top:6px;display:flex}.help,.error{margin:0;font-size:.8125rem;line-height:1.4}.help{color:var(--muted)}.error{color:var(--red)}.count{color:var(--muted);white-space:nowrap;font-size:.75rem}.btn{cursor:pointer;background:var(--blue);color:#fff;height:48px;font:inherit;border:0;border-radius:24px;justify-content:center;align-items:center;padding:0 28px;font-size:1rem;font-weight:500;transition:background .15s,box-shadow .15s;display:inline-flex}.btn.block{width:100%}.btn:hover:not(:disabled){background:var(--blue-hover);box-shadow:0 1px 4px #0000004d}.btn:focus-visible{outline-offset:2px;outline:3px solid #0b57d059}.btn:disabled{opacity:.7;cursor:not-allowed}.spinner{border:3px solid #fff6;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.alert{background:var(--red-bg);color:var(--red);border-radius:8px;margin-bottom:16px;padding:12px 14px;font-size:.875rem;line-height:1.5}.fine{text-align:center;color:var(--muted);margin:12px 0 0;font-size:.75rem}.done{text-align:center;flex-direction:column;align-items:center;padding:16px 0;display:flex}.done p{max-width:400px;color:var(--muted);margin:0 0 24px;line-height:1.6}.done strong{color:var(--ink);word-break:break-all}.check{color:#137333;background:#e6f4ea;border-radius:50%;place-items:center;width:72px;height:72px;margin-bottom:20px;animation:.45s both pop;display:grid}.check svg{width:34px;height:34px}.foot{color:var(--muted);font-size:.75rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width<=560px){.page{justify-content:flex-start;padding:16px 12px}.card{border-radius:20px;padding:28px 20px}h1{font-size:1.5rem}}
