/* Scope compatibility repairs to the affected controls. */
#ast-scroll-top {
    box-sizing: border-box;
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    font-size: 20px !important;
    line-height: 48px !important;
    right: max(20px, env(safe-area-inset-right)) !important;
    bottom: max(20px, env(safe-area-inset-bottom)) !important;
    border-radius: 8px !important;
    background: #28751d !important;
    color: #fff !important;
    box-shadow: 0 3px 12px rgb(0 0 0 / 20%);
    text-align: center;
}
#ast-scroll-top .ast-icon.icon-arrow svg {
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    vertical-align: middle;
}
#ast-scroll-top:focus-visible {
    outline: 3px solid #172f10;
    outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
    #ast-scroll-top { transition: none !important; }
}
.thrivus-login-card {
    width: min(100%, 480px);
    margin: 40px auto;
    padding: 32px;
    border: 1px solid #dfe7dc;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgb(24 55 18 / 7%);
    color: #253322;
}
.thrivus-login-card h1 { font-size: 32px; margin: 0 0 16px; }
.thrivus-login-card p { margin-bottom: 20px; }
.thrivus-login-card label { display: block; margin-bottom: 8px; font-weight: 600; }
.thrivus-login-card input[type="text"],
.thrivus-login-card input[type="password"] { width: 100%; min-height: 48px; font-size: 16px; }
.thrivus-login-card input[type="submit"] { width: 100%; min-height: 48px; background: #28751d; color: #fff; border-radius: 6px; }
.thrivus-login-card a { color: #23651a; text-decoration: underline; }
.thrivus-login-card input:focus-visible { outline: 2px solid #28751d; outline-offset: 2px; }
@media (max-width: 544px) {
    .thrivus-login-card { padding: 24px; margin: 24px auto; }
    .thrivus-login-card h1 { font-size: 28px; }
}

/* Document actions remain visible on touch devices and keyboard focus. */
.drivehub-file-list a[title="Download"] { opacity: 1 !important; min-width: 44px; min-height: 44px; }
.drivehub-file-list tbody tr:focus-visible { outline: 3px solid var(--ast-global-color-0, #256b24); outline-offset: -3px; }
@media (max-width: 600px) {
  .drivehub-file-list td:first-child .fmg-truncate { white-space: normal; overflow-wrap: anywhere; }
  .drivehub-file-list th, .drivehub-file-list td { padding: 8px !important; }
}
