* {
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: 18px !important;
}

input, textarea, select {
  font-size: 18px !important;
}

button {
  font-size: 18px !important;
}

label {
  font-size: 18px !important;
}

p, span, div {
  font-size: inherit;
}


:root{
  --coral:#FF385C;--coral-light:#FFF0F3;--coral-dark:#E0314F;
  --teal:#00A699;--teal-light:#E6F9F7;--teal2:#00A699;
  --black:#222222;--gray1:#222222;--gray2:#222222;--gray3:#222222;
  --border:rgba(111,193,182,0.3);--bg:#FFFFFF;--white:#FFFFFF;
  --danger:#FF385C;--danger-bg:#FFF0F3;
  --ef-b:#FEF9C3;--ef:#854D0E;--bz-b:#EDE9FE;--bz:#6D28D9;
  --tr-b:#DBEAFE;--tr:#1D4ED8;--tj-b:#FCE7F3;--tj:#9D174D;
  --r:10px;--rl:16px;--pad:20px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{height:100%;height:-webkit-fill-available}
body{height:100%;min-height:-webkit-fill-available;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--black);font-size:19px}
#app{position:fixed;top:0;left:0;right:0;bottom:0;max-width:600px !important;margin:0 auto;display:flex;flex-direction:column;background:var(--white);box-shadow:0 0 40px rgba(0,0,0,.08);padding-top:env(safe-area-inset-top,0px)}
.scr{display:none;flex-direction:column;flex:1;min-height:0}.scr.on{display:flex}
.sb{flex:1;min-height:0;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}

