/* Shared admin and sign-in theme. Public verification is intentionally separate. */
.workspace, .login-page { --mgsh-primary:#087f72; --mgsh-primary-dark:#123d39; --mgsh-primary-light:#09665e; --mgsh-accent:#b7e8cb; --mgsh-border:#e2e9e6; --mgsh-surface:#f3f6f4; --mgsh-ink:#18332f; --mgsh-muted:#6b7f79; --bs-primary-rgb:8,127,114; --bs-link-color:#087f72; --bs-link-hover-color:#065b52; font-family:'Segoe UI',sans-serif; }
.workspace { --lte-sidebar-width:254px; font-size:14px; }
.workspace .app-sidebar { background:#102f2c !important; box-shadow:none !important; }
.workspace .sidebar-brand { height:96px; border:0; background:transparent; }
.workspace .brand-link { gap:4px; }
.workspace .brand-text { font-size:23px; letter-spacing:2px; }
.brand-caption { display:block; font-size:9px; letter-spacing:2px; color:#9bbab3; margin-top:5px; }
.identity-brand-icon { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; border-radius:14px; background:#d6f5e5; color:#146d59; font-size:28px; }
.workspace .brand-link .identity-brand-icon { width:44px; height:44px; margin-right:10px; font-size:26px; }
.workspace .brand-caption { font-size:8px; letter-spacing:1.2px; }
.workspace .app-sidebar .sidebar-menu .nav-link { width:auto; }
.workspace .app-sidebar .sidebar-menu .nav-link.active { background:#d6f5e5; color:#123d39; box-shadow:none; }
.sidebar-caption { padding:22px 24px 12px; font-size:10px; letter-spacing:2px; color:#9ab5ae; }
.workspace .sidebar-menu .nav-link { padding:14px 16px; margin:5px 12px; border-radius:10px; color:#b9cfca; }
.workspace .sidebar-menu .nav-link.active { background:#d6f5e5; color:#123d39; box-shadow:none; font-weight:700; }
.workspace .sidebar-menu .nav-link.active .nav-icon { color:#147b67; }
.workspace .sidebar-menu .nav-link:hover { background:#244b44; color:#fff; }
.sidebar-note { margin:54px 20px 24px; border:1px solid #34574e; padding:20px 16px; border-radius:14px; color:#b3cdc5; font-size:12px; }
.sidebar-note i { display:block; color:#b7e8cb; font-size:23px; margin-bottom:18px; }
.sidebar-note strong { display:block; color:#e5f2ed; margin-bottom:7px; }
.sidebar-note span { line-height:1.7; display:block; }
.workspace .app-header { min-height:72px; box-shadow:none; border-color:#e2e9e6; }
.workspace .app-header .navbar-institution-name { font-size:13px; font-weight:500; color:#6b7f79; }
.workspace-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#2fa786; margin-right:9px; }
.workspace .app-main { background:#f3f6f4; }
.workspace .app-content-header { padding:30px 24px 24px; }
.workspace .app-content { padding:0 24px 26px; }
.workspace .app-content-header h3 { font-size:30px; font-weight:650; letter-spacing:-1px; }
.eyebrow { color:#6b837b; font-size:10px; letter-spacing:2px; font-weight:700; margin-bottom:9px; }
.workspace .breadcrumb { font-size:12px; margin-top:20px; }
.workspace .card { border-color:#e0e8e3; border-radius:16px; box-shadow:0 3px 7px #163b2710; overflow:hidden; }
.workspace .card-header { padding:20px 24px; border-bottom:1px solid #edf1ee; }
.workspace .card-header h5 { font-size:15px; letter-spacing:-.15px; }
.workspace .card-body { padding:24px; }
.workspace .card-footer { padding:15px 24px; background:#fcfdfc; }
.workspace .form-label, .login-page .form-label { text-transform:none; font-size:12px; letter-spacing:0; font-weight:600; color:#405d54; }
.workspace .form-control, .workspace .form-select, .login-page .form-control { border:1px solid #dce5df; border-radius:9px; min-height:44px; background:#fcfdfc; font-size:14px; }
.workspace .form-control:focus, .workspace .form-select:focus, .login-page .form-control:focus { border-color:#389d88; box-shadow:0 0 0 3px #16866c18; }
.workspace .btn, .login-page .btn { border-radius:9px; font-size:13px; font-weight:600; padding:11px 17px; box-shadow:none; }
.workspace .btn-mgsh, .login-page .btn-mgsh { background:#087f72; border-color:#087f72; color:#fff; }
.workspace .btn-mgsh:hover, .login-page .btn-mgsh:hover { background:#065e55; border-color:#065e55; }
.workspace .btn-outline-primary { color:#087f72; border-color:#b7d7cd; }
.workspace .btn-outline-primary:hover { background:#087f72; color:white; }
.workspace .btn-sm { padding:7px 11px; font-size:12px; }
.workspace .table thead th { background:#f8faf8; color:#7a8d83; font-size:10px; letter-spacing:1px; border-bottom:1px solid #e6ede8; padding:15px 20px; }
.workspace .table tbody td { padding:17px 20px; font-size:13px; border-color:#eef2ef; }
.workspace .badge { font-weight:600; font-size:10px; padding:7px 10px; border-radius:6px; letter-spacing:.3px; }
.workspace .text-bg-success { background:#e0f4e9 !important; color:#24714e !important; }
.workspace .text-bg-danger { background:#fce8e5 !important; color:#a34c40 !important; }
.workspace .text-bg-warning { background:#fbf0d7 !important; color:#8f6a24 !important; }
.workspace .text-bg-info { background:#e4f1f6 !important; color:#39738a !important; }
.workspace .app-footer { background:#f3f6f4; font-size:11px; padding:18px 36px; color:#7a8d83; }
.workspace .stat-card { padding:22px; border-radius:14px; border-color:#e0e8e3; box-shadow:none; }
.workspace .stat-card::before { display:none; }
.workspace .stat-card-icon { float:right; background:#eef5f0; color:#578373; border-radius:12px; width:40px; height:40px; display:grid; place-items:center; font-size:17px; }
.workspace .stat-card-value { font-size:36px; font-weight:600; letter-spacing:-1.5px; color:#183d32; }
.workspace .stat-card-label { color:#71877c; font-size:10px; letter-spacing:1px; margin-top:10px; }
.workspace .stat-card-link { font-size:11px; color:#348473; margin-top:19px; }
.overview-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:32px 36px; background:#e3eee7; border:1px solid #d4e2d9; border-radius:18px; margin-bottom:24px; overflow:hidden; }
.overview-hero h2 { font-size:30px; letter-spacing:-1px; font-weight:600; margin-bottom:12px; }
.overview-hero p { color:#647c70; max-width:470px; line-height:1.7; margin-bottom:20px; }
.hero-mark { width:122px; height:122px; border-radius:30px; display:grid; place-items:center; background:#f7fcf8; border:1px solid #cadfd1; color:#36836c; font-size:52px; transform:rotate(-8deg); box-shadow:12px 12px 0 #cddfd4; flex-shrink:0; margin-right:20px; }
.login-page { background:#f6f8f5 !important; }
.login-layout { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; padding:24px; gap:24px; }
.login-story { border-radius:22px; padding:44px 48px; background:#123c34; display:flex; flex-direction:column; justify-content:space-between; color:#d2e6dd; position:relative; overflow:hidden; }
.login-brand { display:flex; align-items:center; gap:14px; position:relative; z-index:1; }
.login-brand strong { color:#fff; font-size:23px; letter-spacing:2px; }
.login-brand small { display:block; font-size:9px; letter-spacing:2px; margin-top:4px; }
.login-story h1 { font-size:clamp(36px,4vw,58px); line-height:1.1; font-weight:500; letter-spacing:-2px; color:#f4fcf6; max-width:490px; }
.login-story h1 em { font-style:normal; color:#b7e8cb; }
.login-story p { line-height:1.8; font-size:14px; max-width:360px; color:#b9d2c7; }
.login-illustration { padding:28px 0; }
.sample-card { max-width:310px; padding:24px; border:1px solid #618172; border-radius:16px; background:#234b40; transform:rotate(-6deg); box-shadow:16px 16px 0 #0e3029; }
.sample-card-top { display:flex; justify-content:space-between; margin-bottom:24px; font-size:10px; letter-spacing:2px; color:#b7e8cb; }
.sample-card-lines { display:flex; align-items:center; gap:18px; }
.sample-card-lines i { font-size:42px; color:#b7e8cb; }
.sample-card-lines span { display:block; width:135px; height:7px; margin:10px 0; border-radius:6px; background:#668b7a; }
.sample-card-lines span:last-child { width:85px; }
.login-story-footer { font-size:11px; color:#b2cdc0; margin-top:22px; }
.login-panel { display:flex; align-items:center; justify-content:center; padding:40px; }
.login-form-wrap { width:100%; max-width:370px; }
.login-form-wrap h2 { font-size:35px; font-weight:650; letter-spacing:-1px; margin:12px 0; }
.login-intro { font-size:14px; color:#7c8e83; line-height:1.7; margin-bottom:32px; }
.login-form-wrap .input-group-text { background:#fcfdfc; border-color:#dce5df; color:#83988a; border-radius:9px 0 0 9px; }
.login-form-wrap .form-control { min-height:50px; }
.login-form-wrap .input-group .form-control { border-left:0; border-radius:0 9px 9px 0; }
.login-caption { font-size:11px; color:#788e81; text-align:center; margin-top:26px; line-height:1.7; }
.login-form-wrap .btn { min-height:50px; margin-top:10px; }
:is(.workspace,.login-page) :focus-visible { outline:3px solid #36ab8e; outline-offset:3px; }
@media(max-width:991px) { .workspace .app-content-header { padding:24px 12px 18px; } .workspace .app-content { padding:0 12px 20px; } .sidebar-note { margin-top:30px; } .login-story { padding:30px; } .login-panel { padding:24px; } }
@media(max-width:767px) { .login-layout { display:block; padding:0; } .login-story { border-radius:0 0 24px 24px; padding:26px; } .login-story h1 { font-size:32px; margin:24px 0 12px; } .login-story p,.login-illustration,.login-story-footer { display:none; } .login-panel { padding:36px 26px; } .login-form-wrap { max-width:440px; } .overview-hero { padding:24px; } .overview-hero h2 { font-size:25px; } .hero-mark { display:none; } .workspace .card-body { padding:18px; } .workspace .app-content-header h3 { font-size:26px; } .workspace .table tbody td { padding:14px; } .workspace .breadcrumb { margin-top:10px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; animation:none !important; } }
@media(max-width:991.98px) {
    .workspace .mgsh-sidebar-visible::before { display:none; }
    .workspace:has(.mgsh-sidebar-visible) .app-main::before { content:''; position:fixed; inset:0; background:rgb(10 30 26 / 40%); z-index:1037; }
    .workspace .app-sidebar.mgsh-sidebar-visible { z-index:1040; }
}
