/* Mobile surface: thumb-friendly schedule companion. */
@media (max-width:767.98px){
  :root{--mobile-bar:62px;--mobile-nav:70px}html{scroll-padding-top:76px}body{background:#f2f6f7;font-size:14px;padding-bottom:calc(var(--mobile-nav) + env(safe-area-inset-bottom))}.app-shell{display:block;padding-top:var(--mobile-bar)}
  .desktop-sidebar,.desktop-topbar{display:none!important}.compact-appbar{position:fixed;inset:0 0 auto;height:var(--mobile-bar);z-index:1040;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;padding:0 12px;background:#0b5f69;color:#fff;box-shadow:0 4px 18px #092f3650}
  .appbar-menu,.appbar-add{width:40px;height:40px;border:0;border-radius:12px;display:grid;place-items:center;font-size:1.3rem}.appbar-menu{background:#ffffff18;color:#fff}.appbar-add{background:#fff;color:#0b5f69;text-decoration:none}.appbar-brand{display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;text-decoration:none;font-weight:800;min-width:0}.appbar-brand img{width:32px;height:32px;filter:drop-shadow(0 1px 2px #0003)}.appbar-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .content{padding:16px 12px 8px}.compact-page-title{margin:2px 2px 15px}.compact-page-title span{font-size:.65rem;color:#0f6873;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.compact-page-title h1{font-size:1.42rem;margin:2px 0 0;line-height:1.15}
  .mobile-bottom-nav{position:fixed;z-index:1040;inset:auto 0 0;height:calc(var(--mobile-nav) + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #dce5e8;box-shadow:0 -7px 22px #173e7814}.mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:transparent;text-decoration:none;color:#75858b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.66rem;font-weight:700}.mobile-bottom-nav i{font-size:1.25rem}.mobile-bottom-nav .active{color:#0b6570}.mobile-bottom-nav .active i{background:#dff1f2;border-radius:999px;padding:2px 15px}
  .device-drawer{position:fixed;z-index:1060;inset:0 auto 0 0;width:min(330px,88vw);background:#fff;transform:translateX(-105%);transition:transform .24s ease;box-shadow:12px 0 40px #122f3a40;padding:18px 16px;display:flex;flex-direction:column}.drawer-open{overflow:hidden}.drawer-open .device-drawer{transform:none}.device-drawer-backdrop{position:fixed;z-index:1050;inset:0;background:#092c3578;opacity:0;visibility:hidden;transition:.2s}.drawer-open .device-drawer-backdrop{opacity:1;visibility:visible}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid #e4ecee}.drawer-head small,.drawer-head strong{display:block}.drawer-head button{border:0;background:#edf3f4;border-radius:11px;width:40px;height:40px}.device-drawer nav{display:grid;gap:3px;margin-top:10px}.device-drawer nav a{display:grid;grid-template-columns:27px 1fr auto;gap:9px;align-items:center;padding:11px;border-radius:11px;color:#314950;text-decoration:none}.drawer-label{padding:14px 11px 3px;font-size:.65rem;font-weight:800;color:#89979c}.drawer-logout{margin-top:auto}.drawer-logout button{width:100%;padding:11px;border-radius:11px;border:1px solid #efcccc;background:#fff5f5;color:#b42323}
  .device-content>.d-flex.justify-content-between,.device-content>.d-flex.justify-content-between.mb-4{display:grid!important;gap:12px}.device-content>.d-flex .btn{width:100%}.row{--bs-gutter-x:.75rem}.card{border-radius:16px!important;box-shadow:0 5px 18px #163f4b0c!important}.card-header{padding:.9rem 1rem;border-radius:16px 16px 0 0!important}.card-body{padding:1rem}.btn{min-height:44px}.btn-sm{min-height:38px}.form-control,.form-select,.input-group-text{min-height:46px;font-size:16px}.form-label{font-weight:700;color:#40565d}
  .row.g-3.mb-4>.col-6{width:50%}.row.g-3.mb-4 .card-body{padding:.9rem;display:block!important}.row.g-3.mb-4 .stat-icon{width:42px;height:42px;margin-bottom:8px}.row.g-3.mb-4 .fs-3{font-size:1.55rem!important}.agenda-row{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;padding:13px 0}.agenda-row>.badge{grid-column:2;justify-self:start}.agenda-time{min-width:0}.agenda-row .text-muted{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .table-responsive{overflow:visible}.table-responsive table.mobile-card-table,.table-responsive .table{display:block}.table thead{display:none}.table tbody{display:grid;gap:10px;padding:10px}.table tr{display:grid;background:#fff;border:1px solid #e3eaed;border-radius:13px;padding:12px;box-shadow:0 3px 12px #173e780a}.table td{display:block;border:0;padding:4px 0!important}.table td.text-end{text-align:left!important;display:flex;gap:8px;margin-top:5px}.table td[colspan]{text-align:center!important}.table .btn-sm{min-width:42px}
  .dynamic-row{position:relative;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:12px 48px 12px 12px;border:1px solid #dfe8eb;border-radius:13px;background:#f8fbfc}.dynamic-row>[class*=col-],.dynamic-row>.col{width:100%;padding:0}.dynamic-row>.col-auto{position:absolute;right:8px;top:8px}.officer-check{padding:14px 0}.sticky-xl-top{position:static!important}
  .calendar-grid{min-width:670px}.card:has(.calendar-grid){overflow-x:auto}.calendar-day{min-height:92px}.calendar-event{font-size:.68rem!important;color:#334155!important}.calendar-event b{font-size:.68rem}.app-footer-signature{display:none}
  .login-screen{display:block;min-height:100dvh;background:linear-gradient(160deg,#0b5f69 0,#123b57 43%,#f4f7f8 43%)}.login-visual{min-height:38dvh;padding:34px 22px 48px;background:transparent}.login-visual img{width:58px;height:58px}.login-visual h1{font-size:1.8rem;line-height:1.12}.login-visual p:last-child{display:none}.login-panel{padding:0 14px 28px;margin-top:-26px}.login-form{border:0;border-radius:20px;padding:22px;box-shadow:0 16px 45px #092f3640}
  .settings-hero .card-body{display:block!important}.settings-hero .badge{margin-top:12px}.settings-grid>.col-sm-6{width:100%}.settings-icon{width:46px;height:46px;border-radius:14px;background:#e6f3f4;color:#0f5b66;display:grid;place-items:center;font-size:1.2rem}.settings-status{font-size:.7rem;font-weight:800;color:#0f5b66;background:#eaf5f6;border-radius:999px;padding:5px 9px}
}
