/* SATRIA identity; the institutional logo remains unchanged. */
.nav-menu.nav-menu-administration { grid-template-columns:repeat(3,minmax(0,1fr)); width:600px; max-width:calc(100vw - 36px); left:auto; right:0; gap:8px; padding:14px; }
.nav-menu-section { min-width:0; }
.nav-menu-section + .nav-menu-section { border-left:1px solid #d7e5ec; padding-left:6px; }
.nav-menu-section h3 { margin:3px 10px 10px; color:#607482; font-size:12px; line-height:1.5; font-weight:600; }
.nav-menu-administration a { white-space:normal; overflow-wrap:anywhere; }
@media (min-width:821px) and (max-width:1180px) {
    .main-nav { position:relative; }
    .nav-group:has(.nav-menu-administration) { position:static; }
    .nav-menu.nav-menu-administration { left:0; right:auto; max-width:100%; }
}
@media(max-width:820px) {
    .nav-menu.nav-menu-administration { width:100%; max-width:100%; grid-template-columns:1fr; }
    .nav-menu-section + .nav-menu-section { border-left:0; border-top:1px solid #d7e5ec; padding-left:0; padding-top:6px; }
}
.topbar { grid-template-columns: minmax(330px, 360px) minmax(0, 1fr) auto; }
.topbar .brand-block { height: auto; min-height: 48px; min-width: 0; }
.brand-block .brand-mark { flex: 0 0 84px; }
.brand-text.satria-brand { min-width: 0; gap: 3px; }
.satria-heading { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.satria-heading strong { font-size: 23px; line-height: 1; font-weight: 800; color: #146d79; letter-spacing: 0; }
.satria-heading small { padding-left: 10px; border-left: 2px solid #e2b64e; color: #526677; font-size: 10px; font-weight: 700; line-height: 1.25; }
.brand-text.satria-brand > span { margin: 0; font-size: 11px; line-height: 1.35; color: #526677; text-wrap: pretty; }
.login-copy h1 { margin-bottom: 4px; }
.login-copy .satria-login-subtitle { margin-top: 0; margin-bottom: 20px; font-size: 19px; line-height: 1.4; font-weight: 600; max-width: 440px; color: #fff; }
.login-copy .eyebrow { font-size: 12px; font-weight: 600; color: #fff; }
.login-copy .satria-login-tagline { margin: 0 0 10px; font-size: 18px; font-weight: 600; line-height: 1.45; color: #fff; }
.login-copy .satria-login-description { font-size: 15px; line-height: 1.6; color: #fff; }
.login-copy .login-summary { margin-top: 20px; padding: 14px 20px 14px 36px; font-size: 14px; line-height: 1.7; color: #fff; }
@media (max-width: 980px) {
    /* Allow access to both stacked panels on short or narrow screens. */
    body:has(.secure-login) { overflow: auto; }
    body:has(.secure-login) .container { align-items: flex-start; }
}
@media (max-width: 1180px) {
    .topbar { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
    .satria-heading { gap: 4px 8px; }
    .satria-heading strong { font-size: 21px; }
    .satria-heading small { padding-left: 0; border-left: 0; }
    .brand-text.satria-brand > span { font-size: 10px; }
    .login-copy .satria-login-subtitle { font-size: 17px; }
}

.login-card .login-register-link { display: block; margin: 0; text-align: center; font-size: 14px; line-height: 1.5; }
.login-card .login-register-link a { display: inline-block; padding: 6px 0; color: #155b83; text-decoration: underline; text-underline-offset: 3px; }

.login-card .login-account-links { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; margin-top: 12px; }
.login-card .login-account-links .login-register-link { text-align: left; font-size: 12px; }
.login-card .login-account-links a { padding: 2px 0; }
