.topbar-brand{display:none}

@media(max-width:700px){
  :root{font-size:16px}
  body{background:#f5f8f5}
  .main{max-width:620px;padding:0 16px calc(116px + env(safe-area-inset-bottom));min-width:0}
  .topbar{position:sticky;top:0;z-index:3;margin:0 -16px 22px;padding:11px 16px;background:#f9fbf9ed;border-bottom:1px solid #dce5de;backdrop-filter:blur(14px);min-height:67px}
  .topbar-brand{display:flex;align-items:center;gap:10px;min-width:0;color:var(--deep)}
  .topbar-brand .brand-mark{width:36px;height:36px;border-radius:11px;flex:none;font-size:1.15rem}
  .topbar-brand strong{display:block;font-size:1.05rem;line-height:1.25}
  .topbar-brand small{display:block;color:var(--muted);font-size:.7rem;white-space:nowrap;line-height:1.4}
  .topbar .btn{flex:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px;min-height:38px}
  .page-head{margin-bottom:20px}
  .page-head h1{font-size:1.5rem;line-height:1.38;letter-spacing:0}
  .page-head p{font-size:.91rem;line-height:1.6}
  .eyebrow{margin-bottom:4px}
  .card{padding:20px;border-radius:18px;min-width:0}
  .card.green{background:#14533a}
  .large-copy{font-size:1.5rem;line-height:1.42;margin:15px 0 11px}
  .home-grid{gap:14px}
  .home-grid .actions .btn{flex:1 1 100%}
  .section-head{margin:27px 0 13px;align-items:flex-start}
  .section-head h2{font-size:1.15rem;line-height:1.4}
  .section-head .meta{font-size:.75rem;white-space:nowrap;margin-top:3px}
  .grid{gap:10px}
  .category{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 12px;padding:16px;min-height:0;border-radius:15px}
  .category.selected{padding:15px}
  .category .num{grid-row:1/3;width:40px;height:40px;margin:0;border-radius:11px;background:var(--soft);color:var(--green);display:grid;place-items:center;font-size:.8rem;font-weight:700}
  .category h3{margin:0;font-size:1.03rem;line-height:1.4}
  .category p{grid-column:2;margin:0;font-size:.84rem;line-height:1.5}
  .wizard{width:100%}
  .steps{gap:5px;margin-bottom:17px}
  .step{font-size:.68rem;line-height:1.3;padding-top:9px;min-width:0}
  .field{margin-top:16px;min-width:0}
  input,select,textarea{font-size:16px;min-width:0;max-width:100%}
  .field-row,.plan-grid{grid-template-columns:1fr}
  .plan-grid{gap:15px}
  .plan-grid .wide{grid-column:auto}
  .option-row .option{flex:1 1 100%}
  .actions .btn{flex:1 1 130px;min-width:0;padding:10px 14px}
  .timeline-content,.choice-panel,.card{overflow-wrap:anywhere}
  .filters label{min-width:calc(50% - 6px)}
  .mobile-nav{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 12px 38px #153d2830;padding:6px;min-width:0}
  .mobile-nav button{min-width:0;min-height:68px;padding:5px 1px;gap:3px;font-size:.72rem;line-height:1.2;white-space:nowrap}
  .mobile-nav button.active{background:#e8f2e9;color:var(--green);font-weight:700}
  .mobile-nav .glyph{width:34px;height:34px;padding:2px;border-radius:10px}
  .mobile-nav button.active .glyph{background:#d7e9d9}
  dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:22px 18px;border-radius:20px}
  dialog .modal-head{margin-bottom:12px}
  dialog h2{font-size:1.25rem}
  .main>.option-row{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 20px!important;padding:0 16px 9px}
  .main>.option-row .btn{flex:none;white-space:nowrap}
  .table-scroll{margin:0 -4px;padding:12px;max-width:calc(100% + 8px)}
}

@media(max-width:360px){
  .main{padding-left:13px;padding-right:13px}
  .topbar{margin-left:-13px;margin-right:-13px;padding-left:13px;padding-right:13px}
  .topbar-brand small{font-size:.64rem}
  .mobile-nav{left:7px;right:7px;padding:4px}
  .mobile-nav button{min-height:64px;padding:4px 1px;font-size:.68rem}
  .mobile-nav .glyph{width:32px;height:32px}
}
