:root { --tblr-primary:#bf2332; }
body { background:#f9fafb url('/images/bg-main3-white.jpg') center top/cover fixed; }
.navbar-vertical { background:#172332; color:#f8fafc; border-right:1px solid #334155; }
.navbar-vertical .container-fluid { align-items:stretch; }
.navbar-vertical .navbar-brand { padding:24px 12px 0; justify-content:center; width:100%; }
.navbar-vertical .navbar-brand img { width:100%; max-width:220px; height:auto; }
.navbar-vertical .nav { width:100%; gap:6px; padding:0 12px; }
.navbar-vertical .nav-link { display:flex; align-items:center; gap:12px; color:#fff; padding:12px 14px; border:1px solid transparent; border-radius:4px; font-weight:500; font-size:16px; line-height:1.5; }
.navbar-vertical .nav-link:hover { color:#ff7584; background:#222f40; }
.navbar-vertical .nav-link.active { color:#fff; background:#392934; border-color:#75404b; box-shadow:inset 3px 0 #e73849; }
.navbar-vertical .sidebar-icon { flex:0 0 24px; }
.navbar-vertical .admin-nav summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; }
.navbar-vertical .admin-nav summary::-webkit-details-marker { display:none; }
.navbar-vertical .admin-chevron { margin-left:auto; font-size:24px; line-height:1; transition:transform .15s ease; }
.navbar-vertical .admin-nav[open] .admin-chevron { transform:rotate(90deg); }
.navbar-vertical .admin-nav[open] summary { color:#fff; background:#243449; }
.navbar-vertical .admin-nav[open] summary:hover { color:#ff7584; background:#222f40; }
.navbar-vertical .admin-nav-links { margin:6px 0 6px 18px; padding-left:8px; border-left:1px solid #64748b; }
.navbar-vertical .nav-link:focus-visible,.navbar-vertical .btn:focus-visible,.navbar-vertical .navbar-brand:focus-visible { outline:3px solid #f0bd78; outline-offset:3px; }
.navbar-vertical .account { margin:24px 12px 0; padding:20px 16px; border-top:1px solid #475569; color:#e2e8f0; }
.navbar-vertical .account .btn { color:#fff; border-color:#94a3b8; background:transparent; width:100%; }
.navbar-vertical .account .btn:hover { color:#172332; background:#f8fafc; border-color:#f8fafc; }
.brand-caption { color:#fff; font:800 25px Georgia,serif; text-align:center; text-transform:uppercase; letter-spacing:-.5px; padding:4px 8px 28px; text-shadow:-2px 0 #151515,0 -2px #151515,2px 0 #151515,0 2px #151515,-3px 3px #151515; }
.account { padding:24px 20px; color:#c8cdd4; overflow-wrap:anywhere; }
.card { background:rgba(255,255,255,.97); margin-bottom:24px; }
.btn-primary { background:#bf2332; border-color:#bf2332; }
.btn-primary:hover { background:#9e1b28; border-color:#9e1b28; }
.page-title { font-family:Georgia,serif; font-size:32px; }
.field-validation-error,.validation-summary-errors { color:#a51c30; }
.login-card { max-width:440px; margin:6vh auto; }
.password-field { position:relative; }
.password-field .form-control { padding-right:3rem; }
.password-toggle { position:absolute; top:0; right:0; bottom:0; width:2.75rem; display:flex; align-items:center; justify-content:center; border:0; border-radius:0 4px 4px 0; background:transparent; color:var(--tblr-body-color); cursor:pointer; }
.password-toggle:hover { background:rgba(128,128,128,.15); }
.password-toggle:focus-visible { outline:2px solid var(--tblr-primary); outline-offset:-3px; }
.password-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.password-field input::-ms-reveal { display:none; }
.table td { vertical-align:middle; }
.notes { white-space:pre-wrap; overflow-wrap:anywhere; max-width:400px; }
@media(max-width:991px){ .navbar-vertical .container-fluid { display:block; } .navbar-vertical { position:static; } .account {padding:12px 20px;} }

.account-toolbar { display:flex; justify-content:flex-end; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
.account-toolbar form { margin:0; }
.account-toolbar .btn { gap:8px; background:#fff; color:#25364c; border:1px solid #dce1e7; box-shadow:0 1px 2px #0000000d; }
.account-toolbar .btn:hover { background:#edf1f5; border-color:#94a3b8; }
.welcome-message { margin-right:8px; overflow-wrap:anywhere; }
.toolbar-icon { width:20px; height:20px; fill:currentColor; }
.toolbar-icon.outline { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.theme-sun { display:none; }
html[data-bs-theme="dark"] { --tblr-link-color:#ff9ca8; --tblr-link-color-rgb:255,156,168; --tblr-link-hover-color:#ffc2ca; --tblr-link-hover-color-rgb:255,194,202; }
html[data-bs-theme="dark"] .theme-sun { display:block; }
html[data-bs-theme="dark"] .theme-moon { display:none; }
html[data-bs-theme="dark"] body { background:#101827; color:#edf2f7; }
html[data-bs-theme="dark"] .card { background:#1e293b; border-color:#475569; color:#edf2f7; }
html[data-bs-theme="dark"] .account-toolbar .btn { background:#1e293b; border-color:#64748b; color:#f8fafc; }
html[data-bs-theme="dark"] .account-toolbar .btn:hover { background:#334155; }
html[data-bs-theme="dark"] .field-validation-error,html[data-bs-theme="dark"] .validation-summary-errors { color:#ff9ca8; }
html[data-bs-theme="dark"] .text-success { color:#74dc9a !important; }
html[data-bs-theme="dark"] .text-danger { color:#ff9ca8 !important; }
@media(max-width:575px){ .account-toolbar { justify-content:flex-start; } .welcome-message { flex-basis:100%; } }
