:root{--bg: #f2f2f2;--surface: #ffffff;--text: #1c1c1c;--text-muted: #5c5c5c;--text-muted-small: #757575;--border: #e3e3e3;--accent: #ed7d0e;--btn-primary: #d97310;--btn-primary-text: #ffffff;--success: #24a84e;--danger: #c94a4a;--danger-bg: rgba(201, 74, 74, .08)}@media(prefers-color-scheme:dark){:root{--bg: #121214;--surface: #1c1c21;--text: #f0f0f3;--text-muted: #b4b4be;--text-muted-small: #90909c;--border: #3d3d47;--accent: #ff9f4a;--btn-primary: #e8892a;--btn-primary-text: #ffffff;--success: #4ade80;--danger: #f87171;--danger-bg: rgba(248, 113, 113, .1)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center}.page-header{width:100%;padding:16px 24px;border-bottom:3px solid var(--accent);display:flex;align-items:center}.wordmark{font-size:20px;font-weight:700;letter-spacing:-.3px;-webkit-user-select:none;user-select:none}.wordmark-uni{color:var(--accent)}.wordmark-c{color:var(--success)}.wordmark-force{color:var(--text)}.card{width:100%;max-width:420px;margin:40px 16px 24px;background:var(--surface);border-radius:16px;border:1px solid var(--border);padding:32px 28px 28px;box-shadow:0 1px 4px #0000000f}.state-block{display:flex;flex-direction:column}.state-center{align-items:center;text-align:center}.state-icon{font-size:32px;margin-bottom:12px;line-height:1}.state-icon--success{color:var(--success);font-style:normal;font-size:28px;width:44px;height:44px;border-radius:50%;background:#24a84e1a;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.state-icon--error{color:var(--danger);font-style:normal;font-size:20px;width:44px;height:44px;border-radius:50%;background:var(--danger-bg);display:flex;align-items:center;justify-content:center;margin-bottom:14px}h1{font-size:22px;font-weight:600;color:var(--text);margin:0 0 8px;line-height:1.25}.muted{font-size:15px;color:var(--text-muted);margin:0 0 20px;line-height:1.55}.hint-small{font-size:13px;color:var(--text-muted-small);margin:10px 0 0;text-align:center}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}label{font-size:13px;font-weight:500;color:var(--text-muted)}input[type=password],input[type=text]{width:100%;height:50px;padding:0 14px;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;outline:none;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=password]:focus,input[type=text]:focus{border-color:var(--accent)}input:disabled{opacity:.6;cursor:not-allowed}.input-row{display:flex;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:10px;transition:border-color .15s;overflow:hidden}.input-row:focus-within{border-color:var(--accent)}.input-row input[type=password],.input-row input[type=text]{border:none;border-radius:0;flex:1;background:transparent}.input-row input:focus{border-color:transparent}.btn-eye{padding:0 14px;height:50px;background:none;border:none;font-size:13px;font-weight:500;color:var(--text-muted-small);cursor:pointer;white-space:nowrap;flex-shrink:0}.btn-eye:hover{color:var(--text-muted)}.error{font-size:14px;color:var(--danger);background:var(--danger-bg);border-radius:8px;padding:10px 13px;margin:0 0 14px;line-height:1.45}.btn-primary{display:block;width:100%;height:52px;margin-top:6px;padding:0 20px;background:var(--btn-primary);color:var(--btn-primary-text);border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;line-height:52px;transition:opacity .15s}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.45;cursor:not-allowed}a.btn-primary{display:flex;align-items:center;justify-content:center;line-height:normal}.spinner{width:38px;height:38px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite;margin-bottom:14px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:460px){.card{margin:24px 0 0;border-radius:16px 16px 0 0;border-left:none;border-right:none;border-bottom:none;min-height:calc(100vh - 60px);padding:28px 20px 32px}}
