/* Arquitectura base aprobada: barra de iconos 72 px, cabecera 60 px y superficie blanca. */
body{background:#fff!important}.sidebar{width:72px!important;padding:12px 8px!important;align-items:center!important}.brand{width:44px!important;height:44px!important;margin:0 0 22px!important;padding:0!important;justify-content:center!important}.brand img{width:32px!important;height:32px!important}.brand-label,.nav-label,.nav-section,.sidebar footer span,.sidebar footer a{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sidebar nav{width:100%!important;gap:8px!important}.sidebar nav a{position:relative!important;justify-content:center!important;width:44px!important;height:44px!important;min-height:44px!important;margin:0 auto!important;padding:0!important;border-radius:10px!important}.nav-icon{width:auto!important;font-size:20px!important}.sidebar nav a:after{position:absolute;z-index:50;left:54px;top:50%;padding:7px 9px;transform:translateY(-50%);border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:#1f2937;box-shadow:0 8px 18px rgba(15,23,42,.12);content:attr(title);font-size:13px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s}.sidebar nav a:hover:after,.sidebar nav a:focus-visible:after{opacity:1}.sidebar footer{display:none!important}.app-content{margin-left:72px!important}.topbar{height:60px!important;padding:0 24px!important}.topbar-context{font-size:14px!important}.app-main{max-width:1440px!important;padding:32px!important}.page-head h1{font-size:24px!important;line-height:32px!important;font-weight:600!important}.page-head>div>p:not(.eyebrow){font-size:15px!important;line-height:22px!important}.eyebrow{font-size:12px!important;font-weight:600!important;letter-spacing:0!important}.card{border-radius:12px!important;box-shadow:none!important}.badge{border-radius:6px!important;font-size:13px!important}.primary,.secondary,.form-actions button,.form-grid button:not(.password-field button){min-height:44px!important;border-radius:8px!important;font-size:15px!important}.primary,.form-actions button,.form-grid button:not(.password-field button){background:#0e7490!important;border-color:#0e7490!important;color:#fff!important}.primary:hover,.form-actions button:hover,.form-grid button:not(.password-field button):hover{background:#0b6178!important;border-color:#0b6178!important}.project-layout{grid-template-columns:208px minmax(0,1fr)!important}.project-subnav{padding:12px!important;border:0!important;border-radius:0!important;box-shadow:none!important}.project-subnav-head{padding:8px!important}.project-subnav nav a,.subnav-back{min-height:44px!important;padding:11px 10px!important;font-size:15px!important;font-weight:400!important}.subnav-label{display:none!important}.project-subnav nav a.active{font-weight:500!important}.readiness-item{box-shadow:none!important}@media(max-width:767px){.sidebar{display:none!important}.app-content{margin-left:0!important}.topbar{height:56px!important}.app-main{padding:16px!important}}
/* Base final: evita que las capas heredadas cambien el lenguaje visual del producto. */
:root{--holania-primary:#0e7490;--holania-primary-hover:#0b6178;--holania-accent:#2ac4ea;--holania-selected:#e6f7fc;--holania-canvas:#f8fafc;--holania-surface:#fff;--holania-text:#172033;--holania-muted:#64748b;--holania-line:#e2e8f0}
body{background:var(--holania-canvas)!important;color:var(--holania-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:15px!important;line-height:1.5!important;letter-spacing:0!important}
.app-main{max-width:1440px!important;padding:32px!important}.topbar{background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--holania-line)!important;box-shadow:none!important}.topbar-context{font-weight:400!important;color:var(--holania-muted)!important}.topbar-context:before{width:8px!important;height:8px!important;background:var(--holania-accent)!important;box-shadow:none!important}
.sidebar{border-right:1px solid var(--holania-line)!important;box-shadow:none!important}.sidebar nav a{color:#64748b!important;transform:none!important}.sidebar nav a:hover,.sidebar nav a.active{background:var(--holania-selected)!important;color:var(--holania-primary)!important;box-shadow:none!important}.nav-icon{display:grid!important;place-items:center!important;line-height:1!important}.nav-icon svg{display:block;width:20px;height:20px;stroke-width:1.8!important}
.page-head{margin-bottom:24px!important}.page-head h1,h1{font-size:24px!important;line-height:32px!important;font-weight:600!important;letter-spacing:-.02em!important}.page-head>div>p:not(.eyebrow){margin:4px 0 0!important;color:var(--holania-muted)!important;font-size:15px!important}.eyebrow{color:var(--holania-primary)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.04em!important}.card,.kpis article,.metric-card{border:1px solid var(--holania-line)!important;border-radius:12px!important;background:var(--holania-surface)!important;box-shadow:none!important}.card{padding:24px!important}.card h2{font-size:18px!important;line-height:26px!important;font-weight:600!important}.card p{color:var(--holania-muted)!important}
label,.form-grid label{color:#334155!important;font-size:14px!important;font-weight:500!important}input,select,textarea,.form-grid input,.form-grid select{border:1px solid #cbd5e1!important;border-radius:8px!important;background:#fff!important;color:var(--holania-text)!important;font-size:15px!important;font-weight:400!important;box-shadow:none!important}input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--holania-primary)!important;box-shadow:0 0 0 3px rgba(14,116,144,.14)!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--holania-text)!important;box-shadow:0 0 0 1000px #f8fbff inset!important;font-weight:400!important}
.primary,.form-actions button,.form-grid button:not(.password-field button){border:1px solid var(--holania-primary)!important;border-radius:8px!important;background:var(--holania-primary)!important;color:#fff!important;box-shadow:none!important;font-size:15px!important;font-weight:500!important}.primary:hover,.form-actions button:hover,.form-grid button:not(.password-field button):hover{background:var(--holania-primary-hover)!important;border-color:var(--holania-primary-hover)!important;transform:none!important;box-shadow:none!important}.secondary,.action-row a{border:1px solid #cbd5e1!important;border-radius:8px!important;background:#fff!important;color:#334155!important;font-weight:500!important;box-shadow:none!important}.secondary:hover,.action-row a:hover{border-color:var(--holania-primary)!important;background:var(--holania-selected)!important;color:var(--holania-primary)!important}
.metric-grid,.kpis{gap:16px!important}.metric-card,.kpis article{min-height:0!important;padding:18px!important}.metric-card strong,.kpis strong{font-size:24px!important;line-height:30px!important;font-weight:600!important;letter-spacing:-.02em!important}.metric-card span,.kpis span{font-size:14px!important;font-weight:500!important}.metric-card small,.kpis small{font-size:13px!important;color:var(--holania-muted)!important}.badge{border:0!important;border-radius:6px!important;background:var(--holania-selected)!important;color:#0f5d73!important;font-size:12px!important;font-weight:500!important}.table-wrap{border:1px solid var(--holania-line)!important;border-radius:10px!important;box-shadow:none!important}th{background:#f8fafc!important;color:#64748b!important;font-size:12px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important}th,td{padding:14px 16px!important}.inline-link,.record-link{color:var(--holania-primary)!important;font-weight:500!important}
.auth-main{background:var(--holania-canvas)!important}.auth-card{width:min(100%,520px)!important;padding:32px!important;border:1px solid var(--holania-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 20px 45px rgba(15,23,42,.08)!important}.auth-card h1{margin-top:2px!important;font-size:28px!important;line-height:34px!important}.auth-card>p:not(.eyebrow):not(.notice){color:var(--holania-muted)!important}.auth-card .form-grid{gap:16px!important}.auth-card .primary{min-height:44px!important}.password-field{position:relative!important;display:block!important;width:100%!important}.password-field input{width:100%!important;padding-right:50px!important}.password-field .password-toggle{position:absolute!important;right:8px!important;top:50%!important;display:grid!important;place-items:center!important;width:34px!important;min-width:34px!important;height:34px!important;padding:0!important;transform:translateY(-50%)!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#64748b!important;box-shadow:none!important}.password-field .password-toggle:hover{background:var(--holania-selected)!important;color:var(--holania-primary)!important}.password-toggle svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}.password-toggle.is-visible:after{position:absolute;content:"";width:19px;height:1.5px;background:currentColor;transform:rotate(-45deg)}
@media(max-width:1040px){.app-main{padding:24px!important}}@media(max-width:767px){.app-main{padding:16px!important}.page-head h1,h1{font-size:24px!important}.card{padding:18px!important}}
/* Ficha de proyecto: la preparación es una lista operativa, no cuatro tarjetas sobredimensionadas. */
.project-layout{gap:24px!important}.project-subnav{top:84px!important;background:transparent!important}.project-subnav-head{border-bottom:1px solid var(--holania-line)!important}.project-subnav-head strong{font-weight:600!important}.project-subnav nav{gap:2px!important}.project-subnav nav a,.subnav-back{border-radius:8px!important;color:#475569!important}.project-subnav nav a:hover,.project-subnav nav a.active{background:var(--holania-selected)!important;color:var(--holania-primary)!important}.readiness-card{padding:24px!important}.readiness-grid{grid-template-columns:1fr!important;gap:0!important;margin-top:12px!important;border-top:1px solid var(--holania-line)!important}.readiness-item{min-height:0!important;padding:16px 0!important;border:0!important;border-bottom:1px solid var(--holania-line)!important;border-radius:0!important;background:transparent!important}.readiness-item:last-child{border-bottom:0!important}.readiness-item h3{margin:0 0 3px!important;font-size:15px!important;font-weight:600!important}.readiness-item p{font-size:14px!important}.readiness-item .secondary{min-height:36px!important;font-size:14px!important}.readiness-count{width:44px!important;height:44px!important;border-radius:8px!important;background:var(--holania-selected)!important;color:var(--holania-primary)!important;font-size:14px!important;font-weight:600!important}
/* Vistas de agenda y conversaciones: controles contenidos y jerarquía de producto. */
.module-tabs{gap:24px!important;margin:0 0 24px!important;border-bottom:1px solid var(--holania-line)!important}.module-tabs a{min-height:44px!important;color:#64748b!important;font-size:15px!important;font-weight:400!important}.module-tabs a:hover,.module-tabs a.active{border-color:var(--holania-primary)!important;color:var(--holania-primary)!important;font-weight:500!important}.view-tabs{gap:4px!important;padding:4px!important;border:1px solid var(--holania-line)!important;border-radius:9px!important;background:#f8fafc!important}.view-tabs a{border:0!important;border-radius:6px!important;color:#64748b!important;font-size:14px!important;font-weight:500!important}.view-tabs a.active{background:#fff!important;color:var(--holania-primary)!important;box-shadow:0 1px 2px rgba(15,23,42,.08)!important}.calendar-toolbar{margin:20px 0!important}.calendar-toolbar h2{font-size:16px!important;font-weight:600!important}.calendar-grid,.week-grid{border-color:var(--holania-line)!important;border-radius:10px!important}.calendar-weekday,.week-heading{background:#f8fafc!important;color:#64748b!important;font-size:12px!important;font-weight:500!important}.calendar-day,.week-column{border-color:var(--holania-line)!important}.calendar-day.is-empty{background:#fbfdff!important}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--holania-accent)!important}.calendar-event,.week-event{border-radius:6px!important;background:var(--holania-selected)!important;color:#0f5d73!important;font-size:12px!important;font-weight:500!important}.day-event{border-color:var(--holania-line)!important;border-radius:10px!important;background:#fff!important}.day-event time{color:var(--holania-primary)!important;font-weight:600!important}
.conversation-layout,.web-chat-layout{border:1px solid var(--holania-line)!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important}.conversation-layout>.card,.web-chat-layout>.card{border:0!important;border-radius:0!important;box-shadow:none!important}.conversation-list,.web-chat-layout>article:first-child{background:#f8fafc!important;border-right:1px solid var(--holania-line)!important}.conversation-item,.web-chat-item{border:0!important;border-radius:8px!important;color:#334155!important}.conversation-item:hover,.conversation-item.is-selected,.web-chat-item:hover,.web-chat-item.active{background:var(--holania-selected)!important;color:var(--holania-primary)!important}.message,.web-message{border-radius:10px!important;background:#f1f5f9!important;color:#334155!important;box-shadow:none!important}.message.outbound,.web-message.assistant{background:var(--holania-selected)!important}.message-thread{background:#fbfdff!important;border-color:var(--holania-line)!important}
@media(max-width:767px){.sidebar{display:flex!important;position:fixed!important;z-index:100!important;width:272px!important;padding:16px!important;align-items:stretch!important;transform:translateX(-100%);transition:transform .2s ease!important}.sidebar.is-open{transform:translateX(0)!important;box-shadow:16px 0 32px rgba(15,23,42,.16)!important}.sidebar .brand{width:auto!important;height:auto!important;margin:0 0 18px!important;padding:4px!important;justify-content:flex-start!important}.sidebar .brand img{width:34px!important;height:34px!important}.sidebar .brand-label,.sidebar .nav-label,.sidebar .nav-section,.sidebar footer span,.sidebar footer a{position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important}.sidebar nav{gap:3px!important}.sidebar nav a{width:auto!important;height:auto!important;min-height:44px!important;margin:0!important;padding:10px 12px!important;justify-content:flex-start!important;gap:12px!important}.sidebar nav a:after{display:none!important}.sidebar footer{display:grid!important}.sidebar-toggle{display:inline-grid!important;place-items:center!important;width:36px!important;height:36px!important;border:1px solid var(--holania-line)!important;border-radius:8px!important;background:#fff!important;color:#334155!important;font-size:0!important}.sidebar-toggle:before{content:"☰";font-size:18px}.topbar{padding:0 16px!important}.topbar-user{display:none!important}.conversation-layout,.web-chat-layout{border-radius:10px!important}.conversation-list,.web-chat-layout>article:first-child{border-right:0!important;border-bottom:1px solid var(--holania-line)!important}}
/* La ficha no necesita una tercera navegación permanente: evita vacío, redundancia y desorientación. */
body:has(.project-layout) .app-main{max-width:none!important;margin:0!important}.project-layout{display:block!important}.project-subnav{display:none!important}.project-content{max-width:1120px!important}.project-content>#modules+.card:not(.readiness-card),.project-content>.readiness-card+.card{display:none!important}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{display:flex;min-height:0;flex-direction:column}.product-card .product-price{margin:10px 0;color:#172033!important;font-size:24px;font-weight:600}.product-card .product-price small{font-size:14px;font-weight:400;color:#64748b}.product-card form{display:grid;gap:12px;margin-top:auto;padding-top:18px}.product-card .primary{width:100%}@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.catalog-grid{grid-template-columns:1fr}}
.table-wrap .record-link{display:inline-flex!important;align-items:center!important;min-height:36px!important;padding:7px 10px!important;border:1px solid #cbd5e1!important;border-radius:7px!important;background:#fff!important;color:var(--holania-primary)!important;text-decoration:none!important}.table-wrap .record-link:after{content:"Abrir →";margin-left:9px;color:#64748b;font-size:12px;font-weight:400}.table-wrap .record-link:hover{border-color:var(--holania-primary)!important;background:var(--holania-selected)!important}
.action-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.action-row form{margin:0}.danger{appearance:none;border:1px solid #fecaca;background:#fff;color:#b91c1c;border-radius:9px;padding:.5rem .75rem;font:inherit;font-size:.82rem;cursor:pointer}.danger:hover{background:#fff1f2;border-color:#fda4af}
.catalog-project-picker{display:grid;grid-template-columns:1fr minmax(260px,390px);column-gap:30px;align-items:end}.catalog-project-picker .eyebrow,.catalog-project-picker h2,.catalog-project-picker p{grid-column:1}.catalog-project-actions{grid-column:2;grid-row:1/4;display:grid;gap:10px;align-self:end}.catalog-project-actions label{margin:0}.catalog-project-actions .secondary{text-align:center}.product-card{position:relative}.product-card.is-recommended{border:2px solid var(--holania-primary)!important;box-shadow:0 14px 32px rgba(14,116,144,.14)!important}.recommended-badge{position:absolute;right:16px;top:16px;border-radius:999px;background:var(--holania-primary);color:#fff;padding:5px 9px;font-size:12px;font-weight:600}.plan-list,.plan-limits{margin:16px 0;padding:0;list-style:none;display:grid;gap:8px;color:#334155;font-size:14px}.plan-list li:before{content:"✓";color:var(--holania-primary);font-weight:700;margin-right:8px}.plan-limits-title{margin:18px 0 6px!important;color:#475569!important;font-size:12px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.05em}.plan-limits li{padding-left:14px;position:relative}.plan-limits li:before{content:"";position:absolute;left:0;top:.52em;width:4px;height:4px;border-radius:99px;background:#94a3b8}.catalog-note{max-width:760px;margin:22px auto 0;text-align:center;color:#64748b;font-size:14px}@media(max-width:760px){.catalog-project-picker{display:block}.catalog-project-actions{display:grid;margin-top:16px}.catalog-project-actions label{display:block}}
/* Informes de cliente: consumo comprensible, decisiones disponibles y sin tarjetas vacías. */
.report-usage{display:flex;align-items:center;gap:18px;margin:0 0 16px;padding:15px 18px;border:1px solid #bde7f2;border-radius:10px;background:#f4fcff}.report-usage>div{display:flex;align-items:baseline;gap:9px;white-space:nowrap}.report-usage span{color:#475569;font-size:13px}.report-usage strong{color:#0f5d73;font-size:16px;font-weight:600}.report-usage p{margin:0!important;color:#526377!important;font-size:13px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2{margin:0 0 3px!important}.section-heading p{margin:0!important;font-size:14px}.report-limit-badge{display:inline-flex;flex:none;align-items:center;min-height:28px;padding:4px 8px;border-radius:6px;background:#fff7ed;color:#a45112;font-size:12px;font-weight:500}.report-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-card{display:flex;min-height:176px;flex-direction:column;justify-content:space-between;padding:18px;border:1px solid var(--holania-line);border-radius:10px;background:#fff}.report-card h3{margin:0 0 6px;font-size:15px;font-weight:600}.report-card p{margin:0!important;font-size:14px;line-height:1.5}.report-card form{margin:16px 0 0}.report-card .secondary{min-height:36px;font-size:14px}.report-card button[disabled]{cursor:not-allowed;border-color:#e2e8f0!important;background:#f8fafc!important;color:#94a3b8!important}.report-frequency{margin-top:16px;color:#64748b;font-size:13px}.report-history .table-wrap{margin-top:0}.report-history table{margin-top:0}@media(max-width:1000px){.report-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.report-usage{display:grid;gap:5px}.report-usage>div{display:grid;gap:2px}.section-heading{display:grid}.report-card-grid{grid-template-columns:1fr}.report-card{min-height:0}.report-card .secondary{width:100%}}
.catalog-create-project-plan{display:none;margin-top:auto;text-align:center}.catalog-plan-context{display:none;margin:10px 0 0;color:#64748b;font-size:.82rem;line-height:1.45}.product-card.is-selected-plan{box-shadow:0 0 0 2px rgba(99,91,255,.25)!important}
.whatsapp-contract-guide{margin-bottom:18px}.whatsapp-contract-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.whatsapp-contract-options>div{padding:14px;border:1px solid #dce3ec;border-radius:9px;background:#fbfcfe}.whatsapp-contract-options strong{display:block;margin-bottom:5px;color:#253246}.whatsapp-contract-options p{margin:0;color:#64748b;font-size:14px;line-height:1.5}.contract-confirmation{display:flex!important;align-items:flex-start;gap:9px;padding:12px;border:1px solid #d8c9a0;border-radius:8px;background:#fffaf0;color:#574419;font-size:13px;line-height:1.45}.contract-confirmation input{width:17px!important;height:17px!important;min-height:17px!important;margin:2px 0 0!important;flex:0 0 17px}.whatsapp-contract-notice{margin:12px 0}.whatsapp-contract-notice ul{margin:8px 0 0;padding-left:20px}.whatsapp-contract-notice li{margin:5px 0}.whatsapp-onboarding-start ol{margin:10px 0;padding-left:22px}.whatsapp-onboarding-start li{margin:5px 0}@media(max-width:760px){.whatsapp-contract-options{grid-template-columns:1fr}}
/* Selector compacto del período en cada informe bajo demanda. */
.report-card form{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.report-card form label{display:grid;gap:4px;color:#64748b!important;font-size:12px!important;font-weight:500!important}.report-card form select{min-height:36px;padding:7px 26px 7px 9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;font:inherit;font-size:13px}@media(max-width:680px){.report-card form{grid-template-columns:1fr}.report-card form .secondary{width:100%}}
