/* Phase 241 — unified interior header, compact viewport and bottom-aligned footer. */
:root{--dj241-navy:#082b64;--dj241-red:#e50930}
html{min-height:100%;scrollbar-gutter:stable;overflow-x:hidden}
body.dj241-interior{min-height:100dvh!important;height:auto!important;display:flex!important;flex-direction:column!important;margin:0!important;overflow-x:clip!important;overflow-y:auto!important;background:#f2f6fc!important}
body.dj241-interior>.dj241-banner{flex:0 0 auto;order:-1;min-height:45px;display:flex;align-items:center;gap:10px;padding:5px clamp(12px,2vw,28px);background:linear-gradient(105deg,#062453,#0b4389);border-bottom:3px solid #e50930;color:#fff;font:600 12px/1.35 system-ui,sans-serif;box-shadow:0 2px 10px #0924491b}
.dj241-banner img{width:41px;height:35px;object-fit:contain;flex:none;background:#fff;border-radius:50%;padding:2px}
.dj241-banner .dj241-name{font-size:13px;font-weight:800;letter-spacing:.025em}
.dj241-banner .dj241-route{margin-left:auto;font-size:11px;opacity:.9;white-space:nowrap}
body.dj241-interior>.fret-mini-brand{display:none!important}
body.dj241-interior>main,body.dj241-interior>#main-content,body.dj241-interior>#main,body.dj241-interior>.rg{flex:1 0 auto;min-height:0;margin-top:7px!important;margin-bottom:5px!important}
body.dj241-interior>.dj241-footer,body.dj241-interior>footer.fret-footer,body.dj241-interior>footer:not(.admin216-footer){margin-top:auto!important;flex:0 0 auto;position:relative!important;bottom:auto!important;width:100%;min-height:39px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px 16px;padding:7px 12px!important;background:linear-gradient(105deg,#061d46,#0b397a)!important;border-top:3px solid #e50930!important;color:#fff!important;font:11px/1.35 system-ui,sans-serif!important;z-index:1}
body.dj241-interior>.dj241-footer a,body.dj241-interior>footer a{color:#fff!important;text-decoration:none}
body.dj241-interior .card,body.dj241-interior .panel,body.dj241-interior section.card{margin-bottom:7px!important}
body.dj241-interior .card h2,body.dj241-interior .panel h2{margin-top:0;margin-bottom:7px}
body.dj241-interior .kpis,body.dj241-interior .stats,body.dj241-interior .finance-grid{gap:7px!important}
body.dj241-interior .tw,body.dj241-interior .table-wrap{max-width:100%;overflow-x:auto!important;overflow-y:visible!important}
body.dj241-interior .tw table,body.dj241-interior .table-wrap table{font-size:12px}
body.dj241-interior th,body.dj241-interior td{padding:5px 7px}
body.dj241-interior input:not([type=checkbox]):not([type=radio]),body.dj241-interior select{min-height:34px}
body.dj241-interior .phase192-page-head{padding-top:6px!important;padding-bottom:6px!important;min-height:0!important}
body.dj241-interior .phase192-page-head h1{font-size:17px!important;margin:0!important}
/* Never use position:fixed for the footer: it must not cover inputs or rows. */
@media(max-width:720px){.dj241-banner .dj241-route{display:none}.dj241-banner .dj241-name{font-size:12px}body.dj241-interior>.dj241-footer,body.dj241-interior>footer.fret-footer{font-size:10px!important;padding:7px!important}body.dj241-interior>main{width:100%;min-width:0}}
@media print{body.dj241-interior{display:block!important}body.dj241-interior>.dj241-banner{display:none!important}body.dj241-interior>.dj241-footer{position:static!important}}
