/* Sol y Tierra · claridad operativa v2
   Esta capa reorganiza la lectura sin ocultar ni eliminar datos. */
:root{
  --panel-max:1440px;
  --ink:#151718;
  --muted:#67635e;
  --quiet:#8e8982;
  --surface:#ffffff;
  --surface-2:#FFFFFF;
  --line-soft:#e7e5e1;
  --focus:#f0452e;
  --blue:#2d6cdf;
  --violet:#7656d6;
}

body{overflow-x:hidden;background:#FFFFFF}
.side{width:248px;padding:18px 12px}
.side:before{margin-bottom:14px}
.nav{overflow-y:auto;padding-right:2px}
.nav a{font-size:.86rem;padding:11px 12px;min-height:46px;gap:11px}
.nav a .i{width:30px;height:30px;flex:0 0 30px}
.main{width:calc(100% - 248px)}
.content{max-width:var(--panel-max);padding:34px clamp(22px,3vw,46px) 54px}
.top{padding-inline:clamp(20px,3vw,42px)}

.v2-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px}
.v2-intro-copy{max-width:760px}
.v2-intro .h1{margin-top:3px}
.v2-intro .sub{max-width:720px;line-height:1.55;margin-top:8px}
.v2-read-order{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:480px}
.v2-read-order span{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid var(--line-soft);border-radius:999px;background:var(--surface);font-size:.7rem;font-weight:800;color:var(--muted);white-space:nowrap}
.v2-read-order b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;margin-right:6px;background:var(--ink);color:#fff;font:700 .62rem Nunito}