/* TOPBAR */
.top{background:var(--white);border-bottom:1px solid var(--border);padding:14px var(--pad);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}
.top h1{font-size:25px;font-weight:800;color:var(--black)}.top .sub{font-size:19px;color:var(--gray2);margin-top:1px}
.ibt{background:none;border:none;color:var(--gray2);cursor:pointer;padding:6px;border-radius:var(--r);font-size:25px !important;display:flex;align-items:center}
.ibt:active{background:var(--teal-light)}
.top .ibt{font-size:28px !important;min-width:44px;min-height:44px;justify-content:center}
.hc{color:#00A699}

/* NAVBAR */
.nav{background:var(--white);border-top:2px solid var(--teal2);display:flex;flex-shrink:0;padding:8px 0 calc(12px + env(safe-area-inset-bottom,0px));position:fixed;bottom:0;left:0;right:0;z-index:9999}
.ni{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;background:none;border:none;padding:4px 2px}
.ni i{font-size:25px;color:#444444}.ni span{font-size:16px;color:#444444;font-weight:500}
.ni.on i,.ni.on span{color:#00A699}
.nfw{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}
#imp-banner{display:none;background:#FF385C;color:#fff;padding:8px 16px;font-size:16px;font-weight:600;text-align:center;flex-shrink:0;align-items:center;justify-content:center;gap:12px}
#imp-banner button{background:rgba(0,0,0,.2);border:none;color:#fff;border-radius:6px;padding:3px 10px;font-size:16px;font-weight:700;cursor:pointer}
.fabl{font-size:19px;color:var(--gray2);margin-top:3px;font-weight:500}

/* LOGIN */
#sl{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--white);justify-content:center;align-items:center;overflow:hidden;padding-left:var(--pad);padding-right:var(--pad);z-index:10001}
#sreg{background:var(--white);justify-content:flex-start;align-items:center;padding-top:40px;padding-left:var(--pad);padding-right:var(--pad);padding-bottom:40px;min-height:100dvh;overflow-y:auto}
.logo{font-size:42px;font-weight:800;color:var(--black);letter-spacing:-1.5px;margin-bottom:8px;text-align:center}
.logo span{color:var(--coral)}.lsub{font-size:19px;color:var(--gray2);margin-bottom:40px;text-align:center}
.lf{width:88%;max-width:480px;margin:0 auto;overflow-y:auto;max-height:100%;padding:0 0 40px}.lf .fd{margin-bottom:16px}
.lf label{font-size:19px;color:var(--gray1);display:block;margin-bottom:5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.lf input{width:100%;padding:14px 16px;background:var(--white);border:1.5px solid var(--border);border-radius:var(--r);font-size:19px;color:var(--black);outline:none;font-family:inherit}
.lf input:focus{border-color:var(--teal2)}
.lbtn{width:100%;padding:15px;background:var(--coral);color:var(--white);font-size:19px;font-weight:700;border-radius:var(--r);border:none;cursor:pointer;margin-top:8px}
.lbtn:active{background:var(--coral-dark)}
.lerr{color:var(--coral);font-size:19px;margin-top:10px;min-height:20px;text-align:center;font-weight:500}

/* DATE NAV */
.dnav{display:flex;align-items:center;justify-content:center;gap:20px;padding:8px var(--pad);background:var(--bg);flex-shrink:0;margin:16px 0}
.dnav button{background:none;border:none;color:var(--coral);cursor:pointer;padding:6px 10px;border-radius:var(--r);font-size:23px !important;display:flex}
.dnav button:active{background:var(--coral-light)}
.dnav span{font-size:22px;font-weight:600;color:var(--black);min-width:80px;text-align:center}

/* SECTION HEADER */
.sh{font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray2);padding:8px var(--pad) 4px;background:var(--white)}

/* THERAPIST ROWS */
.tr2{display:flex;align-items:center;gap:12px;padding:5px var(--pad);background:var(--white)}
.dot{width:13px;height:13px;border-radius:50%;flex-shrink:0}.dot.f{background:var(--teal)}.dot.b{background:var(--coral)}
.tn{flex:1;min-width:0;font-size:20px;color:#222222;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbg{font-size:16px;padding:3px 11px;border-radius:20px;font-weight:700}
.tbg.f{background:var(--teal-light);color:var(--teal)}.tbg.b{background:var(--coral-light);color:var(--coral)}

/* COBROS */
.cl{padding:4px var(--pad) 10px;background:var(--white)}
.cr{display:flex;justify-content:space-between;align-items:center;padding:8px 0}
.cr:last-child{border-bottom:none}
.cr .l{font-size:18px;color:var(--gray2)}.cr .v{font-size:18px;font-weight:600;color:var(--black)}
.ctr{display:flex;justify-content:space-between;align-items:center;padding:8px var(--pad) 8px;background:var(--white)}
.ctr .l{font-size:19px;font-weight:700;color:var(--black)}.ctr .v{font-size:25px;font-weight:800;color:var(--coral)}

/* SUMMARY CARDS */
.sum-card{background:var(--bg);border-radius:var(--r);padding:12px 16px;margin:0 var(--pad) 10px}
.sum-card .sum-lbl{font-size:18px;color:var(--gray2);margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.sum-card .sum-val{font-size:25px;font-weight:800;color:var(--black)}
.sum-card .sum-sub{font-size:18px;color:var(--gray2);margin-top:2px}

/* TABS */
.tabs{display:flex;gap:8px;padding:10px var(--pad) 8px;background:var(--white);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto}
.tab{font-size:16px;padding:6px 14px;border-radius:20px;border:1.5px solid var(--border);color:var(--gray2);background:var(--white);cursor:pointer;font-weight:600;white-space:nowrap}
.tab.on{background:var(--coral);color:var(--white);border-color:var(--coral)}

/* TABLE */
.tw{overflow-x:auto}
table.sv{width:100%;border-collapse:collapse;font-size:18px}
table.sv thead tr{background:var(--bg)}
table.sv th{font-size:17px;font-weight:700;color:#222222;padding:8px 10px;text-align:left;border-bottom:1.5px solid var(--border);white-space:nowrap;background:var(--bg)}
table.sv td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--black);white-space:nowrap;vertical-align:middle}
table.sv tr:nth-child(even) td{background:var(--white)}
table.sv tr:active td{background:var(--coral-light)}
table.sv tr.tot td{background:var(--white)!important;font-weight:800;border-top:2px solid var(--border);font-size:18px;color:var(--coral)}
.amt{color:var(--coral);text-align:right}.amt-bold{font-weight:700;color:var(--coral);text-align:right}.num{text-align:right}
.pp{font-size:16px;padding:2px 8px;border-radius:10px;font-weight:700;display:inline-block}
.pp.ef{background:var(--ef-b);color:var(--ef)}.pp.bz{background:var(--bz-b);color:var(--bz)}
.pp.tr{background:var(--tr-b);color:var(--tr)}.pp.tj{background:var(--tj-b);color:var(--tj)}

/* FORM */
.fb{padding:var(--pad);background:var(--white)}
.fs{font-size:20px;font-weight:700;color:#222222;text-transform:uppercase;border-bottom:2px solid #00A699;padding-bottom:5px;margin:28px 0 12px;display:flex;align-items:baseline;justify-content:space-between}
.fs:first-child{margin-top:0}
.fs.coral{border-bottom-color:#FF385C}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.fd label{font-size:17px;font-weight:400;letter-spacing:normal;text-transform:none;color:#222222;display:block;margin-bottom:5px}
.fd input,.fd select,.fd textarea{width:100%;padding:12px 14px;height:50px;box-sizing:border-box;border:1.5px solid #00A699;border-radius:var(--r);font-size:20px;color:var(--black);background:var(--white);outline:none;font-family:inherit;-webkit-appearance:none;appearance:none}
.fd textarea{height:80px}
.fd input:focus,.fd select:focus{border-color:var(--teal2)}
.fd textarea{resize:none;height:80px}
.fd input[readonly]{background:var(--bg);color:var(--gray2)}
#sn .fd label{font-size:18px}
#sn .fd input,#sn .fd select,#sn .fd textarea{font-size:21px}
.cobro-blk{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r);padding:14px 16px;margin-bottom:12px}
.cobro-blk-title{font-size:18px;font-weight:800;color:var(--black);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}
.btnP{width:100%;padding:15px;background:var(--teal);color:var(--white);font-size:19px;font-weight:700;border-radius:var(--r);border:none;cursor:pointer;margin-top:16px}
.btnP:active{background:var(--coral-dark)}
.btnS{padding:12px 18px;background:var(--white);color:var(--black);font-size:17px;font-weight:700;border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer}
.btnS:active{background:var(--teal-light)}
.btnD{padding:12px 18px;background:var(--coral-light);color:var(--coral);font-size:17px;font-weight:700;border:1.5px solid var(--coral-light);border-radius:var(--r);cursor:pointer}

/* LIQ */
.lc{margin:10px var(--pad);background:var(--white);border:1.5px solid var(--border);border-radius:var(--rl);padding:16px;cursor:pointer;transition:box-shadow .15s}
.lc:active{box-shadow:0 4px 16px rgba(0,0,0,.1)}
.ln{font-size:20px;font-weight:700;color:var(--black)}.lm{font-size:18px;color:var(--gray2);margin-top:3px}
.la{font-size:23px;font-weight:800;color:var(--coral);text-align:right}
.bdg{font-size:18px;padding:3px 10px;border-radius:20px;font-weight:700;display:inline-block;margin-top:5px}
.bdg.pd{background:var(--ef-b);color:var(--ef)}.bdg.pk{background:var(--teal-light);color:var(--teal)}
.ltb{background:var(--coral);border-radius:var(--r);margin:14px var(--pad);padding:16px;display:flex;justify-content:space-between;align-items:center}
.ltb .l{font-size:16px;color:rgba(255,255,255,.8)}.ltb .v{font-size:28px;font-weight:800;color:var(--white)}
.lbr{margin:0 var(--pad) 14px;border-top:2px solid #222222;padding-top:10px}
.lbrr{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);font-size:20px}
.lbrr .l{color:#222222}.lbrr .v{font-weight:700;color:#222222}
.lbrr.tt .l{font-weight:700;color:var(--black)}.lbrr.tt .v{font-weight:800;color:var(--coral);font-size:20px}

/* MODAL */
.mo{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;display:none;align-items:flex-end;overflow:hidden}
.mo.on{display:flex}
.md{background:var(--white);border-radius:20px 20px 0 0;width:100%;max-height:90vh;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:24px var(--pad) 36px}
.mt{font-size:21px;font-weight:800;color:var(--black);margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}
.mc{background:var(--bg);border:none;color:var(--gray1);font-size:21px;cursor:pointer;display:flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%}#mpm{align-items:center;justify-content:center}#mpm .md{border-radius:16px;max-width:min(500px,90vw);width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:24px 20px 28px}
.frow{margin-bottom:6px}
.frow label{font-size:18px;color:var(--gray2);display:block;margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.frow select,.frow input{width:100%;padding:8px 12px;height:44px;box-sizing:border-box;border:1.5px solid var(--border);border-radius:var(--r);font-size:20px;background:var(--white);color:var(--black);-webkit-appearance:none;font-family:inherit}
.frow select:focus,.frow input:focus{border-color:var(--teal2);outline:none}

/* SETTINGS */
.scard{background:var(--white);border-radius:var(--rl);overflow:hidden;margin-bottom:4px}
.srow{display:flex;align-items:center;justify-content:space-between;padding:8px var(--pad);cursor:pointer}
.srow:active{background:var(--teal-light)}
.srow .l{font-size:21px;color:var(--black);font-weight:500}

/* SETTINGS ACCORDION */
.acc-item{background:#fff;border-bottom:1px solid var(--border)}
.acc-item:last-child{border-bottom:none}
.acc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0;cursor:pointer;user-select:none}
.acc-title{font-size:19px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#00A699}
.acc-chevron{color:#00A699;font-size:22px;transition:transform .3s ease;flex-shrink:0}
.acc-item.open>.acc-head .acc-chevron{transform:rotate(180deg)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .35s ease;background:#fff}
.acc-item.open>.acc-body{max-height:4000px}
.acc-body-inner{padding:0 0 20px}
.acc-blurb{font-size:18px;color:#333333;line-height:1.5;margin:0 0 14px}

/* NOTIF SWITCH */
.notif-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.notif-label{font-size:18px;color:#333333;font-weight:600}
.switch{position:relative;display:inline-block;width:54px;height:32px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.switch-slider{position:absolute;inset:0;background:#FF385C;transition:background .25s ease;border-radius:32px;cursor:pointer}
.switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:3px;top:3px;background:#fff;transition:transform .25s ease;border-radius:50%}
.switch input:checked+.switch-slider{background:#00A699}
.switch input:checked+.switch-slider:before{transform:translateX(22px)}
.switch input:disabled+.switch-slider{opacity:.6;cursor:default}

/* CENTRO SEL */
.centro-sel{background:var(--teal2);border:none;color:#FFFFFF;font-size:16px;font-weight:700;padding:6px 28px 6px 12px;border-radius:20px;cursor:pointer;-webkit-appearance:none;font-family:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%23FFFFFF' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}

/* MISC */
.emp{text-align:center;padding:56px var(--pad);color:var(--gray2)}.emp i{font-size:48px;margin-bottom:14px;display:block}.emp p{font-size:19px}
.help-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:none;cursor:pointer;padding:12px 2px;font-size:17px;color:#444444;font-weight:500;border-bottom:3px solid transparent}
.help-tab i{font-size:24px}.help-tab.on{color:#00A699;border-bottom-color:#00A699}
#help-panel *{color:#111111 !important;opacity:1 !important}
#help-panel .help-tab.on,#help-panel .help-tab.on i,#help-panel .help-tab.on span{color:#00A699 !important}
.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#222222;color:var(--white);font-size:18px;padding:14px 16px;border-radius:12px;z-index:99999;max-width:80%;text-align:center;font-weight:500;opacity:0;transition:opacity .3s;pointer-events:none;word-break:break-word}
.toast.on{opacity:1}
.nlast{font-size:16px;color:var(--gray2);margin-bottom:10px;padding:10px 14px;background:var(--bg);border-radius:var(--r);border-left:3px solid var(--coral)}
.tot-banner{background:var(--bg);border-radius:var(--r);padding:10px 14px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
.tot-banner .l{font-size:18px;color:var(--gray2);font-weight:600}
.tot-banner .v{font-size:21px;font-weight:800;color:var(--coral)}
/* STRIPE PAYMENT ELEMENT overrides */
#pe-container .p-Input{font-family:inherit!important}
#liq-extra-desc::placeholder,#liq-extra-imp::placeholder{color:#222222;font-size:16px}

/* ── TABLET / iPad (≥768px) ─────────────────────────────────── */

.safe-area-top{height:env(safe-area-inset-top,20px);background:#FFFFFF;position:fixed;top:0;left:0;right:0;z-index:99999;pointer-events:none}
.fab{width:67px;height:67px;border-radius:50%;background:#00A699;border:3px solid var(--white);box-shadow:0 3px 12px rgba(0,166,153,.4);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s;transform:translateY(-24px)}
.fab:active{transform:translateY(-24px) scale(.92)}.fab i{font-size:28px;color:var(--white)}

/* sreg tipo seleccion */
.sel-cards-row{display:flex;gap:12px;width:88%;margin:0 auto 20px}
@media(max-width:380px){.sel-cards-row{flex-direction:column}}
.selc{flex:1;border:2px solid var(--border);border-radius:14px;padding:18px 10px 14px;text-align:center;cursor:pointer;background:var(--white);-webkit-tap-highlight-color:transparent;transition:border-color .15s,box-shadow .15s}
.selc.selc-coral{border-color:var(--coral);box-shadow:0 0 0 3px rgba(255,56,92,.1)}
.selc.selc-teal{border-color:var(--teal2);box-shadow:0 0 0 3px rgba(111,193,182,.12)}
.selc-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.selc-t{font-size:16px;font-weight:700;color:var(--black);margin-bottom:5px}
.selc-s{font-size:16px;color:#444444;line-height:1.4}

/* Pantalla de seleccion de rol (registro) — fuentes +2px, solo esta pantalla */
#sreg-sel .lsub{font-size:21px}
#sreg-sel .selc-t{font-size:18px}
#sreg-sel .selc-s{font-size:18px}
#sreg-sel .lbtn{font-size:21px}

/* Pantalla de login (#sl) — fuentes +2px, solo esta pantalla */
#sl .fd label{font-size:19px}
#sl .fd input{font-size:22px}

/* ============================================================
   SISTEMA TIPOGRÁFICO GLOBAL — NO MODIFICAR SIN AUTORIZACIÓN
   Mínimo absoluto: 18px, #444444. Cero grises claros. Fondos blancos.
   ============================================================ */

.pasffy-section-title {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #00A699;
  margin-bottom: 8px;
  margin-top: 0;
}

.pasffy-body-text {
  font-size: 18px;
  color: #333333;
  line-height: 1.5;
}

.pasffy-secondary-text {
  font-size: 17px;
  color: #444444;
  line-height: 1.5;
}

.pasffy-item-label {
  font-size: 20px;
  font-weight: 500;
  color: #222222;
}

.pasffy-price-label {
  font-size: 18px;
  font-weight: 600;
  color: #222222;
}

/* Regla de emergencia: ningún texto puede ser más claro que esto */
.pasffy-section-title,
.pasffy-body-text,
.pasffy-secondary-text,
.pasffy-item-label,
.pasffy-price-label {
  -webkit-font-smoothing: antialiased;
}

/* ============================================================
   BOTÓN X DE CIERRE — GLOBAL PARA TODOS LOS MODALES
   ============================================================ */
.mc,
.modal-close,
.btn-close,
[class*="cerrar"],
[class*="close"],
[id*="close"],
[id*="cerrar"] {
  color: #000000 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  line-height: 1 !important;
  border-radius: 0 !important;
}
/* iOS safe area insets */
body {
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* Top bar — vertical centering */
#centro-bar-top {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  box-sizing: border-box;
}
/* desktop layout: bar full-width, nav/content centered 600px */
@media (min-width:601px){
  #centro-bar-top{
    position:fixed !important;
    top:0;left:0;right:0;
    z-index:500;
    padding-left:max(0px,calc(50% - 300px)) !important;
    padding-right:max(0px,calc(50% - 300px)) !important;
  }
  #app{padding-top:46px !important;}
  .nav{
    padding-left:max(0px,calc(50% - 300px)) !important;
    padding-right:max(0px,calc(50% - 300px)) !important;
  }
}

/* ============================================================
   LAYOUT DE ESCRITORIO — se activa SOLO a partir de 1200px
   Todo lo estructural vive dentro de @media (min-width:1200px).
   Fuera de la media query solo se declaran, ocultos, los tres
   elementos que unicamente existen en escritorio. Por debajo de
   1200px no se aplica ninguna regla de este bloque.
   ============================================================ */

/* Elementos exclusivos de escritorio: no se ven en movil ni tablet */
#dtop{display:none}
.nav-logo{display:none}
.fab-lbl{display:none}
/* Agrupadores de columna del panel: transparentes al layout en movil */
.pf-col{display:contents}

@media (min-width:1200px){

  /* ── Contenedor general: hueco para la barra lateral ───────── */
  #app{
    max-width:none !important;
    padding-top:0 !important;
    padding-left:240px;
    box-shadow:none;
  }
  #centro-bar-top{display:none !important}

  /* ── BARRA LATERAL: la nav inferior pasa a lateral ─────────── */
  .nav{
    top:0;bottom:0;left:0;right:auto;
    width:240px;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:4px;
    padding:26px 16px calc(26px + env(safe-area-inset-bottom,0px)) !important;
    border-top:none;
    border-right:2px solid var(--teal2);
    overflow-y:auto;
  }
  .nav-logo{
    display:block;
    font-size:32px;font-weight:800;letter-spacing:-1.2px;
    color:#111111;padding:0 10px 26px;line-height:1;
  }
  .nav-logo span{color:var(--coral)}
  .ni{
    flex:none;
    flex-direction:row;
    justify-content:flex-start;
    align-items:center;
    gap:14px;
    padding:14px 16px;
    border-radius:12px;
    text-align:left;
  }
  .ni i{font-size:26px;color:#333333}
  .ni span{font-size:20px;color:#333333;font-weight:600}
  .ni.on{background:var(--teal2)}
  .ni.on i,.ni.on span{color:#ffffff}

  /* El boton flotante + pasa a boton ancho, con la misma funcion */
  .nfw{flex:none;display:block;margin-top:20px}
  .fab{
    width:100%;height:auto;
    border-radius:12px;border:none;box-shadow:none;
    transform:none;
    padding:15px 16px;gap:10px;
  }
  .fab:active{transform:none}
  .fab i{font-size:24px}
  .fab-lbl{display:inline;font-size:20px;font-weight:600;color:#ffffff;white-space:nowrap}

  /* ── CABECERA SUPERIOR ─────────────────────────────────────── */
  #dtop{
    display:flex;
    position:fixed;top:0;left:240px;right:0;z-index:400;
    align-items:center;justify-content:space-between;gap:24px;
    background:#ffffff;
    border-bottom:2px solid var(--teal2);
    padding:12px 40px;
    min-height:64px;
  }
  #dtop .centro-sel{font-size:20px !important;padding:9px 34px 9px 16px}
  #dtop-icons{display:flex;align-items:center;gap:22px}
  /* Los iconos de cada pantalla se ocultan: viven en la cabecera */
  .top-icons{display:none !important}

  /* ── AREA DE CONTENIDO ─────────────────────────────────────── */
  #sv,#ss,#sn,#sliq,#sld,#saj{
    max-width:1400px;width:100%;margin:0 auto;padding-top:64px;
  }
  #sv .top,#ss .top,#sn .top,#sliq .top,#sld .top,#saj .top{
    padding-left:40px;padding-right:40px;
  }
  #sv .top h1,#ss .top h1,#sn .top h1,#sliq .top h1,#sld .top h1,#saj .top h1{font-size:30px}
  #sv .sb,#ss .sb,#sn .sb,#sliq .sb,#sld .sb,#saj .sb{
    padding-left:24px;padding-right:24px;
    padding-bottom:40px !important;
  }

  /* ── PANEL: dos columnas ───────────────────────────────────── */
  #sv .sb{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:40px;
    align-items:start;
  }
  .pf-col{display:block;min-width:0}
  /* La linea separadora que abria la segunda columna sobra en horizontal */
  #sv .sb>.pf-col:nth-child(2)>div:first-child{display:none}

  /* ── MODALES: centrados, sin estirarse a todo el ancho ─────── */
  .mo{align-items:center !important;justify-content:center}
  .md{max-width:600px;border-radius:20px;max-height:85vh}
}

/* ============================================================
   ESCRITORIO ≥1200px — AJUSTES: tipografia y correcciones
   Sigue todo dentro de @media (min-width:1200px): por debajo de
   1200px no se aplica ninguna de estas reglas.
   ============================================================ */
@media (min-width:1200px){

  /* La barra lateral debe seguir visible tambien en Nuevo servicio.
     updateNavActive pone display:none inline en #gnav para esa
     pantalla (correcto en movil), asi que hace falta !important. */
  body.pf-app-scr .nav{display:flex !important}

  /* ── Tipografia base ──────────────────────────────────────── */
  body{font-size:22px !important}
  input,textarea,select{font-size:22px !important}
  button{font-size:22px !important}
  label{font-size:22px !important}

  /* ── Titulos de pantalla ──────────────────────────────────── */
  #sv .top h1,#ss .top h1,#sn .top h1,#sliq .top h1,#sld .top h1,#saj .top h1{font-size:32px}
  .top .sub{font-size:22px}

  /* ── Navegacion lateral ───────────────────────────────────── */
  .ni span{font-size:24px}
  .ni i{font-size:28px}
  .fab-lbl{font-size:22px}
  #dtop .centro-sel{font-size:22px !important}

  /* ── Tablas: mas altura de fila ───────────────────────────── */
  table.sv{font-size:22px}
  table.sv th{font-size:22px;padding:14px 16px}
  table.sv td{padding:14px 16px}
  table.sv tr.tot td{font-size:22px}

  /* ── Formularios: mas padding y alto de campo ─────────────── */
  .fd label{font-size:22px}
  .fd input,.fd select,.fd textarea{font-size:22px !important;height:58px;padding:16px 18px}
  .fd textarea{height:96px}
  #sn .fd label{font-size:22px}
  #sn .fd input,#sn .fd select,#sn .fd textarea{font-size:22px !important}
  .frow label{font-size:22px}
  .frow select,.frow input{font-size:22px !important;height:52px;padding:12px 16px}
  .fs{font-size:24px}
  .cobro-blk-title{font-size:22px}
  #liq-extra-desc::placeholder,#liq-extra-imp::placeholder{font-size:20px}

  /* ── Botones ──────────────────────────────────────────────── */
  .btnP,.btnS,.btnD,.lbtn{font-size:22px !important}
  .btnS,.btnD{padding:14px 22px}

  /* ── Ajustes ──────────────────────────────────────────────── */
  .acc-title{font-size:24px}
  .acc-blurb{font-size:22px}
  .srow .l{font-size:24px}
  .notif-label{font-size:22px}

  /* ── Listas, badges y bloques ─────────────────────────────── */
  .sh{font-size:22px}
  .tn{font-size:22px}
  .tbg{font-size:20px}
  .cr .l,.cr .v{font-size:22px}
  .ctr .l{font-size:22px}
  .ln{font-size:22px}
  .lm{font-size:22px}
  .bdg{font-size:20px}
  .lbrr{font-size:22px}
  .tab{font-size:20px}
  .pp{font-size:20px}
  .dnav span{font-size:26px}
  .sum-card .sum-lbl,.sum-card .sum-sub{font-size:22px}
  .emp p{font-size:22px}
  .toast{font-size:22px}
  .nlast{font-size:20px}
  .tot-banner .l{font-size:22px}
  .mt{font-size:24px}
  .help-tab{font-size:20px}
  #imp-banner,#imp-banner button{font-size:20px}
  .fabl{font-size:22px}
  .lsub,.lerr{font-size:22px}
  .lf label,.lf input{font-size:22px !important}
  .selc-t,.selc-s{font-size:20px}
  #sreg-sel .lsub,#sreg-sel .selc-t,#sreg-sel .selc-s,#sreg-sel .lbtn{font-size:22px}
  #sl .fd label,#sl .fd input{font-size:22px !important}
  .pasffy-section-title{font-size:24px}
  .pasffy-body-text,.pasffy-price-label,.pasffy-secondary-text,.pasffy-item-label{font-size:22px}

  /* ── Importes y totales: mayores, manteniendo el peso ─────── */
  .ctr .v{font-size:30px}
  .sum-card .sum-val{font-size:30px}
  .la{font-size:28px}
  .ltb .l{font-size:20px}
  .ltb .v{font-size:34px}
  .lbrr.tt .v{font-size:24px}
  .tot-banner .v{font-size:24px}
}
