/*
 * NovaMed v1.15.3 · FASE 15.5 · ENTREGA D
 * Responsive Global + Auditoría Visual + Consolidación Final
 * Capa final de compatibilidad visual. No contiene lógica clínica.
 */

:root{
  --nm-d-content-max:1640px;
  --nm-d-mobile-gutter:14px;
  --nm-d-table-label:42%;
  --nm-d-focus:0 0 0 4px rgba(8,184,207,.14);
  --nm-d-border:#dce7ed;
  --nm-d-muted:#71899a;
  --nm-d-surface:#fff;
  --nm-d-soft:#f7fafc;
}

/* ---------- Global resilience / accessibility ---------- */
html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{min-width:320px}
img,svg,video,canvas{max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,[tabindex]{-webkit-tap-highlight-color:transparent}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid #55bdcc;
  outline-offset:2px;
  box-shadow:var(--nm-d-focus);
}
:where(.panel,.stat-card,.drawer,.page-head,.form-field,.field,.table-entity,.external-panel-premium,.worker-section-premium){min-width:0}
:where(.page-head h1,.page-head h2,.panel-head h2,.table-entity strong,.table-entity span,.topbar-title,.topbar-breadcrumb,.worker360-main,.client360-identity){overflow-wrap:anywhere}

/* ---------- Application shell consolidation ---------- */
body.nm-ui-v2 .main-wrap{min-width:0}
body.nm-ui-v2 .content-area{width:100%;max-width:var(--nm-d-content-max);margin-inline:auto}
body.nm-ui-v2 .topbar{backdrop-filter:saturate(135%) blur(16px);-webkit-backdrop-filter:saturate(135%) blur(16px)}
body.nm-ui-v2 .topbar-left,body.nm-ui-v2 .topbar-actions{min-width:0}
body.nm-ui-v2 .topbar-context{min-width:0}
body.nm-ui-v2 .topbar-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(54vw,760px)}
body.nm-ui-v2 .topbar-breadcrumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(54vw,760px)}
body.nm-ui-v2 .sidebar-nav{overscroll-behavior:contain}
body.nm-ui-v2 .sidebar-brand img{display:block;object-fit:contain}
body.nm-ui-v2 .workspace-badge>div{min-width:0}
body.nm-ui-v2 .workspace-badge strong,body.nm-ui-v2 .workspace-badge small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.nm-ui-v2 .nav-link span,body.nm-ui-v2 .nav-group-trigger>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- Page headers / action zones ---------- */
body.nm-ui-v2 .page-head{gap:16px;align-items:flex-end}
body.nm-ui-v2 .page-head>div:first-child{min-width:0;flex:1 1 auto}
body.nm-ui-v2 .page-head-actions,body.nm-ui-v2 .page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
body.nm-ui-v2 .page-head-actions .btn,body.nm-ui-v2 .page-actions .btn{min-height:42px}
body.nm-ui-v2 .eyebrow{line-height:1.35}

/* ---------- Form system final pass ---------- */
body.nm-ui-v2 .form-grid,body.nm-ui-v2 .clinical-field-grid{align-items:start}
body.nm-ui-v2 .form-field,body.nm-ui-v2 .field,body.nm-ui-v2 .clinical-field{min-width:0;width:100%}
body.nm-ui-v2 .form-field>label,body.nm-ui-v2 .field>label,body.nm-ui-v2 .clinical-field>label{
  display:block;margin:0 0 7px;color:#355b75;font-size:.72rem;font-weight:780;line-height:1.35
}
body.nm-ui-v2 :is(.form-field,.field,.clinical-field) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]),select,textarea){
  width:100%;max-width:100%;min-width:0
}
body.nm-ui-v2 textarea{resize:vertical;min-height:96px;line-height:1.55}
body.nm-ui-v2 input[type="date"],body.nm-ui-v2 input[type="time"],body.nm-ui-v2 input[type="datetime-local"]{min-width:0}
body.nm-ui-v2 .form-grid.two,body.nm-ui-v2 .form-grid.three{min-width:0}
body.nm-ui-v2 .field-span-2,body.nm-ui-v2 .span-2{min-width:0}
body.nm-ui-v2 .form-hint,body.nm-ui-v2 .clinical-reference{overflow-wrap:anywhere}
body.nm-ui-v2 .file-field{min-width:0}
body.nm-ui-v2 .file-field input[type=file]{width:100%}
body.nm-ui-v2 .check-control,body.nm-ui-v2 .toggle-row{min-width:0}
body.nm-ui-v2 .check-control span,body.nm-ui-v2 .toggle-row span{overflow-wrap:anywhere}