.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}
.metric-card{position:relative;min-width:0;background:var(--surface);border:1px solid var(--line-soft);border-radius:18px;padding:18px;box-shadow:0 10px 34px -24px rgba(19,20,20,.35);overflow:visible}
.metric-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:18px 0 0 18px;background:#c7c4be}
.metric-card.good::before{background:var(--ok)}
.metric-card.bad::before{background:var(--red)}
.metric-card.warn::before{background:#e89513}
.metric-card.blue::before{background:var(--blue)}
.metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em}
.metric-info{position:relative;width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-soft);background:var(--surface-2);color:var(--muted);font:800 .7rem Nunito;cursor:help}
.metric-info::after{content:attr(data-tip);position:absolute;z-index:30;right:0;bottom:calc(100% + 9px);width:230px;padding:10px 12px;border-radius:10px;background:var(--ink);color:#fff;font:600 .72rem/1.45 Nunito;letter-spacing:0;text-transform:none;box-shadow:0 12px 34px rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translateY(4px);transition:.18s}
.metric-info:hover::after,.metric-info:focus::after{opacity:1;visibility:visible;transform:none}
.metric-value{display:block;margin-top:15px;color:var(--ink);font:800 clamp(1.32rem,2.3vw,2rem)/1 Nunito;letter-spacing:-.045em;overflow-wrap:anywhere}
.metric-card.good .metric-value{color:var(--ok)}
.metric-card.bad .metric-value{color:var(--red)}
.metric-card.warn .metric-value{color:#b86800}
.metric-desc{margin-top:10px;color:var(--muted);font-size:.74rem;line-height:1.45;min-height:2.1em}

.v2-section{margin:28px 0}
.v2-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:13px}
.v2-section-head h3{font-size:1rem;text-transform:uppercase;letter-spacing:.02em}
.v2-section-head p{color:var(--muted);font-size:.8rem;line-height:1.45;max-width:660px}
.v2-surface{background:var(--surface);border:1px solid var(--line-soft);border-radius:20px;box-shadow:0 12px 36px -28px rgba(20,20,20,.45);padding:20px}

.focus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.focus-card{display:block!important;min-width:0;border:1px solid var(--line-soft);border-radius:16px;background:var(--surface);padding:16px;text-align:left;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
.focus-card:hover{transform:translateY(-2px);border-color:#d5d1ca;box-shadow:0 14px 32px -24px rgba(20,20,20,.55)}
.focus-card .fc-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.focus-card .fc-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--surface-2);font-size:1rem}
.focus-card .fc-count{font:800 1.32rem Nunito}
.focus-card strong{display:block;margin-top:12px;font-size:.82rem}
.focus-card p{margin-top:5px;color:var(--muted);font-size:.72rem;line-height:1.45}
.focus-card.critical{background:linear-gradient(145deg,#fff 35%,var(--red-soft));border-color:#f4cbd0}
.focus-card.warning{background:linear-gradient(145deg,#fff 35%,#fff3df);border-color:#f4d7a7}

.overview-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:16px}
.finance-progress{height:18px;display:flex;overflow:hidden;border-radius:999px;background:#eceae6;margin:16px 0 10px}
.finance-progress span{display:flex;align-items:center;justify-content:center;color:#fff;font:800 .66rem Nunito}
.finance-progress .paid{background:var(--ok)}
.finance-progress .pending{background:var(--red)}
.finance-legend{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:.73rem;font-weight:700}
.finance-legend b{font-family:Nunito;color:var(--ink)}

.season-days{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 8px;scroll-snap-type:x proximity}
.season-day{display:flex!important;flex:0 0 138px;flex-direction:column;align-items:flex-start!important;scroll-snap-align:start;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-2);padding:13px;text-align:left;cursor:pointer}
.season-day:hover{border-color:var(--focus)}
.season-day .sd-date{font-size:.68rem;font-weight:800;text-transform:uppercase;color:var(--muted)}
.season-day .sd-total{display:block;margin-top:8px;font:800 1.45rem Nunito}
.season-day .sd-meta{display:block;margin-top:4px;font-size:.68rem;color:var(--muted)}
.season-day .sd-risk{display:inline-flex;margin-top:9px;padding:4px 8px;border-radius:999px;background:#e9eee9;color:#256139;font-size:.59rem;font-weight:900;letter-spacing:.05em}
.season-day.high .sd-risk{background:#FFFFFF;color:var(--red)}
.season-day.medium .sd-risk{background:#fff0d4;color:#9b5900}

.priority-details{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.priority-details details{border:1px solid var(--line-soft);border-radius:16px;background:var(--surface);overflow:hidden}
.priority-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;list-style:none;font-weight:800;font-size:.82rem}
.priority-details summary::-webkit-details-marker{display:none}
.priority-details summary::after{content:"+";font:800 1rem Nunito;color:var(--focus)}
.priority-details details[open] summary::after{content:"–"}
.priority-list{max-height:420px;overflow:auto;border-top:1px solid var(--line-soft)}
.priority-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line-soft);cursor:pointer}
.priority-row:last-child{border-bottom:0}
.priority-row:hover{background:var(--surface-2)}
.priority-row strong{font-size:.78rem}
.priority-row small{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}
.priority-row b{font:800 .78rem Nunito;color:var(--red);white-space:nowrap}

.source-note{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border:1px solid var(--line-soft);border-radius:14px;background:#FFFFFF;color:var(--muted);font-size:.73rem;line-height:1.5}
.source-note strong{color:#21452c}

/* Calendario: lista operativa sin tarjetas montadas. */
.agenda-date-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 10px;margin-bottom:16px;scroll-snap-type:x proximity}
.agenda-date-tab{flex:0 0 auto;scroll-snap-align:start;border:1px solid var(--line-soft);background:var(--surface);border-radius:999px;padding:9px 13px;font-size:.7rem;font-weight:800;color:var(--muted);cursor:pointer}
.agenda-date-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}
.agenda-day-v2{border:1px solid var(--line-soft);border-radius:20px;background:var(--surface);overflow:hidden;margin-bottom:18px;box-shadow:0 12px 36px -30px rgba(20,20,20,.55)}
.agenda-day-summary{display:grid;grid-template-columns:minmax(200px,1fr) auto auto auto;align-items:center;gap:12px;padding:17px 20px;background:var(--surface-2);border-bottom:1px solid var(--line-soft)}
.agenda-day-summary h3{font-size:1rem;text-transform:capitalize}
.agenda-day-summary span{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#fff;border:1px solid var(--line-soft);font-size:.66rem;font-weight:800;color:var(--muted)}
.agenda-list{display:grid}
.agenda-row{display:grid;grid-template-columns:112px minmax(210px,1.35fr) 150px 178px minmax(210px,.9fr);gap:16px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line-soft);cursor:pointer;transition:background .18s}
.agenda-row:last-child{border-bottom:0}
.agenda-row:hover{background:#faf9f7}
.agenda-time strong{font:800 .88rem Nunito}
.agenda-time small,.agenda-school small,.agenda-counts small,.agenda-logistics small{display:block;margin-top:4px;color:var(--muted);font-size:.67rem;line-height:1.35}
.agenda-school strong{display:block;font-size:.82rem}
.agenda-color{display:flex;align-items:center;gap:8px;font-size:.74rem;font-weight:800}
.agenda-color i{width:10px;height:10px;border-radius:50%;flex:0 0 10px}
.agenda-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.agenda-counts span{padding:7px 5px;border-radius:9px;background:var(--surface-2);text-align:center;font:800 .72rem Nunito}
.agenda-counts span::first-line{font-weight:800}
.agenda-logistics{min-width:0}
.agenda-statuses{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:5px}
.status-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;background:#ecebea;color:var(--muted);font-size:.59rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.status-pill.ok{background:#FFFFFF;color:var(--ok)}
.status-pill.bad{background:#FFFFFF;color:var(--red)}
.status-pill.warn{background:#fff0d4;color:#955600}

/* Finanzas: una ecuación y un glosario visibles. */
.finance-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:9px;align-items:stretch}
.finance-term{border:1px solid var(--line-soft);border-radius:15px;background:var(--surface);padding:16px;min-width:0}
.finance-term .ft-label{font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.finance-term strong{display:block;margin-top:10px;font:800 1.22rem Nunito;overflow-wrap:anywhere}
.finance-term small{display:block;margin-top:8px;color:var(--muted);font-size:.67rem;line-height:1.35}
.finance-term.result{background:#FFFFFF;border-color:var(--line-soft)}
.finance-operator{display:grid;place-items:center;color:var(--quiet);font:800 1.2rem Nunito}
.finance-two{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}
.date-bars{display:grid;gap:11px}
.date-bar{display:grid;grid-template-columns:88px 1fr auto;gap:10px;align-items:center}
.date-bar .db-date{font:700 .68rem Nunito;color:var(--muted)}
.date-bar .db-track{height:12px;border-radius:999px;background:#eceae6;overflow:hidden}
.date-bar .db-track b{display:block;height:100%;border-radius:inherit;background:var(--grad)}
.date-bar .db-value{font:800 .69rem Nunito;white-space:nowrap}
.pipeline-list{display:grid;gap:10px}
.pipeline-row{display:grid;grid-template-columns:100px 1fr 32px;gap:10px;align-items:center}
.pipeline-row span{font-size:.68rem;font-weight:800;text-transform:capitalize}
.pipeline-row i{display:block;height:10px;border-radius:999px;background:#eceae6;overflow:hidden}
.pipeline-row i b{display:block;height:100%;border-radius:inherit;background:var(--focus)}
.pipeline-row strong{font:800 .72rem Nunito;text-align:right}
.glossary{border:1px solid var(--line-soft);border-radius:16px;background:var(--surface)}
.glossary summary{cursor:pointer;padding:15px 17px;font-size:.76rem;font-weight:800;list-style:none}
.glossary summary::-webkit-details-marker{display:none}
.glossary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-soft);border-top:1px solid var(--line-soft)}
.glossary-item{background:#fff;padding:14px 16px}
.glossary-item strong{font-size:.74rem}
.glossary-item p{margin-top:4px;color:var(--muted);font-size:.68rem;line-height:1.45}
.cost-v2-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cost-v2-form input,.cost-v2-form select{width:100%;min-height:43px;border:1px solid var(--line-soft);border-radius:10px;background:#fff;padding:0 11px;font:650 .78rem Nunito}
.cost-v2-form .wide{grid-column:1/-1}

/* Clientes y arriendos completos. */
.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.client-card{border:1px solid var(--line-soft);border-radius:17px;background:var(--surface);padding:17px;cursor:pointer;min-width:0}
.client-card:hover{border-color:#d1cdc5;box-shadow:0 14px 34px -26px rgba(20,20,20,.55)}
.client-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.client-card h3{font-size:.86rem;line-height:1.35}
.client-card .cc-count{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--surface-2);font:800 .64rem Nunito}
.client-card .cc-school{margin-top:5px;color:var(--muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-card .cc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}
.client-card .cc-stat{padding:9px 7px;border-radius:10px;background:var(--surface-2);text-align:center}
.client-card .cc-stat b{display:block;font:800 .72rem Nunito}
.client-card .cc-stat span{display:block;margin-top:3px;color:var(--muted);font-size:.58rem;font-weight:800;text-transform:uppercase}
.client-card .cc-contact{margin-top:12px;color:var(--muted);font-size:.68rem;line-height:1.45}
.rent-filters{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr)) auto;gap:10px;align-items:end;margin-bottom:14px}
.rent-filter{display:grid;gap:5px}
.rent-filter label{font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:var(--muted)}
.rent-filter select{min-height:42px;border:1px solid var(--line-soft);border-radius:10px;background:#fff;padding:0 10px;font:700 .75rem Nunito}
.rent-table{min-width:1420px}
.rent-table th{position:static;top:auto}
.v2-section .card thead th{position:static;top:auto}
.rent-table td{vertical-align:top;font-size:.77rem}
.rent-table .cell-main{font-weight:800}
.rent-table .cell-sub{display:block;margin-top:4px;color:var(--muted);font-size:.66rem;line-height:1.35}
.rent-table .money-stack{display:grid;gap:3px;text-align:right;font-family:Nunito}
.rent-table .money-stack b{color:var(--red)}
.mobile-table-note{display:none;color:var(--muted);font-size:.68rem;margin-bottom:10px}

/* Mantiene la planilla de tallas completa, pero explica la lectura. */
#disponibilidad .vh::after{content:"Lectura: stock − comprometido = disponible. En modo por día aparecen los colegios y las tallas que consumen cada prenda.";flex-basis:100%;padding:10px 12px;border-radius:11px;background:#eef4ff;color:#35517d;font-size:.7rem;line-height:1.45}
#disponibilidad .inv-grid-scroll{scrollbar-gutter:stable}

/* Fichas de tallaje: centradas, numeradas y separadas sin perder datos. */
.brand-mark{width:46px;flex-basis:46px;font-size:.75rem;letter-spacing:-.045em}
.auth-mark{width:68px;font-size:1rem;letter-spacing:-.04em}
.ctx-help{font-size:.76rem;color:var(--muted);background:#f2f5f8;border-radius:12px;padding:11px 14px;margin:10px 0 18px;border-left:3px solid var(--blue);line-height:1.5}
.ctx-help b{color:var(--ink)}
.ftl-wrap{max-width:1040px;margin:0 auto}
.box-tallaje{max-width:none;margin-inline:auto;border-top:3px solid #e62864}
.ftl-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}
.ftl-head h3{margin:3px 0 0}
.ftl-head>strong{padding:8px 11px;border-radius:999px;background:#f7edf2;color:#96264d;font:800 .72rem Nunito;white-space:nowrap}
.ftl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.ftl-seccion{min-width:0;margin:0;padding:16px;border:1px solid var(--line-soft);border-radius:16px;background:var(--surface-2)}
.ftl-seccion.review{grid-column:1/-1;border-color:#efd398;background:#fff8e9}
.ftl-titulo{display:flex;justify-content:space-between;gap:12px;margin-bottom:13px;color:var(--ink);font-size:.88rem;text-transform:none;letter-spacing:0}
.ftl-titulo span{display:inline-grid;min-width:29px;height:25px;padding:0 7px;place-items:center;border-radius:999px;background:#fff;border:1px solid var(--line-soft);font:800 .67rem Nunito}
.ftl-tbl-wrap{border:1px solid var(--line-soft);border-radius:12px;background:#fff;overflow:auto}
.ftl-tbl-wrap .disp-tbl{min-width:460px}
.ftl-tbl-wrap .disp-tbl tr:nth-child(even){background:transparent}
.ftl-tbl-wrap .disp-tbl tr:hover{background:#faf9f7}
.ftl-num{width:34px;color:var(--quiet);font:800 .72rem Nunito;text-align:left!important}
.ftl-resumen{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:14px 16px;border-radius:13px;background:#f3f3f0;color:var(--muted);font-size:.76rem}
.ftl-resumen strong{color:var(--ink);font-size:.82rem}

/* Horarios: una acción por tarjeta; confirmados colapsados para acortar la página. */
.compact-kpi{padding:10px 18px!important}
.panel-empty{text-align:center;color:var(--muted);padding:40px}
.hor-sep{display:flex;align-items:center;gap:9px;margin:24px 0 12px;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.065em}
.hor-sep::before{content:"";width:4px;height:17px;border-radius:999px;background:var(--grad)}
.hor-card{margin-bottom:12px;padding:18px 20px;border:1px solid var(--line-soft);border-radius:17px;background:var(--surface);box-shadow:0 12px 34px -29px rgba(20,20,20,.6);cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}
.hor-card:hover,.hor-card:focus-visible{transform:translateY(-2px);border-color:#d5d1ca;box-shadow:0 18px 40px -29px rgba(20,20,20,.7)}
.hor-card.confirmed{background:#fbfcfb}
.hc-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.hc-col{color:var(--ink);font-size:.92rem;font-weight:850}
.hc-meta{margin-top:6px;color:var(--muted);font-size:.72rem;line-height:1.45}
.hc-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.hc-pend,.hc-ok{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;font-size:.65rem;font-weight:900;white-space:nowrap}
.hc-pend{background:#FFFFFF;color:var(--red)}
.hc-ok{background:#FFFFFF;color:var(--ok)}
.hor-confirmed{margin-top:24px;border:1px solid var(--line-soft);border-radius:17px;background:rgba(255,255,255,.58);overflow:hidden}
.hor-confirmed summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:12px 17px;cursor:pointer;color:var(--muted);font-size:.75rem;font-weight:850;list-style:none}
.hor-confirmed summary::-webkit-details-marker{display:none}
.hor-confirmed summary::after{content:"+";color:var(--focus);font:800 1rem Nunito}
.hor-confirmed[open] summary::after{content:"–"}
.hor-confirmed-list{padding:0 12px 2px}

/* Bandeja operativa de solicitudes del sitio. */
.lead-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:18px 0}
.lead-kpis article{display:grid;gap:5px;padding:17px 18px;border:1px solid var(--line-soft);border-radius:16px;background:linear-gradient(145deg,#fff,#fbfaf8);box-shadow:0 12px 32px -30px rgba(20,20,20,.7)}
.lead-kpis span{font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.lead-kpis strong{font:850 1.8rem/1 var(--font-display,Nunito);color:var(--ink)}
.lead-kpis small{color:var(--muted);font-size:.7rem}
.lead-list{display:grid;gap:15px}
.lead-card{padding:21px;border:1px solid var(--line-soft);border-radius:19px;background:#fff;box-shadow:0 18px 42px -36px rgba(20,20,20,.72)}
.lead-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid var(--line-soft)}
.lead-id{font-size:.58rem;font-weight:950;letter-spacing:.1em;color:var(--focus)}
.lead-head h3{margin:5px 0 3px;font-size:1.12rem;line-height:1.2}.lead-head p,.lead-head time{color:var(--muted);font-size:.72rem}
.lead-head-right{display:grid;justify-items:end;gap:8px;text-align:right}
.lead-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:#FFFFFF;color:var(--muted)}
.lead-status.new{background:#fff1e9;color:#b64817}.lead-status.warn{background:#fff8dd;color:#7c5a00}.lead-status.ok{background:#eaf8ef;color:#08723a}.lead-status.muted{background:#f0f1f2;color:#62676c}
.lead-facts{display:grid;grid-template-columns:1.2fr .75fr 1.2fr .8fr;gap:10px;margin:15px 0}
.lead-facts>div{min-width:0;padding:12px;border-radius:13px;background:#FFFFFF}
.lead-facts span{display:block;margin-bottom:5px;color:var(--muted);font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.lead-facts strong{display:block;font-size:.77rem;overflow-wrap:anywhere}.lead-facts small{display:block;margin-top:4px;color:var(--muted);font-size:.65rem;line-height:1.35}
.lead-contact{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}.lead-contact a{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border:1px solid var(--line-soft);border-radius:10px;color:var(--ink);font-size:.72rem;font-weight:800;text-decoration:none;overflow-wrap:anywhere}.lead-contact .lead-wa{background:#eaf9ef;border-color:#bee7cc;color:#08723a}
.lead-message{margin:12px 0;padding:12px 14px;border-left:3px solid var(--focus);border-radius:0 11px 11px 0;background:#fff9f4;color:var(--ink);font-size:.75rem;line-height:1.55}
.lead-consents{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.lead-consent{display:inline-flex;min-height:28px;align-items:center;padding:5px 9px;border-radius:999px;font-size:.6rem;font-weight:850}.lead-consent.ok{background:#eaf8ef;color:#08723a}.lead-consent.bad{background:#fff0f0;color:#aa2424}.lead-consent.neutral{background:#f1f2f3;color:#5d6268}
.lead-notes{display:grid;grid-template-columns:minmax(100px,.25fr) minmax(220px,1fr) auto;gap:9px;align-items:center;margin-top:13px;padding-top:13px;border-top:1px solid var(--line-soft)}
.lead-notes label{font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.lead-notes textarea{width:100%;min-height:44px;max-height:110px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fff;font:650 .75rem Nunito}
.lead-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.lead-actions .ghost{margin-left:auto;color:var(--muted);background:transparent}
.empty-state{display:grid;justify-items:center;gap:7px;padding:44px 24px;border:1px dashed var(--line);border-radius:18px;background:#FFFFFF;text-align:center}.empty-state span{max-width:50ch;color:var(--muted);font-size:.75rem}

/* Estados de foco y controles táctiles consistentes. */
.nav a:focus-visible,.mobile-nav a:focus-visible,.btn:focus-visible,.focus-card:focus-visible,.client-card:focus-visible,.agenda-row:focus-visible,.hor-card:focus-visible,.season-day:focus-visible,.agenda-date-tab:focus-visible,.metric-info:focus-visible{outline:3px solid rgba(45,108,223,.32);outline-offset:2px}
button,select,input,textarea,.nav a,.mobile-nav a{touch-action:manipulation}

@media(max-width:1180px){
  .metric-grid,.focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .finance-equation{grid-template-columns:1fr auto 1fr;align-items:stretch}
  .finance-equation .finance-operator:nth-of-type(4){display:none}
  .finance-term.result{grid-column:1/-1}
  .agenda-row{grid-template-columns:100px minmax(190px,1.2fr) 130px 160px minmax(180px,.8fr);gap:12px}
}

@media(max-width:900px){
  body{display:block;padding-bottom:calc(102px + env(safe-area-inset-bottom));width:100%;min-width:0}
  .side{display:none}
  .main{width:100%;min-width:0}
  .top{height:auto;min-height:72px;padding:calc(12px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left));align-items:center;flex-wrap:wrap;gap:9px}
  .top h2{width:100%;font-size:1rem;line-height:1.2}
  .ops-pill{display:none}
  .top .right{order:2;width:100%;margin:0;justify-content:space-between;gap:8px}
  .search{order:3;flex-basis:100%;max-width:none;min-width:0}
  .content{width:100%;max-width:100%;padding:22px max(14px,env(safe-area-inset-right)) calc(116px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}
  .mobile-nav{position:fixed;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:80;display:flex!important;grid-template-columns:none!important;gap:5px;padding:7px;overflow-x:auto;overflow-y:hidden;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(15,15,15,.97);box-shadow:0 18px 50px rgba(0,0,0,.42);scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
  .mobile-nav a{display:flex!important;flex:0 0 82px;min-width:82px;min-height:54px;padding:6px 5px;border-radius:12px;color:rgba(255,255,255,.65);scroll-snap-align:start;font-size:.59rem;line-height:1.2}
  .mobile-nav a.active{background:var(--focus);color:#fff}
  .v2-intro{align-items:flex-start;flex-direction:column;gap:14px}
  .v2-read-order{justify-content:flex-start}
  .overview-split,.priority-details,.finance-two{grid-template-columns:1fr}
  .agenda-day-summary{grid-template-columns:1fr auto;align-items:start}
  .agenda-day-summary h3{grid-column:1/-1}
  .agenda-row{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:15px}
  .agenda-color,.agenda-counts,.agenda-logistics{grid-column:2}
  .agenda-counts{max-width:220px}
  .rent-filters{grid-template-columns:1fr 1fr}
  .lead-facts{grid-template-columns:1fr 1fr}
  .mobile-table-note{display:block}
  .ftl-grid{grid-template-columns:1fr}
  .ftl-seccion.review{grid-column:auto}
  .hc-top{align-items:flex-start;flex-direction:column}
  .hc-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .hc-actions .hc-pend{grid-column:1/-1;justify-self:start}
  .hc-actions .btn{width:100%;justify-content:center}
  .ov{align-items:flex-end;padding:0}
  .modal{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top));overflow:auto;border-radius:22px 22px 0 0;padding:24px max(18px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
  input,select,textarea{font-size:16px!important}
}

@media(max-width:620px){
  .metric-grid,.focus-grid,.client-grid{grid-template-columns:1fr 1fr;gap:10px}
  .metric-card{padding:15px}
  .metric-value{font-size:1.14rem}
  .metric-desc{font-size:.67rem;min-height:0}
  .metric-info::after{position:fixed;left:16px;right:16px;bottom:104px;width:auto}
  .focus-card{padding:14px}
  .focus-card p{display:none}
  .v2-surface{padding:15px}
  .finance-equation{grid-template-columns:1fr}
  .finance-operator{min-height:24px}
  .finance-equation .finance-operator:nth-of-type(4){display:grid}
  .finance-term.result{grid-column:auto}
  .glossary-grid{grid-template-columns:1fr}
  .rent-filters{grid-template-columns:1fr}
  .cost-v2-form{grid-template-columns:1fr}
  .lead-notes{grid-template-columns:1fr}.lead-notes .btn{width:100%;justify-content:center}
  .cost-v2-form .wide{grid-column:auto}
  .ftl-head,.ftl-resumen{align-items:flex-start;flex-direction:column}
  .ftl-seccion{padding:13px}
  .ftl-tbl-wrap{margin-inline:-2px}
  .rent-table{min-width:0!important;display:block}
  .rent-table thead{display:none}
  .rent-table tbody,.rent-table tr,.rent-table td{display:block;width:100%}
  .rent-table tr{margin:0 0 12px;border:1px solid var(--line-soft);border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 10px 28px -25px rgba(20,20,20,.55)}
  .rent-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:10px 13px;border-bottom:1px solid var(--line-soft);text-align:left!important;overflow-wrap:anywhere}
  .rent-table td:last-child{border-bottom:0}
  .rent-table td::before{content:attr(data-label);color:var(--muted);font-size:.59rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
  .rent-table .money-stack{text-align:left}
  .card:has(.rent-table){overflow:visible!important;background:transparent;border:0;box-shadow:none}
}

@media(max-width:400px){
  .metric-grid,.focus-grid,.client-grid{grid-template-columns:1fr}
  .lead-kpis,.lead-facts{grid-template-columns:1fr}
  .lead-head{flex-direction:column}.lead-head-right{justify-items:start;text-align:left}
  .lead-actions .ghost{margin-left:0}
  .season-day{flex-basis:126px}
  .agenda-row{grid-template-columns:1fr}
  .agenda-color,.agenda-counts,.agenda-logistics{grid-column:1}
  .agenda-time{display:flex;justify-content:space-between;gap:10px;align-items:center}
}

@media(prefers-reduced-motion:reduce){
  .metric-card,.focus-card,.agenda-row,.client-card{transition:none!important;animation:none!important}
}


/* === MEJORAS PREMIUM === */

/* Sombra sutil en cards */
.metric-card,.focus-card,.finance-term,.agenda-day-v2,.glossary,.source-note,.lead-facts>div,.empty-state{
  box-shadow:0 2px 16px rgba(0,0,0,.04);
  transition:all .3s cubic-bezier(.4,0,.2,1)
}

/* Hover levanta la card */
.focus-card:hover,.metric-card:hover,.agenda-day-v2:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 28px rgba(0,0,0,.08)
}

/* Botones premium */
.btn.pri{
  background:var(--focus);
  color:#fff;
  padding:12px 28px;
  border-radius:999px;
  font-weight:700;
  box-shadow:0 4px 14px rgba(240,69,46,.25);
  transition:all .25s cubic-bezier(.4,0,.2,1)
}
.btn.pri:hover{
  background:#D93B26;
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(240,69,46,.35)
}

/* Nav items con hover suave */
.nav a{
  transition:all .25s cubic-bezier(.4,0,.2,1)
}

/* Borders redondeados unificados */
.metric-card,.agenda-day-v2,.focus-card,.finance-term{border-radius:20px}
.glossary,.source-note,.empty-state,.lead-facts>div{border-radius:16px}

/* Scroll horizontal suave en mobile */
.content{
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth
}

/* Scrollbars discretos */
.content::-webkit-scrollbar{height:6px;width:6px}
.content::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:999px}
.content::-webkit-scrollbar-track{background:transparent}

/* Tipografia mejorada */
h1,h2,h3,h4{letter-spacing:-.02em}
.metric-card .n,.exec-stat .n{font-weight:800;letter-spacing:-.03em}

/* ================================================================== */
/*  ANIMACIONES PROFESIONALES — Panel Sol y Tierra (Veldara-style)     */
/*  Agregado al final de panel-clarity-v2.css                          */
/* ================================================================== */

/* 1. Cards entrada con fadeUp */
.metric-card,.focus-card,.agenda-day-v2,.finance-term,.lead-facts>div{
  animation:fadeUp .4s cubic-bezier(.16,1,.3,1) both
}

/* 2. Stagger en metric-cards */
.metric-card:nth-child(2){animation-delay:.05s}
.metric-card:nth-child(3){animation-delay:.1s}
.metric-card:nth-child(4){animation-delay:.15s}

/* 3. Hover levanta cards */
.focus-card:hover,.metric-card:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 28px rgba(0,0,0,.08)
}

/* 4. Nav items — desplazamiento suave */
.nav a{
  transition:all .25s cubic-bezier(.4,0,.2,1)
}
.nav a:hover{
  transform:translateX(3px)
}

/* 5. Boton primary — elevación y ripple */
.btn.pri{
  transition:all .25s
}
.btn.pri:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(240,69,46,.35)
}
.btn.pri:active{
  transform:scale(.97)
}

/* 6. Status pills — transición suave */
.status-pill,.lead-status{
  transition:all .2s
}

/* 7. Tab transition */
.exec-tab{
  transition:all .25s cubic-bezier(.4,0,.2,1)
}
.exec-tab.active{
  transform:scale(1.02)
}

/* 8. Keyframes */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:none}
}

/* 9. Respeta prefers-reduced-motion */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}