/* FLYDISH MAÎTRE · capa responsive común
   Sólo corrige composición y tactilidad; conserva el lenguaje Liquid Glass. */
:root{--fd-safe-bottom:env(safe-area-inset-bottom,0px)}
html{width:100%;max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:100%;overflow-x:hidden}
img,video,canvas,svg{max-width:100%}
button,a,input,select,textarea,pre{max-width:100%}
pre{white-space:pre-wrap;overflow-wrap:anywhere}

@media(max-width:820px){
  body:not([data-page="flydish"]){font-size:15px;overflow-wrap:anywhere}
  body:not([data-page="flydish"]) main,
  body:not([data-page="flydish"]) .wrap{width:100%;max-width:100%;padding-left:14px;padding-right:14px}
  body:not([data-page="flydish"]) nav{max-width:100%;gap:8px!important}
  body:not([data-page="flydish"]) nav a,
  body:not([data-page="flydish"]) nav button{min-height:44px}
  body:not([data-page="flydish"]) .glass,
  body:not([data-page="flydish"]) .lam,
  body:not([data-page="flydish"]) .card{max-width:100%;overflow-wrap:anywhere}
  body:not([data-page="flydish"]) input,
  body:not([data-page="flydish"]) select,
  body:not([data-page="flydish"]) textarea{font-size:16px!important}
}

/* Portada, autenticación, comensal y Mission Control. */
@media(max-width:820px){
  [data-page="flydish"] .screen{overflow-y:auto;overflow-x:hidden;align-items:flex-start}
  [data-page="flydish"] .screen-in{width:100%;min-height:100%;padding:18px 12px 34px}
  [data-page="flydish"] .gate{width:100%;max-width:640px;margin:auto}
  [data-page="flydish"] .brand{margin-bottom:12px}
  [data-page="flydish"] .gate>h1{font-size:clamp(31px,10vw,48px);line-height:1.02}
  [data-page="flydish"] .gate>.sub{font-size:12px;line-height:1.55}
  [data-page="flydish"] .ares-intro{margin-bottom:18px;padding:16px 14px}
  [data-page="flydish"] .doors{gap:12px}
  [data-page="flydish"] .door{min-height:0;padding:18px}
  [data-page="flydish"] .auth-card{width:min(100%,520px);padding:18px}

  [data-page="flydish"] #console.on{width:100%;height:100dvh;min-height:0}
  [data-page="flydish"] .app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) calc(66px + var(--fd-safe-bottom));height:100dvh;min-width:0}
  [data-page="flydish"] .top{min-width:0;min-height:64px;height:auto;padding:8px 10px;gap:7px;flex-wrap:nowrap}
  [data-page="flydish"] .crumb{min-width:0;flex:1 1 auto;gap:5px;align-items:center}
  [data-page="flydish"] .crumb h1{font-size:14px;line-height:1.15;white-space:normal}
  [data-page="flydish"] .crumb .sub{display:none}
  [data-page="flydish"] .cmd{display:none}
  [data-page="flydish"] .top-right{min-width:0;margin-left:0;gap:5px;flex:0 1 auto}
  [data-page="flydish"] .datamode,
  [data-page="flydish"] .sysbadge{font-size:9px;padding:5px 7px;white-space:nowrap;letter-spacing:.035em}
  [data-page="flydish"] .top-right .btn{width:38px;min-width:38px;height:36px;padding:0;font-size:0;display:grid;place-items:center}
  [data-page="flydish"] .top-right .btn svg{width:16px;height:16px}
  [data-page="flydish"] .main{min-width:0;padding:12px 10px 20px;overscroll-behavior:contain}
  [data-page="flydish"] .view{min-width:0}
  [data-page="flydish"] .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
  [data-page="flydish"] .kpi{min-width:0;padding:12px;border-radius:16px}
  [data-page="flydish"] .kpi .fd-label{min-height:2.25em;font-size:9px;line-height:1.15;letter-spacing:.055em;overflow-wrap:anywhere}
  [data-page="flydish"] .kpi .v{font-size:22px;margin:7px 0 5px}
  [data-page="flydish"] .kpi .d{font-size:10px;line-height:1.3;overflow-wrap:anywhere}
  [data-page="flydish"] .stage{min-height:0!important;margin-bottom:12px;overflow:hidden}
  [data-page="flydish"] .stage-head{position:relative;inset:auto;padding:16px 14px 8px;max-width:100%}
  [data-page="flydish"] .stage-head h2{font-size:22px;line-height:1.1}
  [data-page="flydish"] .stage-head p{font-size:10px;line-height:1.4}
  [data-page="flydish"] .stage-tools{position:relative;inset:auto;padding:0 14px 4px;max-width:100%;flex-wrap:wrap}
  [data-page="flydish"] .stage-tools .tag{white-space:normal;font-size:8.5px;line-height:1.35}
  [data-page="flydish"] #core-svg{display:block;width:100%;height:auto!important;min-height:250px!important;aspect-ratio:1000/620;overflow:visible}
  [data-page="flydish"] .maitre-out{padding:14px;grid-template-columns:1fr;gap:7px}
  [data-page="flydish"] .grid2,
  [data-page="flydish"] .cm-grid,
  [data-page="flydish"] .ph-bar,
  [data-page="flydish"] .hc-grid{grid-template-columns:minmax(0,1fr)!important}
  [data-page="flydish"] .cm-head{align-items:flex-start;gap:10px;flex-wrap:wrap}
  [data-page="flydish"] .cm-head .spacer{display:none}
  [data-page="flydish"] .cm-phone{width:100%;max-width:100%}
  [data-page="flydish"] .cm-actions{display:grid;grid-template-columns:1fr 1fr}
  [data-page="flydish"] .ph-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  [data-page="flydish"] .card{padding:14px}
  [data-page="flydish"] .hc-table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  [data-page="flydish"] .hc-actions{display:grid;grid-template-columns:1fr;gap:8px}
  [data-page="flydish"] .rail{position:relative;z-index:20;height:calc(66px + var(--fd-safe-bottom));padding:0 6px var(--fd-safe-bottom);gap:2px;background:rgba(7,12,24,.96);backdrop-filter:blur(18px)}
  [data-page="flydish"] .rail .nav-item.m-mobile{width:48px;height:52px;flex:0 0 48px}

  [data-page="flydish"] #guest{height:100dvh;min-width:0}
  [data-page="flydish"] .g-top{padding:8px 10px;gap:8px}
  [data-page="flydish"] .g-top .n{min-width:0}
  [data-page="flydish"] .g-top .n b,
  [data-page="flydish"] .g-top .n span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  [data-page="flydish"] .g-main{min-width:0;padding:12px 10px calc(76px + var(--fd-safe-bottom))}
  [data-page="flydish"] .g-nav{height:calc(64px + var(--fd-safe-bottom));padding-bottom:var(--fd-safe-bottom)}
}