/* Input groups / units: protect clinical screens from native overflow */
body.nm-ui-v2 :is(.clinical-input-wrap,.input-with-unit,.field-with-unit){display:flex;align-items:stretch;min-width:0}
body.nm-ui-v2 :is(.clinical-input-wrap,.input-with-unit,.field-with-unit)>input{min-width:0;flex:1 1 auto}
body.nm-ui-v2 :is(.clinical-field-unit,.input-unit,.field-unit){flex:0 0 auto;white-space:nowrap}

/* ---------- Cards / panels / stats ---------- */
body.nm-ui-v2 .stats-grid,body.nm-ui-v2 .dashboard-grid{min-width:0}
body.nm-ui-v2 .stat-card{overflow:hidden}
body.nm-ui-v2 .stat-card>div{min-width:0}
body.nm-ui-v2 .stat-card strong{line-height:1.05}
body.nm-ui-v2 .panel-head{gap:12px;align-items:flex-start}
body.nm-ui-v2 .panel-head>div:first-child{min-width:0;flex:1 1 auto}
body.nm-ui-v2 .panel-head .btn{flex:0 0 auto}
body.nm-ui-v2 .two-col{min-width:0}

/* ---------- Responsive tables: desktop refinement ---------- */
body.nm-ui-v2 :is(.responsive-table-wrap,.table-wrap){max-width:100%;overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
body.nm-ui-v2 :is(.responsive-table-wrap,.table-wrap):focus-visible{outline:2px solid #70cad7;outline-offset:2px}
body.nm-ui-v2 .data-table{width:100%;min-width:680px}
body.nm-ui-v2 .data-table th{white-space:nowrap}
body.nm-ui-v2 .data-table td{overflow-wrap:anywhere}
body.nm-ui-v2 .data-table .actions-col,body.nm-ui-v2 .data-table .table-actions{white-space:nowrap}
body.nm-ui-v2 .table-entity{min-width:0}
body.nm-ui-v2 .table-entity>div{min-width:0}
body.nm-ui-v2 .table-muted,body.nm-ui-v2 .table-subtle{overflow-wrap:anywhere}

/* ---------- Empty states ---------- */
body.nm-ui-v2 .empty-state,body.nm-ui-v2 .empty-table{
  text-align:center;color:#728a9b
}
body.nm-ui-v2 .empty-state{padding:34px 22px}
body.nm-ui-v2 .empty-state .btn{margin-top:10px}
body.nm-ui-v2 .empty-table{min-height:132px;vertical-align:middle!important}

/* ---------- Drawers: safe area + small screens ---------- */
/* NovaMed v1.15.10 — Drawer Scroll Fix
   El drawer es un flex column de altura de viewport. El header y footer permanecen
   visibles y SOLO el cuerpo central hace scroll. Evita que .drawer-form con
   min-height:100% sume su altura a la cabecera y deje el footer fuera del viewport. */
body.nm-ui-v2 .drawer{
  height:100vh;
  height:100dvh;
  max-height:100vh;
  max-height:100dvh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  overscroll-behavior:contain;
  box-sizing:border-box;
}
body.nm-ui-v2 .drawer-head,body.nm-ui-v2 .drawer-header{
  flex:0 0 auto;
  padding-top:max(18px,env(safe-area-inset-top));
}
body.nm-ui-v2 .drawer-form{
  min-height:0;
  height:auto;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.nm-ui-v2 .drawer-body{
  min-height:0;
  flex:1 1 auto;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
body.nm-ui-v2 .drawer-form>.drawer-body{flex:1 1 auto;min-height:0}
body.nm-ui-v2 .drawer-footer{
  flex:0 0 auto;
  margin-top:0;
  position:relative;
  z-index:2;
  padding-bottom:max(13px,env(safe-area-inset-bottom));
}
/* Drawers antiguos que usan el formulario directamente como .drawer-body */
body.nm-ui-v2 .drawer>form.drawer-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
}

/* ---------- Filters ---------- */
body.nm-ui-v2 .filter-bar,body.nm-ui-v2 .report-filter{min-width:0}
body.nm-ui-v2 .filter-bar>*{min-width:0}
body.nm-ui-v2 .search-field{min-width:180px}
body.nm-ui-v2 .search-field input{min-width:0}

/* ---------- Finance / BI / dense operational screens ---------- */
body.nm-ui-v2 .finance-row>*{min-width:0}
body.nm-ui-v2 .valuation-card,body.nm-ui-v2 .finance-payment-list article{min-width:0}
body.nm-ui-v2 .month-chart{scrollbar-width:thin;scrollbar-color:#cddde6 transparent}
body.nm-ui-v2 .bi-grid>*{min-width:0}
body.nm-ui-v2 .medical-dashboard-strip,body.nm-ui-v2 .phase14-dashboard-strip,body.nm-ui-v2 .phase15-dashboard-strip{min-width:0}

/* ---------- Public / external / portal consolidation ---------- */
.external-portal-premium,.worker-portal-premium,.portal-auth-page,.auth-page,.tenant-login-page{min-width:320px}
.external-portal-premium .external-content,.worker-portal-premium .worker-content{max-width:1460px}
.external-portal-premium :is(.external-panel-premium,.external-stat-grid-premium article),
.worker-portal-premium :is(.worker-section-premium,.worker-summary-premium>article){min-width:0}
.external-portal-premium :is(.external-table-premium,.external-cards-premium),
.worker-portal-premium :is(.worker-card-list){min-width:0}
.worker-bottom-nav{padding-bottom:max(env(safe-area-inset-bottom),4px)}

/* ---------- Toasts / messages ---------- */
.toast{max-width:min(440px,calc(100vw - 28px));overflow-wrap:anywhere}
.toast.is-visible{z-index:140}

/* ---------- Mobile-table card mode (activated by consolidation-d.js) ---------- */
@media(max-width:720px){
  body.nm-ui-v2 :is(.responsive-table-wrap,.table-wrap).nm-table-card-wrap{overflow:visible;border:0;background:transparent}
  body.nm-ui-v2 .data-table.nm-table-card-ready{display:block;min-width:0;border:0;background:transparent}
  body.nm-ui-v2 .data-table.nm-table-card-ready thead{display:none}
  body.nm-ui-v2 .data-table.nm-table-card-ready tbody{display:grid;gap:10px}
  body.nm-ui-v2 .data-table.nm-table-card-ready tr{display:block;background:#fff;border:1px solid var(--nm-d-border);border-radius:16px;padding:8px 12px;box-shadow:0 8px 22px rgba(14,52,78,.045)}
  body.nm-ui-v2 .data-table.nm-table-card-ready td{display:grid;grid-template-columns:minmax(92px,var(--nm-d-table-label)) minmax(0,1fr);gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid #edf2f5;padding:9px 2px;text-align:left!important;min-height:38px}
  body.nm-ui-v2 .data-table.nm-table-card-ready td:last-child{border-bottom:0}
  body.nm-ui-v2 .data-table.nm-table-card-ready td::before{content:attr(data-label);color:#7890a0;font-size:.62rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;line-height:1.25}
  body.nm-ui-v2 .data-table.nm-table-card-ready td[data-label=""],body.nm-ui-v2 .data-table.nm-table-card-ready td:not([data-label]){grid-template-columns:1fr}
  body.nm-ui-v2 .data-table.nm-table-card-ready td[data-label=""]::before,body.nm-ui-v2 .data-table.nm-table-card-ready td:not([data-label])::before{display:none}
  body.nm-ui-v2 .data-table.nm-table-card-ready .table-actions,body.nm-ui-v2 .data-table.nm-table-card-ready .actions-col{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:6px;white-space:normal}
  body.nm-ui-v2 :is(.responsive-table-wrap,.table-wrap).nm-table-scroll-wrap{border-radius:14px;box-shadow:inset -18px 0 20px -22px rgba(15,56,82,.28)}
}

/* ---------- Tablet ---------- */
@media(max-width:980px){
  body.nm-ui-v2 .content-area{max-width:none;padding:22px 20px 34px}
  body.nm-ui-v2 .topbar{padding-inline:18px}
  body.nm-ui-v2 .page-head{align-items:flex-start}
  body.nm-ui-v2 .page-head-actions{max-width:48%}
  body.nm-ui-v2 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.nm-ui-v2 .two-col{grid-template-columns:1fr!important}
  body.nm-ui-v2 .panel-span-2{grid-column:auto!important}
  body.nm-ui-v2 .form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.nm-ui-v2 .form-grid.three>.full,body.nm-ui-v2 .form-grid.three>.field-span-2,body.nm-ui-v2 .form-grid.three>.span-2{grid-column:1/-1}
  body.nm-ui-v2 .medical-dashboard-strip,body.nm-ui-v2 .phase14-dashboard-strip,body.nm-ui-v2 .phase15-dashboard-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- Phone ---------- */
@media(max-width:720px){
  :root{--nm-d-table-label:38%}
  body.nm-ui-v2 .content-area{padding:16px var(--nm-d-mobile-gutter) calc(30px + env(safe-area-inset-bottom))}
  body.nm-ui-v2 .topbar{height:64px;min-height:64px;padding-inline:12px;gap:8px}
  body.nm-ui-v2 .topbar-breadcrumb{display:none}
  body.nm-ui-v2 .topbar-title{font-size:.88rem;max-width:44vw}
  body.nm-ui-v2 .phase-pill{padding:6px 8px;min-height:32px}
  body.nm-ui-v2 .phase-pill>span:last-child{font-size:.58rem}
  body.nm-ui-v2 .user-button{min-width:0;padding:4px 6px}
  body.nm-ui-v2 .user-copy{display:none}
  body.nm-ui-v2 .user-button .avatar{width:34px;height:34px;flex-basis:34px}
  body.nm-ui-v2 .page-head{display:flex;flex-direction:column;align-items:stretch;gap:11px;margin-bottom:16px}
  body.nm-ui-v2 .page-head h1{font-size:clamp(1.55rem,8vw,2rem);line-height:1.08}
  body.nm-ui-v2 .page-head p{font-size:.76rem;line-height:1.55}
  body.nm-ui-v2 .page-head-actions,body.nm-ui-v2 .page-actions{width:100%;max-width:none;justify-content:stretch}
  body.nm-ui-v2 .page-head-actions .btn,body.nm-ui-v2 .page-actions .btn{flex:1 1 150px;justify-content:center}
  body.nm-ui-v2 .panel{padding:15px;border-radius:17px}
  body.nm-ui-v2 .panel-head{flex-direction:column;align-items:stretch;margin-bottom:13px}
  body.nm-ui-v2 .panel-head .btn{align-self:flex-start}
  body.nm-ui-v2 .stats-grid{grid-template-columns:1fr 1fr;gap:9px}
  body.nm-ui-v2 .stat-card{min-height:100px;padding:14px}
  body.nm-ui-v2 .stat-icon{width:42px;height:42px;border-radius:12px}
  body.nm-ui-v2 .stat-card strong{font-size:1.35rem}
  body.nm-ui-v2 .form-grid.two,body.nm-ui-v2 .form-grid.three,body.nm-ui-v2 .clinical-field-grid{grid-template-columns:1fr!important}
  body.nm-ui-v2 .field-span-2,body.nm-ui-v2 .span-2,body.nm-ui-v2 .form-grid.three>*{grid-column:auto!important}
  body.nm-ui-v2 :is(.form-field,.field,.clinical-field) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]),select){min-height:46px!important}
  body.nm-ui-v2 .filter-bar{display:flex;flex-direction:column;align-items:stretch;gap:9px}
  body.nm-ui-v2 .filter-bar>*{width:100%}
  body.nm-ui-v2 .filter-bar .btn{justify-content:center}
  body.nm-ui-v2 .search-field{min-width:0;width:100%}
  body.nm-ui-v2 .drawer{border-left:0;border-radius:0}
  body.nm-ui-v2 .drawer-head,body.nm-ui-v2 .drawer-header{padding-inline:16px}
  body.nm-ui-v2 .drawer-body{padding:16px 14px 22px}
  body.nm-ui-v2 .drawer-footer{display:flex;gap:8px;padding-inline:14px}
  body.nm-ui-v2 .drawer-footer .btn{min-height:46px}
  body.nm-ui-v2 .medical-dashboard-strip,body.nm-ui-v2 .phase14-dashboard-strip,body.nm-ui-v2 .phase15-dashboard-strip{grid-template-columns:1fr!important}
  .toast{left:14px!important;right:14px!important;top:max(12px,env(safe-area-inset-top))!important;width:auto!important}
}

@media(max-width:430px){
  :root{--nm-d-table-label:36%}
  body.nm-ui-v2 .content-area{padding-inline:12px}
  body.nm-ui-v2 .stats-grid{grid-template-columns:1fr}
  body.nm-ui-v2 .page-head-actions .btn,body.nm-ui-v2 .page-actions .btn{flex-basis:100%}
  body.nm-ui-v2 .data-table.nm-table-card-ready td{grid-template-columns:minmax(84px,var(--nm-d-table-label)) minmax(0,1fr);gap:8px}
  .external-stat-grid-premium,.worker-quick-actions{grid-template-columns:1fr 1fr}
}

/* ---------- Print ---------- */
@media print{
  .sidebar,.topbar,.app-footer,.page-head-actions,.page-actions,.toast,.drawer,.drawer-backdrop,.worker-bottom-nav{display:none!important}
  .main-wrap,.content-area{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
  .panel,.stat-card{box-shadow:none!important;break-inside:avoid}
  a{color:inherit;text-decoration:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
/* Entrega E — directorio público / administración de ficha pública */
.public-directory-admin{margin-top:16px}.public-admin-preview{display:grid;grid-template-columns:minmax(250px,.72fr) 1.28fr;border:1px solid var(--line,#dce7ed);border-radius:18px;overflow:hidden;background:#fbfdfe}.public-admin-cover{min-height:190px;background-size:cover;background-position:center;position:relative}.public-admin-logo{position:absolute;left:18px;bottom:18px;width:130px;height:58px;border-radius:12px;background:#fff;border:1px solid #e2ebf0;padding:8px;display:grid;place-items:center;box-shadow:0 12px 26px rgba(9,45,70,.16)}.public-admin-logo img{width:100%;height:100%;object-fit:contain}.public-admin-copy{padding:24px}.public-admin-copy h3{margin:5px 0 8px;font-size:21px;color:#143d5d}.public-admin-copy p{margin:0;color:#758a99;font-size:12px;line-height:1.65}.public-admin-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.public-admin-meta span{padding:6px 9px;border-radius:999px;background:#edf6f8;color:#387087;font-size:9px;font-weight:800}.public-toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.public-card-upload-preview{height:220px;border-radius:16px;background-position:center;background-size:cover;margin-bottom:14px;border:1px solid #dce8ee}.public-directory-admin .card-actions{margin-top:15px}@media(max-width:760px){.public-admin-preview{grid-template-columns:1fr}.public-admin-cover{min-height:170px}.public-toggle-grid{grid-template-columns:1fr}}

/* ========================================================================
   NovaMed v1.15.11 — Drawer Actions Global Audit
   Estructura uniforme para TODOS los drawers del Superadmin y Tenant.
   Header y barra de acciones permanecen visibles; solo el contenido central
   hace scroll. Se cubren formularios legacy con o sin clase .drawer-form.
   ======================================================================== */
body.nm-ui-v2 .drawer{
  inset-block:0;
  height:100vh;
  height:100dvh;
  max-height:100dvh;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
body.nm-ui-v2 .drawer > .drawer-head,
body.nm-ui-v2 .drawer > .drawer-header{
  flex:0 0 auto!important;
  position:relative;
  z-index:4;
}
body.nm-ui-v2 .drawer > form,
body.nm-ui-v2 .drawer > form.drawer-form{
  flex:1 1 0!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%;
}
body.nm-ui-v2 .drawer > form > .drawer-body,
body.nm-ui-v2 .drawer > .drawer-body{
  flex:1 1 0!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:28px;
}
body.nm-ui-v2 .drawer > form > .drawer-footer,
body.nm-ui-v2 .drawer > .drawer-footer{
  flex:0 0 auto!important;
  position:relative!important;
  inset:auto!important;
  z-index:8!important;
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-height:70px;
  margin:0!important;
  padding:12px 22px max(12px,env(safe-area-inset-bottom))!important;
  border-top:1px solid #dce8ef;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 -12px 28px rgba(10,48,76,.08);
  backdrop-filter:blur(12px);
}
body.nm-ui-v2 .drawer-footer .btn{
  min-height:42px;
}
body.nm-ui-v2 .drawer-footer .btn-primary,
body.nm-ui-v2 .drawer-footer .btn:not(.btn-ghost):not(.btn-secondary){
  min-width:150px;
}
body.nm-ui-v2 .drawer .drawer-body::-webkit-scrollbar{width:8px}
body.nm-ui-v2 .drawer .drawer-body::-webkit-scrollbar-thumb{background:#c9d9e3;border-radius:999px;border:2px solid #fff}
body.nm-ui-v2 .drawer .drawer-body::-webkit-scrollbar-track{background:transparent}

/* Protección contra formularios legacy donde .drawer-body vive en el <form>. */
body.nm-ui-v2 .drawer > form.drawer-body{
  padding:0!important;
  overflow:hidden!important;
}
body.nm-ui-v2 .drawer > form.drawer-body > :not(.drawer-footer){
  min-width:0;
}

@media(max-width:760px){
  body.nm-ui-v2 .drawer > form > .drawer-footer,
  body.nm-ui-v2 .drawer > .drawer-footer{
    min-height:68px;
    padding-inline:14px!important;
  }
  body.nm-ui-v2 .drawer-footer .btn{flex:1;min-width:0}
}
