/* iPhone Safari: safe areas, 44px controls, and inputs that do not trigger zoom. */
html{-webkit-text-size-adjust:100%;scroll-padding-bottom:110px}body{min-height:100vh;min-height:100dvh}.mobile-logout{display:none}
@media(pointer:coarse){button,.button,.icon-button{min-height:44px}input,select,textarea{font-size:16px}.text-button{min-height:44px;display:inline-flex;align-items:center}.checkbox-label input{min-width:22px;min-height:22px}.prompt-suggestions button{font-size:13px;min-height:48px}}
@media(max-width:600px){
  input,select,textarea,input[type=file]{font-size:16px}button,.button,.icon-button{min-height:44px}.text-button{min-height:44px;display:inline-flex;align-items:center}
  .sidebar{padding-top:max(16px,env(safe-area-inset-top));padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));padding-bottom:15px}
  .sidebar nav{position:fixed;inset:auto 0 0;z-index:30;background:#fcfdf9f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid #dfe5d9;margin:0;display:flex;justify-content:space-around;gap:0;overflow:visible;padding:6px max(7px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));box-shadow:0 -4px 24px #1e382b05}
  .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:20%;min-width:0;min-height:53px;margin:0;border-radius:8px;font-size:0;padding:5px 2px;color:#84917b}
  .nav-item::after{content:attr(data-mobile-label);font-size:10px;font-weight:500;line-height:1.4}
  .nav-item>span{display:block;width:auto;font-size:22px;line-height:24px;color:#839178}.nav-item.active{background:#eaf0e3;color:#395b35}.nav-item.active>span{color:#527348}.nav-item:hover{background:#edf2e7;color:#3f5f36}
  .main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.content{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .range-toolbar{gap:12px}.period-group{width:100%;padding:3px;display:flex}.period-group button{flex:1;min-height:44px;font-size:12px}.date-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 61px;gap:7px;width:100%}.date-fields>span{display:none}.date-fields input{font-size:16px;width:100%;max-width:100%;height:44px;padding:8px 6px;min-width:0}.date-fields .button{min-height:44px;padding:7px 9px}input::-webkit-date-and-time-value{text-align:left}
  .page-heading .button{min-height:44px;width:100%;justify-content:center}.metric-card{min-height:123px}.metric-top{font-size:11px}.metric-note{font-size:10px}.metric-value{font-size:25px}.chart-grid .card-heading{align-items:flex-start}.card-heading h2{font-size:18px}.card .eyebrow{font-size:9px}.card-footer{font-size:11px}.card-footer .text-button{font-size:11px}.chart{height:180px}.chart-axis,.chart-value{font-size:15px}
  .table-wrap{overflow:visible}table,thead,tbody,tr,td{display:block;width:100%}thead{display:none}tr{padding:13px 0;border-bottom:1px solid var(--line)}tr:last-child{border-bottom:0}td{display:flex;justify-content:space-between;gap:15px;border:0;padding:6px 0;white-space:normal;font-size:13px;overflow-wrap:anywhere}td::before{content:attr(data-label);font-size:11px;color:#8c9781;flex-shrink:0}td:first-child{display:block;min-width:0;margin-bottom:4px}td:first-child::before{display:none}.table-name{font-size:14px;min-height:44px;line-height:1.5;padding:4px 0;max-width:100%;overflow-wrap:anywhere}.table-type{font-size:11px}.table-hint{font-size:11px;margin:14px 0 0}.select-label{font-size:12px}.select-label select{font-size:16px;max-width:150px;min-height:44px}
  #sleep-table td:first-child{font-size:15px;font-weight:550}.activity-name{font-size:12px;max-width:170px;overflow-wrap:anywhere}.activity-meta,.activity-measures small{font-size:11px}.activity-row{min-height:75px}.activity-arrow{margin-left:0}.activity-measures{font-size:12px}.activity-name,.activity-meta{line-height:1.6}
  .settings-grid>.card,.ai-layout>.card{padding:21px}.settings-grid .button-row{display:grid;grid-template-columns:1fr;width:100%}.settings-grid .button{min-height:44px;white-space:normal}.field-hint{font-size:11px}.muted,.settings-grid p.muted,.ai-layout p.muted{font-size:13px}.connection-row p{font-size:11px}.subtle-tag{font-size:10px}.mobile-logout{display:flex;margin-top:22px;width:100%}.answer-text{font-size:14px;line-height:1.8}.checkbox-label{font-size:12px;gap:11px}.ai-layout .button{width:100%}.prompt-suggestions button{font-size:12px;min-height:46px}.page-footer{font-size:10px;line-height:1.9}.empty-state h2{font-size:22px}.empty-state p{font-size:13px}.empty-state .button-row{display:grid}.notice{font-size:12px;overflow-wrap:anywhere}.demo-notice .text-button{font-size:12px}
  dialog{max-height:calc(100dvh - 50px - env(safe-area-inset-bottom));overflow-y:auto;padding:23px}.detail-grid{gap:18px 12px}.detail-grid dd{font-size:17px;overflow-wrap:anywhere}.detail-grid dt{font-size:11px}.dialog-heading .icon-button{width:44px;font-size:26px}
  .auth-panel{padding-bottom:max(35px,env(safe-area-inset-bottom))}.auth-form input{font-size:16px;min-height:48px}.auth-form label{font-size:13px}.auth-form .button{font-size:14px;min-height:48px}.auth-form .muted{font-size:13px}.auth-foot{font-size:11px}.consent-card .button-row{display:grid;grid-template-columns:1fr}.consent-card .button{min-height:48px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:360px){.date-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.date-fields #apply-range{grid-column:1/-1}}
