/* Navigation-only additions. The v17 calendar, forms and address styles remain intact. */
.summary-card.summary-link { text-align:left; color:inherit; font:inherit; cursor:pointer; width:100%; transition:border-color .16s,box-shadow .16s; }
.summary-card.summary-link:hover { border-color:#8dada0; box-shadow:0 3px 10px #173f3814; }
.summary-card.summary-link.is-current { border-color:#365f50; box-shadow:inset 0 0 0 1px #365f50; }
.summary-link:focus-visible,.fp-menu-toggle:focus-visible,.fp-navigation-drawer button:focus-visible,.sidebar .nav-item:focus-visible,.fp-filter-notice button:focus-visible { outline:3px solid #77a676; outline-offset:3px; }
.fp-nav-label { min-width:0; flex:1; line-height:1.4; }
.sidebar .nav-item,.fp-navigation-drawer .nav-item { gap:9px; padding-left:12px; padding-right:12px; }
.sidebar .nav-item svg,.fp-navigation-drawer .nav-item svg { flex-shrink:0; }
.sidebar .nav-count,.fp-navigation-drawer .nav-count { flex-shrink:0; margin-left:auto; }
.fp-filter-notice { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 24px; background:#f2f6ed; border-bottom:1px solid #e2e9dd; color:#476153; font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.fp-filter-notice button { flex-shrink:0; padding:7px 9px; border:1px solid #bdcdb6; border-radius:6px; background:#fff; color:#244c39; font:inherit; font-weight:600; cursor:pointer; }
.fp-mobile-heading,.fp-menu-toggle { display:none; }
.fp-drawer-backdrop { position:fixed; inset:0; z-index:120; display:flex; background:#071e2699; overscroll-behavior:contain; }
.fp-navigation-drawer { width:min(340px,calc(100vw - 48px)); height:100%; height:100dvh; box-sizing:border-box; display:flex; flex-direction:column; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; background:var(--fieldplan-banner,#6b7557); color:#fff; padding:max(20px,var(--safe-area-top,env(safe-area-inset-top,0px))) 18px max(24px,env(safe-area-inset-bottom)); box-shadow:8px 0 32px #071e264d; outline:none; }
.fp-navigation-drawer>* { flex-shrink:0; }
.fp-drawer-header { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.fp-drawer-header .brand { min-width:0; }
.fp-drawer-header .official-brand img { max-width:164px; height:auto; }
.fp-drawer-close { flex:0 0 44px; width:44px; height:44px; border:1px solid #ffffff24; border-radius:10px; background:#ffffff0c; color:#fff; font:28px/1 sans-serif; cursor:pointer; }
.fp-navigation-drawer .workspace-label { margin:30px 12px 10px; }
.fp-navigation-drawer .nav-item { min-height:46px; font-size:13px; }
.fp-navigation-drawer .sidebar-bottom { padding-top:22px; }
.fp-navigation-drawer .profile-button { min-height:64px; padding-top:18px; }
@media(max-width:1180px) and (min-width:851px) {
  .sidebar .nav-item { padding-left:9px; padding-right:9px; font-size:12px; gap:7px; }
  .sidebar .nav-count { padding:2px 5px; }
}
@media(max-width:850px) {
  .fp-mobile-heading { display:flex; align-items:center; gap:10px; min-width:0; }
  .fp-menu-toggle { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; border:1px solid #ffffff24; border-radius:9px; background:#ffffff08; color:#fff; cursor:pointer; }
  .topbar { gap:10px; }
  .top-actions { flex-shrink:0; }
  .fp-mobile-heading .mobile-brand { min-width:0; }
  .fp-mobile-heading .official-brand img { max-width:148px; height:auto; }
}
@media(max-width:600px) {
  .fp-filter-notice { padding:10px 14px; font-size:10px; }
  .fp-mobile-heading { gap:8px; }
  .topbar { padding-left:max(12px,env(safe-area-inset-left)); padding-right:max(12px,env(safe-area-inset-right)); }
  .fp-mobile-heading .official-brand img { max-width:126px; }
}
@media(max-width:360px) {
  .fp-mobile-heading .official-brand img { max-width:106px; }
  .top-actions { gap:6px; }
  .fp-filter-notice { flex-wrap:wrap; }
}

.fp-navigation-drawer .nav-item { color:#fff; }
.fp-navigation-drawer .nav-item.active { color:#173c31; }
.fp-navigation-drawer .workspace-label,.fp-navigation-drawer .profile-button small { color:#fff; }
.fp-navigation-drawer .nav-count { background:#455034; color:#fff; }
.fp-navigation-drawer .nav-item.active .nav-count { background:#c5d891; color:#173c31; }
