/* Phone and tablet presentation; desktop layout stays in site.css. */
.mobile-menu-toggle,.mobile-bottom-nav{display:none}
@media(max-width:850px){
 body:not(.guest-page){padding-bottom:calc(78px + env(safe-area-inset-bottom))}
 .sidebar{position:sticky;top:0;z-index:100;padding:16px 20px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 3px 15px #19352f05}
 .brand{font-size:23px;min-height:38px}.brand-symbol{width:34px;height:34px}
 .mobile-header-menu{display:grid;place-items:center;position:absolute;right:20px;top:14px;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#f5f7f1;color:var(--green);font-size:22px}
 .mobile-nav-ready .sidebar nav,.mobile-nav-ready .sidebar-bottom{display:none}
 .mobile-menu-open .sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
 .mobile-menu-open .sidebar .nav-link{min-height:46px;font-size:13px;padding:12px;gap:10px}
 .mobile-menu-open .sidebar-bottom{display:block;position:static;padding:0 12px 8px}
 .mobile-menu-open .sidebar-bottom .profile{padding-top:16px}.mobile-menu-open .sidebar-bottom .profile>div,.mobile-menu-open .sidebar-bottom .avatar{display:block}
 .mobile-menu-open .sidebar-bottom .avatar{display:grid}.mobile-menu-open .signout{min-height:44px;padding:10px 15px;background:#f0f4ec;border-radius:8px;font-size:12px}
 .mobile-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:110;background:#fff;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -5px 20px #19352f06}
 .mobile-bottom-nav a,.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;border:0;border-radius:12px;background:transparent;color:#7b877f;font-size:10px;font-weight:600;text-decoration:none}
 .mobile-bottom-nav span{font-size:23px;line-height:1.2}.mobile-bottom-nav .selected,.mobile-bottom-nav button[aria-expanded=true]{background:#eaf2e5;color:var(--green)}
 .topbar{height:42px;padding:0 20px;background:transparent;border-bottom:0;font-size:9px}.topbar-date{font-size:10px}
 .page-content{padding:18px 20px 28px}.page-heading{gap:16px;margin-bottom:24px}.page-heading h1{font-size:30px;letter-spacing:-.8px}.eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:10px}
 .stats-grid{gap:12px}.stat-card{padding:18px;border-radius:16px}.stat-card strong{font-size:34px}.panel,.attention-card{border-radius:16px}
 .form-control,.form-select{min-height:48px;font-size:16px;border-radius:10px}.control-label{font-size:13px}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:13px;padding:12px 17px}
 .form-actions{position:static;gap:10px}.form-actions>.btn{flex:1}.form-actions span{font-size:11px}.form-grid{gap:22px}.help-block,.field-hint{font-size:12px}
 .filter-form{gap:10px}.filter-form .search-field{flex-basis:100%}.filter-form .form-select{width:calc(50% - 5px);flex:1;min-width:140px}.filter-form>.btn{flex:1}.reset-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;font-size:12px}
 .panel-heading{padding:20px;align-items:flex-start}.panel-heading h2{font-size:17px}.panel-heading>.text-link{min-height:44px;display:flex;align-items:center}
 .records-table{display:block;min-width:0!important;width:100%}.records-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .records-table tbody{display:grid;gap:12px;padding:12px 16px 18px}.records-table tr{display:block;padding:6px 16px;background:#fbfcf8;border:1px solid var(--line);border-radius:12px}
 .records-table td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:6px 12px;padding:12px 0;border-bottom:1px solid #e8ede4;font-size:13px;overflow-wrap:anywhere;white-space:normal}
 .records-table td::before{content:attr(data-label);font-size:11px;color:var(--muted);font-weight:500}
 .records-table td:first-child{display:block;padding-top:14px}.records-table td:first-child::before{display:none}.record-name{font-size:16px}.records-table td small{grid-column:2;font-size:11px;margin-top:0}.records-table td:first-child small{margin-top:6px}
 .records-table td:last-child{display:flex;justify-content:flex-end;border:0;padding-bottom:10px}.records-table td:last-child::before{display:none}.records-table td:last-child .text-link{min-height:40px;display:inline-flex;align-items:center;padding:8px 14px;border-radius:8px;background:#eaf2e5;font-size:12px}
 .records-table td .status{justify-self:start}.records-table td[colspan]{display:block}.records-table td[colspan]::before{display:none}.table-responsive{overflow:visible}
 .heading-actions{gap:8px}.heading-actions>.btn{flex:1}.details-list{padding:0 20px}.details-list>div{grid-template-columns:120px minmax(0,1fr);gap:12px}.details-list dd{font-size:14px}
 .vault-panel .btn-primary{display:flex}.related-actions .text-link{min-height:44px;display:flex;align-items:center}.empty-state{padding:40px 24px}
 .guest-main{display:block;min-height:100dvh}.guest-main .page-content{padding:20px;min-height:100dvh;display:grid;place-items:center}.login-shell{width:100%;max-width:480px;border-radius:22px;box-shadow:0 12px 50px #19352f08}.login-story{padding:28px;gap:30px;background:linear-gradient(145deg,#e7efde,#f0f4e9)}.login-story h1{font-size:34px;margin:14px 0}.login-story p{font-size:13px;margin-bottom:0}.login-story .eyebrow{font-size:8px}.login-card{padding:30px 28px}.login-card h2{font-size:23px}.login-card .form-group{margin-bottom:20px}.login-card .btn{min-height:50px}.login-help{line-height:1.6}
}
@media(max-width:520px){
 .page-heading{display:block}.page-heading>.btn{display:flex;width:100%;margin-top:18px}.page-heading p{font-size:13px}.page-heading h1{font-size:28px}
 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card:last-child:nth-child(odd){grid-column:1/-1}.stat-card small{font-size:11px}
 .form-panel{padding:22px 18px}.form-grid{grid-template-columns:1fr}.form-actions{flex-wrap:wrap}.form-actions span{width:100%;margin:8px 0 0}.heading-actions{margin-top:18px}
 .overview-side{gap:8px}.attention-card{padding:22px}.quick-start{padding:24px 6px}.details-list>div{grid-template-columns:1fr;gap:6px}.details-list dt{font-size:11px}.details-list dd{font-size:14px}
 .filter-bar{padding:18px 16px}.filter-form .form-select{width:100%;flex-basis:100%}.result-count{padding:14px 18px}.pagination-wrap{padding:0 16px 16px}
 .guest-main .page-content{padding:14px}.login-story{padding:24px;gap:24px}.login-story h1{font-size:30px}.login-card{padding:26px 24px}.login-card .eyebrow{margin-bottom:8px}
}
/* Installable app controls. */
.pwa-install-controls{max-width:600px;margin:26px auto 0;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.pwa-install-controls[hidden]{display:none}.pwa-install-controls img{border-radius:11px;flex-shrink:0}.pwa-install-controls>div{flex:1}.pwa-install-controls strong{display:block;font-size:12px}.pwa-install-controls small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.pwa-install-controls .btn{font-size:12px;min-height:44px}.pwa-install-dialog{border:1px solid var(--line);border-radius:20px;padding:28px;max-width:440px;width:calc(100% - 32px);max-height:85dvh;overflow-y:auto;color:var(--ink);box-shadow:0 20px 70px #19352f30}.pwa-install-dialog::backdrop{background:#19352f66}.pwa-install-dialog h2{font-size:26px;margin-bottom:24px}.pwa-install-dialog h3{font-size:15px;margin-top:20px}.pwa-install-dialog p{font-size:13px;line-height:1.7}.pwa-install-dialog .btn{margin-top:10px}.guest-main .page-content>.pwa-install-controls{width:100%}@media(max-width:520px){.pwa-install-controls{gap:10px;padding:14px;margin-top:20px;flex-wrap:wrap}.pwa-install-controls>.btn{width:100%}.pwa-install-controls strong{font-size:12px}.pwa-install-dialog{padding:24px}}
