/* Shared action dimensions across account, family and classroom screens. */
:root{--cl-action-height:52px;--cl-action-radius:10px;--cl-gap:12px;--cl-green:#315c47;--cl-border:#c3cdbf}
form button.primary,a.contact-link,.button,.actions>button,.billing-panel>button,.result-buttons>button,nav>button,.portal-home,#add,#back,#logout,#refresh{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--cl-action-height);padding:12px 18px;border:1px solid var(--cl-border);border-radius:var(--cl-action-radius);font:inherit;font-size:16px;font-weight:750;line-height:1.4;text-align:center;text-decoration:none;box-shadow:none;max-width:100%;white-space:normal;overflow-wrap:anywhere
}
form button.primary,a.contact-link,.button.primary{background:var(--cl-green);border-color:var(--cl-green);color:#fff}
form button.primary:hover,a.contact-link:hover,.button.primary:hover{background:#254735;border-color:#254735;color:#fff}
.actions,.dialog-buttons,.result-buttons{gap:var(--cl-gap)}
.dialog-buttons>.button,.result-buttons>.button{flex:1 1 180px}
.setting-control{box-shadow:none;border-radius:var(--cl-action-radius)}
#loginForm>button.primary,#login a.contact-link{width:100%;min-height:56px;font-size:18px;padding:14px 18px;font-weight:750;line-height:1.4;border-radius:var(--cl-action-radius)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c4882f;outline-offset:3px}
html[data-theme=night] :is(.actions>button,.result-buttons>button,nav>button,.portal-home,#add,#back,#logout){border-color:#7085a2;color:#f5f6ff}
html[data-theme=night] :is(form button.primary,.button.primary,#add.primary){background:#a8ebcf;border-color:#a8ebcf;color:#092b23}
@media(max-width:560px){.dialog-buttons,.result-buttons{display:flex;flex-wrap:wrap}.dialog-buttons>.button,.result-buttons>.button{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){button,a{transition:none!important}}
