/* Nutri360 V47 — responsividade e impressão */

@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:repeat(2,1fr)}}

@media(max-width:720px){.sidebar{width:72px;padding:18px 9px}.brand{font-size:0;text-align:center}.brand:after{content:"N";font-size:24px}.nav button{font-size:0;text-align:center}.nav button::first-letter{font-size:18px}.main{margin-left:72px;width:calc(100% - 72px);padding:18px}.cards,.two,.three,.formgrid,.formgrid.two{grid-template-columns:1fr}.top h1{font-size:23px}}

@media print{body{background:#fff!important}.no-print{display:none!important}.print-diet-page{display:block!important}.diet-print-wrap{max-width:100%!important;box-shadow:none!important;border:0!important;padding:0!important}.diet-print-table{width:100%;border-collapse:collapse}.diet-print-table th,.diet-print-table td{border:1px solid #444;padding:7px;font-size:11px}.diet-print-table th{background:#dcebf6}.diet-print-meal{page-break-inside:avoid;margin:16px 0}.diet-print-title{font-size:22px;margin:0 0 5px}.diet-print-meta{font-size:11px;color:#444;margin-bottom:12px}.diet-print-phrase{margin:12px 0 18px;padding:12px;border:1px solid #999;border-radius:8px;text-align:center;font-style:italic}.diet-print-page .diet-meal-head{font-size:14px;margin-bottom:6px}.diet-print-page .diet-option-title{font-size:11px;font-weight:700;margin:6px 0 3px}}

@media(max-width:800px){.chart-grid{grid-template-columns:1fr!important}.chart-card{padding:12px}.chart-summary{font-size:11px}}

@media(max-width:900px){.diet-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:600px){.diet-options-grid{grid-template-columns:1fr}.diet-table th:first-child,.diet-table td:first-child{width:60%}.diet-table th:last-child,.diet-table td:last-child{width:40%}.diet-table td{font-size:12px;padding:6px}}

@media(max-width:1000px){.agenda-toolbar{grid-template-columns:1fr}.agenda-period-title{text-align:left}.agenda-week-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-day-cell{min-height:110px}}

@media(max-width:720px){.agenda-toolbar{gap:10px}.agenda-controls select{width:100%}.agenda-controls{width:100%}.agenda-week-head,.agenda-month-grid{min-width:760px}.agenda-month-grid-wrap{overflow:auto}.agenda-week-columns{grid-template-columns:1fr}.agenda-day-item{grid-template-columns:88px 1fr;align-items:start}.agenda-day-item .btn{grid-column:2}.agenda-day-view-head{align-items:flex-start;flex-direction:column}.agenda-week-head{border-radius:12px 12px 0 0}.agenda-month-grid{border-radius:0 0 12px 12px}.agenda-day-cell{min-height:100px}}

@media(max-width:1050px){.dashboard-grid-2-1,.dashboard-grid-1-1{grid-template-columns:1fr}.dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:720px){.dashboard-quick-grid{grid-template-columns:1fr}.dashboard-appointment{grid-template-columns:70px 1fr}.dashboard-appointment .btn{grid-column:2;width:max-content}.dashboard-kpi{padding:16px}}

@media(max-width:900px){
  .portal-shell{padding:16px}
  .portal-evolution .chart-grid{grid-template-columns:1fr}
  .portal-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:600px){
  .portal-shell{padding:12px}
  .portal-summary{grid-template-columns:1fr 1fr}

  .portal-header-actions{width:100%}
  .portal-header-actions .btn{flex:1}
  .portal-diet .diet-table th,.portal-diet .diet-table td{font-size:12px;padding:6px}
  .portal-diet .diet-table th:first-child,.portal-diet .diet-table td:first-child{width:62%}
  .portal-diet .diet-table th:last-child,.portal-diet .diet-table td:last-child{width:38%}
}

@media(max-width:720px){.brand-lockup img{width:42px;height:42px}.brand-lockup .brand-text{font-size:16px}}

@media(max-width:800px){.chat-layout{grid-template-columns:1fr;height:auto}.chat-list{max-height:220px}.chat-window{height:560px}.bubble{max-width:86%}}

@media(max-width:700px){.portal-doc-grid{grid-template-columns:1fr}.message-image-preview,.message-image-placeholder{width:100%;max-width:none}}

@media (max-width: 900px){
  .main{padding:20px;max-width:none}
  .top{gap:12px;align-items:flex-start}
  .top .btn{white-space:nowrap}
  .card{padding:16px}
  .table-wrap{-webkit-overflow-scrolling:touch}
  .diet-editor-wrap,.supplement-editor-wrap{-webkit-overflow-scrolling:touch}
}

@media (max-width: 700px){
  body{font-size:15px}
  .layout{display:block;min-height:100vh}
  .sidebar{
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;top:auto!important;
    width:100%!important;height:70px!important;
    padding:6px 5px!important;
    display:flex!important;align-items:stretch!important;
    z-index:1000!important;
    border-top:1px solid rgba(255,255,255,.12);
    box-shadow:0 -5px 18px rgba(20,59,50,.18);
  }
  .sidebar .brand-lockup{display:none!important}
  .sidebar>div:last-child{display:none!important}
  .nav{display:flex!important;align-items:stretch!important;justify-content:space-around!important;width:100%!important;gap:2px!important}
  .nav button{
    flex:1 1 0!important;width:auto!important;min-width:0!important;
    margin:0!important;padding:7px 2px!important;
    border-radius:9px!important;text-align:center!important;
    font-size:10px!important;line-height:1.15!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    white-space:normal!important;color:#d8ebe5!important;
  }
  .nav button.active{background:rgba(255,255,255,.14)!important;color:#fff!important}
  .nav button::first-letter{font-size:18px}
  .nav-unread{position:absolute;margin:0;transform:translate(12px,-10px);min-width:17px;height:17px;font-size:9px}
  .main{
    margin-left:0!important;width:100%!important;max-width:none!important;
    padding:14px 12px 92px!important;
  }
  .top{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
  .top h1{font-size:22px;line-height:1.2}
  .top>.btn{width:100%;min-height:44px}
  .toolbar{gap:8px}
  .toolbar .btn{min-height:44px}
  .search{min-width:0!important;width:100%}
  .cards,.two,.three,.formgrid,.formgrid.two{grid-template-columns:1fr!important}
  .metric{font-size:24px}
  .card{border-radius:14px;padding:14px}
  input,select,textarea{min-height:44px;font-size:16px}
  textarea{min-height:110px}
  .btn{min-height:44px;padding:10px 14px}
  .btn.small{min-height:40px}
  .table{font-size:12px}
  .table th,.table td{padding:7px 6px;white-space:nowrap}
  .chart-card{padding:10px}
  .diet-editor-table,.supplement-editor-table{font-size:12px}
  .portal-shell{padding:10px!important}
}

@media (max-width: 430px){
  .main{padding-left:10px!important;padding-right:10px!important}
  .top h1{font-size:20px}
  .metric{font-size:22px}
  .card{padding:12px}
  .nav button{font-size:9px!important}
  .nav button::first-letter{font-size:17px}
  .portal-header{align-items:flex-start!important}
  .portal-header-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important}
  .portal-header-actions .btn{width:100%!important}
  .portal-summary{grid-template-columns:1fr!important}
}
