/* Standalone FireNav pages opt in explicitly; map content and legal copy keep
   their own layout. Shared geometry also covers dynamically rendered dialogs. */
html[data-firenav-page] { --fn-page-line:#41556e; --fn-page-focus:#80d6e9; }
html[data-firenav-page="light"] { --fn-page-line:#bdcad9; --fn-page-focus:#096878; }
html[data-firenav-page] body { font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
html[data-firenav-page] :is(button,.btn,.button,.back-link,.nav-link) { border-radius:8px; min-height:44px; line-height:1.3; }
html[data-firenav-page] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select) { min-height:44px; border-radius:8px; box-sizing:border-box; max-width:100%; }
html[data-firenav-page] textarea { border-radius:8px; box-sizing:border-box; max-width:100%; }
html[data-firenav-page] :is(button,a,input,textarea,select,summary):focus-visible { outline:2px solid var(--fn-page-focus); outline-offset:2px; }
html[data-firenav-page] :is(.card,.stat-card,.modal-content,.panel) { border-radius:10px; box-shadow:0 2px 8px #0000000a; min-width:0; }
html[data-firenav-page] :is(.card-body,.modal-body,.modal-header,.modal-footer) { padding:12px; }
html[data-firenav-page] :is(.stat-card,.page-header,.admin-topbar) { padding:12px 16px; }
html[data-firenav-page] :is(.card-title,.page-title,.modal-title) { overflow-wrap:anywhere; }
html[data-firenav-page] .stat-card { min-height:0; }
html[data-firenav-page] :is(.sidebar,.sidebar-header) { background:#0e1928; color:#e6eef8; }
html[data-firenav-page] .sidebar .nav-link { color:#b9c7d8; }
html[data-firenav-page] .sidebar .nav-link.active { background:#27435e; color:#fff; }
html[data-firenav-page="dark"] body { background:#0c1828; color:#f1f5fa; }
html[data-firenav-page="light"] body { background:#edf2f7; color:#15283c; }
html[data-firenav-page="dark"] :is(.card,.panel,.modal-content) { background:#19293d; border-color:#41556e; }
html[data-firenav-page="light"] :is(.card,.panel,.modal-content) { background:#fff; border-color:#bdcad9; }
html[data-firenav-page] :is(.btn-primary,button.primary) { background:#275b85; color:#fff; border-color:#275b85; box-shadow:none; }
/* Admin's utility cards use the same compact geometry without altering badges. */
html[data-firenav-page] :is(.rounded-xl,.rounded-2xl) { border-radius:10px; }
html[data-firenav-page] :is(.shadow-xl,.shadow-lg) { box-shadow:0 2px 8px #00000014; }
@media(max-width:600px) {
 html[data-firenav-page] :is(.page-header,.admin-topbar,.modal-header,.modal-footer) { flex-wrap:wrap; gap:8px; }
 html[data-firenav-page] :is(.card-body,.modal-body) { padding:10px; }
 html[data-firenav-page] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) { font-size:16px; }
}
@media print {
 html[data-firenav-page] body { background:#fff; color:#000; }
 html[data-firenav-page] :is(.card,.panel) { box-shadow:none; }
}
html[data-firenav-page] body,html[data-firenav-page] :is(.card,.panel,.modal-content) { box-sizing:border-box; }
