:root{--brand: #5c8dcf;--brand-strong: #4d80c6;--brand-soft: rgba(92, 141, 207, .12);--bg: #eef0f4;--card: #ffffff;--txt: #2f4165;--muted: #6b7794;--line: #d9dee8;--field: #eef1f9;--ok: #15803d;--ok-bg: #dcfce7;--warn: #b45309;--warn-bg: #fef3c7;--danger: #b91c1c;--danger-bg:#fee2e2;--radius: 16px;--radius-s: 12px;--tap: 48px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--txt);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body{min-height:100vh;min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}input,select,textarea{font-size:16px}a{color:var(--brand);text-decoration:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.chip{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 8px;border-radius:999px}.chip--ok{background:var(--ok-bg);color:var(--ok)}.chip--warn{background:var(--warn-bg);color:var(--warn)}.chip--danger{background:var(--danger-bg);color:var(--danger)}.btn{min-height:var(--tap);padding:0 20px;border-radius:var(--radius-s);background:var(--brand);color:#fff;font-weight:650;touch-action:manipulation}.btn:disabled{opacity:.5}.btn--ghost{background:transparent;color:var(--brand)}.page{padding:16px}.page__title{margin:0 0 4px;font-size:22px;letter-spacing:-.02em}.page__sub{margin:0 0 20px;color:var(--muted);font-size:13px}.empty{text-align:center;color:var(--muted);padding:48px 24px}.auth{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:24px calc(16px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(16px + var(--safe-left))}.auth__card{width:100%;max-width:470px;background:var(--card);border-radius:20px;box-shadow:0 2px 14px #2f41651a;padding:28px 24px}.auth__head{text-align:center;margin-bottom:26px}.auth__logo{width:88px;height:88px;object-fit:contain}.auth__title{margin:12px 0 0;font-size:30px;font-weight:700;letter-spacing:-.01em}.auth__sub{margin:8px 0 0;color:var(--muted);font-size:14px}.auth__form{display:flex;flex-direction:column;gap:20px}.field{display:block}.field__label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.field__box{display:flex;align-items:center;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--field);overflow:hidden}.field__box:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.field__icon{display:grid;place-items:center;width:42px;align-self:stretch;color:var(--muted);border-right:1px solid var(--line);background:#2f41650a}.field__input{flex:1;min-width:0;align-self:stretch;padding:0 12px;border:0;background:transparent}.field__input:focus{outline:none}.field__toggle{display:grid;place-items:center;width:var(--tap);align-self:stretch;color:var(--muted)}.check{display:flex;align-items:center;gap:10px;min-height:var(--tap);color:var(--muted);font-size:14px}.check__box{width:20px;height:20px;accent-color:var(--brand)}.auth__error{margin:0;color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-s);padding:10px 12px;font-size:14px}.auth__note{margin:0;color:var(--ok);background:var(--ok-bg);border-radius:var(--radius-s);padding:10px 12px;font-size:14px}.auth__foot{text-align:center;color:var(--muted);font-size:14px}.auth__foot a{font-weight:600}
