.auth-shell{min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom))}.auth-card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:28px 24px 24px}.auth-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;margin-bottom:20px}.auth-brand .dot{width:26px;height:26px;border-radius:8px;background:var(--ko-blue);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:800}.auth-card h1{font-size:21px;margin:0 0 6px}.auth-card p.lead{color:var(--ink-2);line-height:1.5;font-size:14px;margin:0 0 20px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:20px;border-radius:var(--radius-sm);background:var(--ground);border:1px solid var(--line)}.auth-tabs button{border:0;border-radius:7px;background:transparent;color:var(--ink-2);padding:9px 8px;font-size:13px;font-weight:700}.auth-tabs button.active{background:var(--card);color:var(--ink);box-shadow:0 1px 4px #1b243014}.field{display:block;margin-bottom:16px}.field label{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px}.field input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ground);color:var(--ink)}.field input:focus{border-color:var(--ko-blue);background:var(--card)}.btn{width:100%;border:0;border-radius:var(--radius);padding:13px 0;font-size:15px;font-weight:700;background:var(--ko-blue);color:#fff}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{background:var(--ko-blue-soft);color:var(--ko-blue);margin-top:10px}.auth-msg{font-size:13px;border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:16px;line-height:1.45}.auth-msg.error{background:var(--bad-soft);color:var(--bad)}.auth-msg.info{background:var(--ko-blue-soft);color:var(--ko-blue)}.auth-hint{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin:18px 0 0}.auth-center{min-height:100%;display:grid;place-items:center;color:var(--ink-2);font-size:14px;padding:24px}:root{--ko-blue: #0760ff;--ko-blue-soft: #e8f0ff;--ink: #1a1a2e;--ink-2: #5a6675;--ground: #f5f7fa;--card: #ffffff;--line: #e5e7eb;--ok: #1f9d55;--ok-soft: #e4f5ea;--warn: #b7791f;--warn-soft: #fcf0db;--bad: #d5394a;--bad-soft: #fbe7ea;--accent-orange: #e8912d;--accent-orange-soft: #fdf3e5;--shadow: 0 3px 9px rgba(0, 0, 0, .09), 0 3px 7px rgba(0, 0, 0, .05);--radius-sm: 10px;--radius: 14px;--radius-lg: 22px;--tabbar-h: 56px}@media (prefers-color-scheme: dark){:root{--ko-blue: #4588ff;--ko-blue-soft: #14273f;--ink: #e8e8ed;--ink-2: #93a0b1;--ground: #121218;--card: #1e1e2a;--line: #2a3341;--ok: #3fbf77;--ok-soft: #14301f;--warn: #d9a441;--warn-soft: #33270f;--bad: #ff6668;--bad-soft: #3a1a20;--accent-orange: #e8912d;--accent-orange-soft: #3a2a12;--shadow: 0 1px 4px rgba(0, 0, 0, .3)}}:root[data-theme=dark]{--ko-blue: #4588ff;--ko-blue-soft: #14273f;--ink: #e8e8ed;--ink-2: #93a0b1;--ground: #121218;--card: #1e1e2a;--line: #2a3341;--ok: #3fbf77;--ok-soft: #14301f;--warn: #d9a441;--warn-soft: #33270f;--bad: #ff6668;--bad-soft: #3a1a20;--accent-orange: #e8912d;--accent-orange-soft: #3a2a12;--shadow: 0 1px 4px rgba(0, 0, 0, .3)}:root[data-theme=light]{--ko-blue: #0760ff;--ko-blue-soft: #e8f0ff;--ink: #1a1a2e;--ink-2: #5a6675;--ground: #f5f7fa;--card: #ffffff;--line: #e5e7eb;--ok: #1f9d55;--ok-soft: #e4f5ea;--warn: #b7791f;--warn-soft: #fcf0db;--bad: #d5394a;--bad-soft: #fbe7ea;--accent-orange: #e8912d;--accent-orange-soft: #fdf3e5;--shadow: 0 3px 9px rgba(0, 0, 0, .09), 0 3px 7px rgba(0, 0, 0, .05)}*{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--ground);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button:not(:disabled):active,.tabbar-item:active,.calbtn:active{opacity:.6}input,textarea{font:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--ko-blue);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
