/* Shared password visibility control: login and dynamically opened forms. */
body .mqr-password-field{position:relative;display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
body .mqr-password-field>input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding-right:48px!important;margin:0;display:block}
body .mqr-password-field>.mqr-password-eye{position:absolute;right:3px;top:0;bottom:0;transform:none!important;display:flex;align-items:center;justify-content:center;width:40px!important;height:40px!important;min-width:40px;min-height:40px;margin:auto 0!important;padding:9px!important;border:0!important;border-radius:4px;background:transparent!important;box-shadow:none!important;color:inherit;line-height:1;cursor:pointer;opacity:.7;transition:opacity .2s ease}
body .mqr-password-field>.mqr-password-eye:hover,body .mqr-password-field>.mqr-password-eye:focus-visible{opacity:1}
body .mqr-password-field>.mqr-password-eye:focus-visible{outline:2px solid currentColor;outline-offset:-4px}
body .mqr-password-eye svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
body .mqr-password-eye::before,body .mqr-password-eye::after{display:none!important}
body .mqr-password-field>input::-ms-reveal{display:none}
/* The historic totals must wrap, rather than force the mobile panel wider. */
body #historyCount.history-total{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;justify-content:stretch;gap:6px;min-width:0;max-width:100%;height:auto;min-height:0;padding:12px 14px;white-space:normal;overflow-wrap:anywhere}
body #historyCount.history-total>span{display:block;min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;font-size:9px!important;line-height:1.5;letter-spacing:.8px}
body #historyCount.history-total>strong{display:block;min-width:0;max-width:100%;margin:0;white-space:normal!important;overflow-wrap:anywhere;font-size:14px!important;line-height:1.5}
@media(max-width:600px){body .history-filters{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}body .history-filters>label{min-width:0;max-width:100%}body .history-filters select{min-width:0;max-width:100%;box-sizing:border-box}body #historyCount.history-total{grid-column:1/-1;width:100%;text-align:left;padding:10px 12px}}
/* Login: keep the school logo centered and settings in the upper-right corner. */
:root body.is-login-view .student-brand{position:relative;justify-content:center}
:root body.is-login-view .student-brand .student-header-tools{position:absolute;top:12px;right:12px;left:auto;bottom:auto;margin:0;z-index:1}
:root body.is-login-view .student-brand .student-settings-gear{width:34px;height:34px;min-height:34px;padding:7px}

/* Keep the complete administrator login, including credits, inside its border. */
:root body .login-view{height:auto;min-height:100dvh;overflow:auto;box-sizing:border-box}
:root body .login-panel{height:auto;min-height:0;flex-shrink:0;box-sizing:border-box;padding-bottom:20px}
:root body .login-panel .login-brand h1{margin-top:24px}
:root body .login-panel .login-form{margin-top:clamp(24px,5vh,48px)}
:root body .login-panel .login-partners{flex:0 0 auto;margin-top:20px;padding-top:12px}
:root body .login-development-credit,
:root body .student-development-credit{position:static;display:block;box-sizing:border-box;width:100%;max-width:100%;margin:12px 0 0;padding:0;text-align:center;font-size:10px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;white-space:normal;overflow-wrap:anywhere;color:#999;background:transparent}
:root[data-admin-theme="light"] body .login-development-credit,
:root[data-student-theme="light"] body .student-development-credit{color:#707070}
:root body .student-footer{flex-shrink:0;height:auto;min-height:0}

/* Student footer: logos above, development credit below on its own row. */
:root body .student-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;box-sizing:border-box;width:100%;min-width:0}
:root body .student-footer>.student-partners{flex:0 0 auto;width:100%;min-width:0;justify-content:center}
:root body .student-footer>.student-development-credit{flex:0 0 auto;width:100%;margin:12px 0 0;font-size:10px;line-height:1.5;text-align:center}

/* The shared button hover must not paint a separate tile over password fields. */
:root body .mqr-password-field>button.mqr-password-eye,
:root body .mqr-password-field>button.mqr-password-eye:is(:hover,:focus,:focus-visible,:active):not(:disabled):not([aria-disabled="true"]){
 background:transparent!important;background-image:none!important;
 box-shadow:none!important;border:0!important;filter:none!important;
 transform:none!important;color:inherit!important;
}
:root body .mqr-password-field>button.mqr-password-eye:focus-visible:not(:disabled):not([aria-disabled="true"]){
 outline:1px solid currentColor!important;outline-offset:-8px!important;
}
