/* Shared shrink/wrap rules, with scrollable data tables rather than clipped pages. */
.main-area,.auth-area,.page-wrap,.card,.saas-card,.system-grid>*,.two-col>*,.food-layout>*,.metrics>*,.settings-navigation,.alerts-settings-grid>*{min-width:0}
.page-wrap img,.page-wrap video,.page-wrap canvas{max-width:100%}
.page-wrap input,.page-wrap select,.page-wrap textarea{max-width:100%;min-width:0}
.page-wrap button,.page-wrap .primary-btn,.page-wrap .secondary-btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.section-head,.page-heading,.row-actions,.saas-actions,.page-monitor-actions{flex-wrap:wrap;min-width:0}
.section-head>*,.page-heading>*,.manage-row>*,.device-row>*{min-width:0}
.table-scroll{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
.top-actions>button,.top-actions>form>button{min-height:40px;height:40px}.top-actions>button svg{width:18px;height:18px}
.settings-sections,.settings-pages{max-width:100%;min-width:0}.settings-navigation a{white-space:normal;overflow-wrap:anywhere}
@media(max-width:980px){.topbar{justify-content:space-between;padding:0 16px}.mobile-brand{display:inline-flex;margin-right:auto;color:var(--primary-strong);text-decoration:none}.page-wrap .two-col{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
 .page-wrap{padding-left:14px;padding-right:14px}.page-wrap .saas-card{padding:20px;margin:10px 0;max-width:100%}
 .settings-sections{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.settings-sections a{justify-content:center;text-align:center;padding:10px 5px;font-size:13px}
 .settings-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible;padding:0}.settings-pages a{border:1px solid #d5e0ef;border-radius:10px;justify-content:center;text-align:center;min-height:44px;padding:9px 7px;font-size:13px}.settings-pages a.active{border:1px solid #174a8b;background:#edf4fc;color:#174a8b}
 .manage-row{flex-wrap:wrap}.manage-row>.row-actions{flex:1 1 100%;justify-content:flex-end;gap:16px}.section-head{gap:12px}.section-head .action-row{margin:0}
 .system-grid>.card,.customer-list{padding:20px}.saas-card .recovery-codes{grid-template-columns:minmax(0,1fr);padding:14px}.target-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .setup-choice{gap:8px}.setup-choice button{padding:16px 10px}.basal-dialog{padding:20px}.food-result .food-detail,.saved-food .food-detail{padding:18px 14px}
}
@media(max-width:520px){
 .topbar{min-height:64px;height:auto;padding:8px 10px;gap:6px}.top-actions{gap:5px;flex:none}.mobile-brand>.wordmark{font-size:23px}
 .top-actions .top-label,.top-actions .learn-button span{display:none}.top-actions .menu-trigger,.top-actions .learn-button,.top-actions .notification-bell{width:44px;height:44px;min-height:44px;padding:10px;gap:0}
 .top-actions>form>button{height:44px;min-height:44px;padding:8px;font-size:12px}.top-actions .menu-trigger>span[aria-hidden]{font-size:18px}.top-actions button svg{width:18px;height:18px}
 .plan-grid{grid-template-columns:minmax(0,1fr)}.filter-toolbar label{min-width:0;flex-basis:100%}.filter-toolbar .filter-submit{flex:1 1 100%}.threshold-grid{grid-template-columns:minmax(0,1fr)}
 .row-actions{gap:10px}.page-wrap .action-row>*{min-width:0}.setup-next-grid{grid-template-columns:minmax(0,1fr)}
}
.live-status{padding:12px 16px;border-radius:12px;background:#fff4dc;color:#70480c;font-weight:600;overflow-wrap:anywhere}
.recent-dose time{font-weight:650;color:#203b5b}.recent-dose strong{white-space:normal}
.manual-reading-note{color:#435b77;font-size:.95rem;line-height:1.6;margin:12px 0 22px;padding:10px 14px;border-left:3px solid #80a5d4;background:#edf4fc;border-radius:0 10px 10px 0;overflow-wrap:anywhere}
.calc-skip-insulin{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:.95rem}.calc-skip-insulin input{flex:0 0 auto;width:20px;height:20px}
.insulin-review-notice{margin:18px 0;border-left:4px solid #356caa}.insulin-review-notice p{margin:8px 0 14px}
.review-dose-form{display:grid;gap:18px;max-width:680px}.review-dose-field{display:grid;gap:7px;min-width:0}.review-dose-field label{font-weight:650}.review-dose-field input[type=checkbox]{width:22px;height:22px}.review-dose-form .primary-btn{justify-self:start;white-space:normal}.review-dose-field select{width:100%;max-width:100%}

/* Full-bleed backgrounds, with controls inside the device's usable screen. */
:root{--screen-top:env(safe-area-inset-top,0px);--screen-right:env(safe-area-inset-right,0px);--screen-bottom:env(safe-area-inset-bottom,0px);--screen-left:env(safe-area-inset-left,0px)}
.topbar{height:auto;min-height:calc(64px + var(--screen-top));padding-top:calc(8px + var(--screen-top));padding-bottom:8px;padding-right:max(16px,var(--screen-right));padding-left:max(16px,var(--screen-left))}
.page-wrap{padding-bottom:calc(104px + var(--screen-bottom))}
.auth-area{padding-top:var(--screen-top)}
@media(max-width:980px){
 .page-wrap{padding-left:max(18px,var(--screen-left));padding-right:max(18px,var(--screen-right))}
 .main-area{padding-bottom:calc(100px + var(--screen-bottom))!important}
 .calc-card .live-result{top:calc(66px + var(--screen-top))!important}
 .mobile-primary{padding-left:max(8px,var(--screen-left));padding-right:max(8px,var(--screen-right))}
 .mobile-nav{padding-top:calc(22px + var(--screen-top));padding-right:max(22px,var(--screen-right));padding-bottom:calc(22px + var(--screen-bottom))}
 .quick-fab{right:max(20px,var(--screen-right));bottom:calc(90px + var(--screen-bottom))}
 .quick-menu{right:max(20px,var(--screen-right));bottom:calc(154px + var(--screen-bottom));max-width:calc(100vw - var(--screen-left) - var(--screen-right) - 36px)}
 .async-toast{right:max(18px,var(--screen-right));bottom:calc(88px + var(--screen-bottom));max-width:calc(100vw - var(--screen-left) - var(--screen-right) - 36px)}
 .notification-menu{right:max(16px,var(--screen-right));max-width:calc(100vw - var(--screen-left) - var(--screen-right) - 32px)}
 .overlay{padding-top:calc(16px + var(--screen-top));padding-right:max(16px,var(--screen-right));padding-bottom:calc(16px + var(--screen-bottom));padding-left:max(16px,var(--screen-left))}
 .term-modal,.learn-panel{max-height:calc(100dvh - var(--screen-top) - var(--screen-bottom) - 32px)}
 .basal-dialog{max-width:calc(100vw - var(--screen-left) - var(--screen-right) - 32px);max-height:calc(100dvh - var(--screen-top) - var(--screen-bottom) - 32px)}
}
@media(max-width:600px){.notification-menu{top:calc(76px + var(--screen-top));max-height:calc(100dvh - var(--screen-top) - var(--screen-bottom) - 100px)}}
