@import url('/premium-tokens.css');
/* Shared presentation layer. Domain state, API contracts and permissions are unchanged. */
:root{font-family:var(--by-font);color:var(--by-text);background:var(--by-bg)}
body{background:var(--by-bg);color:var(--by-text)}
button,input,select,textarea{font-family:inherit;font-size:14px}
/* Minimum target size also covers inherited compact controls and dialog actions. */
button{min-width:44px;min-height:var(--by-control-height,44px)}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:var(--by-control-border);border-radius:var(--by-radius-field);min-height:var(--by-control-height)}
label{font-size:14px;line-height:1.5}
.primary{background:var(--by-primary);color:var(--by-on-primary)}
.primary:hover:not(:disabled){background:var(--by-primary-hover)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--by-focus);outline-offset:3px}
aside button:focus-visible,aside a:focus-visible,aside summary:focus-visible{outline-color:#93C5FD}
.muted{color:var(--by-text-muted)}
.login-card{color:var(--by-text)}
.login-card input{border-color:var(--by-control-border)}
.password-visibility{display:block;margin:8px 0 0 auto;min-height:44px;background:var(--by-primary-soft);color:var(--by-link);border:1px solid var(--by-control-border)}
.login-card .primary{min-height:48px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:0ms!important;transition-duration:0ms!important}}
