:root{
  --bg:#EEF3F7;
  --card:#FFFFFF;
  --border:#D9E2EA;
  --text:#10243D;
  --muted:#5F7287;
  --primary:#2F6FED;
  --primary-2:#5B96FF;
  --sidebar:#071827;
  --sidebar-2:#0C2238;
  --gold:#C7A56A;
  --soft:#F8FBFE;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,system-ui,Arial,sans-serif;
  background:linear-gradient(180deg,#EEF3F7 0%,#E7EEF4 100%);
  color:var(--text)
}
img{max-width:100%}
#app-shell{min-height:100vh;display:grid;grid-template-columns:320px 1fr}
#sidebar{
  background:linear-gradient(180deg,var(--sidebar) 0%,var(--sidebar-2) 100%);
  color:#fff;padding:24px 18px;box-shadow:inset -1px 0 0 rgba(255,255,255,.04)
}
.brand-panel{
  margin-bottom:18px;padding:20px 16px;border:1px solid rgba(255,255,255,.08);
  border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025))
}
.brand-mark-wrap{display:flex;justify-content:center;align-items:center;margin-bottom:14px}
.brand-logo{width:132px;max-width:100%;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.15))}
.brand-copy h1{margin:0;font-size:22px;line-height:1.04;text-align:center}
.brand-copy p{margin:6px 0 0;color:#CCDAE8;font-size:13px;text-align:center}
.section-card{margin-top:14px;padding:14px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035)}
.section-head{padding:4px 6px 12px}
.section-head span{display:block;color:#F2F7FC;font-size:13px;font-weight:900;letter-spacing:.02em}
.section-head small{display:block;margin-top:4px;color:#8EA7BC}
.nav-links{display:flex;flex-direction:column;gap:8px}
.main-nav{margin-bottom:6px}
.nav-link{
  width:100%;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);
  color:#fff;padding:13px 14px;border-radius:16px;text-align:left;font-size:14px;font-weight:700;cursor:pointer;transition:.2s ease
}
.nav-link:hover,.nav-link.active{
  background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:transparent;transform:translateY(-1px)
}
.nav-link.wide{padding:16px}
.nav-link.wide .nav-kicker{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#C8D8E8;font-weight:900}
.nav-link.wide strong{display:block;margin-top:6px;font-size:15px}
.nav-link.wide small{display:block;margin-top:6px;color:#DCE7F1}
.sidebar-footer{margin-top:18px;padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035)}
.sidebar-footer span{display:block;font-weight:800}
.sidebar-footer small{color:#C9D8E8}
.main-area{padding:24px}
.navbar{
  background:rgba(255,255,255,.72);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.75);
  box-shadow:0 24px 50px rgba(15,23,42,.07);padding:24px 26px;border-radius:28px;
  display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px
}
.navbar-copy h2{margin:0;font-size:36px;line-height:1.04}
.navbar-copy p{margin:8px 0 0;color:var(--muted);max-width:760px}
.navbar-actions,.hero-actions,.row-actions{display:flex;gap:10px;flex-wrap:wrap}
.primary-btn,.ghost-btn{border:none;border-radius:16px;padding:12px 18px;font-weight:800;cursor:pointer}
.primary-btn{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 16px 30px rgba(47,111,237,.25)}
.ghost-btn{background:#fff;border:1px solid var(--border);color:var(--text)}
.ghost-btn.soft{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff}
.page-grid{display:grid;gap:18px}
.grid-2{grid-template-columns:1.2fr .8fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{
  background:var(--card);border:1px solid rgba(215,225,234,.9);border-radius:28px;
  box-shadow:0 18px 40px rgba(15,23,42,.05);padding:22px
}
.soft-card{background:linear-gradient(180deg,#FCFEFF,#F8FBFE)}
.hero-lux{
  display:grid;grid-template-columns:1.32fr .88fr;gap:20px;padding:30px;border-radius:34px;
  background:linear-gradient(135deg,#0B2036 0%,#123A63 48%,#1B4C7B 100%);
  color:#fff;box-shadow:0 35px 60px rgba(16,36,61,.22)
}
.hero-lux h3{margin:0 0 14px;font-size:44px;line-height:1.03;max-width:840px}
.hero-lux p{margin:0;color:#D8E5F2;max-width:760px}
.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hero-tags span{padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);font-size:13px;font-weight:700;color:#EEF6FF}
.hero-right{display:flex;flex-direction:column;gap:14px}
.signal-card{padding:20px;border-radius:24px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14)}
.signal-card small{display:block;color:#CBDCF0;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.signal-card strong{display:block;margin-top:10px;font-size:28px}
.signal-card p{margin-top:8px;color:#E6EFF8}
.signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.signal-chip{padding:16px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.signal-chip span{display:block;font-size:12px;color:#D5E3F1;font-weight:800;text-transform:uppercase}
.signal-chip strong{display:block;margin-top:8px;font-size:22px}
.eyebrow{
  display:inline-block;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em;
  text-transform:uppercase;color:#245FDE;background:#EAF2FF;margin-bottom:12px
}
.eyebrow.light{color:#FFF2D6;background:rgba(199,165,106,.18);border:1px solid rgba(199,165,106,.34)}
.page-copy{color:var(--muted);margin-top:8px}
.card h3,.card h4{margin:0 0 14px}
.card p{margin:0;color:#4F6378}
.luxury-card{position:relative;overflow:hidden}
.luxury-card:before{content:"";position:absolute;inset:0 auto auto 0;width:90px;height:90px;background:radial-gradient(circle, rgba(47,111,237,.12), transparent 70%)}
.form-grid{display:grid;gap:14px}
.form-grid.two{grid-template-columns:1fr 1fr}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.form-grid.four{grid-template-columns:repeat(4,1fr)}
label span{display:block;margin-bottom:8px;font-weight:700;color:var(--text);font-size:14px}
input,select,textarea{
  width:100%;border:1px solid var(--border);background:#fff;border-radius:16px;padding:12px 14px;font:inherit
}
textarea{min-height:110px;resize:vertical}
.table-list{display:flex;flex-direction:column;gap:10px}
.list-item{border:1px solid var(--border);border-radius:18px;padding:15px;background:#F9FBFD}
.list-item strong{display:block;margin-bottom:5px}
.list-item small{display:block;color:var(--muted)}
.active-patient-card{
  border:1px dashed #c6d6e6;background:#f8fbff;border-radius:18px;padding:18px;min-height:120px;
  display:flex;flex-direction:column;gap:8px
}
.active-patient-card.empty{color:var(--muted)}
.banner{
  padding:14px 16px;border-radius:18px;border:1px solid #D8E7F4;background:#F5FAFF;color:#234c6d
}
.banner.ok{background:#EEF8FF;border-color:#CBE3F7}
.priority-alta{border-left:5px solid #ef4444}
.priority-media{border-left:5px solid #eab308}
.priority-baja{border-left:5px solid #22c55e}
.exam-grid{display:grid;grid-template-columns:90px 1fr 1fr;gap:10px}
.exam-head{padding:12px 10px;font-size:13px;font-weight:800;color:#45617D}
.exam-cell{
  background:#F8FBFE;border:1px solid #E2EAF1;border-radius:16px;padding:10px;min-height:58px;display:flex;align-items:center
}
.exam-cell.label{font-weight:800;color:#19395A;justify-content:center}
@media (max-width:1200px){
  #app-shell{grid-template-columns:1fr}
  .grid-2,.grid-3,.form-grid.two,.form-grid.three,.form-grid.four,.hero-lux{grid-template-columns:1fr}
  .hero-lux h3{font-size:34px}
}
@media (max-width:760px){
  .navbar{flex-direction:column;align-items:flex-start}
  .exam-grid{grid-template-columns:1fr}
  .exam-cell.label{justify-content:flex-start}
}


/* ===== Historia clÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­nica premium v2 ===== */
.clinical-shell{padding:24px 24px 18px}
.doc-chip{
  padding:10px 14px;border-radius:999px;
  background:linear-gradient(135deg,#F3F8FF,#E7F0FF);
  border:1px solid #D6E3F7;color:#285A92;font-weight:800;font-size:12px
}
.clinical-patient-header{
  margin-bottom:18px;padding:18px;border-radius:24px;
  background:linear-gradient(180deg,#FBFDFF,#F4F8FC);
  border:1px solid #DCE6F0;
}
.clinical-patient-empty{color:var(--muted)}
.clinical-patient-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
.patient-data-box{
  background:#fff;border:1px solid #E0E8F0;border-radius:18px;padding:12px 14px;
}
.patient-data-box.wide{grid-column:span 2}
.micro-label{
  display:block;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#617A93;margin-bottom:6px
}
.patient-data-box strong{font-size:14px;line-height:1.45;color:#10243D}
.clinical-doc{display:grid;gap:16px}
.doc-topbar{
  display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:end;
  padding:18px;border:1px solid #DCE6F0;border-radius:24px;background:#FAFCFE
}
.doc-title strong{display:block;font-size:24px;line-height:1.1}
.doc-title span{display:block;margin-top:6px;color:#5F7287}
.doc-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.doc-section{
  padding:18px;border:1px solid #DCE6F0;border-radius:24px;background:#FAFCFE
}
.doc-card{
  padding:18px;border:1px solid #DCE6F0;border-radius:24px;background:#FFFFFF
}
.doc-card h4{margin:0 0 10px;font-size:20px}
.mini-copy{font-size:12px;color:#6A7B8E;margin-bottom:12px}
.clinical-three-cols{
  display:grid;grid-template-columns:1.08fr .72fr .72fr;gap:16px;align-items:start;
}
.ante-list{display:grid;gap:10px;margin-bottom:12px}
.ante-row{
  display:grid;grid-template-columns:1fr 136px;gap:10px;align-items:center;
}
.check-inline{
  display:flex;align-items:center;gap:10px;
  min-height:52px;padding:10px 14px;border:1px solid #E0E8F0;border-radius:18px;background:#FBFDFF
}
.check-inline input{width:18px;height:18px}
.check-inline span{font-weight:700;color:#17324E}
.check-inline.mini{
  min-height:auto;padding:6px 0;border:none;background:transparent;border-radius:0
}
.mini-note{height:52px}
.tiny-grid{display:grid;gap:12px}
.tiny-grid.two{grid-template-columns:1fr 1fr}
.tiny-grid textarea{min-height:102px}
.mini-block{
  padding:14px;border:1px solid #E0E8F0;border-radius:22px;background:#FBFDFF;margin-bottom:12px
}
.mini-block strong{display:block;margin-bottom:10px;font-size:15px}
.dual-eye-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dual-eye-grid label{margin:0}
.dual-eye-grid label span{font-size:12px;font-weight:900;letter-spacing:.05em}
.refraccion-card{padding-top:16px}
.rx-table{
  display:grid;grid-template-columns:74px repeat(4,minmax(0,1fr));gap:0;
  border:1px solid #C9D6E3;border-radius:18px;overflow:hidden;background:#fff
}
.rx-table > div{
  min-height:52px;padding:12px;border-right:1px solid #C9D6E3;border-bottom:1px solid #C9D6E3;
  display:flex;align-items:center
}
.rx-table > div:nth-child(5n){border-right:none}
.rx-table > div:nth-last-child(-n+5){border-bottom:none}
.rx-h{
  background:#F4F8FC;font-weight:900;color:#203A56;justify-content:center
}
.rx-l{
  background:#F8FBFE;font-weight:900;color:#203A56;justify-content:center
}
.rx-table input{
  border:none;background:transparent;padding:0;width:100%;border-radius:0
}
.clinical-main-grid{
  display:grid;grid-template-columns:1.35fr .65fr;gap:16px;align-items:start
}
.note-card{min-height:100%}
.note-subgrid{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px
}
.check-group{
  padding:14px;border:1px solid #E0E8F0;border-radius:18px;background:#FBFDFF
}
.check-group.single{display:flex;align-items:center;justify-content:flex-start}
.group-title{
  display:block;font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#203A56;margin-bottom:10px
}
.check-list{display:grid;gap:8px}
.mini-inline{
  display:grid;grid-template-columns:56px 1fr;gap:8px;align-items:center;margin-top:10px
}
.pio-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.unit-field{
  display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center
}
.unit-field em{font-style:normal;font-weight:800;color:#334E68}
.side-card{position:sticky;top:24px}
.study-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:12px}
.tx-lines{display:grid;gap:10px}
@media (max-width:1200px){
  .clinical-patient-grid,
  .clinical-three-cols,
  .clinical-main-grid,
  .doc-topbar,
  .tiny-grid.two,
  .note-subgrid,
  .pio-row,
  .study-grid{grid-template-columns:1fr}
  .patient-data-box.wide{grid-column:auto}
}


/* ===== Historia clÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­nica real v3 ===== */
.patient-doc-card{background:linear-gradient(180deg,#FBFDFF,#F6FAFD)}
.doc-card-head{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px
}
.doc-subtle{font-size:12px;color:#6C7F92;font-weight:700}
.patient-edit-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px
}
.patient-edit-grid .wide{grid-column:span 2}
.compact-card .mini-block{margin-bottom:10px}
.custom-builder{
  display:grid;grid-template-columns:1.1fr .8fr 1.2fr auto;gap:12px;align-items:end;margin-bottom:16px
}
.builder-action{display:flex;align-items:end}
.custom-fields-grid{
  display:grid;gap:12px
}
.custom-field-row{
  display:grid;grid-template-columns:1fr 160px;gap:10px;align-items:center
}
.rx-tight > div{min-height:48px}
.clinical-shell .section-head{padding-bottom:0}
@media (max-width:1200px){
  .patient-edit-grid,
  .custom-builder{grid-template-columns:1fr}
  .patient-edit-grid .wide{grid-column:auto}
  .custom-field-row{grid-template-columns:1fr}
}

/* ===== v4 antecedentes agrupados ===== */
.antecedent-grid-groups{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.ante-group-card{
  border:1px solid #E0E8F0;border-radius:20px;padding:14px;background:#FBFDFF;
}
.ante-group-card h5{
  margin:0 0 10px;font-size:15px;line-height:1.25;color:#17324E;
}
.ante-group-list{display:grid;gap:8px}
.ante-row.compact{
  display:grid;grid-template-columns:1fr 120px;gap:8px;align-items:center;
}
.check-inline.compact{
  min-height:42px;padding:8px 12px;border-radius:14px;
}
.mini-note.compact{height:42px;padding:10px 12px;border-radius:14px}
.refraccion-mini-card .rx-table{margin-top:6px}
.refraccion-mini-card .rx-table > div{min-height:44px;padding:10px}
@media (max-width:1200px){
  .antecedent-grid-groups{grid-template-columns:1fr}
  .ante-row.compact{grid-template-columns:1fr}
}

/* ===== RefracciÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n PRO ===== */
.rx-layout-pro{
  grid-template-columns:.9fr .9fr 1.2fr;
}
.refraccion-pro-card{
  background:linear-gradient(180deg,#FCFEFF,#F7FBFF);
}
.rx-title-row{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px
}
.rx-summary{
  min-width:220px;padding:10px 12px;border:1px solid #DCE6F0;border-radius:16px;background:#fff;
  display:flex;flex-direction:column;gap:4px
}
.rx-summary strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#48627e}
.rx-summary small{font-size:12px;color:#17324E}
.rx-pro-card{
  border:1px solid #E0E8F0;border-radius:18px;padding:14px;background:#fff;margin-bottom:12px
}
.rx-pro-head{
  font-weight:900;font-size:15px;color:#17324E;margin-bottom:10px
}
.rx-pro{
  display:grid;grid-template-columns:1.1fr 1.1fr .8fr 1.1fr;gap:10px;align-items:end
}
.rx-col span{
  display:block;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#60768b;margin-bottom:6px
}
.rx-stepper{
  display:grid;grid-template-columns:40px 1fr 40px;gap:8px;align-items:center
}
.rx-stepper button{
  height:42px;border:none;border-radius:12px;background:#EAF2FF;color:#215bc7;font-size:22px;font-weight:900;cursor:pointer
}
.rx-stepper input,.rx-col.axis input{
  height:42px;text-align:center;font-weight:800
}
@media (max-width:1200px){
  .rx-layout-pro{grid-template-columns:1fr}
  .rx-title-row{flex-direction:column}
  .rx-summary{min-width:unset}
}
@media (max-width:760px){
  .rx-pro{grid-template-columns:1fr}
}

.gonio-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.gonio-grid label span{
  display:block;
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#60768b;
  margin-bottom:6px;
}


.usg-note-box{
  margin-top:12px;
  padding:12px;
  border:1px dashed #C9D6E3;
  border-radius:16px;
  background:#FBFDFF;
}
.usg-note-box textarea{
  min-height:88px;
}

/* Pacientes y expedientes */
.patient-toolbar{margin:6px 0 16px}
.search-input{
  width:100%;height:48px;border:1px solid var(--border);border-radius:16px;padding:0 14px;background:#fff
}
.directory-grid{display:grid;gap:14px}
.directory-card{
  border:1px solid #E0E8F0;border-radius:22px;background:#FBFDFF;padding:16px
}
.directory-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.status-pill{
  padding:8px 12px;border-radius:999px;background:#EEF6FF;color:#245FDE;font-size:12px;font-weight:900
}
.directory-meta{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0
}
.directory-meta div{
  border:1px solid #E0E8F0;border-radius:16px;background:#fff;padding:10px 12px
}
.directory-meta span{
  display:block;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#617A93;margin-bottom:5px
}
.directory-meta strong{font-size:14px;color:#10243D}
.directory-summary{display:grid;gap:4px;margin-bottom:12px}

/* history clinical patient finder */
.inline-patient-finder{padding:16px;background:linear-gradient(180deg,#FBFDFF,#F6FAFD)}
.inline-finder-row{display:grid;gap:10px}
.clinical-patient-results{display:grid;gap:8px}
.mini-result{
  padding:10px 12px;border-radius:14px;border:1px solid #E0E8F0;background:#fff;text-align:left
}
.mini-result.muted{color:#6C7F92;background:#FAFCFE}
.mini-result.ok{color:#196a38;background:#F2FCF5;border-color:#CFEED7}
.select-existing-patient{cursor:pointer}
@media (max-width:1200px){
  .directory-meta{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .directory-meta{grid-template-columns:1fr}
  .directory-top{flex-direction:column}
}

.order-chip, .folio-chip{
  padding:8px 12px;border-radius:999px;background:#EEF6FF;color:#245FDE;font-weight:900;font-size:12px
}


:root{
  --bg:#EEF3F7;
  --card:#FFFFFF;
  --border:#D9E2EA;
  --text:#10243D;
  --muted:#5F7287;
  --primary:#2F6FED;
  --primary-2:#5B96FF;
  --sidebar:#071827;
  --sidebar-2:#0C2238;
  --gold:#C7A56A;
  --soft:#F8FBFE;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,system-ui,Arial,sans-serif;
  background:linear-gradient(180deg,#EEF3F7 0%,#E7EEF4 100%);
  color:var(--text)
}
img{max-width:100%}
#app-shell{min-height:100vh;display:grid;grid-template-columns:320px 1fr}
#sidebar{
  background:linear-gradient(180deg,var(--sidebar) 0%,var(--sidebar-2) 100%);
  color:#fff;padding:24px 18px;box-shadow:inset -1px 0 0 rgba(255,255,255,.04)
}
.brand-panel{
  margin-bottom:18px;padding:20px 16px;border:1px solid rgba(255,255,255,.08);
  border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025))
}
.brand-mark-wrap{display:flex;justify-content:center;align-items:center;margin-bottom:14px}
.brand-logo{width:132px;max-width:100%;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.15))}
.brand-copy h1{margin:0;font-size:22px;line-height:1.04;text-align:center}
.brand-copy p{margin:6px 0 0;color:#CCDAE8;font-size:13px;text-align:center}
.section-card{margin-top:14px;padding:14px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035)}
.section-head{padding:4px 6px 12px}
.section-head span{display:block;color:#F2F7FC;font-size:13px;font-weight:900;letter-spacing:.02em}
.section-head small{display:block;margin-top:4px;color:#8EA7BC}
.nav-links{display:flex;flex-direction:column;gap:8px}
.main-nav{margin-bottom:6px}
.nav-link{
  width:100%;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);
  color:#fff;padding:13px 14px;border-radius:16px;text-align:left;font-size:14px;font-weight:700;cursor:pointer;transition:.2s ease
}
.nav-link:hover,.nav-link.active{
  background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:transparent;transform:translateY(-1px)
}
.nav-link.wide{padding:16px}
.nav-link.wide .nav-kicker{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#C8D8E8;font-weight:900}
.nav-link.wide strong{display:block;margin-top:6px;font-size:15px}
.nav-link.wide small{display:block;margin-top:6px;color:#DCE7F1}
.sidebar-footer{margin-top:18px;padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035)}
.sidebar-footer span{display:block;font-weight:800}
.sidebar-footer small{color:#C9D8E8}
.main-area{padding:24px}
.navbar{
  background:rgba(255,255,255,.72);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.75);
  box-shadow:0 24px 50px rgba(15,23,42,.07);padding:24px 26px;border-radius:28px;
  display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px
}
.navbar-copy h2{margin:0;font-size:36px;line-height:1.04}
.navbar-copy p{margin:8px 0 0;color:var(--muted);max-width:760px}
.navbar-actions,.hero-actions,.row-actions{display:flex;gap:10px;flex-wrap:wrap}
.primary-btn,.ghost-btn{border:none;border-radius:16px;padding:12px 18px;font-weight:800;cursor:pointer}
.primary-btn{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 16px 30px rgba(47,111,237,.25)}
.ghost-btn{background:#fff;border:1px solid var(--border);color:var(--text)}
.ghost-btn.soft{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff}
.page-grid{display:grid;gap:18px}
.grid-2{grid-template-columns:1.2fr .8fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{
  background:var(--card);border:1px solid rgba(215,225,234,.9);border-radius:28px;
  box-shadow:0 18px 40px rgba(15,23,42,.05);padding:22px
}
.soft-card{background:linear-gradient(180deg,#FCFEFF,#F8FBFE)}
.hero-lux{
  display:grid;grid-template-columns:1.32fr .88fr;gap:20px;padding:30px;border-radius:34px;
  background:linear-gradient(135deg,#0B2036 0%,#123A63 48%,#1B4C7B 100%);
  color:#fff;box-shadow:0 35px 60px rgba(16,36,61,.22)
}
.hero-lux h3{margin:0 0 14px;font-size:44px;line-height:1.03;max-width:840px}
.hero-lux p{margin:0;color:#D8E5F2;max-width:760px}
.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hero-tags span{padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);font-size:13px;font-weight:700;color:#EEF6FF}
.hero-right{display:flex;flex-direction:column;gap:14px}
.signal-card{padding:20px;border-radius:24px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14)}
.signal-card small{display:block;color:#CBDCF0;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.signal-card strong{display:block;margin-top:10px;font-size:28px}
.signal-card p{margin-top:8px;color:#E6EFF8}
.signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.signal-chip{padding:16px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.signal-chip span{display:block;font-size:12px;color:#D5E3F1;font-weight:800;text-transform:uppercase}
.signal-chip strong{display:block;margin-top:8px;font-size:22px}
.eyebrow{
  display:inline-block;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em;
  text-transform:uppercase;color:#245FDE;background:#EAF2FF;margin-bottom:12px
}
.eyebrow.light{color:#FFF2D6;background:rgba(199,165,106,.18);border:1px solid rgba(199,165,106,.34)}
.page-copy{color:var(--muted);margin-top:8px}
.card h3,.card h4{margin:0 0 14px}
.card p{margin:0;color:#4F6378}
.luxury-card{position:relative;overflow:hidden}
.luxury-card:before{content:"";position:absolute;inset:0 auto auto 0;width:90px;height:90px;background:radial-gradient(circle, rgba(47,111,237,.12), transparent 70%)}
.form-grid{display:grid;gap:14px}
.form-grid.two{grid-template-columns:1fr 1fr}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.form-grid.four{grid-template-columns:repeat(4,1fr)}
label span{display:block;margin-bottom:8px;font-weight:700;color:var(--text);font-size:14px}
input,select,textarea{
  width:100%;border:1px solid var(--border);background:#fff;border-radius:16px;padding:12px 14px;font:inherit
}
textarea{min-height:110px;resize:vertical}
.table-list{display:flex;flex-direction:column;gap:10px}
.list-item{border:1px solid var(--border);border-radius:18px;padding:15px;background:#F9FBFD}
.list-item strong{display:block;margin-bottom:5px}
.list-item small{display:block;color:var(--muted)}
.active-patient-card{
  border:1px dashed #c6d6e6;background:#f8fbff;border-radius:18px;padding:18px;min-height:120px;
  display:flex;flex-direction:column;gap:8px
}
.active-patient-card.empty{color:var(--muted)}
.banner{
  padding:14px 16px;border-radius:18px;border:1px solid #D8E7F4;background:#F5FAFF;color:#234c6d
}
.banner.ok{background:#EEF8FF;border-color:#CBE3F7}
.priority-alta{border-left:5px solid #ef4444}
.priority-media{border-left:5px solid #eab308}
.priority-baja{border-left:5px solid #22c55e}
.exam-grid{display:grid;grid-template-columns:90px 1fr 1fr;gap:10px}
.exam-head{padding:12px 10px;font-size:13px;font-weight:800;color:#45617D}
.exam-cell{
  background:#F8FBFE;border:1px solid #E2EAF1;border-radius:16px;padding:10px;min-height:58px;display:flex;align-items:center
}
.exam-cell.label{font-weight:800;color:#19395A;justify-content:center}
@media (max-width:1200px){
  #app-shell{grid-template-columns:1fr}
  .grid-2,.grid-3,.form-grid.two,.form-grid.three,.form-grid.four,.hero-lux{grid-template-columns:1fr}
  .hero-lux h3{font-size:34px}
}
@media (max-width:760px){
  .navbar{flex-direction:column;align-items:flex-start}
  .exam-grid{grid-template-columns:1fr}
  .exam-cell.label{justify-content:flex-start}
}


/* ===== Historia clÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­nica premium v2 ===== */
.clinical-shell{padding:24px 24px 18px}
.doc-chip{
  padding:10px 14px;border-radius:999px;
  background:linear-gradient(135deg,#F3F8FF,#E7F0FF);
  border:1px solid #D6E3F7;color:#285A92;font-weight:800;font-size:12px
}
.clinical-patient-header{
  margin-bottom:18px;padding:18px;border-radius:24px;
  background:linear-gradient(180deg,#FBFDFF,#F4F8FC);
  border:1px solid #DCE6F0;
}
.clinical-patient-empty{color:var(--muted)}
.clinical-patient-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
.patient-data-box{
  background:#fff;border:1px solid #E0E8F0;border-radius:18px;padding:12px 14px;
}
.patient-data-box.wide{grid-column:span 2}
.micro-label{
  display:block;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#617A93;margin-bottom:6px
}
.patient-data-box strong{font-size:14px;line-height:1.45;color:#10243D}
.clinical-doc{display:grid;gap:16px}
.doc-topbar{
  display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:end;
  padding:18px;border:1px solid #DCE6F0;border-radius:24px;background:#FAFCFE
}
.doc-title strong{display:block;font-size:24px;line-height:1.1}
.doc-title span{display:block;margin-top:6px;color:#5F7287}
.doc-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.doc-section{
  padding:18px;border:1px solid #DCE6F0;border-radius:24px;background:#FAFCFE
}
.doc-card{
  padding:18px;border:1px solid #DCE6F0;border-radius:24px;background:#FFFFFF
}
.doc-card h4{margin:0 0 10px;font-size:20px}
.mini-copy{font-size:12px;color:#6A7B8E;margin-bottom:12px}
.clinical-three-cols{
  display:grid;grid-template-columns:1.08fr .72fr .72fr;gap:16px;align-items:start;
}
.ante-list{display:grid;gap:10px;margin-bottom:12px}
.ante-row{
  display:grid;grid-template-columns:1fr 136px;gap:10px;align-items:center;
}
.check-inline{
  display:flex;align-items:center;gap:10px;
  min-height:52px;padding:10px 14px;border:1px solid #E0E8F0;border-radius:18px;background:#FBFDFF
}
.check-inline input{width:18px;height:18px}
.check-inline span{font-weight:700;color:#17324E}
.check-inline.mini{
  min-height:auto;padding:6px 0;border:none;background:transparent;border-radius:0
}
.mini-note{height:52px}
.tiny-grid{display:grid;gap:12px}
.tiny-grid.two{grid-template-columns:1fr 1fr}
.tiny-grid textarea{min-height:102px}
.mini-block{
  padding:14px;border:1px solid #E0E8F0;border-radius:22px;background:#FBFDFF;margin-bottom:12px
}
.mini-block strong{display:block;margin-bottom:10px;font-size:15px}
.dual-eye-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dual-eye-grid label{margin:0}
.dual-eye-grid label span{font-size:12px;font-weight:900;letter-spacing:.05em}
.refraccion-card{padding-top:16px}
.rx-table{
  display:grid;grid-template-columns:74px repeat(4,minmax(0,1fr));gap:0;
  border:1px solid #C9D6E3;border-radius:18px;overflow:hidden;background:#fff
}
.rx-table > div{
  min-height:52px;padding:12px;border-right:1px solid #C9D6E3;border-bottom:1px solid #C9D6E3;
  display:flex;align-items:center
}
.rx-table > div:nth-child(5n){border-right:none}
.rx-table > div:nth-last-child(-n+5){border-bottom:none}
.rx-h{
  background:#F4F8FC;font-weight:900;color:#203A56;justify-content:center
}
.rx-l{
  background:#F8FBFE;font-weight:900;color:#203A56;justify-content:center
}
.rx-table input{
  border:none;background:transparent;padding:0;width:100%;border-radius:0
}
.clinical-main-grid{
  display:grid;grid-template-columns:1.35fr .65fr;gap:16px;align-items:start
}
.note-card{min-height:100%}
.note-subgrid{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px
}
.check-group{
  padding:14px;border:1px solid #E0E8F0;border-radius:18px;background:#FBFDFF
}
.check-group.single{display:flex;align-items:center;justify-content:flex-start}
.group-title{
  display:block;font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#203A56;margin-bottom:10px
}
.check-list{display:grid;gap:8px}
.mini-inline{
  display:grid;grid-template-columns:56px 1fr;gap:8px;align-items:center;margin-top:10px
}
.pio-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.unit-field{
  display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center
}
.unit-field em{font-style:normal;font-weight:800;color:#334E68}
.side-card{position:sticky;top:24px}
.study-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:12px}
.tx-lines{display:grid;gap:10px}
@media (max-width:1200px){
  .clinical-patient-grid,
  .clinical-three-cols,
  .clinical-main-grid,
  .doc-topbar,
  .tiny-grid.two,
  .note-subgrid,
  .pio-row,
  .study-grid{grid-template-columns:1fr}
  .patient-data-box.wide{grid-column:auto}
}


/* ===== Historia clÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­nica real v3 ===== */
.patient-doc-card{background:linear-gradient(180deg,#FBFDFF,#F6FAFD)}
.doc-card-head{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px
}
.doc-subtle{font-size:12px;color:#6C7F92;font-weight:700}
.patient-edit-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px
}
.patient-edit-grid .wide{grid-column:span 2}
.compact-card .mini-block{margin-bottom:10px}
.custom-builder{
  display:grid;grid-template-columns:1.1fr .8fr 1.2fr auto;gap:12px;align-items:end;margin-bottom:16px
}
.builder-action{display:flex;align-items:end}
.custom-fields-grid{
  display:grid;gap:12px
}
.custom-field-row{
  display:grid;grid-template-columns:1fr 160px;gap:10px;align-items:center
}
.rx-tight > div{min-height:48px}
.clinical-shell .section-head{padding-bottom:0}
@media (max-width:1200px){
  .patient-edit-grid,
  .custom-builder{grid-template-columns:1fr}
  .patient-edit-grid .wide{grid-column:auto}
  .custom-field-row{grid-template-columns:1fr}
}

/* ===== v4 antecedentes agrupados ===== */
.antecedent-grid-groups{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.ante-group-card{
  border:1px solid #E0E8F0;border-radius:20px;padding:14px;background:#FBFDFF;
}
.ante-group-card h5{
  margin:0 0 10px;font-size:15px;line-height:1.25;color:#17324E;
}
.ante-group-list{display:grid;gap:8px}
.ante-row.compact{
  display:grid;grid-template-columns:1fr 120px;gap:8px;align-items:center;
}
.check-inline.compact{
  min-height:42px;padding:8px 12px;border-radius:14px;
}
.mini-note.compact{height:42px;padding:10px 12px;border-radius:14px}
.refraccion-mini-card .rx-table{margin-top:6px}
.refraccion-mini-card .rx-table > div{min-height:44px;padding:10px}
@media (max-width:1200px){
  .antecedent-grid-groups{grid-template-columns:1fr}
  .ante-row.compact{grid-template-columns:1fr}
}

/* ===== RefracciÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n PRO ===== */
.rx-layout-pro{
  grid-template-columns:.9fr .9fr 1.2fr;
}
.refraccion-pro-card{
  background:linear-gradient(180deg,#FCFEFF,#F7FBFF);
}
.rx-title-row{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px
}
.rx-summary{
  min-width:220px;padding:10px 12px;border:1px solid #DCE6F0;border-radius:16px;background:#fff;
  display:flex;flex-direction:column;gap:4px
}
.rx-summary strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#48627e}
.rx-summary small{font-size:12px;color:#17324E}
.rx-pro-card{
  border:1px solid #E0E8F0;border-radius:18px;padding:14px;background:#fff;margin-bottom:12px
}
.rx-pro-head{
  font-weight:900;font-size:15px;color:#17324E;margin-bottom:10px
}
.rx-pro{
  display:grid;grid-template-columns:1.1fr 1.1fr .8fr 1.1fr;gap:10px;align-items:end
}
.rx-col span{
  display:block;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#60768b;margin-bottom:6px
}
.rx-stepper{
  display:grid;grid-template-columns:40px 1fr 40px;gap:8px;align-items:center
}
.rx-stepper button{
  height:42px;border:none;border-radius:12px;background:#EAF2FF;color:#215bc7;font-size:22px;font-weight:900;cursor:pointer
}
.rx-stepper input,.rx-col.axis input{
  height:42px;text-align:center;font-weight:800
}
@media (max-width:1200px){
  .rx-layout-pro{grid-template-columns:1fr}
  .rx-title-row{flex-direction:column}
  .rx-summary{min-width:unset}
}
@media (max-width:760px){
  .rx-pro{grid-template-columns:1fr}
}

.gonio-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.gonio-grid label span{
  display:block;
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#60768b;
  margin-bottom:6px;
}


.usg-note-box{
  margin-top:12px;
  padding:12px;
  border:1px dashed #C9D6E3;
  border-radius:16px;
  background:#FBFDFF;
}
.usg-note-box textarea{
  min-height:88px;
}

/* Pacientes y expedientes */
.patient-toolbar{margin:6px 0 16px}
.search-input{
  width:100%;height:48px;border:1px solid var(--border);border-radius:16px;padding:0 14px;background:#fff
}
.directory-grid{display:grid;gap:14px}
.directory-card{
  border:1px solid #E0E8F0;border-radius:22px;background:#FBFDFF;padding:16px
}
.directory-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.status-pill{
  padding:8px 12px;border-radius:999px;background:#EEF6FF;color:#245FDE;font-size:12px;font-weight:900
}
.directory-meta{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0
}
.directory-meta div{
  border:1px solid #E0E8F0;border-radius:16px;background:#fff;padding:10px 12px
}
.directory-meta span{
  display:block;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#617A93;margin-bottom:5px
}
.directory-meta strong{font-size:14px;color:#10243D}
.directory-summary{display:grid;gap:4px;margin-bottom:12px}

/* history clinical patient finder */
.inline-patient-finder{padding:16px;background:linear-gradient(180deg,#FBFDFF,#F6FAFD)}
.inline-finder-row{display:grid;gap:10px}
.clinical-patient-results{display:grid;gap:8px}
.mini-result{
  padding:10px 12px;border-radius:14px;border:1px solid #E0E8F0;background:#fff;text-align:left
}
.mini-result.muted{color:#6C7F92;background:#FAFCFE}
.mini-result.ok{color:#196a38;background:#F2FCF5;border-color:#CFEED7}
.select-existing-patient{cursor:pointer}
@media (max-width:1200px){
  .directory-meta{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .directory-meta{grid-template-columns:1fr}
  .directory-top{flex-direction:column}
}

.order-chip, .folio-chip{
  padding:8px 12px;border-radius:999px;background:#EEF6FF;color:#245FDE;font-weight:900;font-size:12px
}


.order-preview-shell{
  border:2px dashed #D5DFEB;
  border-radius:28px;
  padding:14px;
  background:linear-gradient(180deg,#F8FBFE,#F2F6FB);
}
.order-preview-frame{
  width:100%;
  height:220px;
  border:0;
  background:#fff;
  border-radius:18px;
}

.order-preview-shell{
  border:2px dashed #D5DFEB;
  border-radius:28px;
  padding:12px;
  background:linear-gradient(180deg,#F8FBFE,#F2F6FB);
}
.order-preview-frame{
  width:100%;
  height:200px;
  border:0;
  background:#fff;
  border-radius:14px;
}

.sale-preview-shell{
  border:2px dashed #D5DFEB;
  border-radius:28px;
  padding:14px;
  background:linear-gradient(180deg,#F8FBFE,#F2F6FB);
}
.sale-preview-frame{
  width:100%;
  height:520px;
  border:0;
  background:#fff;
  border-radius:18px;
}


.order-preview-shell{
  border:2px dashed #D5DFEB;
  border-radius:28px;
  padding:14px;
  background:linear-gradient(180deg,#F8FBFE,#F2F6FB);
}
.order-preview-frame{
  width:100%;
  height:240px;
  border:0;
  background:#fff;
  border-radius:14px;
}
.sale-preview-shell{
  border:2px dashed #D5DFEB;
  border-radius:28px;
  padding:14px;
  background:linear-gradient(180deg,#F8FBFE,#F2F6FB);
}
.sale-preview-frame{
  width:100%;
  height:560px;
  border:0;
  background:#fff;
  border-radius:14px;
}


.patient-pro-grid{
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap:18px;
}
.patient-left-col,.patient-right-col{min-width:0}
.patient-toolbar.pro{
  display:grid;
  grid-template-columns: 1fr 220px;
  gap:12px;
  margin-bottom:14px;
}
.search-input,.filter-select{
  width:100%;
  border:1px solid var(--border);
  background:#FBFDFF;
  border-radius:16px;
  padding:14px 14px;
  color:var(--text);
}
.directory-grid{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-height:980px;
  overflow:auto;
  padding-right:4px;
}
.directory-card{
  border:1px solid #E2EAF1;
  background:#F8FBFE;
  border-radius:20px;
  padding:16px;
  cursor:pointer;
  transition:.18s ease;
}
.directory-card:hover{transform:translateY(-1px);border-color:#BDD4EA}
.directory-card.active{
  background:linear-gradient(180deg,#F8FBFF,#EEF5FF);
  border-color:#9EC4F1;
  box-shadow:0 10px 24px rgba(47,111,237,.08);
}
.directory-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.directory-top strong{display:block;font-size:16px}
.directory-top small{display:block;margin-top:5px;color:var(--muted)}
.status-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 12px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  background:#EAF4FF;
  color:#1B4F72;
  white-space:nowrap;
}
.status-pill.crÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­tico,.status-pill.crÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­tico, .status-pill.critico{background:#FEE2E2;color:#B91C1C}
.status-pill.seguimiento{background:#FEF3C7;color:#A16207}
.status-pill.completo{background:#DCFCE7;color:#15803D}
.status-pill.en\ consulta{background:#E0E7FF;color:#4338CA}
.status-pill.nuevo{background:#E2E8F0;color:#475569}
.directory-meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:12px;
}
.directory-meta div{
  border:1px solid #E2EAF1;
  border-radius:14px;
  padding:10px 12px;
  background:#fff;
}
.directory-meta span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  font-weight:800;
  color:#64748B;
  margin-bottom:4px;
}
.directory-meta strong{font-size:13px}
.directory-summary{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:12px;
}
.mini-alert{
  display:block;
  padding:8px 10px;
  border-radius:12px;
  font-size:12px;
  font-weight:700;
}
.mini-alert.warning{background:#FEF3C7;color:#A16207}
.mini-alert.danger{background:#FEE2E2;color:#B91C1C}
.mini-alert.info{background:#E0F2FE;color:#0369A1}
.mini-alert.ok{background:#DCFCE7;color:#166534}

.patient-aside-stack{
  display:grid;
  gap:14px;
  margin-bottom:14px;
}
.exp-card{
  border:1px solid #E2EAF1;
  border-radius:22px;
  background:#F8FBFE;
  padding:18px;
}
.exp-card.active{
  background:linear-gradient(180deg,#FCFEFF,#F2F8FF);
}
.exp-card h3{margin:8px 0 4px;font-size:28px;line-height:1.04}
.exp-card p{margin:0;color:var(--muted)}
.px-metrics{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin-top:14px;
}
.px-metric{
  border:1px solid #E2EAF1;
  border-radius:16px;
  padding:12px;
  background:#fff;
}
.px-metric span{
  display:block;font-size:10px;text-transform:uppercase;font-weight:800;color:#64748B;margin-bottom:5px
}
.px-metric strong{display:block;font-size:13px}
.exp-card-head{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:10px
}
.alert-stack{display:flex;flex-direction:column;gap:8px}
.alert-row{
  padding:10px 12px;border-radius:14px;font-weight:700;font-size:12px
}
.alert-row.warning{background:#FEF3C7;color:#A16207}
.alert-row.danger{background:#FEE2E2;color:#B91C1C}
.alert-row.info{background:#E0F2FE;color:#0369A1}
.alert-row.ok{background:#DCFCE7;color:#166534}

.patient-expediente-pro{
  border:1px solid #E2EAF1;
  border-radius:24px;
  background:#fff;
  padding:18px;
  min-height:540px;
}
.exp-header-card{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  border:1px solid #E2EAF1;border-radius:18px;padding:16px;background:#F8FBFE;margin-bottom:14px
}
.exp-header-card h3{margin:8px 0 4px;font-size:24px}
.exp-header-card p{margin:0;color:var(--muted)}
.exp-two-col,.exp-grid-2,.exp-grid-3{
  display:grid;gap:14px;margin-bottom:14px
}
.exp-two-col,.exp-grid-2{grid-template-columns:1fr 1fr}
.exp-grid-3{grid-template-columns:repeat(3,1fr)}
.exp-block{
  border:1px solid #E2EAF1;
  border-radius:18px;
  background:#F8FBFE;
  padding:14px;
}
.exp-block-head{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:10px
}
.exp-block-head h4{margin:0;font-size:16px}
.exp-block-head span{
  display:inline-block;padding:6px 10px;border-radius:999px;background:#EAF4FF;color:#1B4F72;font-size:11px;font-weight:800
}
.exp-stack{display:flex;flex-direction:column;gap:10px}
.exp-item{
  border:1px solid #E2EAF1;
  border-radius:14px;
  background:#fff;
  padding:12px;
}
.exp-item strong{display:block;margin-bottom:4px}
.exp-item small{display:block;color:var(--muted);line-height:1.45;margin-top:3px}
.exp-empty,.empty{
  color:var(--muted);
  padding:18px;
  border:1px dashed #CBD5E1;
  border-radius:18px;
  background:#F8FBFE;
}

@media (max-width: 1280px){
  .patient-pro-grid{grid-template-columns:1fr}
}
@media (max-width: 860px){
  .patient-toolbar.pro{grid-template-columns:1fr}
  .directory-meta,.px-metrics,.exp-two-col,.exp-grid-2,.exp-grid-3{grid-template-columns:1fr}
}


.clinical-photo-upload-row{margin-top:8px}
.upload-box{
  display:flex;
  flex-direction:column;
  gap:8px;
  border:1px dashed #BDD1E7;
  background:#F8FBFE;
  border-radius:18px;
  padding:14px;
}
.upload-box input[type="file"]{
  background:#fff;
}
.clinical-photo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.photo-thumb-card{
  border:1px solid #E2EAF1;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}
.photo-thumb-card img{
  width:100%;
  height:120px;
  object-fit:cover;
  display:block;
}
.photo-thumb-meta{
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.photo-thumb-meta small{
  color:var(--muted);
  line-height:1.35;
  word-break:break-word;
}
.photo-remove-btn{
  padding:8px 10px;
  border-radius:12px;
}
.history-photo-strip{
  display:flex;
  gap:8px;
  margin-top:8px;
}
.history-photo-strip img{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid #E2EAF1;
}
@media (max-width: 900px){
  .clinical-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


.finance-filter-grid,.finance-report-grid{
  display:grid;
  gap:12px;
}
.finance-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:18px}
.finance-kpi-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.finance-kpi{
  border:1px solid #E2EAF1;
  background:#F8FBFE;
  border-radius:18px;
  padding:14px;
}
.finance-kpi.accent{
  background:linear-gradient(180deg,#EEF6FF,#F8FBFE);
  border-color:#BBD6F4;
}
.finance-kpi span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  font-weight:800;
  color:#64748B;
  margin-bottom:6px;
}
.finance-kpi strong{display:block;font-size:24px;line-height:1.05}
.finance-cut-grid,.finance-report-grid{grid-template-columns:1fr 1fr}
.finance-panel{
  border:1px solid #E2EAF1;
  border-radius:20px;
  background:#fff;
  padding:16px;
}
.finance-panel-head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px
}
.finance-panel-head h4{margin:0;font-size:16px}
.finance-panel-head span{
  display:inline-block;padding:6px 10px;border-radius:999px;background:#EAF4FF;color:#1B4F72;font-size:11px;font-weight:800
}
.finance-stack{display:flex;flex-direction:column;gap:10px}
.finance-item{
  border:1px solid #E2EAF1;
  background:#F8FBFE;
  border-radius:14px;
  padding:12px;
}
.finance-item.compact{display:flex;justify-content:space-between;align-items:center;gap:10px}
.finance-item strong{display:block;margin-bottom:4px}
.finance-item small{display:block;color:var(--muted);line-height:1.45}
.finance-mini-form{
  display:grid;
  gap:10px;
}
@media (max-width: 1200px){
  .finance-filter-grid,.finance-kpi-grid,.finance-cut-grid,.finance-report-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 760px){
  .finance-filter-grid,.finance-kpi-grid,.finance-cut-grid,.finance-report-grid{grid-template-columns:1fr}
}


.pos-top-grid,.pos-bottom-grid,.pos-admin-grid{
  display:grid;
  gap:18px;
}
.pos-top-grid{grid-template-columns:1fr 1fr}
.pos-bottom-grid{grid-template-columns:.75fr 1.25fr}
.pos-admin-grid{grid-template-columns:1.15fr .85fr}

.branch-selector-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.branch-pos-card{
  border:1px solid #D9E6F2;
  background:#F8FBFE;
  border-radius:20px;
  padding:16px;
  text-align:left;
  cursor:pointer;
  transition:.18s ease;
}
.branch-pos-card:hover,.branch-pos-card.active{
  transform:translateY(-1px);
  border-color:#9EC4F1;
  background:linear-gradient(180deg,#F7FBFF,#EEF5FF);
}
.branch-code{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#EAF4FF;
  color:#1B4F72;
  font-size:11px;
  font-weight:900;
  margin-bottom:8px;
}
.branch-pos-card strong{display:block;font-size:18px;margin-bottom:6px}
.branch-pos-card small{color:var(--muted);line-height:1.4}
.pos-login-box{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.catalog-item-card,.admin-mini-card{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid #E2EAF1;
  border-radius:16px;
  background:#fff;
}
.catalog-item-card strong,.admin-mini-card strong{display:block}
.catalog-item-card small,.admin-mini-card small{color:var(--muted)}
.catalog-prices{
  text-align:right;
}
.catalog-prices span{display:block;font-weight:800}
.catalog-prices small{display:block;color:var(--muted)}
.pos-shell{display:grid;gap:18px}
@media (max-width: 1200px){
  .pos-top-grid,.pos-bottom-grid,.pos-admin-grid{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .branch-selector-grid{grid-template-columns:1fr}
}


.pos-top-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.pos-admin-only{
  margin-top:18px;
}
.pos-branch-header{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:18px;
  padding:18px 20px;
  border:1px solid #E2EAF1;
  border-radius:22px;
  background:linear-gradient(180deg,#FCFEFF,#F6FAFE);
}
.pos-branch-header h3{
  margin:8px 0 6px;
  font-size:32px;
  line-height:1.02;
}
.pos-branch-meta{
  display:grid;
  grid-template-columns:repeat(2, minmax(110px,1fr));
  gap:10px;
}
.pos-mini-stat{
  border:1px solid #E2EAF1;
  border-radius:16px;
  background:#fff;
  padding:12px 14px;
}
.pos-mini-stat span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  color:#64748B;
  font-weight:800;
  margin-bottom:4px;
}
.pos-mini-stat strong{
  display:block;
  font-size:15px;
}
.pos-main-shell{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
}
.pos-sale-card{
  padding:22px;
}
.pos-form-clean{
  display:grid;
  gap:14px;
}
.pos-form-top{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}
.pos-capture-mode{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.mode-chip{
  border:1px solid #D7E4F1;
  background:#F8FBFE;
  color:#36506B;
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
  cursor:pointer;
}
.mode-chip.active{
  background:linear-gradient(135deg,#2F6FED,#5B96FF);
  color:#fff;
  border-color:transparent;
}
.pos-capture-box{
  border:1px solid #E2EAF1;
  border-radius:18px;
  background:#F8FBFE;
  padding:14px;
}
.pos-form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.pos-form-grid .wide{
  grid-column:1/-1;
}
.pos-money-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}
.pos-side-panel{
  display:grid;
  gap:18px;
}
.pos-stats-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.pos-stat-card{
  border:1px solid #E2EAF1;
  border-radius:18px;
  background:#fff;
  padding:14px;
}
.pos-stat-card span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  color:#64748B;
  font-weight:900;
  margin-bottom:6px;
}
.pos-stat-card strong{
  display:block;
  font-size:28px;
  line-height:1;
}
.pos-lower-shell{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}
.pos-login-box{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.branch-selector-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.branch-pos-card{
  border:1px solid #D7E4F1;
  background:#F9FCFF;
  border-radius:18px;
  padding:16px;
  text-align:left;
  transition:.18s ease;
}
.branch-pos-card:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.branch-pos-card.active{
  border-color:#9EC4F1;
  background:linear-gradient(180deg,#F7FBFF,#EEF5FF);
}
.branch-pos-card strong{
  display:block;
  font-size:18px;
  margin:8px 0 6px;
}
.branch-pos-card small{
  color:var(--muted);
  line-height:1.4;
}
.branch-code{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#EAF4FF;
  color:#1B4F72;
  font-size:11px;
  font-weight:900;
}
.catalog-item-card,.admin-mini-card{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid #E2EAF1;
  border-radius:16px;
  background:#fff;
}
.catalog-prices{text-align:right}
.catalog-prices span{display:block;font-weight:800}
.catalog-prices small,.admin-mini-card small{color:var(--muted)}
@media (max-width: 1200px){
  .pos-top-grid,.pos-main-shell,.pos-lower-shell{grid-template-columns:1fr}
}
@media (max-width: 860px){
  .pos-form-top,.pos-form-grid,.pos-money-grid,.pos-stats-grid,.branch-selector-grid,.pos-branch-meta{grid-template-columns:1fr}
  .pos-branch-header{flex-direction:column}
}


.pos-admin-only.list-collapsed .card #branchAdminList,
.pos-admin-only.list-collapsed .card .table-list,
.pos-admin-only.list-collapsed .card > div[style]{
  display:none;
}


.branch-fullscreen-shell{
  margin-top:18px;
  display:grid;
  gap:18px;
}
.branch-fullscreen-header{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:22px;
  border:1px solid #E2EAF1;
  border-radius:24px;
  background:linear-gradient(180deg,#FCFEFF,#F6FAFE);
}
.branch-fullscreen-header h2{
  margin:8px 0 6px;
  font-size:40px;
  line-height:1.02;
}
.branch-fullscreen-header p{margin:0;color:var(--muted);max-width:780px}
.branch-head-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(110px,1fr));
  gap:10px;
}
.branch-access-card{
  display:grid;
  gap:12px;
}
.pos-login-inline{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:12px;
  align-items:end;
}
.branch-pos-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
}
.branch-select-tile{
  border:1px solid #D7E4F1;
  background:#F9FCFF;
  border-radius:18px;
  padding:16px;
  text-align:left;
  transition:.18s ease;
}
.branch-select-tile:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.06)}
.branch-select-tile.active{border-color:#9EC4F1;background:linear-gradient(180deg,#F7FBFF,#EEF5FF)}
.branch-select-tile strong{display:block;font-size:18px;margin:8px 0 6px}
.branch-select-tile small{color:var(--muted)}
@media (max-width: 1200px){
  .branch-pos-grid,.pos-top-grid,.pos-lower-shell{grid-template-columns:1fr}
}
@media (max-width: 860px){
  .branch-head-metrics,.pos-login-inline,.pos-form-top,.pos-form-grid,.pos-money-grid,.pos-stats-grid,.branch-selector-grid{grid-template-columns:1fr}
  .branch-fullscreen-header{flex-direction:column}
}


.finance-branch-card{
  align-items:center;
}
.row-actions.compact{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.ghost-btn.danger{
  color:#B91C1C;
  border-color:#F3C7C7;
  background:#FFF7F7;
}
.ghost-btn.danger:hover{
  background:#FEE2E2;
}

.inventory-item-card{border:1px solid #E2EAF1;background:#F8FBFE;border-radius:20px;padding:16px;}
.inventory-item-card.low{border-color:#F3C7C7;background:#FFF9F9;}
.inventory-item-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.inventory-item-top strong{display:block;font-size:16px;}
.inventory-item-top small{display:block;color:var(--muted);margin-top:4px;line-height:1.4;}


/* Agenda PRO */
.alert-stack{display:flex;flex-direction:column;gap:8px}

.ghost-btn.danger{
  color:#B91C1C;
  border-color:#F3C7C7;
  background:#FFF7F7;
}
.ghost-btn.danger:hover{background:#FEE2E2;}


.year-calendar-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  margin-top:14px;
}
.month-card{
  border:1px solid #E2EAF1;
  border-radius:22px;
  background:#F8FBFE;
  padding:14px;
}
.month-card-head h4{
  margin:0 0 10px;
  font-size:18px;
}
.month-weekdays,.month-grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0,1fr));
  gap:6px;
}
.month-weekdays span{
  text-align:center;
  font-size:11px;
  font-weight:800;
  color:#64748B;
  text-transform:uppercase;
}
.day-cell{
  min-height:92px;
  border:1px solid #E2EAF1;
  border-radius:14px;
  background:#fff;
  padding:8px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.day-cell.empty{
  background:transparent;
  border:none;
}
.day-cell.danger{border-color:#F3C7C7;background:#FFF5F5}
.day-cell.warning{border-color:#F7E3A5;background:#FFFBEF}
.day-cell.ok{border-color:#CBE7D1;background:#F4FFF5}
.day-num{
  font-size:12px;
  font-weight:900;
  color:#24374D;
}
.day-events{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.day-event{
  border-radius:10px;
  padding:5px 6px;
  font-size:10px;
  line-height:1.15;
}
.day-event.danger{background:#FEE2E2;color:#991B1B}
.day-event.warning{background:#FEF3C7;color:#92400E}
.day-event.ok{background:#DCFCE7;color:#166534}
.day-event strong{
  display:block;
  font-size:10px;
}
.day-event small{
  display:block;
  font-size:9px;
}
.day-more{
  font-size:10px;
  color:#64748B;
  font-weight:700;
}
.agenda-priority-danger{border-left:5px solid #DC2626}
.agenda-priority-warning{border-left:5px solid #D97706}
.agenda-priority-ok{border-left:5px solid #16A34A}
@media (max-width: 1300px){
  .year-calendar-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media (max-width: 860px){
  .year-calendar-grid{grid-template-columns:1fr}
}


/* Agenda slider PRO */
.month-slider-shell{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:10px;
}
.month-slider-track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  width:100%;
  padding:4px 2px 10px;
}
.month-slider-track::-webkit-scrollbar{display:none}
.month-slide-card{
  flex:0 0 calc(50% - 9px);
  min-width:calc(50% - 9px);
  scroll-snap-align:start;
  border:1px solid #DDE7F0;
  border-radius:28px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F7FAFD 100%);
  box-shadow:0 18px 40px rgba(15,23,42,.06);
  padding:18px;
}
.month-slide-hero{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px;
}
.month-slide-hero h4{
  margin:6px 0 0;
  font-size:28px;
  line-height:1.02;
}
.month-slide-legend{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.legend-chip{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:8px 11px;
  font-size:11px;
  font-weight:900;
}
.legend-chip.green{background:#DCFCE7;color:#166534}
.legend-chip.yellow{background:#FEF3C7;color:#92400E}
.legend-chip.red{background:#FEE2E2;color:#991B1B}
.month-weekdays.premium,
.month-grid.premium{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
}
.month-weekdays.premium span{
  text-align:center;
  font-size:11px;
  font-weight:900;
  color:#64748B;
  text-transform:uppercase;
}
.day-tile{
  min-height:112px;
  border:1px solid #E2EAF1;
  border-radius:18px;
  background:#fff;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:8px;
  cursor:pointer;
  transition:.18s ease;
}
.day-tile:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(15,23,42,.06);
}
.day-tile.ghost{
  background:transparent;
  border:1px dashed transparent;
  cursor:default;
  box-shadow:none;
}
.day-tile.danger{border-color:#F4C7C7;background:linear-gradient(180deg,#FFF7F7,#FFF1F1)}
.day-tile.warning{border-color:#F3E0A6;background:linear-gradient(180deg,#FFFDF4,#FFF9E9)}
.day-tile.ok{border-color:#CFE5D4;background:linear-gradient(180deg,#F7FFF8,#F0FFF2)}
.day-tile-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.day-tile-num{
  font-size:14px;
  font-weight:900;
  color:#22354A;
}
.day-count{
  min-width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#EAF4FF;
  color:#1B4F72;
  font-size:11px;
  font-weight:900;
}
.day-tile-events{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.day-pill{
  border-radius:12px;
  padding:6px 8px;
  line-height:1.12;
}
.day-pill.ok{background:#DCFCE7;color:#166534}
.day-pill.warning{background:#FEF3C7;color:#92400E}
.day-pill.danger{background:#FEE2E2;color:#991B1B}
.day-pill strong{
  display:block;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.day-pill small{
  display:block;
  font-size:9px;
}
.day-extra{
  font-size:10px;
  color:#64748B;
  font-weight:800;
}
.month-slider-btn{
  width:48px;
  height:48px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(47,111,237,.24);
  flex:0 0 auto;
}
#agendaDayDetail{
  border-radius:24px;
}
@media (max-width: 1200px){
  .month-slide-card{
    flex:0 0 100%;
    min-width:100%;
  }
}
@media (max-width: 760px){
  .month-slider-shell{
    gap:8px;
  }
  .month-slider-btn{
    width:40px;
    height:40px;
    font-size:24px;
  }
  .month-slide-hero{
    flex-direction:column;
  }
}


/* Compact agenda calendar layout */
.agenda-calendar-card.compact{
  padding:18px;
}
.agenda-calendar-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
}
.search-input.small{
  max-width:120px;
  height:44px;
}
.month-slider-shell{
  gap:10px;
  margin-top:4px;
}
.month-slide-card{
  flex:0 0 calc(33.333% - 12px);
  min-width:calc(33.333% - 12px);
  border-radius:22px;
  padding:14px;
}
.month-slide-hero{
  margin-bottom:10px;
}
.month-slide-hero h4{
  font-size:20px;
}
.legend-chip{
  padding:6px 9px;
  font-size:10px;
}
.month-weekdays.premium,
.month-grid.premium{
  gap:6px;
}
.month-weekdays.premium span{
  font-size:10px;
}
.day-tile{
  min-height:72px;
  border-radius:14px;
  padding:7px;
  gap:5px;
}
.day-tile-num{
  font-size:12px;
}
.day-count{
  min-width:20px;
  height:20px;
  font-size:10px;
}
.day-pill{
  border-radius:10px;
  padding:4px 6px;
}
.day-pill strong{
  font-size:10px;
}
.day-pill small{
  font-size:8px;
}
.day-extra{
  font-size:9px;
}
.month-slider-btn{
  width:42px;
  height:42px;
  font-size:22px;
  box-shadow:0 10px 20px rgba(47,111,237,.18);
}
.agenda-day-detail{
  border-radius:18px;
  padding:14px;
}
@media (max-width: 1400px){
  .month-slide-card{
    flex:0 0 calc(50% - 9px);
    min-width:calc(50% - 9px);
  }
}
@media (max-width: 980px){
  .month-slide-card{
    flex:0 0 100%;
    min-width:100%;
  }
}


/* Reportes PRO */
.reports-toolbar{
  display:flex;
  justify-content:flex-end;
  margin-bottom:12px;
}
.reports-toolbar label,
.reports-hero-tools label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.reports-toolbar select,
.reports-hero-tools select{
  min-width:140px;
}
.reports-hero{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:24px;
  border-radius:28px;
  background:linear-gradient(135deg,#0B2036 0%,#123A63 50%,#1B4C7B 100%);
  color:#fff;
  margin-bottom:18px;
  box-shadow:0 30px 56px rgba(16,36,61,.18);
}
.reports-hero h3{
  margin:6px 0 10px;
  font-size:38px;
  line-height:1.02;
}
.reports-hero p{
  margin:0;
  color:#D8E5F2;
  max-width:760px;
}
.reports-hero-tools{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:180px;
}
.reports-hero-date{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  font-weight:800;
}
.reports-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
.reports-kpi-card{
  border:1px solid #E2EAF1;
  border-radius:22px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFE 100%);
  padding:16px;
}
.reports-kpi-card.highlight{
  background:linear-gradient(135deg,#F7FBFF,#EEF5FF);
  border-color:#A5C4F0;
}
.reports-kpi-card span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  color:#64748B;
  font-weight:900;
  margin-bottom:8px;
}
.reports-kpi-card strong{
  display:block;
  font-size:28px;
  line-height:1;
}
.reports-grid-top{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
.reports-grid-mid{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:18px;
  margin-bottom:18px;
}
.reports-grid-bottom{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.reports-side-stack{
  display:grid;
  gap:18px;
}
.reports-panel{
  border:1px solid #E2EAF1;
  border-radius:24px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F9FCFF 100%);
  padding:18px;
}
.reports-panel.wide{
  min-height:100%;
}
.reports-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:12px;
}
.reports-panel-head h4{
  margin:0 0 4px;
}
.reports-panel-head small{
  color:var(--muted);
}
.reports-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.reports-list-item,
.reports-event-item{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  border:1px solid #E7EEF5;
  border-radius:16px;
  background:#fff;
  padding:12px 14px;
}
.reports-event-item{
  flex-direction:column;
}
.reports-list-item strong,
.reports-event-item strong{
  font-size:14px;
}
.reports-list-item span{
  font-weight:900;
  color:#153A63;
}
.reports-event-item small{
  color:var(--muted);
}
.reports-table-wrap{
  overflow:auto;
}
.reports-table{
  width:100%;
  border-collapse:collapse;
  min-width:760px;
}
.reports-table th,
.reports-table td{
  padding:12px 10px;
  border-bottom:1px solid #E7EEF5;
  text-align:left;
  font-size:13px;
}
.reports-table th{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#64748B;
  font-weight:900;
}
.reports-clinical-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.reports-stat-chip{
  border:1px solid #E7EEF5;
  border-radius:18px;
  background:#fff;
  padding:14px;
}
.reports-stat-chip span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  color:#64748B;
  font-weight:900;
  margin-bottom:8px;
}
.reports-stat-chip strong{
  display:block;
  font-size:24px;
}
@media (max-width: 1300px){
  .reports-kpi-grid,
  .reports-grid-top{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .reports-grid-mid,
  .reports-grid-bottom{
    grid-template-columns:1fr;
  }
}
@media (max-width: 860px){
  .reports-hero{
    flex-direction:column;
  }
  .reports-kpi-grid,
  .reports-grid-top,
  .reports-clinical-grid{
    grid-template-columns:1fr;
  }
}


/* Panel principal PRO limpio */
.dashboard-clean-hero{
  border:1px solid #DDE7F0;
  border-radius:30px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFE 100%);
  box-shadow:0 18px 40px rgba(15,23,42,.05);
  padding:24px;
}
.dashboard-clean-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:18px;
}
.dashboard-clean-head h3{
  margin:6px 0 10px;
  font-size:42px;
  line-height:1.02;
}
.dashboard-clean-head p{
  margin:0;
  color:var(--muted);
  max-width:760px;
}
.dashboard-head-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.dashboard-main-stats{
  display:grid;
  grid-template-columns:1.4fr repeat(5, minmax(0,1fr));
  gap:14px;
}
.dashboard-stat{
  border:1px solid #E2EAF1;
  border-radius:24px;
  background:#fff;
  padding:18px;
}
.dashboard-stat.primary{
  background:linear-gradient(135deg,#0B2036 0%,#123A63 48%,#1B4C7B 100%);
  border-color:transparent;
  color:#fff;
}
.dashboard-stat.alert{
  background:linear-gradient(135deg,#FFF8F1,#FFF1E6);
  border-color:#F6D7BC;
}
.dashboard-stat span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.05em;
  color:#64748B;
  margin-bottom:8px;
}
.dashboard-stat.primary span{color:#D9E7F6}
.dashboard-stat strong{
  display:block;
  font-size:30px;
  line-height:1.03;
}
.dashboard-stat small{
  display:block;
  margin-top:8px;
  color:var(--muted);
}
.dashboard-stat.primary small{color:#D9E7F6}
.quick-access-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.quick-access-card{
  text-align:left;
  border:1px solid #E2EAF1;
  border-radius:24px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFE 100%);
  padding:18px;
  cursor:pointer;
  transition:.18s ease;
}
.quick-access-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 30px rgba(15,23,42,.07);
  border-color:#A5C4F0;
}
.quick-kicker{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:#EAF2FF;
  color:#245FDE;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:12px;
}
.quick-access-card strong{
  display:block;
  font-size:20px;
  margin-bottom:8px;
  color:var(--text);
}
.quick-access-card small{
  display:block;
  color:var(--muted);
  line-height:1.45;
  min-height:42px;
}
.quick-access-card em{
  display:block;
  margin-top:12px;
  font-style:normal;
  font-weight:900;
  color:#1B4F72;
}
.dashboard-lower-grid{
  align-items:start;
}
.dashboard-flow-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.dashboard-flow-step{
  display:flex;
  gap:12px;
  align-items:flex-start;
  border:1px solid #E7EEF5;
  border-radius:18px;
  background:#fff;
  padding:14px;
}
.dashboard-flow-step span{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#fff;
  font-weight:900;
  flex:0 0 auto;
}
.dashboard-flow-step strong{
  display:block;
  margin-bottom:4px;
}
.dashboard-flow-step small{
  color:var(--muted);
}
@media (max-width: 1400px){
  .dashboard-main-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .quick-access-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 900px){
  .dashboard-clean-head{
    flex-direction:column;
  }
  .dashboard-main-stats,
  .quick-access-grid,
  .dashboard-lower-grid{
    grid-template-columns:1fr;
  }
}


.whatsapp-template-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.whatsapp-btn{
  border:none;
  border-radius:14px;
  padding:12px 14px;
  background:#25D366;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(37,211,102,.22);
}
.whatsapp-btn.compact{
  width:auto;
  padding:8px 12px;
  font-size:12px;
  border-radius:12px;
}
.whatsapp-btn:hover{
  transform:translateY(-1px);
}
.suggested-rx-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:12px;
}
.suggested-rx-grid > div{
  padding:12px;
  border-radius:14px;
  background:#F4F8FC;
}
.suggested-rx-grid small{
  display:block;
  color:#64748B;
  margin-bottom:6px;
}
.suggested-rx-grid strong{
  display:block;
  font-size:14px;
  line-height:1.35;
}
@media (max-width: 860px){
  .whatsapp-template-grid,
  .suggested-rx-grid{
    grid-template-columns:1fr;
  }
}


.suggestion-hint{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:10px 12px;
  border:1px solid #DDE7F0;
  border-radius:14px;
  background:#F8FBFE;
}
.suggestion-hint strong{
  color:#1B4F72;
}
.suggestion-hint small{
  color:#64748B;
}

/* Refraction controls slightly wider */
.rx-pro-card{
  padding:20px;
}
.rx-pro{
  grid-template-columns:1.18fr 1.18fr 0.95fr 1.18fr !important;
  gap:16px !important;
}
.rx-stepper{
  gap:8px !important;
}
.rx-stepper button{
  min-width:42px;
  height:42px;
}
.rx-stepper input,
.rx-col.axis input{
  min-width:86px;
  height:44px;
  font-size:24px;
}

/* Ajuste fino: nÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Âºmeros mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s pequeÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â±os pero legibles */
.rx-stepper input,
.rx-col.axis input{
  font-size:18px !important;
  height:42px;
  padding:6px 8px;
  text-align:center;
}


/* Ajuste fino solo para Agudeza visual y CorrecciÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n en Historia clÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­nica */
.clinical-three-cols.rx-layout-pro .doc-card.compact-card{
  padding: 20px;
}

.clinical-three-cols.rx-layout-pro .doc-card.compact-card h4{
  font-size: 22px;
  margin-bottom: 12px;
}

.clinical-three-cols.rx-layout-pro .doc-card.compact-card .mini-block{
  padding: 16px;
  border-radius: 20px;
  margin-bottom: 14px;
}

.clinical-three-cols.rx-layout-pro .doc-card.compact-card .mini-block strong{
  font-size: 16px;
  margin-bottom: 12px;
}

.clinical-three-cols.rx-layout-pro .doc-card.compact-card .dual-eye-grid{
  gap: 14px;
}

.clinical-three-cols.rx-layout-pro .doc-card.compact-card .dual-eye-grid label span{
  font-size: 13px;
  margin-bottom: 8px;
}

.clinical-three-cols.rx-layout-pro .doc-card.compact-card .dual-eye-grid input{
  height: 50px;
  font-size: 17px;
  padding: 12px 14px;
}

/* Mantener layout estable sin tocar otros mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³dulos */
@media (min-width: 1201px){
  .clinical-three-cols.rx-layout-pro{
    grid-template-columns: 0.9fr 0.9fr 1.2fr;
  }
}


/* ===== FIX VISUAL PRO FINAL ===== */

/* AGUDEZA VISUAL Y CORRECCIÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œN ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ visibles y funcionales */
.dual-eye-grid input{
  height:56px !important;
  font-size:20px !important;
  border-radius:14px;
}

/* contenedores mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s proporcionados */
.mini-block{
  padding:14px !important;
}

/* etiquetas mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s claras */
.dual-eye-grid label span{
  font-size:14px !important;
  font-weight:800;
}

/* REFRACCIÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œN PRO ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s compacta pero limpia */
.refraccion-pro-card{
  padding:12px !important;
}

.rx-pro{
  gap:8px !important;
}

.rx-stepper button{
  height:38px !important;
  font-size:18px !important;
}

.rx-stepper input,
.rx-col.axis input{
  height:38px !important;
  font-size:16px !important;
}

/* reduce altura general sin perder legibilidad */
.rx-pro-card .rx-pro-head{
  font-size:14px;
}

/* columnas mejor balanceadas */
@media (min-width:1200px){
  .clinical-three-cols.rx-layout-pro{
    grid-template-columns:0.85fr 0.85fr 1.1fr;
  }
}


/* ===== AJUSTE FINO EXACTO (como pediste) ===== */

/* INPUTS MÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚ÂS ANCHOS */
.dual-eye-grid input{
  width:100% !important;
  min-width:90px !important;
  height:52px !important;
  font-size:16px !important;
  text-align:center;
}

/* CONTENEDORES MÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚ÂS AMPLIOS */
.dual-eye-grid{
  grid-template-columns:1fr 1fr !important;
  gap:12px;
}

/* TEXTO MÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚ÂS PEQUEÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¹Ãƒâ€¦Ã¢â‚¬Å“O PARA QUE ENTRE PERFECTO */
.dual-eye-grid label span{
  font-size:12px !important;
}

/* BLOQUES MÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚ÂS PROPORCIONADOS */
.mini-block{
  padding:12px !important;
}

/* REFRACCIÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œN MÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚ÂS COMPACTA PERO LIMPIA */
.rx-stepper input,
.rx-col.axis input{
  min-width:72px !important;
  font-size:15px !important;
  height:36px !important;
}

.rx-stepper button{
  height:36px !important;
  min-width:34px !important;
}

/* MEJOR PROPORCIÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œN GENERAL */
@media (min-width:1200px){
  .clinical-three-cols.rx-layout-pro{
    grid-template-columns:0.9fr 0.9fr 1.05fr;
  }
}


/* Fase 1 Bloque 1 - cobranza */
.debt-card{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  border:1px solid #E2EAF1;
  border-radius:20px;
  background:#FBFDFF;
  padding:14px 16px;
}
.debt-card small{
  display:block;
  color:var(--muted);
  margin-top:4px;
}
.row-actions.compact{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.whatsapp-btn{
  border:none;
  border-radius:14px;
  padding:12px 14px;
  background:#25D366;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(37,211,102,.22);
}
.whatsapp-btn.compact{
  padding:8px 12px;
  font-size:12px;
  border-radius:12px;
  box-shadow:none;
}
@media (max-width: 900px){
  .debt-card{
    flex-direction:column;
  }
}


/* Fase 2 Control empresarial */
.session-card{
  margin-bottom:14px;
  padding:14px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
}
.session-card span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
  color:#D8E6F3;
  margin-bottom:6px;
}
.session-card strong{
  display:block;
  color:#fff;
}
.session-card small{
  color:#C9D8E8;
}
.session-card.muted{
  background:rgba(255,255,255,.03);
}
.navbar-user-chip{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:10px 14px;
  border-radius:16px;
  background:#F8FBFE;
  border:1px solid var(--border);
}
.navbar-user-chip strong{
  font-size:13px;
}
.navbar-user-chip small{
  color:var(--muted);
}
.enterprise-login-card{
  padding:26px;
}
.ghost-btn.danger{
  color:#B91C1C;
  border-color:#F3C7C7;
  background:#FFF7F7;
}
.ghost-btn.danger:hover{
  background:#FEE2E2;
}


/* Usuarios y permisos PRO */
.user-admin-card{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  border:1px solid #E2EAF1;
  border-radius:22px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFE 100%);
  padding:16px;
}
.user-admin-card.inactive{
  opacity:.75;
  background:linear-gradient(180deg,#FAFAFA 0%,#F3F6F8 100%);
}
.user-admin-main small{
  display:block;
  color:var(--muted);
  margin-top:4px;
}


/* AdministraciÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n general */


/* Fase 3 */
.reports-toolbar.pro{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:end;
  margin-bottom:16px;
}
@media (max-width: 1200px){
  .reports-toolbar.pro{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 760px){
  .reports-toolbar.pro{grid-template-columns:1fr}
}

.trace-list{display:flex;flex-direction:column;gap:12px;max-height:900px;overflow:auto}
.trace-card{border:1px solid var(--border);border-radius:20px;background:#FBFDFF;padding:14px}
.trace-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}
.trace-head small,.trace-meta small{display:block;color:var(--muted)}
.trace-box{margin-top:10px;padding:10px;border:1px solid #E2EAF1;border-radius:14px;background:#fff}
.trace-box span{display:block;font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#45617D;margin-bottom:8px}
.trace-box pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12px;color:#1E293B}

.upload-box{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:16px;
  border:1px dashed var(--border);
  border-radius:20px;
  background:#F8FBFE;
}
.upload-box span{font-weight:800;color:var(--text)}
.upload-box small{color:var(--muted)}


/* =========================================================
   UI PRO COMPLETA ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â layout escalable, limpio y sin desbordes
   ========================================================= */

html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

body{
  min-height:100vh;
}

#app-shell{
  display:grid !important;
  grid-template-columns: 312px minmax(0,1fr) !important;
  min-height:100vh;
  width:100%;
  overflow:hidden;
}

#sidebar{
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  padding:20px 16px 24px;
  scrollbar-width:thin;
}

#sidebar::-webkit-scrollbar{
  width:8px;
}
#sidebar::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.12);
  border-radius:999px;
}

.main-area{
  min-width:0 !important;
  width:100%;
  padding:20px 20px 28px !important;
  overflow-x:hidden;
}

#navbar{
  position:sticky;
  top:0;
  z-index:30;
  padding-bottom:14px;
  background:linear-gradient(180deg, rgba(238,243,247,.96) 0%, rgba(238,243,247,.82) 74%, rgba(238,243,247,0) 100%);
  backdrop-filter:blur(6px);
}

.navbar{
  min-width:0;
  width:100%;
  margin-bottom:0;
  padding:20px 22px !important;
  border-radius:24px !important;
  align-items:flex-start !important;
}

.navbar-copy{
  min-width:0;
  flex:1 1 auto;
}

.navbar-copy h2{
  font-size:32px !important;
  line-height:1.02;
  word-break:break-word;
}

.navbar-copy p{
  max-width:100% !important;
}

.navbar-actions{
  justify-content:flex-end;
  align-items:center;
  flex:0 0 auto;
}

.navbar-user-chip{
  max-width:260px;
}

#app{
  min-width:0;
  width:100%;
}

.page-grid{
  width:100%;
  min-width:0 !important;
  grid-auto-rows:auto;
}

.page-grid > *,
.grid-2 > *,
.grid-3 > *{
  min-width:0 !important;
}

.grid-2{
  grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr) !important;
}

.grid-3{
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
}

.card{
  min-width:0 !important;
  overflow:hidden;
  border-radius:24px !important;
  padding:20px !important;
}

.soft-card,
.active-patient-card,
.list-item,
.signal-card,
.signal-chip,
.patient-summary-card,
.quick-access-card,
.finance-panel,
.reports-panel,
.dashboard-stat,
.directory-card,
.inventory-item-card,
.debt-card,
.user-admin-card,
.trace-card,
.admin-mini-card{
  min-width:0 !important;
  overflow:hidden;
}

.form-grid,
.form-grid.two,
.form-grid.three,
.form-grid.four{
  width:100%;
  min-width:0;
}

.form-grid.two{
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
}

.form-grid.three{
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
}

.form-grid.four{
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
}

label,
label span,
input,
select,
textarea,
button{
  min-width:0;
}

input,
select,
textarea{
  max-width:100%;
}

button{
  white-space:normal;
}

.search-input{
  min-width:0;
}

.section-card{
  border-radius:20px !important;
  padding:12px !important;
}

.nav-link{
  border-radius:15px !important;
  padding:12px 13px !important;
  min-width:0;
  line-height:1.18;
}

.nav-link.wide{
  padding:14px !important;
}

.nav-link strong,
.nav-link small,
.brand-copy h1,
.brand-copy p,
.section-head span,
.section-head small,
.sidebar-footer span,
.sidebar-footer small{
  word-break:break-word;
}

.brand-panel{
  border-radius:24px !important;
  padding:18px 14px !important;
}

.brand-logo{
  width:110px !important;
}

.session-card{
  border-radius:18px !important;
  padding:12px !important;
}

.reports-toolbar.pro{
  grid-template-columns: repeat(5, minmax(0,1fr)) !important;
}

.finance-filter-grid,
.patient-toolbar.pro,
.agenda-calendar-toolbar,
.doc-topbar,
.doc-meta-grid,
.clinical-patient-grid,
.quick-access-grid,
.dashboard-top-grid,
.dashboard-main-stats,
.reports-grid-top,
.reports-grid-mid,
.finance-report-grid,
.directory-grid{
  min-width:0;
}

.reports-grid-top{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:16px;
}

.reports-grid-mid{
  display:grid;
  grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr);
  gap:16px;
}

.finance-report-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:16px;
}

.directory-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:16px;
}

.reports-table-wrap{
  overflow:auto;
  border-radius:18px;
}

.reports-table{
  width:100%;
  min-width:640px;
}

.branch-card,
.branch-card h3,
.finance-branch-card,
.inventory-item-card,
.trace-card,
.reports-event-item{
  min-width:0;
}

.branch-card h3,
.inventory-item-card strong,
.finance-item strong,
.reports-list-item strong{
  overflow:hidden;
  text-overflow:ellipsis;
}

.finance-kpi-grid,
.reports-kpi-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:12px;
}

.finance-kpi,
.reports-kpi-card{
  min-width:0;
  border-radius:20px !important;
}

.trace-box pre{
  overflow:auto;
  max-height:220px;
}

.sale-preview-shell,
.sale-preview-frame{
  width:100%;
  max-width:100%;
}

iframe{
  max-width:100%;
}

@media (max-width: 1440px){
  #app-shell{
    grid-template-columns: 296px minmax(0,1fr) !important;
  }
  .navbar-copy h2{
    font-size:29px !important;
  }
  .reports-grid-top,
  .finance-report-grid,
  .directory-grid{
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1200px){
  #app-shell{
    grid-template-columns: 1fr !important;
  }

  #sidebar{
    position:relative;
    top:auto;
    height:auto;
    max-height:none;
  }

  .main-area{
    padding:16px !important;
  }

  .navbar{
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .navbar-actions{
    width:100%;
    justify-content:flex-start;
  }

  .grid-2,
  .grid-3,
  .form-grid.two,
  .form-grid.three,
  .form-grid.four,
  .hero-lux,
  .reports-grid-mid,
  .reports-grid-top,
  .finance-report-grid,
  .directory-grid,
  .reports-toolbar.pro,
  .finance-kpi-grid,
  .reports-kpi-grid{
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px){
  .navbar-copy h2{
    font-size:26px !important;
  }

  .card{
    padding:16px !important;
    border-radius:20px !important;
  }

  .brand-logo{
    width:88px !important;
  }

  .nav-link{
    font-size:13px !important;
  }

  .primary-btn,
  .ghost-btn{
    width:100%;
    justify-content:center;
  }

  .row-actions,
  .navbar-actions{
    flex-direction:column;
    align-items:stretch;
  }
}


/* POS catÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡logo con buscador */
.pos-catalog-search-grid{
  display:grid;
  grid-template-columns: minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.9fr);
  gap:12px;
  margin-bottom:12px;
}
.catalog-search-results{
  display:grid;
  gap:10px;
  margin-top:12px;
  max-height:320px;
  overflow:auto;
  padding-right:4px;
}
.catalog-search-result{
  width:100%;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--border);
  background:#F9FBFD;
  color:var(--text);
  cursor:pointer;
  text-align:left;
}
.catalog-search-result:hover,
.catalog-search-result.active{
  border-color:#BFD3F9;
  background:#EEF4FF;
}
.catalog-search-result small{
  display:block;
  color:var(--muted);
  margin-top:4px;
}
.catalog-search-price{
  text-align:right;
  flex:0 0 auto;
}
.catalog-search-price span{
  display:block;
  font-weight:800;
}
.catalog-search-price small{
  margin-top:4px;
}

@media (max-width: 1200px){
  .pos-catalog-search-grid{
    grid-template-columns:1fr;
  }
}

.catalog-search-results .empty{
  padding:12px 14px;
  border:1px dashed var(--border);
  border-radius:16px;
  background:#FBFDFF;
  color:var(--muted);
}

.catalog-search-results{
  border:1px solid #E2EAF1;
  border-radius:18px;
  background:#FFFFFF;
  padding:10px;
}


/* POS caja rÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡pida */
.pos-cart-shell{
  margin-top:12px;
}
.pos-cart-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#FBFDFF;
}
.pos-cart-main{
  min-width:0;
}
.pos-cart-main small{
  display:block;
  color:var(--muted);
  margin-top:4px;
}
.pos-cart-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.pos-cart-actions .qty{
  min-width:20px;
  text-align:center;
  font-weight:800;
}
.ghost-btn.mini{
  padding:8px 10px;
  border-radius:12px;
  font-size:12px;
}
.catalog-search-result.active{
  outline:2px solid #5B8CFF;
}


/* ImpresiÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n historia clÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­nica */
#printClinicalBtn{
  min-width:220px;
}


/* Sidebar compacto fijo con mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³dulos visibles */
#app-shell{
  grid-template-columns: 270px 1fr !important;
}
#sidebar{
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden !important;
  padding: 12px 12px 14px !important;
}
.brand-panel{
  margin-bottom:10px !important;
  padding:12px 10px !important;
  border-radius:20px !important;
}
.brand-mark-wrap{margin-bottom:8px !important;}
.brand-logo{width:78px !important;}
.brand-copy h1{font-size:16px !important;}
.brand-copy p{font-size:11px !important;margin-top:4px !important;}
.session-card{
  padding:10px 12px !important;
  border-radius:16px !important;
  margin-bottom:8px !important;
}
.section-card{
  margin-top:8px !important;
  padding:10px !important;
  border-radius:16px !important;
}
.section-head{
  padding:2px 2px 8px !important;
}
.section-head span{font-size:11px !important;}
.section-head small{font-size:10px !important;}
.nav-links{gap:5px !important;}
.nav-link{
  padding:9px 10px !important;
  border-radius:12px !important;
  font-size:12px !important;
}
.nav-link.wide{
  padding:11px !important;
}
.nav-link.wide .nav-kicker{font-size:10px !important;}
.nav-link.wide strong{font-size:13px !important;margin-top:4px !important;}
.nav-link.wide small{font-size:10px !important;margin-top:4px !important;}
.sidebar-footer{
  margin-top:10px !important;
  padding:10px !important;
  border-radius:14px !important;
}
.sidebar-footer span{font-size:12px !important;}
.sidebar-footer small{font-size:10px !important;}

@media (max-height: 900px){
  #sidebar{
    overflow-y:auto !important;
  }
}


/* Botones visibles de impresiÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n / PDF */
.clinical-action-bar{
  margin: 0 0 14px 0;
}
.clinical-action-buttons{
  justify-content:flex-end;
  align-items:center;
}
.clinical-action-buttons .primary-btn,
.clinical-action-buttons .ghost-btn{
  min-width: 190px;
}
.doc-title .row-actions{
  flex-wrap:wrap;
}
@media (max-width: 1200px){
  .clinical-action-buttons{
    justify-content:flex-start;
  }
}


.catalog-search-results{
  display:grid;
  gap:10px;
  max-height:280px;
  overflow:auto;
  padding:4px;
}
.catalog-search-result{
  width:100%;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--border);
  background:#F9FBFD;
  color:var(--text);
  cursor:pointer;
  text-align:left;
}
.catalog-search-result:hover,
.catalog-search-result.active{
  border-color:#BFD3F9;
  background:#EEF4FF;
}
.catalog-search-result small{
  display:block;
  color:var(--muted);
  margin-top:4px;
}
.catalog-search-price{
  text-align:right;
  flex:0 0 auto;
}
.catalog-search-price span{
  display:block;
  font-weight:800;
}
.catalog-search-price small{
  margin-top:4px;
}

/* UI compacto venta lentes */
.lens-container{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:10px;
}

.lens-block{
    padding:8px;
    border-radius:10px;
    font-size:13px;
}

.lens-block input{
    height:32px;
    font-size:13px;
    padding:4px 8px;
}

.lens-block ul{
    max-height:120px;
    overflow-y:auto;
    font-size:12px;
}

.lens-block li{
    padding:4px;
}

.lens-title{
    font-size:13px;
    font-weight:600;
    margin-bottom:4px;
}


.ghost-btn.danger{
  border:1px solid #F3C5C5;
  background:#FFF5F5;
  color:#B42318;
}
.ghost-btn.danger:hover{
  background:#FEECEC;
}


/* Sidebar continua sin scroll interno */
#app-shell{
  align-items: stretch;
}

#sidebar{
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: 100vh;
  overflow: visible !important;
  padding: 10px 10px 14px !important;
}

.brand-panel{
  margin-bottom: 8px !important;
  padding: 10px 10px !important;
  border-radius: 18px !important;
}

.brand-mark-wrap{
  margin-bottom: 8px !important;
}

.brand-logo{
  width: 72px !important;
}

.brand-copy h1{
  font-size: 15px !important;
}

.brand-copy p{
  font-size: 10px !important;
  margin-top: 3px !important;
}

.section-card{
  margin-top: 8px !important;
  padding: 9px !important;
  border-radius: 16px !important;
}

.section-head{
  padding: 2px 4px 8px !important;
}

.section-head span{
  font-size: 11px !important;
}

.section-head small{
  font-size: 10px !important;
  margin-top: 2px !important;
}

.nav-links{
  gap: 5px !important;
}

.nav-link{
  padding: 9px 10px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
}

.nav-link.wide{
  padding: 11px !important;
}

.nav-link.wide .nav-kicker{
  font-size: 9px !important;
}

.nav-link.wide strong{
  font-size: 12px !important;
  margin-top: 3px !important;
}

.nav-link.wide small{
  font-size: 9px !important;
  margin-top: 3px !important;
}

.sidebar-footer{
  margin-top: 8px !important;
  padding: 10px !important;
  border-radius: 14px !important;
}

.sidebar-footer span{
  font-size: 12px !important;
}

.sidebar-footer small{
  font-size: 10px !important;
}

@media (max-height: 1000px){
  #sidebar{
    padding: 8px 8px 12px !important;
  }
  .nav-link{
    padding: 8px 9px !important;
    font-size: 11px !important;
  }
  .section-card{
    padding: 8px !important;
  }
}


/* PRO limpio */
.navbar-copy p,
.page-copy,
.doc-subtle,
.card p,
small{
  line-height: 1.25;
}
.navbar-copy p{
  max-width: 560px !important;
}
.section-head small,
.brand-copy p,
.sidebar-footer small{
  letter-spacing: 0;
}
.card h3{
  margin-bottom: 10px;
}
.card h4{
  margin-bottom: 8px;
}
.active-patient-card small,
.finance-item small,
.list-item small,
.reports-list-item small{
  font-size: 12px;
}
label span{
  font-size: 13px;
  margin-bottom: 6px;
}
input,select,textarea{
  padding: 10px 12px;
}


.status-pill.archivado{
  background:#F3F4F6;
  color:#475467;
}


/* ===== FIX REAL AGUDEZA VISUAL / CORRECCIÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œN ===== */
/* Evita traslapes y mantiene lectura clara */
.clinical-three-cols.rx-layout-pro{
  align-items:start !important;
}

@media (min-width:1201px){
  .clinical-three-cols.rx-layout-pro{
    grid-template-columns: 0.95fr 0.95fr 1.5fr !important;
    gap: 14px !important;
  }
}

.clinical-three-cols.rx-layout-pro .doc-card.compact-card{
  padding: 16px !important;
  min-width: 0 !important;
}

.clinical-three-cols.rx-layout-pro .doc-card.compact-card h4{
  font-size: 24px !important;
  line-height: 1.05 !important;
  margin-bottom: 12px !important;
}

.clinical-three-cols.rx-layout-pro .mini-block{
  padding: 14px !important;
  border-radius: 18px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.clinical-three-cols.rx-layout-pro .mini-block strong{
  display:block !important;
  font-size: 16px !important;
  margin-bottom: 10px !important;
  line-height: 1.05 !important;
}

.clinical-three-cols.rx-layout-pro .dual-eye-grid{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
}

.clinical-three-cols.rx-layout-pro .dual-eye-grid label{
  display:flex !important;
  flex-direction:column !important;
  gap: 6px !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

.clinical-three-cols.rx-layout-pro .dual-eye-grid label span{
  font-size: 12px !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

.clinical-three-cols.rx-layout-pro .dual-eye-grid input{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  padding: 8px 10px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  text-align: center !important;
  border-radius: 14px !important;
}

@media (max-width:1200px){
  .clinical-three-cols.rx-layout-pro{
    grid-template-columns: 1fr !important;
  }
  .clinical-three-cols.rx-layout-pro .doc-card.compact-card h4{
    font-size: 22px !important;
  }
}

@media (max-width:760px){
  .clinical-three-cols.rx-layout-pro .dual-eye-grid{
    grid-template-columns: 1fr 1fr !important;
  }
  .clinical-three-cols.rx-layout-pro .dual-eye-grid input{
    height: 42px !important;
    font-size: 13px !important;
  }
}


.order-preview-frame{
  height: 260px !important;
}
.reports-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.report-kpi-card {
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  padding: 16px;
  background: #fff;
}

.report-kpi-card small {
  display: block;
  color: #64748b;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
}

.report-kpi-card strong {
  display: block;
  font-size: 22px;
  color: #0f172a;
}

.report-table-wrap {
  overflow-x: auto;
}

.report-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 960px;
}

.report-table th,
.report-table td {
  border-bottom: 1px solid #e2e8f0;
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  font-size: 13px;
}

.report-table th {
  color: #334155;
  background: #f8fafc;
  font-weight: 800;
  position: sticky;
  top: 0;
}

.report-empty-cell {
  text-align: center;
  color: #64748b;
  padding: 18px;
}

.report-filters {
  margin-top: 12px;
}

@media (max-width: 1200px) {
  .reports-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .reports-kpis {
    grid-template-columns: 1fr;
  }
}
/* ===== DIRECCIÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œN GENERAL (tablas y jerarquÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­a visual) ===== */

.report-table th:first-child,
.report-table td:first-child {
  font-weight: 700;
  color: #0f172a;
}

/* Resaltar columnas clave (dinero) */
.report-table td:nth-child(3),
.report-table td:nth-child(4),
.report-table td:nth-child(5),
.report-table td:nth-child(6),
.report-table td:nth-child(7) {
  font-weight: 600;
}

/* Estados visuales de ventas */
.report-table td:has(+ td:contains("pendiente")) {
  color: #b45309;
}

.report-table td:has(+ td:contains("liquidada")) {
  color: #15803d;
}

.report-table td:has(+ td:contains("abonado")) {
  color: #1d4ed8;
}

/* Hover tipo dashboard */
.report-table tbody tr:hover {
  background: #f1f5f9;
  transition: 0.2s ease;
}

/* SeparaciÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n entre bloques */
.card + .card {
  margin-top: 10px;
}

/* Scroll mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s elegante */
.report-table-wrap::-webkit-scrollbar {
  height: 8px;
}

.report-table-wrap::-webkit-scrollbar-thumb {
  background: #cbd5f5;
  border-radius: 10px;
}

/* KPI mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s pro */
.report-kpi-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.report-kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.06);
}
/* ===== SIDEBAR PRO / DIRECCIÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œN GENERAL ===== */

:root {
  --sidebar-bg-1: #08111f;
  --sidebar-bg-2: #0d1b2a;
  --sidebar-panel: rgba(255, 255, 255, 0.03);
  --sidebar-panel-border: rgba(255, 255, 255, 0.08);
  --sidebar-item: rgba(255, 255, 255, 0.035);
  --sidebar-item-border: rgba(255, 255, 255, 0.07);
  --sidebar-item-hover: rgba(255, 255, 255, 0.07);
  --sidebar-active-1: #3b82f6;
  --sidebar-active-2: #6ea8ff;
  --sidebar-text: #eef4ff;
  --sidebar-text-soft: #9fb0c7;
  --sidebar-section: #c7d6ea;
  --sidebar-divider: rgba(255, 255, 255, 0.06);
  --sidebar-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}

/* Contenedor general del menÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Âº lateral */
.sidebar,
.app-sidebar,
.left-panel,
aside {
  background:
    radial-gradient(circle at top left, rgba(70, 120, 255, 0.12), transparent 28%),
    linear-gradient(180deg, var(--sidebar-bg-1) 0%, var(--sidebar-bg-2) 100%);
}

/* Tarjetas o bloques internos del sidebar */
.sidebar .card,
.app-sidebar .card,
.left-panel .card,
aside .card,
.sidebar-section-card,
.nav-group {
  background: linear-gradient(180deg, rgba(255,255,255,0.035) 0%, rgba(255,255,255,0.02) 100%);
  border: 1px solid var(--sidebar-panel-border);
  box-shadow: var(--sidebar-shadow);
  border-radius: 22px;
  backdrop-filter: blur(8px);
}

/* Encabezados de grupo */
.sidebar .section-title,
.app-sidebar .section-title,
.left-panel .section-title,
aside .section-title,
.sidebar-group-title,
.nav-title {
  color: var(--sidebar-section);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.sidebar .section-subtitle,
.app-sidebar .section-subtitle,
.left-panel .section-subtitle,
aside .section-subtitle,
.sidebar-group-subtitle,
.nav-subtitle {
  color: var(--sidebar-text-soft);
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 12px;
}

/* ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Âtems del menÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Âº */
.sidebar a,
.sidebar button,
.app-sidebar a,
.app-sidebar button,
.left-panel a,
.left-panel button,
aside a,
aside button,
.nav-item,
.menu-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 18px;
  border-radius: 18px;
  border: 1px solid var(--sidebar-item-border);
  background: rgba(255,255,255,0.025);
  color: var(--sidebar-text);
  font-weight: 700;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease;
}

/* Hover */
.sidebar a:hover,
.sidebar button:hover,
.app-sidebar a:hover,
.app-sidebar button:hover,
.left-panel a:hover,
.left-panel button:hover,
aside a:hover,
aside button:hover,
.nav-item:hover,
.menu-item:hover {
  background: linear-gradient(180deg, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0.04) 100%);
  border-color: rgba(255,255,255,0.13);
  transform: translateX(2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    0 6px 18px rgba(0,0,0,0.14);
}

/* Estado activo */
.sidebar a.active,
.sidebar button.active,
.app-sidebar a.active,
.app-sidebar button.active,
.left-panel a.active,
.left-panel button.active,
aside a.active,
aside button.active,
.nav-item.active,
.menu-item.active,
[aria-current="page"] {
  background: linear-gradient(90deg, var(--sidebar-active-1) 0%, var(--sidebar-active-2) 100%);
  border-color: rgba(130, 180, 255, 0.6);
  color: #ffffff;
  box-shadow:
    0 10px 22px rgba(59, 130, 246, 0.28),
    inset 0 1px 0 rgba(255,255,255,0.18);
}

/* Barra lateral del activo */
.sidebar a.active::before,
.sidebar button.active::before,
.app-sidebar a.active::before,
.app-sidebar button.active::before,
.left-panel a.active::before,
.left-panel button.active::before,
aside a.active::before,
aside button.active::before,
.nav-item.active::before,
.menu-item.active::before,
[aria-current="page"]::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 10px;
  bottom: 10px;
  width: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,0.95);
}

/* ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Âtems secundarios un poco mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s ligeros */
.sidebar .is-subitem,
.app-sidebar .is-subitem,
.left-panel .is-subitem,
aside .is-subitem,
.nav-subitem {
  min-height: 50px;
  padding-left: 20px;
  font-weight: 650;
  color: #e3edff;
}

/* SeparaciÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n vertical entre ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­tems */
.sidebar nav,
.app-sidebar nav,
.left-panel nav,
aside nav,
.menu-list {
  display: grid;
  gap: 10px;
}

/* SeparaciÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n entre bloques */
.sidebar .sidebar-block + .sidebar-block,
.app-sidebar .sidebar-block + .sidebar-block,
.left-panel .sidebar-block + .sidebar-block,
aside .sidebar-block + .sidebar-block,
.nav-group + .nav-group {
  margin-top: 14px;
}

/* Divisor sutil */
.sidebar hr,
.app-sidebar hr,
.left-panel hr,
aside hr {
  border: 0;
  height: 1px;
  background: var(--sidebar-divider);
  margin: 14px 0;
}

/* Iconos si luego los agregas */
.sidebar .nav-icon,
.app-sidebar .nav-icon,
.left-panel .nav-icon,
aside .nav-icon {
  width: 18px;
  height: 18px;
  opacity: 0.92;
  flex: 0 0 18px;
}

/* Etiqueta principal de cada botÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n */
.sidebar .nav-label,
.app-sidebar .nav-label,
.left-panel .nav-label,
aside .nav-label {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Texto secundario pequeÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â±o */
.sidebar .nav-meta,
.app-sidebar .nav-meta,
.left-panel .nav-meta,
aside .nav-meta {
  color: var(--sidebar-text-soft);
  font-size: 11px;
  font-weight: 600;
}

/* Encabezado superior del sidebar, si existe */
.sidebar-header,
.app-sidebar-header,
.left-panel-header {
  padding: 14px 16px 10px;
  border-bottom: 1px solid var(--sidebar-divider);
  margin-bottom: 10px;
}

.sidebar-header .brand,
.app-sidebar-header .brand,
.left-panel-header .brand {
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.sidebar-header .brand-subtitle,
.app-sidebar-header .brand-subtitle,
.left-panel-header .brand-subtitle {
  color: var(--sidebar-text-soft);
  font-size: 12px;
  margin-top: 2px;
}

/* Scroll del panel */
.sidebar,
.app-sidebar,
.left-panel,
aside {
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.18) transparent;
}

.sidebar::-webkit-scrollbar,
.app-sidebar::-webkit-scrollbar,
.left-panel::-webkit-scrollbar,
aside::-webkit-scrollbar {
  width: 8px;
}

.sidebar::-webkit-scrollbar-thumb,
.app-sidebar::-webkit-scrollbar-thumb,
.left-panel::-webkit-scrollbar-thumb,
aside::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.16);
  border-radius: 999px;
}

/* Compactar un poco el look general */
.sidebar .compact-nav a,
.sidebar .compact-nav button,
.app-sidebar .compact-nav a,
.app-sidebar .compact-nav button {
  min-height: 50px;
  border-radius: 16px;
}

/* Responsive */
@media (max-width: 1200px) {
  .sidebar a,
  .sidebar button,
  .app-sidebar a,
  .app-sidebar button,
  .left-panel a,
  .left-panel button,
  aside a,
  aside button,
  .nav-item,
  .menu-item {
    min-height: 52px;
    padding: 0 16px;
  }
}
.agenda-single-month-card {
  background: #fff;
  border: 1px solid #dbe4ee;
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.agenda-single-month-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.agenda-single-month-head h4 {
  margin: 6px 0 0;
  font-size: 32px;
  line-height: 1.1;
  color: #0f172a;
}

.month-grid.single {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.day-tile.single {
  min-height: 138px;
}

.day-tile.single .day-pill strong {
  display: block;
  font-size: 11px;
  line-height: 1.2;
  white-space: normal;
  word-break: break-word;
}

.day-tile.single .day-pill small {
  display: block;
  margin-top: 2px;
  font-size: 10px;
}

.day-pill {
  border-radius: 10px;
  padding: 6px 8px;
}

.day-pill.ok {
  background: #e8f7ea;
  border: 1px solid #c6ebcd;
}

.day-pill.warning {
  background: #fff4da;
  border: 1px solid #f6df9f;
}

.day-pill.danger {
  background: #fde8e8;
  border: 1px solid #f3b7b7;
}
.trace-pre {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 12px;
  line-height: 1.45;
  color: #0f172a;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 12px;
}

.trace-card {
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  padding: 14px;
  background: #fff;
}

.trace-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.trace-head strong {
  display: block;
  font-size: 16px;
  color: #0f172a;
}

.trace-head small {
  display: block;
  margin-top: 4px;
  color: #64748b;
}

.trace-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
}

.trace-meta small {
  color: #475569;
}

.trace-list {
  display: grid;
  gap: 12px;
}
.trace-pre {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 12px;
  line-height: 1.45;
  color: #0f172a;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 12px;
}

.trace-card {
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  padding: 14px;
  background: #fff;
}

.trace-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.trace-head strong {
  display: block;
  font-size: 16px;
  color: #0f172a;
}

.trace-head small {
  display: block;
  margin-top: 4px;
  color: #64748b;
}

.trace-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
}

.trace-meta small {
  color: #475569;
}

.trace-list {
  display: grid;
  gap: 12px;
}
.followup-tabs {
  flex-wrap: wrap;
  gap: 10px;
}

.followup-tabs .primary-btn,
.followup-tabs .ghost-btn {
  min-width: 160px;
}

textarea {
  width: 100%;
  border: 1px solid #dbe4ee;
  border-radius: 16px;
  padding: 12px 14px;
  font: inherit;
  resize: vertical;
  background: #fff;
  color: #0f172a;
}

textarea:focus {
  outline: none;
  border-color: #5b8def;
  box-shadow: 0 0 0 3px rgba(91, 141, 239, 0.15);
}
.followup-tabs {
  flex-wrap: wrap;
  gap: 10px;
}

.followup-tabs .primary-btn,
.followup-tabs .ghost-btn {
  min-width: 150px;
}

.followup-toolbar-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

textarea {
  width: 100%;
  border: 1px solid #dbe4ee;
  border-radius: 16px;
  padding: 12px 14px;
  font: inherit;
  resize: vertical;
  background: #fff;
  color: #0f172a;
}

textarea:focus {
  outline: none;
  border-color: #5b8def;
  box-shadow: 0 0 0 3px rgba(91, 141, 239, 0.15);
}

.agenda-priority-ok {
  border-left: 4px solid #22c55e;
}

.agenda-priority-warning {
  border-left: 4px solid #f59e0b;
}

.agenda-priority-danger {
  border-left: 4px solid #ef4444;
}

@media (max-width: 1100px) {
  .followup-toolbar-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .followup-toolbar-4 {
    grid-template-columns: 1fr;
  }

  .followup-tabs .primary-btn,
  .followup-tabs .ghost-btn {
    min-width: unset;
    width: 100%;
  }
}
.inventory-item-card.selected {
  border: 1px solid rgba(91, 141, 239, 0.45);
  box-shadow: 0 10px 24px rgba(91, 141, 239, 0.12);
}

.inventory-item-card .directory-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.inventory-item-card .directory-meta div,
.directory-meta div {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 10px 12px;
}

.inventory-item-card .directory-meta span,
.directory-meta span {
  display: block;
  font-size: 12px;
  color: #64748b;
  margin-bottom: 4px;
}

.inventory-item-card .directory-meta strong,
.directory-meta strong {
  color: #0f172a;
  font-size: 14px;
}

.status-pill.cancelado {
  background: #f1f5f9;
  color: #475569;
}

@media (max-width: 900px) {
  .inventory-item-card .directory-meta,
  .directory-meta {
    grid-template-columns: 1fr;
  }
}
.pos-pro-layout {
  grid-template-columns: 1.3fr 1fr 0.9fr;
  gap: 18px;
  align-items: start;
}

.pos-sale-card,
.pos-cart-card,
.pos-side-card {
  min-height: 100%;
}

.pos-context-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pos-mode-switch {
  display: flex;
  gap: 10px;
  margin: 14px 0 16px;
}

.pos-search-card {
  padding: 16px;
}

.pos-results-wrap {
  margin-top: 14px;
  display: grid;
  gap: 10px;
  max-height: 340px;
  overflow: auto;
}

.pos-product-card {
  width: 100%;
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  padding: 14px 16px;
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  cursor: pointer;
  transition: 0.18s ease;
}

.pos-product-card:hover {
  border-color: rgba(91, 141, 239, 0.45);
  box-shadow: 0 8px 24px rgba(91, 141, 239, 0.12);
}

.pos-product-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pos-product-main strong {
  color: #0f172a;
}

.pos-product-main small,
.pos-product-side small {
  color: #64748b;
}

.pos-product-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  min-width: 110px;
}

.pos-product-side span {
  font-weight: 800;
  color: #0f172a;
}

.pos-help-box {
  margin-top: 14px;
}

.pos-cart-wrap {
  display: grid;
  gap: 10px;
  max-height: 360px;
  overflow: auto;
  margin-bottom: 16px;
}

.pos-cart-line {
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 1.4fr auto auto;
  gap: 12px;
  align-items: center;
  background: #fff;
}

.pos-cart-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pos-cart-main small {
  color: #64748b;
}

.pos-cart-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pos-cart-qty {
  width: 70px;
  text-align: center;
}

.pos-cart-total {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.pos-payment-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pos-note-label {
  display: block;
  margin-top: 14px;
}

.pos-note-label input {
  margin-top: 6px;
}

.pos-final-actions {
  margin-top: 16px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.pos-kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

.pos-kpi-box {
  background: #fff;
  border: 1px solid rgba(219, 228, 238, 0.9);
  border-radius: 24px;
  padding: 18px 18px;
}

.pos-kpi-box span {
  display: block;
  font-size: 13px;
  color: #64748b;
  margin-bottom: 6px;
}

.pos-kpi-box strong {
  font-size: 22px;
  color: #0f172a;
}

.pos-admin-summary {
  margin-bottom: 14px;
}

.pos-admin-summary h4 {
  margin-bottom: 10px;
}

.pos-admin-lines {
  display: grid;
  gap: 8px;
}

.pos-admin-lines small {
  color: #334155;
}

@media (max-width: 1250px) {
  .pos-pro-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .pos-context-grid,
  .pos-payment-grid {
    grid-template-columns: 1fr;
  }

  .pos-cart-line {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .pos-cart-total {
    align-items: flex-start;
  }

  .pos-kpi-grid {
    grid-template-columns: 1fr;
  }
}
.pos-pro-layout {
  grid-template-columns: 1.25fr 1fr 0.9fr;
  gap: 18px;
  align-items: start;
}

.pos-sale-card,
.pos-cart-card,
.pos-side-card {
  min-height: 100%;
}

.pos-context-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pos-mode-switch {
  display: flex;
  gap: 10px;
  margin: 14px 0 16px;
}

.pos-search-card {
  padding: 16px;
}

.pos-results-wrap {
  margin-top: 14px;
  display: grid;
  gap: 10px;
  max-height: 340px;
  overflow: auto;
}

.pos-product-card {
  width: 100%;
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  padding: 14px 16px;
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  cursor: pointer;
  transition: 0.18s ease;
}

.pos-product-card:hover {
  border-color: rgba(91, 141, 239, 0.45);
  box-shadow: 0 8px 24px rgba(91, 141, 239, 0.12);
}

.pos-product-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pos-product-main strong {
  color: #0f172a;
}

.pos-product-main small,
.pos-product-side small {
  color: #64748b;
}

.pos-product-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  min-width: 110px;
}

.pos-product-side span {
  font-weight: 800;
  color: #0f172a;
}

.pos-help-box {
  margin-top: 14px;
}

.pos-cart-wrap {
  display: grid;
  gap: 10px;
  max-height: 360px;
  overflow: auto;
  margin-bottom: 16px;
}

.pos-cart-line {
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 1.4fr auto auto;
  gap: 12px;
  align-items: center;
  background: #fff;
}

.pos-cart-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pos-cart-main small {
  color: #64748b;
}

.pos-cart-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pos-cart-qty {
  width: 70px;
  text-align: center;
}

.pos-cart-total {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.pos-payment-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pos-note-label {
  display: block;
  margin-top: 14px;
}

.pos-note-label input {
  margin-top: 6px;
}

.pos-final-actions {
  margin-top: 16px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.pos-kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

.pos-kpi-box {
  background: #fff;
  border: 1px solid rgba(219, 228, 238, 0.9);
  border-radius: 24px;
  padding: 18px 18px;
}

.pos-kpi-box span {
  display: block;
  font-size: 13px;
  color: #64748b;
  margin-bottom: 6px;
}

.pos-kpi-box strong {
  font-size: 22px;
  color: #0f172a;
}

.pos-admin-summary {
  margin-bottom: 14px;
}

.pos-admin-summary h4 {
  margin-bottom: 10px;
}

.pos-admin-lines {
  display: grid;
  gap: 8px;
}

.pos-admin-lines small {
  color: #334155;
}

@media (max-width: 1250px) {
  .pos-pro-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .pos-context-grid,
  .pos-payment-grid {
    grid-template-columns: 1fr;
  }

  .pos-cart-line {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .pos-cart-total {
    align-items: flex-start;
  }

  .pos-kpi-grid {
    grid-template-columns: 1fr;
  }
}
.lens-order-card {
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  padding: 14px 16px;
  background: #fff;
}

.lens-order-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.lens-order-top small {
  display: block;
  color: #64748b;
  margin-top: 4px;
}

.lens-order-badge {
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.lens-order-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.lens-order-meta div {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 10px 12px;
}

.lens-order-meta span {
  display: block;
  font-size: 12px;
  color: #64748b;
  margin-bottom: 4px;
}

.lens-order-detail {
  margin-top: 10px;
  color: #334155;
}

.lens-order-warning {
  border-left: 5px solid #f59e0b;
}
.lens-order-warning .lens-order-badge {
  background: #fef3c7;
  color: #92400e;
}

.lens-order-processing {
  border-left: 5px solid #3b82f6;
}
.lens-order-processing .lens-order-badge {
  background: #dbeafe;
  color: #1d4ed8;
}

.lens-order-ready {
  border-left: 5px solid #22c55e;
}
.lens-order-ready .lens-order-badge {
  background: #dcfce7;
  color: #166534;
}

.lens-order-danger {
  border-left: 5px solid #ef4444;
}
.lens-order-danger .lens-order-badge {
  background: #fee2e2;
  color: #991b1b;
}

.lens-order-done {
  border-left: 5px solid #64748b;
}
.lens-order-done .lens-order-badge {
  background: #e2e8f0;
  color: #334155;
}

.lens-order-neutral {
  border-left: 5px solid #94a3b8;
}
.lens-order-neutral .lens-order-badge {
  background: #f1f5f9;
  color: #475569;
}

@media (max-width: 900px) {
  .lens-order-meta {
    grid-template-columns: 1fr;
  }

  .lens-order-top {
    flex-direction: column;
  }
}

/* =========================================
   TABLET GENERAL (hasta 1024)
   ========================================= */
@media screen and (max-width: 1024px) {
  #app-shell {
    display: block !important;
    grid-template-columns: 1fr !important;
    width: 100%;
  }

  #sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 16px 14px !important;
    border-right: 0 !important;
    box-shadow: none !important;
  }

  .brand-panel,
  .section-card,
  .sidebar-footer {
    border-radius: 20px !important;
  }

  .main-area {
    width: 100% !important;
    padding: 14px !important;
  }

  .navbar {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }

  .navbar-copy h2 {
    font-size: 28px !important;
    line-height: 1.08 !important;
  }

  .navbar-copy p {
    max-width: 100% !important;
  }

  .navbar-actions,
  .hero-actions,
  .row-actions {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .navbar-actions > *,
  .hero-actions > *,
  .row-actions > * {
    flex: 1 1 auto;
  }

  .hero-lux {
    grid-template-columns: 1fr !important;
    padding: 22px !important;
    border-radius: 26px !important;
  }

  .hero-lux h3 {
    font-size: 30px !important;
    line-height: 1.08 !important;
  }

  .signal-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .grid-2,
  .grid-3,
  .form-grid.two,
  .form-grid.three,
  .form-grid.four,
  .clinical-three-cols,
  .clinical-main-grid,
  .rx-layout-pro,
  .patient-edit-grid,
  .doc-meta-grid,
  .antecedent-grid-groups,
  .custom-builder,
  .note-subgrid,
  .study-grid,
  .pio-row,
  .dual-eye-grid,
  .gonio-grid,
  .tx-lines,
  .directory-meta {
    grid-template-columns: 1fr !important;
  }

  .patient-data-box.wide,
  .patient-edit-grid .wide {
    grid-column: auto !important;
  }

  .doc-topbar {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
  }

  .doc-card,
  .card,
  .doc-section,
  .clinical-patient-header {
    border-radius: 20px !important;
    padding: 16px !important;
  }

  .directory-top,
  .doc-card-head,
  .rx-title-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .directory-meta {
    gap: 8px !important;
  }

  .directory-meta div,
  .patient-data-box,
  .mini-block,
  .check-group,
  .rx-pro-card {
    border-radius: 16px !important;
  }

  .side-card {
    position: static !important;
    top: auto !important;
  }

  .exam-grid {
    grid-template-columns: 1fr !important;
  }

  .exam-cell.label {
    justify-content: flex-start !important;
  }

  .rx-summary {
    min-width: 0 !important;
    width: 100% !important;
  }

  .rx-pro {
    grid-template-columns: 1fr !important;
  }

  .rx-stepper {
    grid-template-columns: 44px 1fr 44px !important;
  }

  .table-list,
  .directory-grid,
  .clinical-patient-results,
  .custom-fields-grid {
    width: 100%;
  }

  .order-preview-frame {
    height: 260px !important;
  }

  .sale-preview-frame {
    height: 420px !important;
  }
}

/* =========================================
   iPAD / TABLET VERTICAL
   ========================================= */
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  #sidebar {
    padding: 14px !important;
  }

  .brand-logo {
    width: 110px !important;
  }

  .brand-copy h1 {
    font-size: 20px !important;
  }

  .navbar-copy h2 {
    font-size: 26px !important;
  }

  .hero-lux h3 {
    font-size: 28px !important;
  }

  .signal-grid {
    grid-template-columns: 1fr !important;
  }

  .row-actions > *,
  .navbar-actions > * {
    flex: 1 1 calc(50% - 10px);
    min-width: 160px;
  }

  .clinical-shell {
    padding: 16px !important;
  }

  .sale-preview-frame {
    min-height: 460px !important;
  }
}

/* =========================================
   TABLET HORIZONTAL
   ========================================= */
@media screen and (min-width: 768px) and (max-width: 1180px) and (orientation: landscape) {
  #app-shell {
    grid-template-columns: 260px 1fr !important;
    display: grid !important;
  }

  #sidebar {
    width: auto !important;
    max-width: 260px !important;
    min-width: 260px !important;
  }

  .main-area {
    padding: 16px !important;
  }

  .navbar-copy h2 {
    font-size: 30px !important;
  }

  .grid-2,
  .clinical-main-grid {
    grid-template-columns: 1fr !important;
  }

  .patient-edit-grid,
  .doc-meta-grid,
  .directory-meta,
  .study-grid,
  .pio-row,
  .dual-eye-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .form-grid.three,
  .form-grid.four {
    grid-template-columns: 1fr 1fr !important;
  }

  .clinical-three-cols,
  .rx-layout-pro {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================
   CELULAR
   ========================================= */
@media screen and (max-width: 767px) {
  #app-shell {
    display: block !important;
    width: 100%;
  }

  #sidebar {
    padding: 12px !important;
  }

  .brand-panel {
    padding: 14px !important;
  }

  .brand-logo {
    width: 92px !important;
  }

  .brand-copy h1 {
    font-size: 18px !important;
  }

  .brand-copy p {
    font-size: 12px !important;
  }

  .main-area {
    padding: 10px !important;
  }

  .navbar {
    padding: 14px !important;
    border-radius: 18px !important;
    margin-bottom: 14px !important;
  }

  .navbar-copy h2 {
    font-size: 22px !important;
  }

  .navbar-copy p {
    font-size: 13px !important;
  }

  .navbar-actions > *,
  .hero-actions > *,
  .row-actions > * {
    flex: 1 1 100%;
    width: 100%;
  }

  .hero-lux {
    padding: 16px !important;
    border-radius: 20px !important;
  }

  .hero-lux h3 {
    font-size: 24px !important;
  }

  .hero-tags span {
    width: 100%;
    text-align: center;
  }

  .signal-grid {
    grid-template-columns: 1fr !important;
  }

  .card,
  .doc-card,
  .doc-section,
  .clinical-patient-header {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .doc-title strong {
    font-size: 20px !important;
  }

  .patient-edit-grid,
  .doc-meta-grid,
  .grid-2,
  .grid-3,
  .form-grid.two,
  .form-grid.three,
  .form-grid.four,
  .clinical-three-cols,
  .clinical-main-grid,
  .rx-layout-pro,
  .antecedent-grid-groups,
  .custom-builder,
  .note-subgrid,
  .study-grid,
  .pio-row,
  .dual-eye-grid,
  .gonio-grid,
  .tx-lines,
  .directory-meta,
  .signal-grid {
    grid-template-columns: 1fr !important;
  }

  .ante-row,
  .ante-row.compact,
  .custom-field-row {
    grid-template-columns: 1fr !important;
  }

  .check-inline {
    min-height: auto !important;
    padding: 10px 12px !important;
  }

  .mini-inline {
    grid-template-columns: 1fr !important;
  }

  .rx-stepper {
    grid-template-columns: 42px 1fr 42px !important;
  }

  .rx-stepper button {
    font-size: 20px !important;
  }

  .directory-top,
  .doc-card-head,
  .rx-title-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .directory-meta div,
  .patient-data-box,
  .mini-block,
  .check-group,
  .rx-pro-card,
  .directory-card,
  .list-item {
    border-radius: 14px !important;
  }

  .order-preview-frame {
    height: 220px !important;
  }

  .sale-preview-frame {
    height: 360px !important;
  }
}

/* =========================================
   SCROLL CONTROLADO PARA BLOQUES ANCHOS
   ========================================= */
.table-list,
.directory-grid,
.order-preview-shell,
.sale-preview-shell,
.clinical-patient-results,
.custom-fields-grid {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ======================
   TABLET HASTA 1024
   ====================== */
@media screen and (max-width: 1024px) {
  #app-shell {
    display: block !important;
    grid-template-columns: 1fr !important;
  }

  #sidebar {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px !important;
  }

  .main-area {
    padding: 14px !important;
  }

  .navbar {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 18px !important;
  }

  .navbar-actions {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .navbar-actions > * {
    flex: 1 1 calc(50% - 10px);
    min-width: 160px;
  }

  .patient-pro-grid,
  .patient-toolbar.pro,
  .finance-filter-grid,
  .finance-kpi-grid,
  .finance-cut-grid,
  .finance-report-grid,
  .pos-top-grid,
  .pos-bottom-grid,
  .pos-admin-grid,
  .pos-main-shell,
  .pos-lower-shell,
  .branch-pos-grid,
  .branch-selector-grid,
  .branch-head-metrics,
  .pos-login-inline,
  .pos-form-top,
  .pos-form-grid,
  .pos-money-grid,
  .pos-stats-grid,
  .clinical-photo-grid,
  .directory-meta,
  .px-metrics,
  .exp-two-col,
  .exp-grid-2,
  .exp-grid-3 {
    grid-template-columns: 1fr !important;
  }

  .branch-fullscreen-header,
  .pos-branch-header,
  .exp-header-card,
  .directory-top,
  .inventory-item-top {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .directory-grid {
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0 !important;
  }

  .sale-preview-frame {
    height: 420px !important;
  }

  .order-preview-frame {
    height: 240px !important;
  }
}

/* ======================
   iPAD / TABLET VERTICAL
   ====================== */
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .navbar-copy h2 {
    font-size: 26px !important;
  }

  .patient-pro-grid,
  .clinical-main-grid,
  .clinical-three-cols,
  .rx-layout-pro {
    grid-template-columns: 1fr !important;
  }

  .clinical-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .sale-preview-frame {
    min-height: 460px !important;
  }

  .row-actions > *,
  .navbar-actions > * {
    flex: 1 1 calc(50% - 10px);
  }
}

/* ======================
   TABLET HORIZONTAL
   ====================== */
@media screen and (min-width: 768px) and (max-width: 1180px) and (orientation: landscape) {
  #app-shell {
    grid-template-columns: 260px 1fr !important;
    display: grid !important;
  }

  #sidebar {
    width: auto !important;
    max-width: 260px !important;
    min-width: 260px !important;
  }

  .main-area {
    padding: 14px !important;
  }

  .patient-pro-grid,
  .clinical-main-grid,
  .pos-main-shell,
  .branch-pos-grid,
  .pos-lower-shell,
  .pos-top-grid {
    grid-template-columns: 1fr !important;
  }

  .patient-toolbar.pro,
  .directory-meta,
  .px-metrics,
  .exp-two-col,
  .exp-grid-2,
  .finance-filter-grid,
  .finance-kpi-grid,
  .finance-cut-grid,
  .finance-report-grid,
  .pos-form-top,
  .pos-form-grid,
  .pos-money-grid,
  .pos-stats-grid,
  .branch-selector-grid,
  .branch-head-metrics,
  .pos-login-inline {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* ======================
   CELULAR
   ====================== */
@media screen and (max-width: 767px) {
  #app-shell {
    display: block !important;
  }

  #sidebar {
    padding: 12px !important;
  }

  .main-area {
    padding: 10px !important;
  }

  .navbar {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .navbar-copy h2 {
    font-size: 22px !important;
    line-height: 1.08 !important;
  }

  .navbar-actions > *,
  .row-actions > *,
  .hero-actions > * {
    flex: 1 1 100% !important;
    width: 100%;
  }

  .patient-pro-grid,
  .patient-toolbar.pro,
  .directory-meta,
  .px-metrics,
  .exp-two-col,
  .exp-grid-2,
  .exp-grid-3,
  .finance-filter-grid,
  .finance-kpi-grid,
  .finance-cut-grid,
  .finance-report-grid,
  .pos-top-grid,
  .pos-bottom-grid,
  .pos-admin-grid,
  .pos-main-shell,
  .pos-lower-shell,
  .branch-selector-grid,
  .branch-head-metrics,
  .pos-login-inline,
  .pos-form-top,
  .pos-form-grid,
  .pos-money-grid,
  .pos-stats-grid,
  .branch-pos-grid,
  .clinical-photo-grid {
    grid-template-columns: 1fr !important;
  }

  .directory-card,
  .inventory-item-card,
  .exp-card,
  .exp-block,
  .finance-panel,
  .pos-sale-card,
  .patient-expediente-pro {
    padding: 14px !important;
    border-radius: 16px !important;
  }

  .directory-top,
  .exp-header-card,
  .finance-panel-head,
  .pos-branch-header,
  .branch-fullscreen-header,
  .inventory-item-top {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .status-pill {
    white-space: normal !important;
  }

  .clinical-photo-grid {
    grid-template-columns: 1fr !important;
  }

  .photo-thumb-card img {
    height: 180px !important;
  }

  .sale-preview-frame {
    height: 340px !important;
  }

  .order-preview-frame {
    height: 210px !important;
  }
}

  /* ======================================
     EN CELULAR: algunas zonas sÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­ en 2 columnas
     ====================================== */

  /* Agudeza visual y CorrecciÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n */
  .dual-eye-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  /* PIO */
  .pio-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  /* Estudios */
  .study-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 10px !important;
  }

  /* MÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â©tricas pequeÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â±as */
  .px-metrics,
  .directory-meta,
  .finance-kpi-grid,
  .pos-stats-grid,
  .branch-head-metrics,
  .reports-kpi-grid,
  .reports-grid-top,
  .quick-access-grid,
  .suggested-rx-grid,
  .whatsapp-template-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  /* Algunas tablas/resÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Âºmenes siguen a 1 columna */
  .patient-pro-grid,
  .clinical-main-grid,
  .clinical-three-cols,
  .rx-layout-pro,
  .pos-main-shell,
  .pos-lower-shell,
  .branch-pos-grid,
  .finance-report-grid,
  .finance-cut-grid,
  .reports-grid-mid,
  .reports-grid-bottom,
  .exp-two-col,
  .exp-grid-2,
  .exp-grid-3 {
    grid-template-columns: 1fr !important;
  }

  /* Toolbar de pacientes en 1 columna */
  .patient-toolbar.pro,
  .pos-form-top,
  .pos-form-grid,
  .pos-money-grid,
  .pos-login-inline,
  .branch-selector-grid,
  .finance-filter-grid {
    grid-template-columns: 1fr !important;
  }

  /* Fotos clÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­nicas en 2 columnas para que no se vayan larguÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­simas */
  .clinical-photo-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .photo-thumb-card img {
    height: 120px !important;
  }

  /* RefracciÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n PRO mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s compacta */
  .rx-pro-card {
    padding: 14px !important;
  }

  .rx-pro {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .rx-stepper {
    grid-template-columns: 40px 1fr 40px !important;
    gap: 6px !important;
  }

  .rx-stepper input,
  .rx-col.axis input {
    min-width: 0 !important;
    font-size: 16px !important;
    height: 40px !important;
  }

  /* Inputs un poco mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s compactos */
  input,
  select,
  textarea {
    min-height: 42px !important;
    padding: 10px 12px !important;
    font-size: 16px !important;
  }

  textarea {
    min-height: 90px !important;
  }

  /* TÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­tulos mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s compactos */
  .doc-title strong,
  .dashboard-clean-head h3,
  .reports-hero h3,
  .branch-fullscreen-header h2,
  .pos-branch-header h3 {
    font-size: 22px !important;
    line-height: 1.08 !important;
  }

  /* Hero y panel principal menos gigantes */
  .dashboard-main-stats {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .dashboard-stat.primary {
    grid-column: 1 / -1 !important;
  }

  /* Agenda: 1 tarjeta por fila estÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ bien, pero compacta */
  .month-slide-card {
    padding: 10px !important;
    border-radius: 16px !important;
  }

  .day-tile {
    min-height: 64px !important;
    padding: 6px !important;
  }

  /* Previews mÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡s bajos */
  .sale-preview-frame {
    height: 300px !important;
  }

  .order-preview-frame {
    height: 180px !important;
  }


/* =========================================
   CELULAR MUY ANGOSTO
   ========================================= */
@media screen and (max-width: 420px) {
  .dual-eye-grid,
  .pio-row,
  .study-grid,
  .px-metrics,
  .directory-meta,
  .finance-kpi-grid,
  .pos-stats-grid,
  .branch-head-metrics,
  .reports-kpi-grid,
  .reports-grid-top,
  .quick-access-grid,
  .suggested-rx-grid,
  .whatsapp-template-grid,
  .clinical-photo-grid,
  .dashboard-main-stats {
    grid-template-columns: 1fr !important;
  }
}
/* =========================================
   RESPONSIVE LIMPIO FINAL
   iPad + tablet + celular
   ========================================= */

/* Base segura */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

* {
  min-width: 0;
}

/* ---------- TABLET Y IPAD ---------- */
@media screen and (max-width: 1024px) {
  #app-shell {
    display: block;
  }

  #sidebar {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 14px;
  }

  .main-area {
    padding: 14px;
  }

  .navbar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 18px;
  }

  .navbar-actions,
  .row-actions,
  .hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
  }

  .page-grid,
  .grid-2,
  .grid-3,
  .hero-lux,
  .clinical-three-cols,
  .clinical-main-grid,
  .rx-layout-pro,
  .patient-pro-grid,
  .pos-top-grid,
  .pos-bottom-grid,
  .pos-admin-grid,
  .pos-main-shell,
  .pos-lower-shell,
  .branch-pos-grid,
  .finance-report-grid,
  .finance-cut-grid,
  .reports-grid-mid,
  .reports-grid-bottom,
  .exp-two-col,
  .exp-grid-2,
  .exp-grid-3,
  .year-calendar-grid {
    grid-template-columns: 1fr !important;
  }

  .form-grid.two,
  .form-grid.three,
  .form-grid.four,
  .doc-meta-grid,
  .patient-edit-grid,
  .directory-meta,
  .px-metrics,
  .finance-filter-grid,
  .finance-kpi-grid,
  .reports-kpi-grid,
  .reports-grid-top,
  .quick-access-grid,
  .study-grid,
  .pio-row,
  .dual-eye-grid,
  .gonio-grid,
  .clinical-photo-grid,
  .branch-selector-grid,
  .branch-head-metrics,
  .pos-form-top,
  .pos-form-grid,
  .pos-money-grid,
  .pos-stats-grid,
  .pos-login-inline,
  .whatsapp-template-grid,
  .suggested-rx-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .directory-top,
  .inventory-item-top,
  .finance-panel-head,
  .branch-fullscreen-header,
  .pos-branch-header,
  .exp-header-card,
  .dashboard-clean-head,
  .month-slide-hero,
  .reports-hero {
    flex-direction: column;
    align-items: flex-start;
  }

  .side-card {
    position: static;
    top: auto;
  }

  .directory-grid {
    max-height: none;
    overflow: visible;
  }

  .sale-preview-frame {
    height: 420px;
  }

  .order-preview-frame {
    height: 220px;
  }
}

/* ---------- CELULAR ---------- */
@media screen and (max-width: 767px) {
  .main-area {
    padding: 10px;
  }

  .navbar {
    padding: 14px;
    border-radius: 18px;
  }

  .navbar-copy h2,
  .dashboard-clean-head h3,
  .reports-hero h3,
  .branch-fullscreen-header h2,
  .pos-branch-header h3 {
    font-size: 22px !important;
    line-height: 1.08;
  }

  .navbar-actions > *,
  .row-actions > *,
  .hero-actions > * {
    width: 100%;
  }

  .form-grid.two,
  .form-grid.three,
  .form-grid.four,
  .doc-meta-grid,
  .patient-edit-grid,
  .directory-meta,
  .px-metrics,
  .finance-filter-grid,
  .finance-kpi-grid,
  .reports-kpi-grid,
  .reports-grid-top,
  .quick-access-grid,
  .study-grid,
  .pio-row,
  .dual-eye-grid,
  .gonio-grid,
  .clinical-photo-grid,
  .branch-selector-grid,
  .branch-head-metrics,
  .pos-form-top,
  .pos-form-grid,
  .pos-money-grid,
  .pos-stats-grid,
  .pos-login-inline,
  .whatsapp-template-grid,
  .suggested-rx-grid,
  .dashboard-main-stats {
    grid-template-columns: 1fr !important;
  }

  .card,
  .doc-card,
  .directory-card,
  .inventory-item-card,
  .finance-panel,
  .exp-card,
  .exp-block,
  .patient-expediente-pro {
    padding: 12px;
    border-radius: 16px;
  }

  .photo-thumb-card img {
    height: 140px;
  }

  .sale-preview-frame {
    height: 300px;
  }

  .order-preview-frame {
    height: 180px;
  }
}

/* =========================================================
   FINAL OVERRIDES ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â MAC + iPAD LIMPIO
   ========================================================= */

/* Desktop / Mac */
@media screen and (min-width: 1201px) {
  #app-shell {
    display: grid !important;
    grid-template-columns: 270px minmax(0, 1fr) !important;
    min-height: 100vh !important;
    align-items: stretch !important;
  }

  #sidebar {
    width: 270px !important;
    max-width: 270px !important;
    min-width: 270px !important;
    min-height: 100vh !important;
    height: auto !important;
    overflow: visible !important;
    padding: 10px 10px 14px !important;
    position: relative !important;
    top: auto !important;
  }

  .main-area {
    min-width: 0 !important;
    width: 100% !important;
    padding: 20px 20px 28px !important;
    overflow-x: hidden !important;
  }

  #navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 30 !important;
    padding-bottom: 14px !important;
    background: linear-gradient(180deg, rgba(238,243,247,.96) 0%, rgba(238,243,247,.82) 74%, rgba(238,243,247,0) 100%) !important;
    backdrop-filter: blur(6px) !important;
  }

  .navbar {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 20px 22px !important;
    border-radius: 24px !important;
  }

  .navbar-copy h2 {
    font-size: 32px !important;
    line-height: 1.02 !important;
  }

  .navbar-copy p {
    max-width: 760px !important;
  }

  .navbar-actions,
  .row-actions,
  .hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
  }

  .page-grid { display: grid !important; gap: 18px !important; }
  .grid-2 { display: grid !important; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr) !important; }
  .grid-3 { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; }

  .hero-lux { display: grid !important; grid-template-columns: 1.32fr .88fr !important; gap: 20px !important; }

  .clinical-three-cols,
  .clinical-three-cols.rx-layout-pro {
    display: grid !important;
    grid-template-columns: 0.95fr 0.95fr 1.25fr !important;
    gap: 16px !important;
    align-items: start !important;
  }

  .clinical-main-grid {
    display: grid !important;
    grid-template-columns: 1.2fr .8fr !important;
    gap: 16px !important;
    align-items: start !important;
  }

  .rx-layout-pro {
    display: grid !important;
    grid-template-columns: 0.95fr 0.95fr 1.25fr !important;
    gap: 16px !important;
    align-items: start !important;
  }

  .patient-edit-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 12px !important; }
  .patient-edit-grid .wide { grid-column: span 2 !important; }

  .doc-meta-grid,
  .directory-meta,
  .px-metrics,
  .study-grid,
  .pio-row,
  .dual-eye-grid,
  .gonio-grid,
  .note-subgrid,
  .antecedent-grid-groups,
  .form-grid.two { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 12px !important; }

  .form-grid.three,
  .reports-clinical-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 12px !important; }

  .form-grid.four { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 12px !important; }

  .patient-pro-grid { display: grid !important; grid-template-columns: .9fr 1.1fr !important; gap: 18px !important; }
  .patient-toolbar.pro { display: grid !important; grid-template-columns: 1fr 220px !important; gap: 12px !important; }

  .year-calendar-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 16px !important; }

  .finance-filter-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 12px !important; }
  .finance-kpi-grid { display: grid !important; grid-template-columns: repeat(5, minmax(0,1fr)) !important; gap: 12px !important; }
  .finance-cut-grid,
  .finance-report-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; }

  .pos-top-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; }
  .pos-bottom-grid { display: grid !important; grid-template-columns: .75fr 1.25fr !important; gap: 18px !important; }
  .pos-admin-grid { display: grid !important; grid-template-columns: 1.15fr .85fr !important; gap: 18px !important; }
  .pos-main-shell { display: grid !important; grid-template-columns: 1.15fr .85fr !important; gap: 18px !important; }
  .pos-lower-shell { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; }
  .pos-form-top { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 12px !important; }
  .pos-form-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 12px !important; }
  .pos-money-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 12px !important; }
  .pos-stats-grid,
  .branch-selector-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 12px !important; }
  .branch-pos-grid { display: grid !important; grid-template-columns: 1.15fr .85fr !important; gap: 18px !important; }
  .branch-head-metrics { display: grid !important; grid-template-columns: repeat(3, minmax(110px,1fr)) !important; gap: 10px !important; }
  .pos-login-inline { display: grid !important; grid-template-columns: 1fr 1fr auto !important; gap: 12px !important; }
  .pos-context-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 12px !important; }
  .pos-payment-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 12px !important; }
  .pos-kpi-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 14px !important; }

  .reports-kpi-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 14px !important; }
  .reports-grid-top { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 14px !important; }
  .reports-grid-mid { display: grid !important; grid-template-columns: 1.3fr .7fr !important; gap: 18px !important; }
  .reports-grid-bottom { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; }

  .dashboard-main-stats { display: grid !important; grid-template-columns: 1.4fr repeat(5, minmax(0,1fr)) !important; gap: 14px !important; }
  .quick-access-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 14px !important; }
}

/* iPad portrait */
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  #app-shell {
    display: grid !important;
    grid-template-columns: 220px minmax(0,1fr) !important;
    min-height: 100vh !important;
  }

  #sidebar {
    width: 220px !important;
    max-width: 220px !important;
    min-width: 220px !important;
    min-height: 100vh !important;
    height: auto !important;
    overflow: visible !important;
    padding: 10px 10px 14px !important;
    position: relative !important;
    top: auto !important;
  }

  .main-area {
    min-width: 0 !important;
    width: 100% !important;
    padding: 14px !important;
    overflow-x: hidden !important;
  }

  #navbar {
    position: relative !important;
    top: auto !important;
    padding-bottom: 10px !important;
    background: transparent !important;
    backdrop-filter: none !important;
  }

  .navbar {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 16px !important;
    border-radius: 20px !important;
  }

  .navbar-copy h2 {
    font-size: 28px !important;
    line-height: 1.05 !important;
  }

  .navbar-actions,
  .row-actions,
  .hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .navbar-actions > *,
  .row-actions > *,
  .hero-actions > * {
    flex: 0 1 auto !important;
    min-width: 140px !important;
  }

  .page-grid,
  .hero-lux,
  .pos-bottom-grid,
  .pos-admin-grid,
  .pos-main-shell,
  .pos-lower-shell,
  .branch-pos-grid,
  .finance-report-grid,
  .finance-cut-grid,
  .reports-grid-mid,
  .reports-grid-bottom,
  .exp-two-col,
  .exp-grid-2,
  .exp-grid-3 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .grid-2,
  .grid-3,
  .clinical-three-cols,
  .patient-pro-grid,
  .year-calendar-grid,
  .quick-access-grid,
  .reports-kpi-grid,
  .reports-grid-top,
  .finance-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 12px !important;
  }

  .clinical-three-cols .refraccion-pro-card {
    grid-column: 1 / -1 !important;
  }

  .clinical-main-grid,
  .rx-layout-pro {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: start !important;
  }

  .doc-meta-grid,
  .patient-edit-grid,
  .directory-meta,
  .px-metrics,
  .finance-filter-grid,
  .study-grid,
  .pio-row,
  .dual-eye-grid,
  .gonio-grid,
  .clinical-photo-grid,
  .branch-selector-grid,
  .branch-head-metrics,
  .pos-form-top,
  .pos-form-grid,
  .pos-money-grid,
  .pos-stats-grid,
  .pos-login-inline,
  .whatsapp-template-grid,
  .suggested-rx-grid,
  .form-grid.two,
  .form-grid.three,
  .form-grid.four {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 12px !important;
  }

  .patient-edit-grid .wide,
  .custom-builder .wide,
  .builder-action {
    grid-column: 1 / -1 !important;
  }

  .custom-builder {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .directory-top,
  .inventory-item-top,
  .finance-panel-head,
  .branch-fullscreen-header,
  .pos-branch-header,
  .exp-header-card,
  .dashboard-clean-head,
  .month-slide-hero,
  .reports-hero,
  .doc-card-head,
  .rx-title-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .side-card {
    position: static !important;
    top: auto !important;
  }

  .sale-preview-frame { height: 420px !important; }
  .order-preview-frame { height: 220px !important; }
}

/* Tablet landscape */
@media screen and (min-width: 768px) and (max-width: 1180px) and (orientation: landscape) {
  #app-shell {
    display: grid !important;
    grid-template-columns: 260px minmax(0,1fr) !important;
  }

  #sidebar {
    width: 260px !important;
    max-width: 260px !important;
    min-width: 260px !important;
  }

  .main-area { padding: 14px !important; }

  .patient-pro-grid,
  .clinical-main-grid,
  .pos-main-shell,
  .branch-pos-grid,
  .pos-lower-shell,
  .pos-top-grid,
  .hero-lux,
  .reports-grid-mid,
  .reports-grid-bottom {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .patient-toolbar.pro,
  .directory-meta,
  .px-metrics,
  .exp-two-col,
  .exp-grid-2,
  .finance-filter-grid,
  .finance-kpi-grid,
  .finance-cut-grid,
  .finance-report-grid,
  .pos-form-top,
  .pos-form-grid,
  .pos-money-grid,
  .pos-stats-grid,
  .branch-selector-grid,
  .branch-head-metrics,
  .pos-login-inline,
  .study-grid,
  .pio-row,
  .dual-eye-grid,
  .clinical-photo-grid,
  .form-grid.two,
  .form-grid.three,
  .form-grid.four {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .clinical-three-cols,
  .rx-layout-pro {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* Phone */
@media screen and (max-width: 767px) {
  #app-shell {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  #sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 12px !important;
  }

  .main-area { padding: 10px !important; }

  .navbar {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .navbar-copy h2,
  .dashboard-clean-head h3,
  .reports-hero h3,
  .branch-fullscreen-header h2,
  .pos-branch-header h3,
  .doc-title strong {
    font-size: 22px !important;
    line-height: 1.08 !important;
  }

  .navbar-actions,
  .row-actions,
  .hero-actions {
    width: 100%;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  .navbar-actions > *,
  .row-actions > *,
  .hero-actions > * {
    width: 100% !important;
    flex: 1 1 100% !important;
  }

  .page-grid,
  .grid-2,
  .grid-3,
  .hero-lux,
  .clinical-three-cols,
  .clinical-main-grid,
  .rx-layout-pro,
  .patient-pro-grid,
  .patient-toolbar.pro,
  .pos-top-grid,
  .pos-bottom-grid,
  .pos-admin-grid,
  .pos-main-shell,
  .pos-lower-shell,
  .branch-pos-grid,
  .finance-report-grid,
  .finance-cut-grid,
  .reports-grid-mid,
  .reports-grid-bottom,
  .exp-two-col,
  .exp-grid-2,
  .exp-grid-3,
  .year-calendar-grid,
  .pos-form-top,
  .pos-form-grid,
  .pos-money-grid,
  .pos-login-inline,
  .branch-selector-grid,
  .finance-filter-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .doc-meta-grid,
  .patient-edit-grid,
  .directory-meta,
  .px-metrics,
  .finance-kpi-grid,
  .reports-kpi-grid,
  .reports-grid-top,
  .quick-access-grid,
  .study-grid,
  .pio-row,
  .dual-eye-grid,
  .gonio-grid,
  .clinical-photo-grid,
  .branch-head-metrics,
  .pos-stats-grid,
  .whatsapp-template-grid,
  .suggested-rx-grid,
  .dashboard-main-stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .directory-top,
  .exp-header-card,
  .finance-panel-head,
  .pos-branch-header,
  .branch-fullscreen-header,
  .inventory-item-top,
  .doc-card-head,
  .rx-title-row,
  .month-slide-hero,
  .reports-hero,
  .dashboard-clean-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .photo-thumb-card img { height: 140px !important; }
  .sale-preview-frame { height: 300px !important; }
  .order-preview-frame { height: 180px !important; }
}

@media screen and (max-width: 420px) {
  .doc-meta-grid,
  .patient-edit-grid,
  .directory-meta,
  .px-metrics,
  .finance-kpi-grid,
  .reports-kpi-grid,
  .reports-grid-top,
  .quick-access-grid,
  .study-grid,
  .pio-row,
  .dual-eye-grid,
  .gonio-grid,
  .clinical-photo-grid,
  .branch-head-metrics,
  .pos-stats-grid,
  .whatsapp-template-grid,
  .suggested-rx-grid,
  .dashboard-main-stats {
    grid-template-columns: 1fr !important;
  }
}
.dashboard-stat-link{
  border:none;
  width:100%;
  text-align:left;
  cursor:pointer;
  transition:.18s ease;
}

.dashboard-stat-link:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(13,27,42,.12); /* azul institucional */
}

.dashboard-stat-link:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(93,173,226,.25); /* azul claro */
}
.dashboard-stat-link{
  border:none;
  width:100%;
  text-align:left;
  cursor:pointer;
  transition:.18s ease;
}

.dashboard-stat-link:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(13,27,42,.12); /* azul institucional */
}

.dashboard-stat-link:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(93,173,226,.25); /* azul claro */
}

/* ===== Etiquetas de inventario: selector de color ===== */
.label-color-select{
  min-width: 150px;
  height: 42px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #FFFFFF;
  color: var(--text);
  font-weight: 800;
  padding: 8px 12px;
  cursor: pointer;
}
.label-color-select:hover{
  border-color:#9EC4F1;
  box-shadow:0 8px 18px rgba(13,27,42,.06);
}
/* ===== POS PRO v4 compact / two-column / stable focus ===== */
.pos-pro-layout-v4,.pos-pro-layout{display:grid!important;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)!important;gap:14px!important;align-items:start!important}
.pos-sale-card,.pos-cart-card,.pos-side-card{padding:16px!important;border-radius:22px!important}
.pos-sale-card h3,.pos-cart-card h3{font-size:22px!important;margin:0!important}
.pos-context-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin-bottom:10px!important}
.pos-context-grid label span,.pos-search-card label span,.pos-payment-grid label span,.pos-note-label span{font-size:11px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.02em!important;margin-bottom:4px!important}
.pos-context-grid select,.pos-search-card input,.pos-search-card select,.pos-payment-grid input,.pos-payment-grid select,.pos-note-label input{height:38px!important;padding:7px 10px!important;font-size:13px!important;border-radius:12px!important}
.pos-mode-switch{display:flex!important;gap:8px!important;margin:8px 0 10px!important}
.pos-mode-switch .primary-btn,.pos-mode-switch .ghost-btn,.pos-final-actions .primary-btn,.pos-final-actions .ghost-btn{padding:9px 12px!important;border-radius:13px!important;font-size:12px!important}
.pos-search-card{padding:12px!important;border-radius:18px!important}
.pos-search-card .form-grid.three,.pos-search-card .form-grid{display:grid!important;grid-template-columns:1.35fr .8fr .8fr!important;gap:8px!important}
.pos-results-wrap{display:grid!important;gap:8px!important;max-height:430px!important;overflow:auto!important;padding:4px!important;margin-top:10px!important}
.pos-product-card,.catalog-search-result{width:100%!important;display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:10px!important;padding:10px 12px!important;border:1px solid #E2EAF1!important;border-radius:14px!important;background:#fff!important;text-align:left!important;cursor:pointer!important}
.pos-product-card:hover,.catalog-search-result:hover{border-color:#9EC4F1!important;background:#F4F8FF!important}
.pos-product-main strong,.catalog-search-result strong{display:block!important;font-size:13px!important;line-height:1.15!important}
.pos-product-main small,.catalog-search-result small{display:block!important;color:#64748B!important;font-size:10.5px!important;line-height:1.2!important;margin-top:3px!important}
.pos-product-side,.catalog-search-price{text-align:right!important;flex:0 0 auto!important}
.pos-product-side span,.catalog-search-price span{display:block!important;font-size:13px!important;font-weight:900!important}
.pos-help-box{min-height:auto!important;padding:10px 12px!important;margin-top:10px!important;border-radius:14px!important}
.pos-cart-wrap{display:grid!important;gap:8px!important;max-height:360px!important;overflow:auto!important;margin-bottom:12px!important}
.pos-cart-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:10px!important;align-items:center!important;border:1px solid #E2EAF1!important;border-radius:14px!important;background:#F8FBFE!important;padding:10px!important}
.pos-cart-main strong{font-size:13px!important;line-height:1.15!important}
.pos-cart-main small{font-size:10.5px!important;line-height:1.2!important;color:#64748B!important}
.pos-cart-actions{display:flex!important;align-items:center!important;gap:6px!important}
.ghost-btn.compact{padding:6px 8px!important;border-radius:10px!important;font-size:12px!important}
.pos-cart-qty{width:54px!important;height:34px!important;text-align:center!important;padding:4px!important;border-radius:10px!important;font-size:13px!important}
.pos-cart-total{text-align:right!important;display:flex!important;flex-direction:column!important;gap:6px!important;align-items:flex-end!important}
.pos-cart-total strong{font-size:13px!important}
.pos-payment-grid,.pos-payment-grid.form-grid.three{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.pos-note-label{display:block!important;margin:10px 0!important}
.pos-final-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.pos-side-card-compact,.pos-side-card{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:12px!important;padding:12px!important}
.pos-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.pos-kpi-box,.pos-stat-card{border:1px solid #E2EAF1!important;border-radius:14px!important;padding:10px!important;background:#fff!important}
.pos-kpi-box span,.pos-stat-card span{display:block!important;font-size:9.5px!important;font-weight:900!important;text-transform:uppercase!important;color:#64748B!important;margin-bottom:4px!important}
.pos-kpi-box strong,.pos-stat-card strong{display:block!important;font-size:18px!important;line-height:1!important}
.pos-admin-summary,.pos-side-card .soft-card{padding:12px!important;border-radius:16px!important}
.pos-admin-summary h4,.pos-side-card h4{font-size:14px!important;margin:0 0 8px!important}
.pos-admin-lines small,.pos-side-card small{display:block!important;font-size:11px!important;line-height:1.25!important}
.pos-locked-branch,.finance-locked-help{display:block!important;margin-top:4px!important;color:#64748B!important;font-size:10.5px!important;font-weight:700!important}
input[readonly][data-locked-branch="1"]{background:#F1F5F9!important;color:#334155!important;font-weight:800!important}
@media(max-width:1400px){.pos-pro-layout-v4,.pos-pro-layout{grid-template-columns:1fr!important}.pos-side-card-compact,.pos-side-card{grid-template-columns:1fr!important}}
@media(max-width:860px){.pos-context-grid,.pos-search-card .form-grid.three,.pos-search-card .form-grid,.pos-payment-grid,.pos-payment-grid.form-grid.three,.pos-final-actions,.pos-kpi-grid{grid-template-columns:1fr!important}.pos-cart-line{grid-template-columns:1fr!important;align-items:start!important}.pos-cart-total{align-items:flex-start!important;text-align:left!important}}


/* =========================================================
   POS CAJA PRO ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â compacto tipo farmacia/Oxxo
   ========================================================= */
.pos-pharmacy-shell{display:grid;gap:12px;width:100%;min-width:0}
.pos-pharmacy-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:12px;align-items:stretch}
.pos-pharmacy-title,.pos-pharmacy-kpis,.pos-pharmacy-context,.pos-pharmacy-products,.pos-pharmacy-cart,.pos-cut-card,.pos-recent-card{min-width:0}
.pos-pharmacy-title{border:1px solid #DDE7F0;border-radius:20px;background:linear-gradient(180deg,#FFFFFF,#F8FBFE);padding:14px 16px}
.pos-pharmacy-title h3{margin:4px 0 2px;font-size:24px;line-height:1}
.pos-pharmacy-title small{color:#64748B;font-size:12px}
.pos-pharmacy-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pos-mini-kpi{border:1px solid #DDE7F0;border-radius:16px;background:#fff;padding:10px 12px}
.pos-mini-kpi span{display:block;font-size:9px;line-height:1.05;text-transform:uppercase;font-weight:900;color:#64748B;margin-bottom:5px}
.pos-mini-kpi strong{display:block;font-size:18px;line-height:1;color:#0F172A}
.pos-pharmacy-context.card{padding:12px !important;border-radius:20px !important}
.pos-pharmacy-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);gap:12px;align-items:start}
.pos-pharmacy-layout .card{padding:14px !important;border-radius:20px !important}
.pos-pharmacy-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.pos-pharmacy-toolbar h4{margin:0 0 3px;font-size:17px}
.pos-pharmacy-toolbar small{color:#64748B;font-size:11px}
.pos-mode-switch.compact{margin:0;gap:6px}
.pos-mode-switch.compact .primary-btn,.pos-mode-switch.compact .ghost-btn{padding:8px 11px;border-radius:12px;font-size:12px}
.pos-cash-search-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:10px;align-items:end;margin-bottom:10px}
.pos-scan-field input{height:44px;font-size:16px;font-weight:700;border-radius:14px}
.pos-catalog-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pos-catalog-filters select,.pos-payment-panel input,.pos-payment-panel select,.pos-note-label input,.pos-context-grid select{height:38px;font-size:12px;border-radius:12px;padding:8px 10px}
.pos-results-wrap{max-height:430px !important;min-height:280px;overflow:auto;display:grid;gap:8px;padding:2px 4px 2px 0}
.pos-product-card{border-radius:14px !important;padding:10px 12px !important}
.pos-product-main strong{font-size:13px !important}
.pos-product-main small,.pos-product-side small{font-size:10.5px !important;line-height:1.15}
.pos-product-side{min-width:86px !important}
.pos-product-side span{font-size:13px}
.pos-cart-wrap{max-height:290px !important;min-height:120px;overflow:auto;display:grid;gap:8px;margin-bottom:10px}
.pos-cart-line{grid-template-columns:minmax(0,1fr) auto auto !important;gap:8px !important;border-radius:14px !important;padding:9px 10px !important}
.pos-cart-main strong{font-size:13px !important}
.pos-cart-main small{font-size:10.5px !important}
.pos-cart-actions{gap:5px !important}
.pos-cart-qty{width:54px !important;height:34px;border-radius:10px;font-size:12px}
.pos-cart-total strong{font-size:13px}
.ghost-btn.compact,.ghost-btn.mini{padding:7px 9px !important;border-radius:10px !important;font-size:11px !important}
.pos-payment-panel{border:1px solid #E2E8F0;border-radius:16px;background:#F8FBFE;padding:10px}
.pos-payment-grid.compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pos-payment-grid.compact label span,.pos-catalog-filters label span,.pos-scan-field span,.pos-context-grid label span,.pos-note-label span{font-size:10px !important;text-transform:uppercase;letter-spacing:.04em;font-weight:900;color:#64748B;margin-bottom:4px}
.pos-quick-cash{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}
.pos-note-label{margin-top:8px}
.pos-admin-summary.compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0;padding:0 !important;background:transparent;border:none}
.pos-admin-summary.compact div{border:1px solid #E2E8F0;border-radius:12px;background:#FFFFFF;padding:8px 9px}
.pos-admin-summary.compact span{display:block;font-size:9px;text-transform:uppercase;color:#64748B;font-weight:900;margin-bottom:4px}
.pos-admin-summary.compact strong{display:block;font-size:13px;color:#0F172A}
.pos-final-actions{display:grid !important;grid-template-columns:1fr 1fr;gap:8px !important}
.pos-final-actions .primary-btn,.pos-final-actions .ghost-btn{width:100%;min-height:38px;padding:9px 10px !important;border-radius:12px !important;font-size:12px}
.pos-pharmacy-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pos-pharmacy-bottom .card{padding:12px !important;border-radius:18px !important}
.pos-pharmacy-bottom h4{font-size:15px;margin:0}
.pos-pharmacy-bottom .finance-stack{gap:8px}
.pos-pharmacy-bottom .finance-item{padding:10px;border-radius:14px}
.pos-pharmacy-bottom .finance-item small{font-size:11px}
.inventory-product-list{max-height:760px;overflow:auto;padding-right:4px}
.inventory-item-card{padding:12px !important;border-radius:16px !important}
.inventory-item-top strong{font-size:14px !important}
.inventory-item-top small{font-size:11px !important}
.inventory-item-card .directory-meta{gap:7px !important;margin-top:8px !important}
.inventory-item-card .directory-meta div{padding:8px 9px !important;border-radius:12px !important}
.inventory-item-card .directory-meta span{font-size:9px !important;text-transform:uppercase;font-weight:900}
.inventory-item-card .directory-meta strong{font-size:12px !important}
@media (max-width:1400px){.pos-pharmacy-top,.pos-pharmacy-layout,.pos-pharmacy-bottom{grid-template-columns:1fr}.pos-results-wrap{max-height:360px !important}}
@media (max-width:900px){.pos-pharmacy-kpis,.pos-payment-grid.compact,.pos-admin-summary.compact,.pos-cash-search-panel,.pos-catalog-filters,.pos-context-grid{grid-template-columns:1fr !important}.pos-final-actions{grid-template-columns:1fr !important}.pos-cart-line{grid-template-columns:1fr !important}}


/* =========================================================
   HISTORIA CLÃƒÂNICA Ã¢â‚¬â€ Bloque OD/OI + tipografÃƒÂ­a compacta
   ========================================================= */
.clinical-shell{
  font-size:13px;
}

.clinical-shell .section-head h3{
  font-size:24px;
  margin-bottom:6px;
}

.clinical-shell .page-copy,
.clinical-shell .doc-subtle,
.clinical-shell .mini-copy{
  font-size:12px;
}

.clinical-shell label span,
.clinical-shell .group-title,
.clinical-shell .micro-label{
  font-size:11px !important;
  margin-bottom:5px !important;
}

.clinical-shell input,
.clinical-shell select,
.clinical-shell textarea{
  font-size:13px !important;
  padding:9px 11px !important;
  border-radius:14px !important;
}

.clinical-shell textarea{
  min-height:76px;
}

.clinical-shell .doc-card{
  padding:16px !important;
  border-radius:22px !important;
}

.clinical-shell .doc-card h4{
  font-size:19px !important;
  line-height:1.08;
  margin-bottom:10px !important;
}

.clinical-shell .mini-block{
  padding:12px !important;
  border-radius:17px !important;
  margin-bottom:10px !important;
}

.clinical-shell .mini-block strong{
  font-size:14px !important;
  margin-bottom:8px !important;
}

.eye-note-block{
  margin-top:10px;
  background:linear-gradient(180deg,#FFFFFF,#F7FBFF) !important;
  border-color:#D7E7F7 !important;
}

.eye-note-grid textarea{
  min-height:86px !important;
  resize:vertical;
  line-height:1.25;
}

.clinical-note-helper{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px;
  align-items:center;
  margin-bottom:10px;
  padding:9px 11px;
  border:1px solid #DCE6F0;
  border-radius:14px;
  background:#F7FBFF;
}

.clinical-note-helper strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#EAF2FF;
  color:#245FDE;
  font-size:11px;
  font-weight:900;
  padding:6px 8px;
}

.clinical-note-helper small{
  color:#60768B;
  font-size:11px;
  line-height:1.25;
}

.note-subgrid{
  gap:12px !important;
}

.check-group{
  padding:12px !important;
  border-radius:16px !important;
}

.check-inline{
  min-height:38px !important;
  padding:7px 10px !important;
  border-radius:13px !important;
}

.check-inline input{
  width:16px !important;
  height:16px !important;
  padding:0 !important;
}

.check-inline span{
  font-size:12px !important;
}

.gonio-grid{
  gap:8px !important;
}

.pio-row,
.form-grid.two,
.study-grid{
  gap:10px !important;
}

@media (min-width:1201px){
  .clinical-three-cols.rx-layout-pro{
    grid-template-columns: minmax(0,1fr) minmax(0,.92fr) minmax(360px,1.18fr) !important;
    gap:14px !important;
    align-items:start !important;
  }

  .clinical-main-grid{
    grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr) !important;
    gap:14px !important;
  }
}

@media (max-width:1200px){
  .clinical-three-cols.rx-layout-pro,
  .clinical-main-grid{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   Historia clÃ­nica â€” exploraciÃ³n por ojo OD/OI
   IRIS / REFLEJO / PUPILA / GONIOSCOPÃA
   ========================================================= */
.clinical-eye-exam-grid{
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
}

.eye-exam-card{
  padding:12px !important;
  border-radius:18px !important;
}

.eye-split-grid,
.gonio-eye-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.eye-side{
  min-width:0;
  border:1px solid #E2EAF1;
  background:#FFFFFF;
  border-radius:16px;
  padding:10px;
}

.eye-side > strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  padding:5px 8px;
  margin-bottom:8px;
  border-radius:999px;
  background:#EAF2FF;
  color:#245FDE;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
}

.eye-side .check-list{
  gap:6px !important;
}

.eye-side .check-inline.mini{
  min-height:32px !important;
  padding:5px 0 !important;
}

.eye-side .check-inline span{
  font-size:11.5px !important;
  line-height:1.15 !important;
}

.eye-side .mini-inline{
  grid-template-columns:46px 1fr !important;
  gap:7px !important;
  margin-top:6px !important;
}

.eye-side .mini-inline span{
  font-size:10.5px !important;
}

.eye-side input{
  height:36px !important;
  font-size:12px !important;
  padding:7px 9px !important;
  border-radius:12px !important;
}

.gonio-eye-grid .gonio-grid{
  grid-template-columns:1fr 1fr !important;
  gap:7px !important;
}

.gonio-eye-grid label span{
  font-size:10px !important;
  margin-bottom:4px !important;
}

.clinical-shell .note-card{
  font-size:13px;
}

.clinical-shell .note-card .group-title{
  font-size:11px !important;
  margin-bottom:8px !important;
}

@media (max-width: 1200px){
  .clinical-eye-exam-grid,
  .eye-split-grid,
  .gonio-eye-grid{
    grid-template-columns:1fr !important;
  }
}