:root{--color-text:#1d2433;--color-text-muted:#5b6676;--color-page:#f3f5f8;--color-surface:#fff;--color-border:#c5cdd8;--color-accent:#1f5fae;--color-accent-hover:#194f91;--color-error:#b3261e;--radius:10px;color:var(--color-text);background:var(--color-page);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4}*,:before,:after{box-sizing:border-box}body,h1,p{margin:0}button,input{font:inherit}.button{border:1px solid var(--color-accent);border-radius:var(--radius);color:#fff;background:var(--color-accent);cursor:pointer;min-height:48px;padding:12px 16px;font-weight:600}.button:disabled{opacity:.6;cursor:default}.button--secondary{color:var(--color-accent);background:var(--color-surface)}@media (hover:hover){.button:hover{background:var(--color-accent-hover)}.button--secondary:hover{background:var(--color-page)}}.update-prompt{border-radius:var(--radius);color:#fff;background:var(--color-text);align-items:center;gap:12px;max-width:480px;margin:0 auto;padding:12px 12px 12px 16px;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 4px 16px #00000040}.update-prompt__text{flex:1}.update-prompt__button{flex:none}.login{align-content:center;justify-items:center;gap:16px;max-width:400px;min-height:100dvh;margin:0 auto;padding:24px 16px;display:grid}.login__title{color:var(--color-accent);letter-spacing:.08em;margin-bottom:8px;font-size:1.5rem}.login__form{background:var(--color-surface);border-radius:16px;gap:16px;width:100%;padding:20px;display:grid;box-shadow:0 1px 4px #0000001f}.login__field{gap:6px;display:grid}.login__label{color:var(--color-text-muted);font-size:.875rem}.login__input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-height:48px;padding:10px 12px;font-size:1rem}.login__input:focus{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:-1px}.login__error{color:var(--color-error)}.profile{align-content:start;gap:16px;max-width:480px;margin:0 auto;padding:24px 16px;display:grid}.profile__title{color:var(--color-accent);letter-spacing:.08em;font-size:1.25rem}.profile__card{background:var(--color-surface);border-radius:16px;gap:4px;padding:20px;display:grid;box-shadow:0 1px 4px #0000001f}.profile__name{font-size:1.25rem;font-weight:600}.profile__role,.profile__login{color:var(--color-text-muted)}.profile__error{color:var(--color-error)}.profile__version{color:var(--color-text-muted);text-align:center;font-size:.75rem}
