/* Layout de toque. O desktop mantém as mesmas telas e dados. */
.nav-more,.nav-short-name,.mobile-history{display:none}
.history-date-field{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}
.history-date-field input{min-width:0}
.mobile-menu{display:flex;flex-direction:column;gap:8px}
.mobile-menu-link{display:flex;align-items:center;gap:14px;min-height:58px;padding:15px;border:1px solid var(--line);background:#f8f8f0;border-radius:10px;color:#58694a;text-align:left;width:100%;font-size:14px}
.mobile-menu-link span{flex:1}
.mobile-menu-link>svg:last-child{width:16px;color:#929b85}
.modal-open{overflow:hidden}
#agenda-date{width:164px;min-width:0}
.agenda-day-panel .panel-head h2{font-size:16px}

@media(max-width:700px){
  :root{--mobile-nav-height:70px}
  html{scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  body{font-size:15px;line-height:1.6;overflow-wrap:break-word}
  .app-shell,.app-body{min-width:0;max-width:100%}
  .sidebar{height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px));padding:0 max(10px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(10px,env(safe-area-inset-left,0px));box-shadow:0 -3px 18px #39462f08}
  .sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;align-items:stretch}
  .nav-item{font-size:11px;min-width:0;width:100%;min-height:62px;padding:10px 2px 7px;gap:6px;justify-content:center;background:transparent;border-radius:0;color:#707a65;line-height:1.2}
  .nav-item svg{width:22px;height:22px}
  .nav-item.active{background:#fbf0e9;color:#a75236;border-radius:12px}
  .nav-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nav-secondary,.nav-full-name{display:none!important}
  .nav-more{display:flex}
  .nav-short-name{display:inline}
  .app-body{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px) + 12px)}
  .topbar{height:64px;padding:0 max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));gap:8px}
  .breadcrumb{font-size:11px;line-height:1.4;flex:1;min-width:0}
  .breadcrumb strong{font-size:12px}
  .breadcrumb span{margin:0 5px}
  .topbar-right{gap:8px;flex-shrink:0}
  .connection{font-size:10px;gap:5px}
  .topbar .avatar{display:none}
  .notification-button{min-width:44px;min-height:44px;border:0;padding:9px}
  #main{padding:22px max(16px,env(safe-area-inset-right,0px)) 28px max(16px,env(safe-area-inset-left,0px));min-height:calc(100dvh - 155px)}
  #main:focus{outline:none}
  h1{font-size:29px;line-height:1.2;letter-spacing:-.8px}
  .eyebrow{font-size:10px;letter-spacing:1.3px}
  .page-heading{display:flex;flex-direction:column;gap:12px;margin-bottom:19px}
  .page-heading>div:first-child{width:100%;min-width:0}
  .page-heading p{font-size:13px;line-height:1.7;max-width:none;margin-top:8px}
  .heading-actions{align-self:stretch;padding:0;gap:10px}
  .heading-actions .btn{font-size:13px;min-height:44px;padding:10px 14px}
  .heading-actions .btn svg{width:17px;height:17px}
  .heading-actions .date-label{display:none}
  .heading-actions .export-main{font-size:13px;gap:8px}
  .btn,.btn.small,.btn.link,.icon-button,.text-link{min-height:44px}
  .btn,.btn.small{font-size:13px;padding:10px 13px;border-radius:9px}
  .btn svg{width:17px;height:17px}
  .icon-button{min-width:44px;padding:10px}
  .text-link{font-size:12px;line-height:1.5;align-items:center;padding:8px 0}
  .hero{min-height:0;padding:18px;margin-bottom:16px}
  .hero-copy{padding-right:0;max-width:100%}
  .hero-art{display:none}
  .hero-tag{font-size:9px;letter-spacing:.7px;margin-bottom:9px}
  .hero h2{font-size:25px;max-width:none;margin-bottom:8px;line-height:1.25}
  .hero p{font-size:13px;max-width:none;line-height:1.7}
  .hero .btn{min-height:44px;font-size:12px;margin-top:12px}
  .stats{gap:9px;margin-bottom:24px}
  .stat{padding:13px 12px;gap:9px;min-height:79px}
  .stat-icon{width:31px;height:31px}
  .stat-label{font-size:11px;line-height:1.4}
  .stat-value{font-size:24px;margin-top:4px}
  .stat-value span{display:block;font-size:10px;line-height:1.5;margin-top:2px}
  .section-title{align-items:center;gap:8px;margin-bottom:9px}
  .section-title h2{font-size:17px;line-height:1.4}
  .section-title .text-link{font-size:11px;max-width:125px;flex-shrink:0}
  .date-strip{display:flex;gap:2px;padding:10px;overflow-x:auto;scroll-snap-type:x proximity}
  .day-button{min-width:44px;flex:1;min-height:68px;font-size:11px;padding:8px 1px;line-height:1.3;scroll-snap-align:center}
  .day-button strong{font-size:18px;margin:4px 0}
  .day-button.selected{color:#d9e1ce}
  .agenda-day-label{font-size:10px;line-height:1.6;align-items:center;letter-spacing:.5px;padding:8px 15px 0}
  .agenda-day-label .text-link{font-size:11px;flex-shrink:0}
  .event-row{display:grid;grid-template-columns:49px 34px minmax(0,1fr);column-gap:10px;row-gap:11px;padding:17px 14px;border-left:3px solid transparent}
  .event-row.taken{border-left-color:#b6c7a1}
  .event-row.overdue{border-left-color:#d9a28a}
  .event-time{grid-column:1;grid-row:1;width:auto;padding-top:2px}
  .event-time strong{font-size:16px;line-height:1.3;font-variant-numeric:tabular-nums}
  .event-time small{font-size:10px;margin-top:5px;line-height:1.4;white-space:normal}
  .event-line{display:none}
  .event-row>.med-icon{grid-column:2;grid-row:1;width:34px;height:36px}
  .event-info{grid-column:3;grid-row:1;min-width:0}
  .event-title{gap:3px 6px}
  .event-title h3{font-size:15px;line-height:1.4}
  .event-title .strength{font-size:12px;line-height:1.6}
  .event-description{font-size:12px;line-height:1.7;margin-top:4px}
  .event-actions{grid-column:2/-1;grid-row:2;display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin:0;gap:8px}
  .status{font-size:11px;line-height:1.5;padding:5px 8px;white-space:normal}
  .status svg{width:13px;height:13px}
  .event-row .record-button{font-size:13px;min-height:44px;min-width:114px;justify-content:center;padding:10px 14px;border-radius:9px;background:#eef2e6;border-color:#dce4d0;color:#536f40}
  .event-row .record-button svg{width:16px;height:16px}
  .event-more{min-width:44px;min-height:44px;padding:10px;border-radius:8px;background:#f5f5ee;color:#657751}
  .event-more svg{width:19px;height:19px}
  .event-notes,.review-note{font-size:11px;line-height:1.7}
  .review-note svg{width:16px;min-width:16px}
  .side-stack{display:flex;flex-direction:column;gap:14px}
  .daily-progress,.care-mini{padding:20px}
  .daily-progress h3{font-size:15px;margin-bottom:14px}
  .daily-progress p,.care-mini p{font-size:12px;line-height:1.8}
  .progress-top{font-size:12px}
  .care-mini h3{font-size:23px}
  .notice{font-size:12px;line-height:1.8;padding:14px;gap:10px}
  .notice svg{width:18px;height:18px}
  .medicine-card{padding:20px}
  .medicine-card h2{font-size:21px}
  .medicine-card .medicine-strength{font-size:13px}
  .medicine-card .instruction{font-size:14px;line-height:1.8}
  .medicine-card .plan-info{font-size:12px;line-height:2}
  .medicine-card .card-actions{gap:9px}
  .medicine-card .card-actions .btn{font-size:12px}
  .chip{font-size:11px;padding:5px 8px}
  .inline-warning{font-size:12px;line-height:1.8}
  .unconfigured-list{padding:0 14px 14px}
  .unconfigured-item{font-size:13px;line-height:1.7;gap:10px;padding:14px 0}
  .unconfigured-item>span{min-width:0}
  .unconfigured-item .btn{min-height:44px;font-size:12px;padding:10px 12px;flex-shrink:0}
  .unconfigured-item .muted{display:block;font-size:11px}
  .agenda-toolbar{gap:14px;display:flex;flex-direction:column;align-items:stretch;margin-bottom:16px}
  .date-nav{display:flex;gap:4px;justify-content:space-between;min-width:0}
  .date-nav strong{min-width:0;flex:1;font-size:14px;line-height:1.4}
  #agenda-date{width:150px;flex:1;min-width:0;font-size:16px;padding:9px 6px}
  .date-nav .icon-button{min-width:44px;width:44px;padding:9px}
  .date-nav .btn{min-width:53px;padding:9px}
  .agenda-toolbar .filter-group{width:100%;display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
  .filter-group select,.filter-group input{font-size:16px;min-height:46px;padding:10px;min-width:0;max-width:100%}
  #agenda-filter{width:100%;max-width:100%}
  .segmented{display:flex;width:100%;padding:4px;gap:5px}
  .segmented button{flex:1;min-height:42px;font-size:13px;padding:9px 12px}
  .panel-head{padding:17px}
  .panel-head h2,.agenda-day-panel .panel-head h2{font-size:16px;line-height:1.5}
  .panel-head p{font-size:12px}
  .calendar-cell{min-height:92px;padding:6px 3px}
  .calendar-event{font-size:9px;line-height:1.6}
  .calendar-weekday{font-size:10px}
  .calendar-more{font-size:9px}
  .calendar-cell .calendar-event:nth-of-type(n+3){display:block}
  .list-day-heading{font-size:13px;line-height:1.7}
  .range-note{font-size:12px;line-height:1.8}
  .history-desktop{display:none}
  .mobile-history{display:block}
  .history-card{padding:19px 17px;border-bottom:1px solid var(--line)}
  .history-card:last-child{border-bottom:0}
  .history-card-heading{display:flex;align-items:flex-start;gap:11px;flex-wrap:wrap}
  .history-card-heading>div{flex:1;min-width:150px}
  .history-card-heading h3{font-size:16px;line-height:1.4}
  .history-card-heading p{font-size:12px;color:#737e68;margin-top:4px;line-height:1.7}
  .history-card-heading .status{margin-left:auto}
  .history-card dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:17px 0 12px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .history-card dt{font-size:11px;color:#737e68;margin-bottom:6px}
  .history-card dd{margin:0;font-size:13px;color:#536448;line-height:1.7;font-variant-numeric:tabular-nums}
  .history-card-actor{font-size:11px;color:#737e68;line-height:1.8}
  .history-card-notes{font-size:12px;color:#637454;background:#f3f5ed;border-radius:7px;padding:11px 12px;margin-top:12px;overflow-wrap:anywhere}
  .history-card>.btn{margin-top:14px;width:100%}
  .filter-group:has(#history-med){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #history-med,#history-status,.filter-group .btn[data-action="clear-history"]{grid-column:1/-1;width:100%}
  .history-date-field{flex-direction:column;align-items:stretch;gap:5px;font-size:12px;min-width:0}
  .filter-group .history-date-field input{width:100%;max-width:100%;min-width:0}
  .history-summary{font-size:12px;line-height:1.8}
  .page-count{font-size:12px;padding:14px;align-items:center}
  .audit-entry{padding:15px;font-size:12px;line-height:1.8}
  .audit-entry small,.audit-entry p{font-size:11px}
  .care-card{padding:18px;gap:12px}
  .care-card h3{font-size:16px;line-height:1.5}
  .care-card p{font-size:14px;line-height:1.8}
  .care-card small{font-size:12px}
  .care-card .btn{width:100%}
  .recipe-intro p,.recipe-item p,.contact-card{font-size:13px;line-height:1.9}
  .recipe-intro h2{font-size:20px;line-height:1.4}
  .recipe-item h3{font-size:15px;line-height:1.7}
  .contact-card a{display:flex;align-items:center;min-height:44px;font-size:16px}
  .contact-card small{font-size:12px}
  .recipe-image-link span{font-size:13px;min-height:48px}
  .settings-content p{font-size:13px;line-height:1.9}
  .settings-actions{display:flex;flex-direction:column;gap:10px}
  .settings-actions .btn{font-size:13px;width:100%}
  .settings-content h3{font-size:16px}
  input,select,textarea{font-size:16px;min-height:48px;padding:12px;max-width:100%;min-width:0}
  textarea{min-height:100px}
  .field{gap:8px;margin-bottom:19px;min-width:0}
  .field>label,.field>span{font-size:13px;line-height:1.6}
  .field small{font-size:12px;line-height:1.8}
  .form-grid{grid-template-columns:1fr;gap:0}
  .check-field,.toggle-row{font-size:13px;line-height:1.8;gap:12px;padding:7px 0}
  .check-field input,.toggle-row input{width:21px;min-width:21px;min-height:21px;height:21px;margin-top:3px;padding:0;flex-shrink:0}
  dialog{position:fixed;inset:auto 0 0;width:100%;max-width:100%;margin:0;max-height:calc(100vh - 12px);max-height:calc(100dvh - 12px);border-radius:20px 20px 0 0;border-bottom:0;overscroll-behavior:contain}
  .dialog-close{right:13px;top:13px;width:44px;height:44px;z-index:2}
  .modal-header{padding:27px 20px 18px}
  .modal-header h2{font-size:25px;line-height:1.3;padding-right:35px}
  .modal-header p{font-size:13px;line-height:1.8;margin-top:9px}
  .modal-body{padding:0 20px max(20px,env(safe-area-inset-bottom,0px))}
  .modal-med{padding:14px;gap:12px;margin-bottom:20px;align-items:flex-start}
  .modal-med h3{font-size:15px;line-height:1.5}
  .modal-med p{font-size:12px;line-height:1.8}
  .record-summary,.confirmation-notice{font-size:13px;line-height:1.9;padding:15px}
  .modal-footer{position:sticky;bottom:calc(-1 * env(safe-area-inset-bottom,0px));padding:14px 0 max(6px,env(safe-area-inset-bottom,0px));margin-top:18px;gap:9px;background:#fffefa;box-shadow:0 -8px 15px #fffefa;z-index:1;flex-wrap:nowrap;border-top:1px solid var(--line)}
  .modal-footer .btn{flex:1;min-height:49px;font-size:14px;padding:12px 10px;white-space:normal;line-height:1.5}
  .modal-footer .btn.primary{min-width:0;flex:1.6}
  .preview-box{font-size:13px;line-height:1.8;padding:15px}
  .preview-list{max-height:230px;line-height:2.2}
  .preview-list>div{gap:9px;flex-wrap:wrap;border-bottom:1px solid #e7eadc;padding:3px 0}
  .preview-list>div>span:last-child{font-variant-numeric:tabular-nums}
  .error-text{font-size:13px;line-height:1.8;padding:12px}
  .empty-state{padding:32px 20px}
  .empty-state h3{font-size:17px;line-height:1.5}
  .empty-state p{font-size:13px;line-height:1.9;margin-bottom:20px}
  .empty-state .btn{font-size:13px}
  .alarm-panel{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px) + 14px);right:12px;width:calc(100% - 24px);max-width:420px;max-height:55dvh}
  .alarm-header,.alarm-item,.alarm-item p{font-size:13px;line-height:1.8}
  .alarm-item strong{font-size:15px}
  .alarm-item .btn{min-height:44px;font-size:12px;flex:1}
  .toasts{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px) + 17px);width:calc(100% - 30px)}
  .toast{font-size:13px;line-height:1.8;padding:13px 16px}
  .auth-screen{min-height:100dvh;padding:20px max(18px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px))}
  .auth-card{padding:31px 25px;width:100%;max-width:440px;border-radius:18px}
  .auth-card h1{font-size:28px}
  .auth-card p{font-size:14px;line-height:1.9}
  .auth-card .field label{font-size:14px}
  .auth-card .btn.primary{min-height:50px;font-size:14px}
  .auth-card .auth-note{font-size:12px;line-height:1.8}
  .page-footer{font-size:10px;line-height:1.8;padding:0 18px 20px}
  .mobile-menu-link{min-height:60px;font-size:15px}
}

@media(max-width:350px){
  .nav-item{font-size:10px}
  .event-row{grid-template-columns:44px minmax(0,1fr);gap:10px;padding:16px 12px}
  .event-row>.med-icon{display:none}
  .event-info{grid-column:2}
  .event-actions{grid-column:2}
  .event-title h3{font-size:14px}
  .event-row .record-button{min-width:100px;padding:10px;font-size:12px}
  .status{font-size:10px;padding:5px 6px}
  .topbar{padding:0 12px}
  .breadcrumb{font-size:10px}
  .hero h2{font-size:23px}
  .stat{gap:7px;padding:12px 10px}
  .stat-icon{width:26px;height:29px}
  .stat-label{font-size:10px}
  .stat-value span{font-size:10px}
  .history-card dl{grid-template-columns:1fr;gap:12px}
  .history-card-heading>div{min-width:130px}
  .section-title h2{font-size:16px}
  .section-title .text-link{max-width:110px;font-size:10px}
  #main{padding-left:13px;padding-right:13px}
  .date-nav .icon-button{min-width:44px;width:44px;padding:8px}
  #agenda-date{font-size:16px;padding:9px 4px}
}