@media(max-width:390px){
  [data-page="flydish"] .datamode{max-width:76px;overflow:hidden;text-overflow:ellipsis}
  [data-page="flydish"] .sysbadge{padding-inline:6px}
  [data-page="flydish"] .kpi{padding:10px}
  [data-page="flydish"] .ph-grid{grid-template-columns:1fr!important}
}

/* Camarero QR. */
@media(max-width:560px){
  [data-page="camarero"] .shell{padding:10px 10px calc(146px + var(--fd-safe-bottom))}
  [data-page="camarero"] .top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:12px}
  [data-page="camarero"] .top .who{min-width:0}
  [data-page="camarero"] .top .who b,
  [data-page="camarero"] .top .who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  [data-page="camarero"] .back-home{grid-column:1/-1;width:100%;min-height:42px}
  [data-page="camarero"] .controls{display:grid;grid-template-columns:1fr;gap:8px}
  [data-page="camarero"] .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;min-height:112px;padding:8px 10px calc(8px + var(--fd-safe-bottom));gap:7px}
  [data-page="camarero"] .actions .btn{width:100%;min-height:44px;font-size:11px;padding:8px}
}

/* Director y editores de restaurante. */
@media(max-width:640px){
  [data-page="director"] .wrap{padding-top:14px;padding-bottom:40px}
  [data-page="director"] .director{width:100%;min-height:150px;padding:24px 16px}
  [data-page="director"] .director .nombre{font-size:42px}
  [data-page="director"] .par,
  [data-page="director"] .rej{grid-template-columns:1fr!important}
  [data-page="director"] .lam{padding:18px 15px}
  [data-page="director"] .fila{align-items:flex-start;flex-wrap:wrap}
  [data-page="director"] .fila .btn{margin-left:auto;min-height:42px}
  [data-page="director"] .aprobar>div[style]{display:grid!important;grid-template-columns:1fr;gap:8px!important}

  [data-page="panel"] .wrap{padding-left:12px;padding-right:12px}
  [data-page="panel"] .lam,
  [data-page="carta"] .lam{padding:17px 14px}
  [data-page="panel"] .barra,
  [data-page="carta"] .barra{align-items:stretch;flex-direction:column}
  [data-page="panel"] .barra .btn,
  [data-page="carta"] .barra .btn{width:100%}
  [data-page="panel"] .fila,
  [data-page="carta"] .fila{align-items:flex-start;flex-wrap:wrap}
}

/* Mando AR€S y puerta paralela. */
@media(max-width:700px){
  [data-page="ares"] main,
  [data-page="acceso-ares"] main{padding:16px 12px 42px}
  [data-page="ares"] nav,
  [data-page="acceso-ares"] nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  [data-page="ares"] nav a,
  [data-page="ares"] nav button,
  [data-page="acceso-ares"] nav a{width:100%;padding:9px 8px;font-size:13px}
  [data-page="ares"] header{margin:24px auto 28px}
  [data-page="ares"] h1,
  [data-page="acceso-ares"] h1{font-size:clamp(30px,11vw,48px);overflow-wrap:anywhere}
  [data-page="ares"] .glass{padding:17px 14px;border-radius:20px}
  [data-page="ares"] .row{align-items:flex-start;flex-direction:column}
  [data-page="ares"] .balance{white-space:normal}
}

/* Mando universal. */
@media(max-width:640px){
  [data-page="universal"] .wrap{padding:16px 12px 44px}
  [data-page="universal"] .top{align-items:flex-start;flex-direction:column;gap:10px}
  [data-page="universal"] h1{font-size:34px}
  [data-page="universal"] .lam{padding:17px 14px}
  [data-page="universal"] .fila{grid-template-columns:1fr!important;gap:7px;padding:14px 0}
  [data-page="universal"] .fila .acc{justify-content:flex-start;flex-wrap:wrap}
  [data-page="universal"] .firma .acc{align-items:stretch;flex-direction:column}
}

/* Marketing y operaciones. */
@media(max-width:600px){
  [data-page="marketing"] .menu{grid-template-columns:1fr!important}
  [data-page="marketing"] .panel,
  [data-page="operaciones"] .card{padding:17px 14px;border-radius:20px}
  [data-page="marketing"] textarea{min-height:210px}
  [data-page="marketing"] .run,
  [data-page="marketing"] .back{width:100%;margin:6px 0}
  [data-page="operaciones"] .top{display:flex;align-items:flex-start;flex-direction:column}
  [data-page="operaciones"] .form .btn,
  [data-page="operaciones"] .form button{width:100%}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
}
