:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f4f7fb;font-synthesis:none;--nav:#101828;--primary:#2563eb;--border:#dfe5ef;--muted:#667085;--surface:#fff;--danger:#b42318;--success:#067647}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f4f7fb}button,input,select,textarea{font:inherit}button{cursor:pointer}code,.code-block{font-family:"Cascadia Code",Consolas,monospace}.landing{min-height:100vh;padding:7vh 5vw;display:grid;place-items:center;gap:2rem;background:radial-gradient(circle at top right,#dbeafe,transparent 35%),linear-gradient(135deg,#f8fafc,#eef4ff)}.hero-card{max-width:920px;background:#fff;border:1px solid #dbe4f0;border-radius:28px;padding:clamp(2rem,5vw,4.5rem);box-shadow:0 30px 80px rgba(16,24,40,.12)}.hero-card h1{font-size:clamp(2.3rem,5vw,4.8rem);line-height:1.02;margin:.8rem 0 1.2rem;letter-spacing:-.055em}.hero-card p{font-size:1.1rem;line-height:1.75;color:#475467;max-width:760px}.privacy-badge{display:inline-flex;border:1px solid #abefc6;background:#ecfdf3;color:#067647;border-radius:999px;padding:.45rem .8rem;font-weight:800}.hero-actions,.data-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:2rem 0}.feature-grid{max-width:920px;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.feature-grid article{background:#fff;border:1px solid #dbe4f0;border-radius:18px;padding:1.2rem}.feature-grid h2{font-size:1rem;margin:0 0 .4rem}.feature-grid p{font-size:.9rem;color:#667085;line-height:1.5;margin:0}.warning-box{padding:1rem 1.1rem;background:#fffaeb;border:1px solid #fedf89;border-radius:12px;color:#7a2e0e;line-height:1.55}.app-shell{min-height:100vh}.topbar{height:72px;position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1.4rem;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#101828;color:#fff;font-weight:900}.brand>span:last-child{display:flex;flex-direction:column}.brand small{color:#667085;margin-top:.1rem}.file-controls{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.file-state{font-size:.78rem;font-weight:800;border-radius:999px;padding:.35rem .65rem}.file-state.dirty{background:#fff4ed;color:#b93815}.file-state.saved{background:#ecfdf3;color:#067647}.workspace{display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{min-height:calc(100vh - 72px);background:var(--nav);padding:1rem;position:sticky;top:72px;height:calc(100vh - 72px);display:flex;flex-direction:column;gap:.3rem}.nav-item{border:0;background:transparent;color:#cbd5e1;text-align:left;padding:.82rem .9rem;border-radius:10px;display:flex;gap:.7rem;align-items:center}.nav-item:hover,.nav-item.active{background:#1d2939;color:#fff}.nav-item.active{box-shadow:inset 3px 0 #60a5fa}.sidebar-note{margin-top:auto;border-top:1px solid #344054;padding:1rem .5rem;color:#98a2b3;display:flex;flex-direction:column;gap:.35rem;overflow-wrap:anywhere}.sidebar-note strong{color:#fff}.sidebar-note span{font-size:.82rem}.sidebar-note small{font-size:.72rem;line-height:1.4}.content{padding:1.6rem;min-width:0}.page-header{margin-bottom:1.25rem}.page-header h1{margin:0;font-size:2rem;letter-spacing:-.035em}.page-header p{color:#667085;margin:.35rem 0 0}.notice{border-radius:12px;padding:.9rem 1rem;margin-bottom:1rem;white-space:pre-line}.notice.success{background:#ecfdf3;border:1px solid #abefc6;color:#067647}.notice.error{background:#fef3f2;border:1px solid #fecdca;color:#b42318}.btn{border:1px solid #cfd7e4;background:#fff;color:#344054;border-radius:9px;padding:.68rem .95rem;font-weight:750}.btn:hover{background:#f8fafc}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:#1d4ed8}.btn.danger{border-color:#fda29b;color:#b42318}.btn.small{padding:.48rem .7rem;font-size:.85rem}.link-button{border:0;background:transparent;color:#175cd3;font-weight:750}.panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:1.2rem;margin-bottom:1.2rem;box-shadow:0 1px 2px rgba(16,24,40,.03)}.panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.panel-heading h2{font-size:1.05rem;margin:0}.panel-heading p{color:#667085;font-size:.86rem;margin:.28rem 0 0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin-bottom:1.2rem}.metric-grid.compact{grid-template-columns:repeat(6,minmax(0,1fr))}.metric{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.05rem;min-width:0}.metric>span{display:block;color:#667085;font-size:.78rem;font-weight:700}.metric>strong{display:block;font-size:1.45rem;margin-top:.35rem;overflow-wrap:anywhere}.metric strong small{font-size:.7rem;color:#667085;margin-left:.25rem}.metric.positive{border-left:4px solid #12b76a}.metric.negative{border-left:4px solid #f04438}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.split-layout{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(500px,1.25fr);gap:1.2rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.horizontal-form{grid-template-columns:repeat(4,minmax(145px,1fr))}.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.field>span,.check-field{font-size:.8rem;font-weight:750;color:#344054}.field b{color:#d92d20}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd7e4;border-radius:9px;padding:.68rem .72rem;background:#fff;color:#172033}.field textarea{min-height:82px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #dbeafe;border-color:#60a5fa}.check-field{display:flex;gap:.5rem;align-items:center;align-self:end;padding:.72rem 0}.check-field input{width:18px;height:18px}.form-subgrid{display:contents}.form-actions{grid-column:1/-1;display:flex;gap:.6rem;flex-wrap:wrap;padding-top:.25rem}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:620px}.table-wrap th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#667085;text-align:left;padding:.7rem;border-bottom:1px solid var(--border);white-space:nowrap}.table-wrap td{padding:.78rem .7rem;border-bottom:1px solid #edf0f5;vertical-align:middle;font-size:.86rem}.table-wrap tr:last-child td{border-bottom:0}.table-wrap small{color:#667085}.table-actions{display:flex;gap:.35rem}.icon-btn{width:32px;height:32px;border:1px solid #d0d5dd;background:#fff;border-radius:8px;display:grid;place-items:center}.icon-btn:hover{background:#f2f4f7}.danger-text{color:#b42318}.color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--dot);margin-right:.35rem}.job-id,.day-chip,.badge{display:inline-flex;border-radius:999px;font-size:.72rem;font-weight:800;padding:.25rem .5rem}.job-id,.day-chip{background:#eff4ff;color:#3538cd}.badge.success{background:#ecfdf3;color:#067647}.badge.danger{background:#fef3f2;color:#b42318}.badge.muted{background:#f2f4f7;color:#475467}.empty-state{padding:2rem 1rem;text-align:center;border:1px dashed #cfd7e4;border-radius:12px;color:#667085;background:#fafbfc}.compact-list{display:flex;flex-direction:column}.compact-list>div{display:grid;grid-template-columns:55px 20px 65px 1fr;align-items:center;padding:.7rem 0;border-bottom:1px solid #edf0f5}.compact-list>div:last-child{border-bottom:0}.month-filter{max-width:240px;margin-bottom:1rem}.calendar-panel{overflow:hidden}.calendar-scroll{overflow:auto;padding-bottom:.5rem}.week-calendar{display:grid;grid-template-columns:65px repeat(7,minmax(135px,1fr));grid-template-rows:42px var(--calendar-height);min-width:1010px}.calendar-corner,.calendar-day-title{background:#f8fafc;border-bottom:1px solid var(--border)}.calendar-day-title{display:grid;place-items:center;font-size:.8rem;font-weight:800;border-left:1px solid var(--border)}.time-axis{position:relative;border-right:1px solid var(--border);background:#fafbfc}.time-axis span{position:absolute;right:.55rem;transform:translateY(-50%);font-size:.7rem;color:#667085}.day-column{position:relative;border-right:1px solid var(--border);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 25px,#edf0f5 26px)}.calendar-event{position:absolute;left:4px;right:4px;border:0;border-left:4px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 14%,white);color:#172033;border-radius:7px;padding:.28rem .35rem;text-align:left;overflow:hidden;min-height:24px}.calendar-event strong,.calendar-event span{display:block;font-size:.72rem}.calendar-event:hover{filter:brightness(.97)}.recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.recommendation{border:1px solid var(--border);border-top:4px solid var(--job-color);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.85rem}.recommendation h3{margin:.2rem 0;font-size:1rem}.recommendation p{margin:0;color:#667085;font-size:.82rem}.eyebrow{font-size:.7rem;color:#667085;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.recommendation-values{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem;color:#667085}.recommendation-values strong{display:block;color:#172033;margin-top:.2rem}.narrow-panel{max-width:780px}.data-counts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:0}.data-counts div{display:flex;justify-content:space-between;padding:.75rem;border-radius:9px;background:#f8fafc}.data-counts dt{color:#667085}.data-counts dd{font-weight:900;margin:0}.code-block{background:#101828;color:#d0d5dd;border-radius:12px;padding:1rem;overflow:auto;line-height:1.6;font-size:.78rem}noscript{display:block;padding:1rem;background:#fef3f2;color:#b42318}@media(max-width:1180px){.metric-grid,.metric-grid.compact{grid-template-columns:repeat(3,1fr)}.split-layout{grid-template-columns:1fr}.recommendation-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.topbar{height:auto;min-height:72px;align-items:flex-start;padding:.8rem;flex-direction:column}.workspace{grid-template-columns:1fr}.sidebar{position:static;height:auto;min-height:0;display:grid;grid-template-columns:repeat(4,1fr);padding:.6rem}.sidebar-note{display:none}.nav-item{justify-content:center;font-size:.75rem;padding:.65rem .3rem}.content{padding:1rem}.two-column{grid-template-columns:1fr}.metric-grid,.metric-grid.compact{grid-template-columns:repeat(2,1fr)}.horizontal-form,.form-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.brand small,.file-state{display:none}.file-controls{gap:.35rem}.file-controls .btn{font-size:.72rem;padding:.45rem .55rem}.sidebar{grid-template-columns:repeat(2,1fr)}.metric-grid,.metric-grid.compact,.form-grid,.horizontal-form,.recommendation-grid,.feature-grid{grid-template-columns:1fr}.hero-card{border-radius:18px;padding:1.4rem}.hero-card h1{font-size:2.25rem}.content{padding:.75rem}.panel{padding:.9rem}.data-counts{grid-template-columns:1fr}}
.projection-filters{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;margin:0 0 1rem}.projection-filters .field{min-width:210px;max-width:280px}.projection-panel{margin-bottom:1rem}.annual-metrics{margin-top:.5rem}.text-negative{color:var(--danger)}.text-positive{color:var(--success)}@media(max-width:560px){.projection-filters{display:grid;grid-template-columns:1fr}.projection-filters .field{max-width:none;min-width:0}}

/* v2.2 — panel operativo, iconografía SVG y calendario compacto */
.svg-icon{width:1.1em;height:1.1em;display:inline-block;vertical-align:-.16em;flex:0 0 auto}.btn .svg-icon,.link-button .svg-icon{margin-right:.28rem}.icon-btn .svg-icon{width:16px;height:16px}.brand-mark .svg-icon{width:22px;height:22px}.brand-mark{background:linear-gradient(145deg,#1d4ed8,#0f172a)}.nav-icon{display:grid;place-items:center;width:22px}.nav-icon .svg-icon{width:18px;height:18px}.section-kicker{display:flex;align-items:center;gap:.42rem;color:#475467;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.065em;margin-bottom:.38rem}.section-kicker .svg-icon{color:#2563eb}.panel-heading h2{font-size:1.12rem;letter-spacing:-.015em}.file-controls .btn{display:inline-flex;align-items:center}.metric{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfcff)}.metric:after{content:"";position:absolute;right:-22px;bottom:-26px;width:76px;height:76px;border-radius:50%;background:#f2f4f7;opacity:.55}.metric-label{display:flex;align-items:center;gap:.48rem;color:#667085;font-size:.76rem;font-weight:750;position:relative;z-index:1}.metric-label>span:last-child{overflow-wrap:anywhere}.metric-icon{width:30px;height:30px;border-radius:9px;background:#eff6ff;color:#2563eb;display:grid;place-items:center}.metric-icon .svg-icon{width:16px;height:16px}.metric>strong{position:relative;z-index:1}.metric.positive .metric-icon{background:#ecfdf3;color:#067647}.metric.negative .metric-icon{background:#fef3f2;color:#b42318}.dashboard-primary-grid{display:grid;grid-template-columns:minmax(350px,.82fr) minmax(620px,1.45fr);gap:1.15rem;align-items:stretch}.dashboard-primary-grid>.panel{margin-bottom:1.2rem}.financial-overview{display:flex;flex-direction:column}.dashboard-summary-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.dashboard-summary-metrics .metric{padding:.9rem}.dashboard-summary-metrics .metric>strong{font-size:1.25rem}.operational-reserve-card{margin-top:.85rem;display:grid;grid-template-columns:42px minmax(0,1fr);gap:.8rem;align-items:start;padding:.9rem 1rem;border:1px solid #fda29b;border-left:5px solid #d92d20;border-radius:12px;background:linear-gradient(135deg,#fff4f2,#fffafa);color:#7a271a;box-shadow:0 4px 12px rgba(180,35,24,.08)}.operational-reserve-card.is-empty{border-color:#fecaca;border-left-color:#b42318;background:#fff7f6}.operational-reserve-icon{width:42px;height:42px;border-radius:12px;background:#fee4e2;color:#b42318;display:grid;place-items:center}.operational-reserve-icon .svg-icon{width:21px;height:21px}.operational-reserve-content{min-width:0}.operational-reserve-label{display:block;color:#b42318;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.operational-reserve-content>strong{display:block;margin:.16rem 0 .18rem;font-size:1.42rem;line-height:1.1;color:#912018;overflow-wrap:anywhere}.operational-reserve-content small{display:block;color:#912018;font-size:.73rem;line-height:1.45}.operational-reserve-content p{margin:.28rem 0 0;color:#7a271a;font-size:.68rem;line-height:1.4}.operational-reserve-card:focus-within{outline:3px solid rgba(217,45,32,.18);outline-offset:2px}.annual-inline-summary{margin-top:auto;padding-top:1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.annual-inline-summary>div{border-top:1px solid #e4e7ec;padding-top:.75rem;min-width:0}.annual-inline-summary span,.annual-inline-summary small{display:block;color:#667085;font-size:.7rem}.annual-inline-summary span{display:flex;align-items:center;gap:.3rem;font-weight:750}.annual-inline-summary strong{display:block;font-size:1rem;margin:.22rem 0;overflow-wrap:anywhere}.dashboard-calendar-panel{min-width:0}.calendar-heading{align-items:flex-start}.calendar-toolbar{display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}.button-group{display:flex}.button-group>*{border-radius:0}.button-group>*:first-child{border-radius:8px 0 0 8px}.button-group>*:last-child{border-radius:0 8px 8px 0}.active-toggle{background:#eff6ff!important;border-color:#93c5fd!important;color:#1d4ed8!important}.compact-calendar-scroll{border:1px solid #e4e7ec;border-radius:12px;background:#fff}.week-calendar.compact-calendar{grid-template-columns:48px repeat(7,minmax(86px,1fr));grid-template-rows:34px var(--calendar-height);min-width:700px}.compact-calendar .calendar-day-title{font-size:.7rem}.compact-calendar .time-axis span{font-size:.62rem;right:.3rem}.compact-calendar .day-column{background-size:auto 22px;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 21px,#f0f2f5 22px)}.calendar-availability,.calendar-free,.calendar-recommendation{position:absolute;left:3px;right:3px;border-radius:5px;pointer-events:none}.calendar-availability{z-index:0;background:#eff8ff;border:1px solid #d1e9ff}.calendar-free{z-index:1;background:repeating-linear-gradient(135deg,rgba(18,183,106,.10),rgba(18,183,106,.10) 5px,rgba(18,183,106,.03) 5px,rgba(18,183,106,.03) 10px);border:1px dashed rgba(18,183,106,.5)}.calendar-free.short{background:repeating-linear-gradient(135deg,rgba(102,112,133,.07),rgba(102,112,133,.07) 5px,transparent 5px,transparent 10px);border-color:#d0d5dd}.calendar-event{z-index:3;box-shadow:0 1px 2px rgba(16,24,40,.08)}.calendar-event.compact-event{left:3px;right:3px;padding:.15rem .24rem;border-left-width:3px}.compact-event strong{font-size:.64rem}.compact-event span{font-size:.58rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendar-recommendation{z-index:4;border:2px dashed var(--event-color);background:color-mix(in srgb,var(--event-color) 9%,white);padding:.13rem .2rem;color:#344054;overflow:hidden}.calendar-recommendation strong,.calendar-recommendation span{font-size:.58rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.utilization-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-analysis-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:1.2rem}.mode-badge{display:inline-flex;padding:.35rem .62rem;border-radius:999px;font-size:.72rem;font-weight:850;white-space:nowrap}.mode-badge.precise{background:#ecfdf3;color:#067647}.mode-badge.theoretical{background:#fff7ed;color:#b54708}.dashboard-recommendations{grid-template-columns:repeat(3,minmax(0,1fr))}.recommendation{background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.04)}.recommendation.theoretical{border-style:dashed}.recommendation-values{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.recommendation-actions{display:flex;align-items:center;gap:.4rem;margin-top:auto}.recommendation-actions .icon-btn{margin-left:auto}.panel-footer{display:flex;justify-content:flex-end;margin-top:1rem}.insight-list{display:flex;flex-direction:column;gap:.85rem}.insight-item{display:grid;grid-template-columns:38px 1fr;gap:.75rem;align-items:start}.insight-item>span{width:38px;height:38px;border-radius:11px;background:#eff6ff;color:#2563eb;display:grid;place-items:center}.insight-item>span .svg-icon{width:19px;height:19px}.insight-item strong{font-size:.86rem}.insight-item p{margin:.22rem 0 0;color:#667085;font-size:.76rem;line-height:1.45}.scenario-comparison{display:grid;grid-template-columns:1fr 48px 1fr;align-items:center;gap:.75rem}.scenario-column{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;border:1px solid #e4e7ec;border-radius:13px;padding:1rem}.scenario-column.optimized{border-color:#86efac;background:#f6fef9}.scenario-title{grid-column:1/-1;display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:850}.scenario-column small{display:block;color:#667085;font-size:.68rem}.scenario-column strong{display:block;margin-top:.22rem;font-size:1rem;overflow-wrap:anywhere}.scenario-arrow{display:grid;place-items:center;color:#98a2b3}.scenario-arrow .svg-icon{width:24px;height:24px}.scenario-delta{margin-top:.85rem;padding:.72rem 1rem;background:#effaf5;color:#05603a;border-radius:10px;display:flex;align-items:center;gap:.35rem;font-size:.82rem;flex-wrap:wrap}.free-window-list{display:flex;flex-direction:column}.free-window-list>div{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:.65rem;padding:.7rem 0;border-bottom:1px solid #edf0f5}.free-window-list>div:last-child{border-bottom:0}.free-window-list>div>span:last-child{color:#667085;font-size:.8rem}.optimizer-explainer{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.95rem}.optimizer-flow-step{display:flex;align-items:center;gap:.6rem;min-width:0}.optimizer-flow-step>span{width:30px;height:30px;border-radius:50%;background:#1d4ed8;color:#fff;display:grid;place-items:center;font-weight:900;font-size:.78rem}.optimizer-flow-step div{display:flex;flex-direction:column}.optimizer-flow-step strong{font-size:.78rem}.optimizer-flow-step small{font-size:.68rem;color:#667085}.flow-arrow{color:#98a2b3}.weekday-selector{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.weekday-selector label{position:relative}.weekday-selector input{position:absolute;opacity:0;pointer-events:none}.weekday-selector span{display:grid;place-items:center;border:1px solid #d0d5dd;border-radius:8px;padding:.58rem .2rem;font-size:.74rem;font-weight:800;cursor:pointer}.weekday-selector input:checked+span{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.full-field{grid-column:1/-1}.mini-option{display:inline-flex;gap:.25rem;background:#f2f4f7;border-radius:999px;padding:.22rem .45rem;margin:.12rem;font-size:.7rem}.btn.primary,.btn.small{align-items:center}.btn{display:inline-flex;justify-content:center;gap:.2rem}.icon-btn{color:#475467}.icon-btn.danger-text{color:#b42318}
@media(max-width:1380px){.dashboard-primary-grid{grid-template-columns:1fr}.utilization-grid{grid-template-columns:repeat(3,1fr)}.dashboard-analysis-grid{grid-template-columns:1fr}.dashboard-recommendations{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1020px){.scenario-column{grid-template-columns:repeat(2,1fr)}.optimizer-explainer{flex-wrap:wrap;justify-content:flex-start}.flow-arrow{display:none}.optimizer-flow-step{flex:1 1 220px}.dashboard-recommendations{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.utilization-grid{grid-template-columns:repeat(2,1fr)}.annual-inline-summary{grid-template-columns:1fr}.scenario-comparison{grid-template-columns:1fr}.scenario-arrow{transform:rotate(90deg)}.calendar-heading{flex-direction:column}.calendar-toolbar{justify-content:flex-start}.dashboard-recommendations{grid-template-columns:1fr}.weekday-selector{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.operational-reserve-card{grid-template-columns:36px minmax(0,1fr);padding:.8rem}.operational-reserve-icon{width:36px;height:36px}.operational-reserve-content>strong{font-size:1.24rem}.dashboard-summary-metrics,.utilization-grid{grid-template-columns:1fr}.scenario-column{grid-template-columns:1fr}.weekday-selector{grid-template-columns:repeat(3,1fr)}.metric-icon{width:27px;height:27px}.annual-inline-summary{gap:.2rem}}

/* v2.3 — gráfico circular de gastos recurrentes */
.finance-entry-grid{align-items:start}.finance-insight-grid{align-items:start}.finance-chart-panel,.finance-insights-panel{min-width:0}.finance-breakdown-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.expense-chart-layout{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(280px,1.22fr);gap:1rem;align-items:center}.expense-chart-wrap{position:relative;display:grid;place-items:center;padding:1rem}.expense-donut{width:min(100%,280px);height:auto;display:block}.donut-center{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;padding:2.3rem}.donut-center small,.donut-center span{display:block;color:#667085}.donut-center strong{display:block;font-size:1.12rem;max-width:130px;line-height:1.2;overflow-wrap:anywhere}.expense-legend{display:flex;flex-direction:column;gap:.6rem;max-height:340px;overflow:auto;padding-right:.2rem}.legend-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.6rem .1rem;border-bottom:1px solid #edf0f5}.legend-item:last-child{border-bottom:0}.legend-swatch{width:12px;height:12px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 3px color-mix(in srgb,var(--swatch) 20%,white)}.legend-copy{min-width:0}.legend-copy strong{display:block;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-copy small{display:block;color:#667085;font-size:.73rem;margin-top:.12rem}.legend-values{text-align:right}.legend-values b{display:block;font-size:.84rem}.legend-values span{display:block;color:#667085;font-size:.73rem;margin-top:.12rem}.compact-insight{padding:.15rem 0}.compact-insight>span{width:34px;height:34px}.compact-insight p{font-size:.74rem}.metric strong small{display:block;margin-left:0;margin-top:.15rem}.donut-segment{transition:opacity .18s ease,filter .18s ease}.donut-segment:hover{opacity:.9;filter:brightness(.98)}@media(max-width:1100px){.expense-chart-layout{grid-template-columns:1fr}.expense-legend{max-height:none}.finance-breakdown-metrics{grid-template-columns:1fr 1fr}}@media(max-width:620px){.finance-breakdown-metrics{grid-template-columns:1fr}.expense-chart-wrap{padding:.25rem}.legend-item{grid-template-columns:12px 1fr}.legend-values{grid-column:2;text-align:left;padding-left:.05rem}}

/* v2.4 — identidad profesional, portada SVG animada y selector ES/EN */
.landing-premium{position:relative;display:block;min-height:100vh;padding:clamp(1.1rem,3vw,2.6rem) clamp(1rem,5vw,5rem) 4rem;overflow:hidden;background:radial-gradient(circle at 8% 12%,rgba(103,146,255,.20),transparent 28%),radial-gradient(circle at 92% 9%,rgba(61,212,164,.16),transparent 25%),linear-gradient(145deg,#f8fbff 0%,#edf4ff 46%,#f5f9ff 100%)}
.landing-premium:before,.landing-premium:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.landing-premium:before{width:360px;height:360px;right:-170px;top:300px;background:rgba(91,140,255,.10)}.landing-premium:after{width:300px;height:300px;left:-170px;bottom:80px;background:rgba(24,168,117,.08)}
.landing-language-switch{position:relative;z-index:5;margin:0 auto 1rem;max-width:1320px;display:flex;justify-content:flex-end}.language-switch{display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid rgba(152,162,179,.35);border-radius:999px;background:rgba(255,255,255,.76);backdrop-filter:blur(16px);box-shadow:0 8px 22px rgba(20,50,100,.08)}.language-option{min-width:40px;border:0;border-radius:999px;padding:.36rem .58rem;background:transparent;color:#667085;font-size:.72rem;font-weight:900;letter-spacing:.04em}.language-option:hover{color:#173b8f;background:#eef4ff}.language-option.active{background:#173b8f;color:#fff;box-shadow:0 4px 12px rgba(23,59,143,.25)}
.premium-hero{position:relative;z-index:1;max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding:clamp(2rem,5vw,5rem);border:1px solid rgba(191,208,235,.78);border-radius:34px;background:rgba(255,255,255,.9);box-shadow:0 36px 90px rgba(31,67,125,.16),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(20px)}
.hero-copy{min-width:0}.hero-brandline{display:flex;align-items:center;gap:.7rem;color:#173b8f;font-weight:850;font-size:.86rem;letter-spacing:.025em;margin-bottom:1.35rem}.app-logo{display:block;width:100%;height:100%}.hero-logo{width:43px;height:43px;filter:drop-shadow(0 8px 10px rgba(23,59,143,.18))}.privacy-badge{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #9de5bf;background:linear-gradient(180deg,#f0fff7,#e8fbf1);color:#087247;border-radius:999px;padding:.48rem .82rem;font-weight:850;font-size:.78rem;box-shadow:0 8px 20px rgba(17,129,82,.08)}.privacy-badge .svg-icon{width:15px;height:15px}.premium-hero h1{font-size:clamp(2.75rem,5.4vw,5.4rem);line-height:.98;margin:1rem 0 1rem;letter-spacing:-.067em;color:#12233f}.premium-hero h1 span{background:linear-gradient(100deg,#1f5fd0,#173b8f 52%,#0b7b59);background-clip:text;-webkit-background-clip:text;color:transparent}.premium-hero .hero-lead{font-size:clamp(1.1rem,1.7vw,1.34rem);font-weight:700;color:#2f4770;line-height:1.5;margin:.3rem 0 .55rem}.premium-hero p:not(.hero-lead){font-size:.96rem;line-height:1.75;color:#5d6b82;max-width:650px}.premium-hero .hero-actions{margin:1.8rem 0 1.2rem}.hero-primary,.hero-secondary{min-height:48px;padding:.8rem 1.14rem}.hero-primary{background:linear-gradient(135deg,#3478ec,#1d4fbd)!important;border:0!important;box-shadow:0 12px 28px rgba(37,99,235,.26)}.hero-primary:hover{transform:translateY(-1px);box-shadow:0 15px 32px rgba(37,99,235,.32)}.hero-secondary{border-color:#c7d4e9;background:#fff}.hero-trust-row{display:flex;align-items:center;gap:.55rem 1rem;flex-wrap:wrap;color:#51617b;font-size:.76rem;font-weight:750}.hero-trust-row span{display:inline-flex;align-items:center;gap:.35rem}.hero-trust-row .svg-icon{color:#1d65cb}.landing-warning{margin-top:1.4rem;border-color:#f3ce75;background:linear-gradient(180deg,#fffaf0,#fff7e7);font-size:.84rem}.hero-visual{min-width:0;display:grid;place-items:center;position:relative}.planner-illustration{display:block;width:min(100%,650px);height:auto;filter:drop-shadow(0 24px 34px rgba(40,72,126,.12))}.schedule-chip{animation:chipFloat 5s ease-in-out infinite}.chip-b{animation-delay:-1.5s}.chip-c{animation-delay:-3s}.floating-clock{animation:clockFloat 4.4s ease-in-out infinite;transform-origin:center}.floating-badge{animation:badgeFloat 5.4s ease-in-out infinite;transform-origin:center}.clock-hand{transform-origin:516px 181px;animation:clockTick 12s linear infinite}.animated-income-line{stroke-dasharray:260;stroke-dashoffset:260;animation:drawIncome 2.3s ease-out .4s forwards}.orb-one{animation:orbFloat 7s ease-in-out infinite}.orb-two{animation:orbFloat 8.2s ease-in-out -2s infinite}.chart-card{animation:softPulse 4s ease-in-out infinite}.finance-card{animation:softPulse 4.5s ease-in-out -1.2s infinite}
.premium-features{position:relative;z-index:1;max-width:1320px;margin:1.5rem auto 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.premium-features article{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 24px;align-items:start;gap:.9rem;padding:1.2rem;border-radius:18px;border:1px solid rgba(195,210,233,.82);background:rgba(255,255,255,.86);box-shadow:0 14px 32px rgba(32,70,130,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;backdrop-filter:blur(12px)}.premium-features article:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(32,70,130,.13);border-color:#aac4ef}.feature-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#1f61cf;background:linear-gradient(145deg,#eef5ff,#dfeaff);box-shadow:inset 0 0 0 1px rgba(83,126,214,.10)}.feature-icon .svg-icon{width:23px;height:23px}.premium-features h2{margin:.1rem 0 .35rem;font-size:.94rem;color:#172b4d}.premium-features p{font-size:.78rem;line-height:1.55}.feature-arrow{color:#9aa8bf;margin-top:.22rem;transition:transform .2s ease,color .2s ease}.premium-features article:hover .feature-arrow{color:#2563eb;transform:translate(2px,-2px)}
.brand-logo{padding:0!important;background:transparent!important;overflow:visible}.brand-logo .app-logo{width:40px;height:40px;filter:drop-shadow(0 5px 8px rgba(23,59,143,.18))}.topbar-language{box-shadow:none;background:#f7f9fc;border-color:#e0e6ef}.topbar-language .language-option{padding:.27rem .45rem;min-width:34px;font-size:.66rem}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes clockFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(1.5deg)}}@keyframes badgeFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(5px,-7px)}}@keyframes clockTick{to{transform:rotate(360deg)}}@keyframes drawIncome{to{stroke-dashoffset:0}}@keyframes orbFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.05)}}@keyframes softPulse{0%,100%{opacity:1}50%{opacity:.88}}
@media(max-width:1120px){.premium-hero{grid-template-columns:1fr;padding:clamp(2rem,6vw,4rem)}.hero-visual{max-width:720px;margin:0 auto}.premium-features{grid-template-columns:1fr 1fr}.topbar-language{order:-1}}
@media(max-width:720px){.landing-premium{padding:1rem .75rem 3rem}.premium-hero{padding:1.5rem;border-radius:24px}.premium-hero h1{font-size:clamp(2.35rem,12vw,3.7rem)}.hero-visual{margin-top:.5rem}.premium-features{grid-template-columns:1fr}.landing-language-switch{margin-bottom:.65rem}.hero-trust-row{display:grid;grid-template-columns:1fr 1fr}.planner-illustration{width:112%;margin-left:-6%}.topbar-language{display:none}}
@media(max-width:460px){.hero-trust-row{grid-template-columns:1fr}.premium-features article{grid-template-columns:43px minmax(0,1fr) 18px}.feature-icon{width:43px;height:43px}.premium-hero .hero-actions{display:grid}.premium-hero .hero-actions .btn{width:100%}.hero-brandline{margin-bottom:1rem}}
@media(prefers-reduced-motion:reduce){.schedule-chip,.floating-clock,.floating-badge,.clock-hand,.animated-income-line,.orb-one,.orb-two,.chart-card,.finance-card{animation:none!important}.animated-income-line{stroke-dashoffset:0}.premium-features article,.hero-primary{transition:none}}


/* v2.4.1 — portada ajustada al viewport y título sin recortes */
.landing-premium{
  min-height:100dvh;
  padding:clamp(.7rem,1.5vh,1.15rem) clamp(1rem,3vw,3.2rem);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  align-content:stretch;
  gap:clamp(.55rem,1.2vh,.9rem);
  overflow-x:hidden;
  overflow-y:auto;
}
.landing-language-switch{
  width:100%;
  margin:0 auto;
  min-height:34px;
  align-items:center;
}
.premium-hero{
  width:100%;
  height:100%;
  min-height:0;
  max-height:620px;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
  gap:clamp(1.5rem,3vw,3.4rem);
  padding:clamp(1.5rem,3.5vh,2.7rem) clamp(1.6rem,3vw,3.1rem);
  border-radius:clamp(24px,2vw,30px);
}
.hero-copy{
  min-width:0;
  align-self:center;
}
.hero-brandline{
  margin-bottom:clamp(.65rem,1.3vh,1rem);
}
.hero-logo{
  width:38px;
  height:38px;
}
.premium-hero .hero-title{
  margin:clamp(.65rem,1.3vh,.95rem) 0 clamp(.55rem,1.1vh,.85rem);
  font-size:clamp(2.85rem,4.25vw,4.65rem);
  line-height:1.055;
  letter-spacing:-.058em;
  overflow:visible;
  text-wrap:balance;
}
.hero-title-base,
.hero-title-accent{
  display:block;
  max-width:100%;
  overflow:visible;
}
.premium-hero .hero-title-base{
  color:#12233f;
  background:none;
  -webkit-text-fill-color:currentColor;
}
.premium-hero .hero-title-accent{
  padding:.035em .035em .13em;
  margin:-.035em -.035em -.13em;
  line-height:1.08;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.premium-hero .hero-lead{
  font-size:clamp(1rem,1.3vw,1.22rem);
  line-height:1.42;
  margin:.2rem 0 .35rem;
}
.premium-hero p:not(.hero-lead){
  font-size:clamp(.82rem,.84vw,.94rem);
  line-height:1.58;
  margin:.3rem 0;
}
.premium-hero .hero-actions{
  margin:clamp(.85rem,1.7vh,1.25rem) 0 clamp(.65rem,1.2vh,.9rem);
}
.hero-primary,.hero-secondary{
  min-height:43px;
  padding:.68rem 1rem;
}
.hero-trust-row{
  gap:.4rem .8rem;
  font-size:.71rem;
}
.landing-warning{
  margin-top:clamp(.7rem,1.4vh,1rem);
  padding:.72rem .9rem;
  font-size:.76rem;
  line-height:1.42;
}
.hero-visual{
  height:100%;
  min-height:0;
  max-height:480px;
  align-self:center;
}
.planner-illustration{
  width:min(100%,555px);
  max-width:100%;
  max-height:100%;
  height:auto;
}
.premium-features{
  width:100%;
  margin:0 auto;
  gap:clamp(.55rem,1vw,.85rem);
}
.premium-features article{
  min-height:82px;
  grid-template-columns:40px minmax(0,1fr) 18px;
  gap:.68rem;
  padding:.78rem .85rem;
  border-radius:15px;
}
.feature-icon{
  width:40px;
  height:40px;
  border-radius:12px;
}
.feature-icon .svg-icon{
  width:20px;
  height:20px;
}
.premium-features h2{
  margin:0 0 .2rem;
  font-size:.82rem;
  line-height:1.25;
}
.premium-features p{
  font-size:.68rem;
  line-height:1.4;
}
.feature-arrow{
  margin-top:.05rem;
}

@media (min-width:901px) and (min-height:720px){
  .landing-premium{
    height:100dvh;
    min-height:0;
    overflow-y:hidden;
  }
}

@media (max-height:850px) and (min-width:901px){
  .premium-hero{
    max-height:570px;
    padding:1.35rem 2.35rem;
  }
  .premium-hero .hero-title{
    font-size:clamp(2.65rem,3.85vw,4.15rem);
    margin:.55rem 0 .45rem;
  }
  .premium-hero .hero-lead{font-size:1rem}
  .premium-hero p:not(.hero-lead){font-size:.78rem;line-height:1.48}
  .hero-brandline{margin-bottom:.5rem}
  .privacy-badge{padding:.38rem .7rem;font-size:.7rem}
  .premium-hero .hero-actions{margin:.72rem 0 .55rem}
  .landing-warning{margin-top:.6rem;padding:.58rem .75rem;font-size:.7rem}
  .hero-visual{max-height:420px}
  .premium-features article{min-height:74px;padding:.65rem .72rem}
  .premium-features p{line-height:1.32}
}

@media (max-width:1120px) and (min-width:901px){
  .premium-hero{
    grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);
    padding-inline:2rem;
  }
  .premium-hero .hero-title{font-size:clamp(2.6rem,5.2vw,4rem)}
  .planner-illustration{width:min(100%,480px)}
  .premium-features{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media (max-width:900px){
  .landing-premium{
    min-height:100dvh;
    height:auto;
    grid-template-rows:auto auto auto;
    padding:1rem;
    overflow-y:auto;
  }
  .premium-hero{
    height:auto;
    max-height:none;
    grid-template-columns:1fr;
    padding:clamp(1.4rem,5vw,2.4rem);
  }
  .hero-copy{order:1}
  .hero-visual{
    order:2;
    width:min(100%,620px);
    max-height:none;
    margin:.25rem auto 0;
  }
  .planner-illustration{width:min(100%,560px)}
  .premium-features{grid-template-columns:1fr 1fr}
}

@media (max-width:620px){
  .landing-premium{padding:.7rem}
  .landing-language-switch{min-height:32px}
  .premium-hero{padding:1.25rem;border-radius:21px}
  .premium-hero .hero-title{
    font-size:clamp(2.25rem,11.6vw,3.35rem);
    line-height:1.08;
    letter-spacing:-.05em;
  }
  .hero-title-accent{padding-bottom:.16em}
  .premium-hero .hero-actions{display:grid;grid-template-columns:1fr}
  .premium-hero .hero-actions .btn{width:100%}
  .hero-trust-row{grid-template-columns:1fr 1fr}
  .premium-features{grid-template-columns:1fr}
  .premium-features article{min-height:76px}
}

@media (max-width:420px){
  .premium-hero .hero-title{font-size:clamp(2rem,11.2vw,2.75rem)}
  .hero-trust-row{grid-template-columns:1fr}
  .hero-brandline{font-size:.76rem}
  .premium-hero p:not(.hero-lead){font-size:.78rem}
}

/* v2.4.2 — horas semanales individuales por trabajo en el panel */
.weekly-job-panel{overflow:hidden}.weekly-job-heading{align-items:center}.weekly-total-pill{min-width:168px;border:1px solid #bfdbfe;background:linear-gradient(145deg,#eff6ff,#f8fbff);border-radius:14px;padding:.72rem .9rem;text-align:right}.weekly-total-pill>span,.weekly-total-pill small{display:block;color:#667085;font-size:.7rem;font-weight:750}.weekly-total-pill strong{display:block;font-size:1.35rem;color:#173b8f;margin:.12rem 0}.weekly-job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.85rem}.weekly-job-card{position:relative;border:1px solid #e4e7ec;border-left:4px solid var(--job-color);border-radius:13px;padding:.9rem;background:linear-gradient(180deg,#fff,#fbfcff);min-width:0}.weekly-job-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.weekly-job-identity{display:flex;align-items:center;gap:.65rem;min-width:0}.weekly-job-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--job-color);background:color-mix(in srgb,var(--job-color) 12%,white);flex:0 0 auto}.weekly-job-mark .svg-icon{width:18px;height:18px}.weekly-job-identity div{min-width:0}.weekly-job-identity strong,.weekly-job-identity small{display:block}.weekly-job-identity strong{font-size:.92rem}.weekly-job-identity small{color:#667085;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.weekly-job-hours{text-align:right;min-width:112px}.weekly-job-hours>strong{display:block;font-size:1.18rem;line-height:1;color:#172033}.weekly-job-hours small{display:block;color:#667085;font-size:.68rem;margin-top:.3rem;line-height:1.25}.weekly-job-hours small b{color:var(--job-color)}.weekly-workload-track{height:8px;background:#eef2f6;border-radius:999px;overflow:hidden;margin:.85rem 0}.weekly-workload-track span{display:block;height:100%;width:var(--job-share);min-width:0;background:linear-gradient(90deg,var(--job-color),color-mix(in srgb,var(--job-color) 72%,white));border-radius:inherit;transition:width .3s ease}.weekly-job-finance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.weekly-job-finance>div{padding:.55rem;border-radius:9px;background:#f8fafc;min-width:0}.weekly-job-finance span{display:flex;align-items:center;gap:.25rem;color:#667085;font-size:.63rem;white-space:nowrap}.weekly-job-finance span .svg-icon{width:12px;height:12px}.weekly-job-finance strong{display:block;margin-top:.22rem;font-size:.8rem;overflow-wrap:anywhere}@media(max-width:760px){.weekly-job-heading{align-items:flex-start}.weekly-total-pill{width:100%;text-align:left}.weekly-job-card-head{align-items:center}.weekly-job-finance{grid-template-columns:1fr}.weekly-job-finance>div{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.weekly-job-finance strong{margin-top:0}}@media(max-width:430px){.weekly-job-grid{grid-template-columns:1fr}.weekly-job-card-head{align-items:flex-start}.weekly-job-hours{min-width:90px}.weekly-job-identity small{max-width:120px}}


/* v2.5.0 — dashboard consolidado, recomendaciones temporales y navegación simplificada */
.file-state{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.file-state .svg-icon{width:14px;height:14px}.dashboard-analysis-grid{grid-template-columns:minmax(340px,.78fr) minmax(520px,1.22fr);align-items:start}.dashboard-wide-panel{grid-column:1/-1}.dashboard-expense-panel,.opportunity-panel{min-width:0}.compact-expense-chart{grid-template-columns:minmax(180px,.72fr) minmax(220px,1.28fr);gap:.65rem}.compact-expense-chart .expense-chart-wrap{padding:.35rem}.compact-expense-chart .expense-donut{width:min(100%,210px)}.compact-expense-chart .donut-center{padding:2rem}.compact-expense-chart .donut-center strong{font-size:1rem}.compact-expense-chart .expense-legend{max-height:255px;gap:.35rem}.compact-expense-chart .legend-item{padding:.42rem .05rem}.compact-expense-chart .legend-copy strong,.compact-expense-chart .legend-values b{font-size:.78rem}.compact-expense-chart .legend-copy small,.compact-expense-chart .legend-values span{font-size:.68rem}.opportunity-heading{align-items:flex-start}.opportunity-controls{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.temporary-hidden-note{margin-top:.85rem;padding:.65rem .75rem;border-radius:10px;background:#f8fafc;border:1px dashed #cfd7e4;color:#667085;font-size:.75rem;display:flex;align-items:flex-start;gap:.4rem}.temporary-hidden-note .svg-icon{width:15px;height:15px;flex:0 0 auto;margin-top:.05rem}.recommendation-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.recommendation-actions .icon-btn{margin-left:auto}.dashboard-recommendations{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.sidebar{gap:.38rem}.nav-item{min-height:44px}.content{max-width:1900px;width:100%;margin:0 auto}.panel{box-shadow:0 8px 24px rgba(16,24,40,.035)}
@media(max-width:1380px){.dashboard-analysis-grid{grid-template-columns:1fr 1fr}.dashboard-wide-panel{grid-column:1/-1}.compact-expense-chart{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:1120px){.dashboard-analysis-grid{grid-template-columns:1fr}.dashboard-wide-panel{grid-column:auto}.compact-expense-chart{grid-template-columns:minmax(190px,.72fr) minmax(240px,1.28fr)}}
@media(max-width:760px){.compact-expense-chart{grid-template-columns:1fr}.compact-expense-chart .expense-legend{max-height:none}.opportunity-heading{flex-direction:column}.opportunity-controls{width:100%;justify-content:space-between}}
@media(max-width:560px){.file-state{order:10;width:100%;justify-content:center}.compact-expense-chart .expense-donut{width:min(100%,190px)}.recommendation-actions .icon-btn{margin-left:0}.dashboard-analysis-grid{display:block}}

/* v2.5.1 — selectores de período duraderos y leyenda financiera sin solapamientos */
.analysis-period-filters{display:grid;grid-template-columns:minmax(220px,280px) minmax(170px,220px);align-items:end;width:max-content;max-width:100%;gap:.85rem}.analysis-period-filters .field{min-width:0;max-width:none}.analysis-period-filters select{cursor:pointer}.finance-period-filters{margin-bottom:1rem}.finance-chart-panel{overflow:visible;padding-right:1.45rem}.detailed-expense-chart{grid-template-columns:minmax(280px,.7fr) minmax(440px,1.3fr);gap:1.5rem;align-items:center;overflow:visible}.detailed-expense-chart .expense-chart-wrap{align-self:center;min-width:0}.detailed-expense-chart .expense-donut{width:min(100%,300px)}.detailed-expense-chart .expense-legend{display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:.7rem;max-height:none;overflow:visible;padding:.25rem 1rem .25rem 0;align-content:start}.detailed-expense-chart .legend-item{grid-template-columns:34px minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.72rem .75rem;border:1px solid #e4e7ec;border-left:4px solid var(--legend-color);border-radius:11px;background:#fbfcfe;min-width:0}.detailed-expense-chart .legend-item:last-child{border-bottom:1px solid #e4e7ec}.detailed-expense-chart .legend-swatch{position:relative;width:30px;height:3px;border-radius:999px;background:var(--swatch);box-shadow:none}.detailed-expense-chart .legend-swatch::after{content:"";position:absolute;right:-1px;top:50%;width:9px;height:9px;border-radius:50%;background:var(--swatch);transform:translateY(-50%);box-shadow:0 0 0 3px color-mix(in srgb,var(--swatch) 18%,white)}.detailed-expense-chart .legend-copy strong{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;overflow-wrap:anywhere}.detailed-expense-chart .legend-copy small{line-height:1.35}.detailed-expense-chart .legend-values{padding-left:.35rem;min-width:74px}.compact-expense-chart .expense-legend{scrollbar-gutter:stable;padding-right:.65rem}
@media(max-width:1500px){.detailed-expense-chart{grid-template-columns:minmax(260px,.75fr) minmax(340px,1.25fr)}.detailed-expense-chart .expense-legend{grid-template-columns:1fr}}
@media(max-width:1100px){.detailed-expense-chart{grid-template-columns:1fr;gap:1rem}.detailed-expense-chart .expense-legend{grid-template-columns:repeat(2,minmax(220px,1fr));padding-right:0}.finance-chart-panel{padding-right:1.2rem}}
@media(max-width:720px){.analysis-period-filters{grid-template-columns:1fr;width:100%}.analysis-period-filters .field{width:100%}.detailed-expense-chart .expense-legend{grid-template-columns:1fr}.detailed-expense-chart .legend-item{grid-template-columns:30px minmax(0,1fr) auto;padding:.65rem}.detailed-expense-chart .legend-values{min-width:66px}.finance-chart-panel{padding-right:.9rem}}
@media(max-width:430px){.detailed-expense-chart .legend-item{grid-template-columns:26px minmax(0,1fr)}.detailed-expense-chart .legend-values{grid-column:2;text-align:left;padding-left:0;display:flex;gap:.5rem;align-items:center}.detailed-expense-chart .legend-values b,.detailed-expense-chart .legend-values span{display:inline;margin:0}}
@media(max-width:1800px){.finance-insight-grid{grid-template-columns:1fr}}

/* v2.6.0 — horarios operativos opcionales por trabajo */
.job-editor-panel{overflow:visible}.job-editor-form{display:grid;gap:1.15rem}.job-basic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.job-basic-grid .check-field{align-self:end}.job-form-actions{margin-top:0;padding-top:0}.business-hours-editor{border:1px solid #dbe4f0;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f7faff);overflow:hidden}.business-hours-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:1rem 1.1rem;cursor:pointer;background:#fff}.business-hours-toggle>input{position:absolute;opacity:0;pointer-events:none}.business-hours-toggle>span:last-child{display:flex;flex-direction:column;gap:.18rem;min-width:0}.business-hours-toggle strong{font-size:.9rem;color:#172033}.business-hours-toggle small{font-size:.76rem;line-height:1.45;color:#667085}.toggle-track{position:relative;width:44px;height:24px;border-radius:999px;background:#d0d5dd;box-shadow:inset 0 0 0 1px rgba(16,24,40,.08);transition:background .2s ease}.toggle-track::after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.25);transition:transform .2s ease}.business-hours-toggle>input:checked+.toggle-track{background:#2563eb}.business-hours-toggle>input:checked+.toggle-track::after{transform:translateX(20px)}.business-hours-toggle>input:focus-visible+.toggle-track{outline:3px solid #bfdbfe;outline-offset:2px}.business-hours-fields{border-top:1px solid #e4e7ec;padding:1rem 1.1rem 1.1rem}.business-hours-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.business-hours-head>div{display:flex;flex-direction:column;gap:.2rem}.business-hours-head strong{font-size:.85rem}.business-hours-head small{font-size:.73rem;color:#667085;line-height:1.4}.advanced-badge{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:999px;background:#eef4ff;color:#3538cd;font-size:.67rem;font-weight:850;white-space:nowrap}.business-hours-week{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.business-day-row{display:grid;grid-template-columns:minmax(104px,1fr) minmax(105px,.85fr) auto minmax(105px,.85fr);align-items:end;gap:.5rem;padding:.65rem .7rem;border:1px solid #e4e7ec;border-radius:11px;background:#fff;transition:opacity .2s ease,background .2s ease}.business-day-row.disabled{opacity:.55;background:#f8fafc}.business-day-name{display:flex;align-items:center;gap:.5rem;min-height:40px;font-size:.78rem;font-weight:800;color:#344054}.business-day-name input{width:17px;height:17px;accent-color:#2563eb}.business-day-row>label:not(.business-day-name){display:flex;flex-direction:column;gap:.25rem;min-width:0}.business-day-row>label:not(.business-day-name)>span{font-size:.64rem;text-transform:uppercase;letter-spacing:.04em;color:#667085;font-weight:800}.business-day-row input[type="time"]{width:100%;min-width:0;border:1px solid #cfd7e4;border-radius:8px;padding:.55rem .58rem;background:#fff;color:#172033}.business-day-row input[type="time"]:focus{outline:3px solid #dbeafe;border-color:#60a5fa}.business-hours-separator{align-self:center;color:#98a2b3;font-weight:800;padding-bottom:.42rem}.business-hours-note{margin-top:.85rem;padding:.7rem .8rem;border-radius:10px;background:#eff6ff;color:#344054;font-size:.73rem;line-height:1.45;display:flex;align-items:flex-start;gap:.42rem}.business-hours-note .svg-icon{color:#2563eb;margin-top:.08rem;flex:0 0 auto}.mode-badge.mixed{background:#eef4ff;color:#3538cd}.optimizer-input-grid{align-items:start}.business-hours-overview{min-width:0}.business-hours-job-list{display:flex;flex-direction:column;gap:.7rem}.business-hours-job-card{border:1px solid #e4e7ec;border-left:4px solid var(--job-color);border-radius:12px;padding:.82rem;background:linear-gradient(180deg,#fff,#fbfcff);display:flex;flex-direction:column;gap:.65rem}.business-hours-job-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.55rem}.business-hours-job-title>div{min-width:0}.business-hours-job-title strong,.business-hours-job-title small{display:block}.business-hours-job-title strong{font-size:.82rem;overflow-wrap:anywhere}.business-hours-job-title small{font-size:.7rem;color:#667085;line-height:1.35;margin-top:.18rem}.business-hours-chips{display:flex;flex-wrap:wrap;gap:.35rem}.business-hours-chips>span{display:inline-flex;gap:.3rem;align-items:center;padding:.3rem .48rem;border-radius:999px;background:#f2f4f7;color:#475467;font-size:.68rem}.business-hours-chips>span b{color:#172033}.business-hours-chips .empty-chip{font-style:italic;background:#fff7ed;color:#b54708}.business-hours-job-card>.btn{align-self:flex-start}.optimizer-warning{margin-bottom:1.2rem}.mini-option.restricted{background:#ecfdf3;color:#067647}.mini-option.estimated{background:#fff7ed;color:#b54708}.recommendation:not(.theoretical) .eyebrow{color:#067647}.recommendation.theoretical .eyebrow{color:#b54708}.table-wrap td small{line-height:1.35}
@media(max-width:1320px){.job-basic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.business-hours-week{grid-template-columns:1fr}}
@media(max-width:980px){.job-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.optimizer-input-grid{grid-template-columns:1fr}.business-hours-job-title{grid-template-columns:auto minmax(0,1fr)}.business-hours-job-title>.badge{grid-column:2;justify-self:start}}
@media(max-width:680px){.job-basic-grid{grid-template-columns:1fr}.business-hours-toggle{grid-template-columns:auto minmax(0,1fr);padding:.9rem}.business-hours-toggle>span:last-child{grid-column:2}.business-hours-fields{padding:.85rem}.business-hours-head{flex-direction:column}.business-day-row{grid-template-columns:minmax(100px,1fr) minmax(0,1fr) auto minmax(0,1fr);padding:.58rem}.business-day-row input[type="time"]{font-size:.78rem;padding:.5rem .35rem}.business-hours-job-title{grid-template-columns:auto minmax(0,1fr)}.business-hours-job-title>.badge{grid-column:2}}
@media(max-width:470px){.business-day-row{grid-template-columns:1fr 1fr auto 1fr}.business-day-name{grid-column:1/-1;min-height:auto}.business-hours-separator{padding-bottom:.38rem}.business-hours-toggle{gap:.55rem}.advanced-badge{white-space:normal}.business-hours-job-card>.btn{width:100%}}

/* v4.4.0 — horario operativo con un solo reloj reutilizable */
.business-hours-workspace{display:grid;gap:1rem}
.business-day-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}
.business-day-tab{display:grid;gap:.12rem;min-width:0;padding:.65rem .45rem;border:1px solid #d9e2ef;border-radius:12px;background:#fff;color:#344054;text-align:center;cursor:pointer;transition:.18s ease}
.business-day-tab span{font-weight:900;font-size:.78rem}
.business-day-tab small{font-size:.6rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#667085;font-variant-numeric:tabular-nums}
.business-day-tab:hover{border-color:#9db5d6;transform:translateY(-1px)}
.business-day-tab.is-active{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px rgba(37,99,235,.10);color:#174ea6}
.business-day-tab.is-overnight{border-color:#f0a39b;background:#fff4f2;color:#b42318}
.business-day-tab.is-overnight.is-active{box-shadow:0 0 0 3px rgba(217,45,32,.11)}
.business-day-tab.is-closed{background:#f8fafc;color:#98a2b3}
.business-day-tab.has-error{border-color:#f04438;box-shadow:0 0 0 3px rgba(240,68,56,.12)}
.business-hours-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,.62fr);gap:1rem;align-items:start}
.business-hours-day-editor{display:grid;gap:.85rem;padding:1rem;border:1px solid #d9e2ef;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfcff)}
.business-active-day-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.business-active-day-header h3{margin:.18rem 0 0;font-size:1.08rem}
.business-day-status-toggle{display:flex;align-items:center;gap:.55rem;cursor:pointer}
.business-day-status-toggle input{position:absolute;opacity:0;pointer-events:none}
.business-day-status-toggle .toggle-track{position:relative;width:42px;height:24px;border-radius:999px;background:#cfd7e4;transition:.2s}
.business-day-status-toggle .toggle-track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(16,24,40,.22);transition:.2s}
.business-day-status-toggle input:checked+.toggle-track{background:#2563eb}
.business-day-status-toggle input:checked+.toggle-track::after{transform:translateX(18px)}
.business-day-status-toggle input:focus-visible+.toggle-track{outline:3px solid #bfdbfe;outline-offset:2px}
.business-day-status-toggle strong{font-size:.78rem}
.business-hours-day-editor .schedule-clock-card{margin:0;box-shadow:none}
.schedule-clock-card.is-disabled{--clock-color:#98a2b3;--clock-soft:rgba(152,162,179,.16);background:#f8fafc;border-color:#e4e7ec}
.schedule-clock-card.is-disabled .schedule-clock-svg{opacity:.48;filter:grayscale(.3)}
.schedule-clock-card.is-disabled .clock-handle{cursor:not-allowed}
.business-hours-batch{display:grid;gap:.7rem;padding:.85rem;border:1px dashed #b9c8dd;border-radius:14px;background:#f8fbff}
.business-hours-batch>div:first-child{display:grid;gap:.15rem}
.business-hours-batch strong{font-size:.82rem}
.business-hours-batch small{font-size:.72rem;color:#667085;line-height:1.4}
.business-batch-days{display:flex;flex-wrap:wrap;gap:.42rem}
.business-hours-batch .schedule-day-chip span{min-width:38px;height:36px;padding:0 .52rem;font-size:.72rem}
.business-hours-batch .btn{justify-self:start}
.business-batch-result{margin:0;padding:.55rem .65rem;border-radius:9px;background:#ecfdf3;color:#067647;font-size:.72rem;font-weight:800}
.business-batch-result.is-error{background:#fff1f0;color:#b42318}
.business-hours-summary{border:1px solid #d9e2ef;border-radius:18px;background:#fff;overflow:hidden}
.business-hours-summary-head{display:grid;gap:.15rem;padding:.85rem .9rem;border-bottom:1px solid #e4e7ec;background:#f8fafc}
.business-hours-summary-head strong{font-size:.83rem}
.business-hours-summary-head small{font-size:.7rem;color:#667085}
.business-hours-summary-list{display:grid}
.business-summary-row{display:grid;grid-template-columns:minmax(78px,.72fr) minmax(112px,1fr);gap:.15rem .65rem;padding:.72rem .85rem;border:0;border-bottom:1px solid #eef2f6;background:#fff;text-align:left;color:#344054;cursor:pointer;transition:.16s}
.business-summary-row:last-child{border-bottom:0}
.business-summary-row:hover{background:#f8fbff}
.business-summary-row.is-active{background:#eff6ff;box-shadow:inset 4px 0 #2563eb}
.business-summary-row.is-overnight{background:#fff7f6;box-shadow:inset 4px 0 #d92d20}
.business-summary-row.is-closed{color:#98a2b3;background:#fafafa}
.business-summary-row.has-error{background:#fff1f0;box-shadow:inset 4px 0 #f04438}
.business-summary-day{grid-row:1/3;font-weight:850;align-self:center}
.business-summary-range{font-weight:800;font-size:.76rem;font-variant-numeric:tabular-nums}
.business-summary-row small{font-size:.66rem;color:#667085;line-height:1.3}
.business-summary-row.is-overnight .business-summary-range,.business-summary-row.is-overnight small{color:#b42318}
.business-current-day-error{margin:0;padding:.62rem .7rem;border:1px solid #fda29b;border-radius:10px;background:#fff1f0;color:#b42318;font-size:.74rem;font-weight:800}
.business-hours-form-error{margin:0 0 .78rem;padding:.72rem .82rem;border:1px solid #fda29b;border-radius:10px;background:#fff1f0;color:#b42318;font-size:.76rem;font-weight:750;line-height:1.45}
.business-hours-editor.has-error{border-color:#fda29b;box-shadow:0 0 0 3px rgba(240,68,56,.08)}
@media(max-width:1050px){.business-hours-layout{grid-template-columns:1fr}.business-hours-summary-list{grid-template-columns:repeat(2,minmax(0,1fr))}.business-summary-row:nth-last-child(2):not(:last-child){border-bottom:0}}
@media(max-width:760px){.business-day-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.business-hours-day-editor{padding:.82rem}.business-hours-summary-list{grid-template-columns:1fr}.business-summary-row{border-bottom:1px solid #eef2f6!important}.business-summary-row:last-child{border-bottom:0!important}}
@media(max-width:480px){.business-day-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.business-active-day-header{align-items:flex-start}.business-summary-row{grid-template-columns:minmax(70px,.65fr) minmax(0,1fr)}.business-hours-batch .btn{width:100%}.business-day-tab small{font-size:.58rem}}

/* v2.6.2 — acceso guiado al perfil de demostración */
.premium-hero .hero-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.65rem}
.premium-hero .hero-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:0;text-align:center;line-height:1.2}
.hero-demo{border-color:#a7d9c4;background:linear-gradient(145deg,#effcf6,#e4f8ef);color:#086b4b;box-shadow:0 10px 22px rgba(8,107,75,.10)}
.hero-demo:hover{border-color:#62c69c;background:#dcf7eb;transform:translateY(-1px);box-shadow:0 13px 26px rgba(8,107,75,.16)}
.hero-demo .svg-icon{width:18px;height:18px}
.demo-invitation{display:flex;align-items:flex-start;gap:.55rem;margin:-.15rem 0 .75rem;padding:.65rem .75rem;border:1px solid #d6e4ff;border-radius:12px;background:linear-gradient(135deg,#f7faff,#f0f6ff);color:#4b5f7d;font-size:.75rem;line-height:1.42}
.demo-invitation>.svg-icon{width:17px;height:17px;flex:0 0 auto;color:#2563eb;margin-top:.05rem}.demo-invitation strong{color:#173b8f}
.demo-mode-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid #a7d9c4;border-radius:999px;background:#ecfdf3;color:#067647;font-size:.76rem;font-weight:850;white-space:nowrap}
.demo-mode-badge .svg-icon{width:14px;height:14px}
@media(max-width:1120px){.premium-hero .hero-actions{grid-template-columns:1fr 1fr}.premium-hero .hero-actions .hero-demo{grid-column:1/-1}}
@media(max-width:720px){.demo-mode-badge{order:9}.demo-invitation{font-size:.72rem}}
@media(max-width:620px){.premium-hero .hero-actions{grid-template-columns:1fr}.premium-hero .hero-actions .hero-demo{grid-column:auto}.demo-invitation{margin-top:0}}
@media(max-width:560px){.demo-mode-badge{width:100%;justify-content:center}}


/* Identificador visible de despliegue y diagnóstico de caché */
.build-stamp{margin-top:10px;font-size:.78rem;color:#667085;letter-spacing:.02em}
.topbar-build{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 9px;border:1px solid #d7e0ef;border-radius:999px;background:#f7f9fc;color:#42526b;font-size:.75rem;font-weight:800;white-space:nowrap}
@media(max-width:720px){.topbar-build{order:-1}.build-stamp{text-align:center}}

/* v3.1.0 — perfiles planos y análisis combinado */
.active-profile-control{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #d7e1ef;border-radius:12px;background:#fff;position:relative;min-width:190px}.active-profile-control>span{display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:800;color:#475467;white-space:nowrap}.active-profile-control select{min-width:105px;border:0;background:transparent;font-weight:800;color:#173b8f;padding:2px 18px 2px 2px}.active-profile-control i{width:8px;height:8px;border-radius:50%;background:var(--profile-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--profile-color) 18%,transparent)}
.sidebar-profile-note{display:flex;align-items:center;gap:10px;margin:14px 10px 8px;padding:11px;border:1px solid #dce5f2;background:#f8fbff;border-radius:14px}.sidebar-profile-note div{min-width:0}.sidebar-profile-note strong,.sidebar-profile-note small{display:block}.sidebar-profile-note strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile-note small{font-size:.68rem;color:#667085;margin-top:2px}
.profile-avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:var(--profile-color,#667085);color:#fff;font-weight:900;font-size:.78rem;box-shadow:0 6px 15px color-mix(in srgb,var(--profile-color,#667085) 25%,transparent)}
.profile-management-grid{align-items:start}.profile-settings-block{padding:12px 14px;border-radius:12px;background:#f5f8fd;border:1px solid #dce5f2}.profile-settings-block strong,.profile-settings-block small{display:block}.profile-settings-block small{color:#667085;margin-top:3px}.profile-help-panel .warning-box{margin-top:18px}.profile-flow{display:grid;gap:12px}.profile-flow>div{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #e1e8f2;border-radius:13px;background:#fbfdff}.profile-flow b{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#173b8f;color:#fff}.profile-flow span strong,.profile-flow span small{display:block}.profile-flow span small{color:#667085;margin-top:2px}
.profile-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.profile-card{border:1px solid #dce5f2;border-top:5px solid var(--profile-color);border-radius:16px;padding:16px;background:#fff;box-shadow:0 8px 24px rgba(16,42,86,.06)}.profile-card.active-profile{box-shadow:0 0 0 2px color-mix(in srgb,var(--profile-color) 26%,transparent),0 10px 28px rgba(16,42,86,.1)}.profile-card-head{display:flex;gap:11px;align-items:center}.profile-card-head>div{min-width:0;flex:1}.profile-card-head h3,.profile-card-head p{margin:0}.profile-card-head p{font-size:.75rem;color:#667085;margin-top:2px}.profile-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.profile-card-stats span{padding:9px 7px;text-align:center;border-radius:10px;background:#f5f8fd;font-size:.7rem;color:#667085}.profile-card-stats b{display:block;color:#173b8f;font-size:.9rem}.profile-card-flags{font-size:.74rem;color:#475467;margin-bottom:12px}.profile-card-flags span{display:flex;align-items:center;gap:6px}.profile-card-actions{display:flex;align-items:center;gap:7px}.profile-card-actions .btn{flex:1}
.analysis-selector-panel{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(420px,1.5fr);gap:20px;align-items:center}.analysis-selector-panel h2,.analysis-selector-panel p{margin:4px 0 0}.analysis-profile-options{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.analysis-profile-option,.analysis-shared-option{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid #dce5f2;border-radius:13px;background:#fff;cursor:pointer;min-height:56px}.analysis-profile-option:has(input:checked){border-color:var(--profile-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--profile-color) 16%,transparent);background:color-mix(in srgb,var(--profile-color) 5%,#fff)}.analysis-profile-option .profile-avatar{width:32px;height:32px;border-radius:10px;font-size:.68rem}.analysis-profile-option>span:last-child strong,.analysis-profile-option>span:last-child small,.analysis-shared-option>span strong,.analysis-shared-option>span small{display:block}.analysis-profile-option small,.analysis-shared-option small{color:#667085;font-size:.68rem;margin-top:2px}.analysis-shared-option>span{display:grid;grid-template-columns:20px auto;column-gap:6px}.analysis-shared-option>span .svg-icon{grid-row:1/3}.analysis-shared-option:has(input:checked){border-color:#2e7d5b;background:#f0fbf6}
.active-profile-banner{display:flex;align-items:center;gap:12px;padding:12px 15px;margin-bottom:14px;border:1px solid color-mix(in srgb,var(--profile-color) 30%,#dce5f2);border-left:5px solid var(--profile-color);border-radius:14px;background:color-mix(in srgb,var(--profile-color) 5%,#fff)}.active-profile-banner>div{flex:1}.active-profile-banner strong,.active-profile-banner p{display:block;margin:0}.active-profile-banner p{color:#667085;font-size:.78rem;margin-top:3px}.profile-inline-badge,.profile-mini-label,.recommendation-owner{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:color-mix(in srgb,var(--profile-color) 9%,#fff);border:1px solid color-mix(in srgb,var(--profile-color) 30%,#dce5f2);color:#344054;font-size:.72rem;font-weight:800;padding:4px 8px}.profile-inline-badge i{width:8px;height:8px;border-radius:50%;background:var(--profile-color)}.profile-mini-label{padding:3px 7px;margin-right:3px}.recommendation-owner{margin-bottom:7px}
.finance-owner-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:5px solid #2563eb}.finance-owner-panel h2,.finance-owner-panel p{margin:4px 0 0}.owner-select{display:flex;align-items:center;gap:9px;min-width:280px}.owner-select span{font-size:.76rem;font-weight:800;color:#475467;white-space:nowrap}.owner-select select{flex:1}.settings-split-grid{align-items:start}.profile-settings-panel{border-top:5px solid var(--profile-color)}
.calendar-event{border-left:3px solid var(--profile-color,var(--event-color))}.recommendation{position:relative}.free-window-list>div{flex-wrap:wrap}.profile-mini-label{max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:1180px){.active-profile-control{order:10;width:100%;justify-content:space-between}.active-profile-control select{flex:1}.analysis-selector-panel{grid-template-columns:1fr}.analysis-profile-options{justify-content:flex-start}}
@media(max-width:760px){.profile-card-grid{grid-template-columns:1fr}.analysis-profile-options{display:grid;grid-template-columns:1fr}.analysis-profile-option,.analysis-shared-option{width:100%}.finance-owner-panel{align-items:flex-start;flex-direction:column}.owner-select{width:100%;min-width:0}.active-profile-banner{align-items:flex-start;flex-wrap:wrap}.active-profile-banner .btn{width:100%}.settings-split-grid{grid-template-columns:1fr}}
@media(max-width:470px){.profile-card-stats{grid-template-columns:1fr 1fr}.profile-card-actions{flex-wrap:wrap}.profile-card-actions .btn{flex-basis:100%}.analysis-selector-panel{padding:14px}.sidebar-profile-note{display:none}}

/* Dashboard schedule tabs: one profile calendar at a time to prevent overlapping shifts. */
.profile-schedule-tabs{display:flex;gap:.55rem;overflow-x:auto;overscroll-behavior-inline:contain;padding:.15rem .1rem .8rem;margin:-.15rem 0 .2rem;scrollbar-width:thin;scroll-snap-type:x proximity}.profile-schedule-tab{--profile-color:#667085;position:relative;flex:0 0 auto;min-width:150px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:.58rem;align-items:center;text-align:left;border:1px solid #d0d5dd;border-radius:11px;background:#fff;color:#344054;padding:.58rem .72rem;scroll-snap-align:start;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}.profile-schedule-tab:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;background:var(--profile-color);opacity:.55}.profile-schedule-tab:hover{border-color:color-mix(in srgb,var(--profile-color) 55%,#d0d5dd);background:color-mix(in srgb,var(--profile-color) 5%,white);transform:translateY(-1px)}.profile-schedule-tab:focus-visible{outline:3px solid color-mix(in srgb,var(--profile-color) 24%,transparent);outline-offset:2px}.profile-schedule-tab.active{border-color:var(--profile-color);background:color-mix(in srgb,var(--profile-color) 9%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--profile-color) 15%,transparent)}.profile-schedule-tab.active:before{opacity:1}.profile-schedule-tab .profile-avatar{width:34px;height:34px;font-size:.7rem;border:2px solid color-mix(in srgb,var(--profile-color) 28%,white);background:var(--profile-color);color:#fff}.profile-schedule-tab>span:last-child{display:flex;flex-direction:column;min-width:0}.profile-schedule-tab strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-schedule-tab small{margin-top:.12rem;color:#667085;font-size:.66rem}.dashboard-profile-calendar{min-width:0}.profile-schedule-tabs+.dashboard-profile-calendar .compact-calendar-scroll{border-top-color:color-mix(in srgb,var(--profile-color,#d0d5dd) 20%,#e4e7ec)}
@media(max-width:820px){.profile-schedule-tabs{margin-top:0;padding-bottom:.65rem}.profile-schedule-tab{min-width:138px;padding:.52rem .62rem;grid-template-columns:32px minmax(0,1fr)}.profile-schedule-tab .profile-avatar{width:30px;height:30px}}
@media(max-width:520px){.profile-schedule-tab{min-width:128px}.profile-schedule-tab small{display:none}}

/* v4.4.0 · identidad skercha.com, acuerdo de uso y módulo Acerca de */
.landing-top-actions{position:relative;z-index:5;max-width:1320px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:flex-end;gap:.65rem}.landing-top-actions .landing-language-switch{margin:0}.landing-about-button{display:inline-flex;align-items:center;gap:.42rem;min-height:40px;padding:.48rem .78rem;border:1px solid rgba(152,162,179,.35);border-radius:999px;background:rgba(255,255,255,.82);color:#173b8f;font-weight:850;box-shadow:0 8px 22px rgba(20,50,100,.08);backdrop-filter:blur(16px)}.landing-about-button:hover{background:#fff;border-color:#9bb9ec;transform:translateY(-1px)}.landing-about-button .svg-icon{width:17px;height:17px}.landing-compact-links{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1rem;margin-top:1rem}.landing-compact-links .link-button,.telegram-link{display:inline-flex;align-items:center;gap:.38rem;font-size:.82rem;font-weight:800;color:#335a9c;text-decoration:none}.landing-compact-links .svg-icon,.telegram-link .svg-icon{width:16px;height:16px}.telegram-link:hover,.copyright-footer a:hover,.copyright-panel a:hover{text-decoration:underline}.premium-hero .hero-actions.has-resume-action{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-hero .hero-actions.has-resume-action .hero-primary{grid-column:1/-1}.copyright-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem 1rem;color:#69758a;font-size:.76rem;line-height:1.5}.copyright-footer a{color:#294f91;font-weight:800;text-decoration:none}.landing-copyright{position:relative;z-index:2;max-width:1320px;margin:1.15rem auto 0;padding:.7rem 1rem}.app-footer{margin:2rem 0 .5rem;padding:1.1rem;border-top:1px solid #e4eaf2}.legal-modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(.7rem,3vw,2rem);background:rgba(10,20,40,.68);backdrop-filter:blur(8px)}.legal-modal{width:min(980px,100%);max-height:min(92vh,920px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(205,216,234,.9);border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(7,20,45,.35)}.legal-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem;border-bottom:1px solid #e5ebf3;background:linear-gradient(180deg,#fbfdff,#f3f7fc)}.legal-modal-header h2{margin:.28rem 0 0;color:#15284a;font-size:clamp(1.3rem,2.5vw,1.8rem)}.legal-modal-scroll{overflow:auto;padding:1.25rem 1.35rem}.legal-information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.legal-information-grid article{border:1px solid #e0e7f1;border-radius:16px;padding:1rem;background:#fbfdff}.legal-information-grid h3,.legal-agreement-card h3{display:flex;align-items:center;gap:.48rem;margin:.55rem 0 .45rem;color:#1b376b;font-size:1rem}.legal-information-grid p,.legal-agreement-card p{margin:.35rem 0;color:#5e6d83;line-height:1.65;font-size:.9rem}.about-card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e9f1ff;color:#245ebd}.about-card-icon .svg-icon{width:20px;height:20px}.legal-agreement-card{margin-top:1rem;border:1px solid #f0c5c5;border-radius:16px;padding:1rem;background:#fff7f7}.legal-agreement-card h3{color:#a32929}.legal-agreement-card .svg-icon{color:#c43d3d}.legal-consent-area{padding:1rem 1.35rem 1.25rem;border-top:1px solid #e5ebf3;background:#f8fafc}.legal-consent-area>label{display:flex;align-items:flex-start;gap:.7rem;color:#33435d;font-size:.88rem;line-height:1.55}.legal-consent-area input{margin-top:.25rem;accent-color:#215cc4}.legal-modal-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}.legal-modal-actions.standalone{padding:1rem 1.35rem;border-top:1px solid #e5ebf3;margin:0}.about-brand-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem}.about-brand-lockup{display:flex;align-items:center;gap:1rem}.about-logo{width:64px;height:64px;flex:0 0 auto}.about-brand-lockup h2{margin:.15rem 0 .3rem;color:#142b55}.about-brand-lockup p{margin:0;color:#65738a}.about-brand-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.about-page-grid>.legal-information-grid{margin:1rem 0}.responsibility-panel{border-color:#efd1d1;background:linear-gradient(180deg,#fff,#fff9f9)}.responsibility-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem}.responsibility-points p{display:flex;align-items:flex-start;gap:.45rem;margin:0;color:#4f5e74}.responsibility-points .svg-icon{flex:0 0 auto;width:18px;height:18px;color:#1d8b62;margin-top:.12rem}.copyright-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#132b5f;color:#fff}.copyright-panel>div{display:flex;align-items:center;gap:.8rem}.copyright-panel>div>.svg-icon{width:34px;height:34px;color:#9fc0ff}.copyright-panel strong{display:block}.copyright-panel p{margin:.18rem 0 0;color:#c6d6f2}.copyright-panel a{display:inline-flex;align-items:center;gap:.35rem;color:#fff;font-weight:850;text-decoration:none}.copyright-panel a .svg-icon{width:16px;height:16px}
@media(max-width:900px){.legal-information-grid,.responsibility-points{grid-template-columns:1fr}.about-brand-panel,.copyright-panel{align-items:flex-start;flex-direction:column}.premium-hero .hero-actions.has-resume-action{grid-template-columns:1fr}.premium-hero .hero-actions.has-resume-action .hero-primary{grid-column:auto}}
@media(max-width:620px){.landing-top-actions{justify-content:space-between}.landing-about-button span{display:none}.landing-about-button{width:40px;justify-content:center;padding:.45rem}.legal-modal-backdrop{padding:.4rem}.legal-modal{max-height:96vh;border-radius:18px}.legal-modal-header,.legal-modal-scroll,.legal-consent-area{padding:1rem}.legal-modal-actions{flex-direction:column-reverse}.legal-modal-actions .btn{width:100%}.about-brand-lockup{align-items:flex-start}.about-logo{width:52px;height:52px}.about-brand-actions{width:100%}.about-brand-actions .btn{width:100%;justify-content:center}.copyright-footer{align-items:flex-start;flex-direction:column}.app-footer{padding:.9rem 0}.copyright-panel a{align-self:stretch;justify-content:center}}


/* v4.4.0 · selector circular compartido para turnos y disponibilidad */
.schedule-editor-form{display:grid;gap:1.25rem}.schedule-editor-grid{display:grid;grid-template-columns:minmax(360px,1.2fr) minmax(270px,.8fr);gap:1.25rem;align-items:start}.availability-editor-grid{grid-template-columns:1fr}.availability-editor-form .schedule-clock-card{width:100%}.schedule-editor-options{display:grid;gap:1rem}.schedule-days-fieldset{border:1px solid #d9e2ef;border-radius:18px;padding:1rem;background:#fbfcfe}.schedule-days-fieldset legend{font-weight:800;padding:0 .35rem}.schedule-day-picker{display:flex;flex-wrap:wrap;gap:.5rem}.schedule-day-chip{cursor:pointer}.schedule-day-chip input{position:absolute;opacity:0;pointer-events:none}.schedule-day-chip span{display:grid;place-items:center;min-width:44px;height:44px;padding:0 .7rem;border:1px solid #cfd9e7;border-radius:999px;background:#fff;font-weight:800;color:#344054;transition:.18s ease}.schedule-day-chip input:checked+span{background:#183b73;color:#fff;border-color:#183b73;box-shadow:0 5px 14px rgba(24,59,115,.22)}.schedule-day-chip input:focus-visible+span{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.field-help{font-size:.84rem;color:#667085;margin:.65rem 0 0}.schedule-validity{border:1px solid #d9e2ef;border-radius:16px;padding:.85rem 1rem;background:#fff}.schedule-validity summary{cursor:pointer;font-weight:800}.schedule-validity summary span{font-weight:600;color:#667085;font-size:.82rem;margin-left:.35rem}.schedule-validity>p{color:#667085;font-size:.86rem}.two-fields{grid-template-columns:1fr 1fr}.schedule-clock-card{--clock-color:#2563eb;--clock-soft:rgba(37,99,235,.23);border:1px solid #d9e2ef;border-radius:22px;padding:.9rem;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 14px 34px rgba(16,24,40,.08);transition:border-color .2s,box-shadow .2s}.schedule-clock-card.is-overnight{--clock-color:#d92d20;--clock-soft:rgba(217,45,32,.23);border-color:#f1b6b0;background:linear-gradient(180deg,#fff,#fff7f6);box-shadow:0 14px 34px rgba(180,35,24,.11)}.schedule-clock-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.schedule-clock-heading h3{margin:.25rem 0 0}.clock-type-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.4rem .7rem;font-size:.78rem;font-weight:900;background:var(--clock-soft);color:var(--clock-color)}.schedule-clock-shell{display:grid;place-items:center;width:100%;max-width:221px;margin:.35rem auto .7rem}.schedule-clock-svg{width:100%;height:auto;overflow:visible;touch-action:none;user-select:none}.clock-face{fill:#fff;stroke:#d0d9e6;stroke-width:3}.clock-ticks line{stroke:#98a2b3;stroke-linecap:round}.clock-ticks .quarter{stroke-width:1.2;opacity:.55}.clock-ticks .hourly{stroke-width:2}.clock-ticks .major{stroke-width:4;stroke:#475467}.clock-labels text{font-size:17px;font-weight:900;text-anchor:middle;dominant-baseline:middle;fill:#344054}.clock-sector{fill:var(--clock-soft);stroke:var(--clock-color);stroke-width:2;transition:fill .15s,stroke .15s}.clock-hand{stroke:var(--clock-color);stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 2px 2px rgba(16,24,40,.16))}.clock-hand-start{opacity:.88}.clock-hand-end{opacity:1}.clock-center{fill:var(--clock-color)}.clock-handle{fill:var(--clock-color);fill-opacity:.94;stroke:#fff;stroke-width:7;cursor:grab;filter:drop-shadow(0 4px 5px rgba(16,24,40,.25));touch-action:none}.clock-handle:active{cursor:grabbing}.clock-handle:focus-visible{outline:none;stroke:#101828;stroke-width:7}.clock-readouts{display:grid;grid-template-columns:1.35fr .8fr 1fr;gap:.55rem;max-width:520px;margin:0 auto}.clock-readouts>div{border:1px solid #d9e2ef;border-radius:13px;padding:.62rem .7rem;text-align:center;background:#fff;min-width:0}.clock-readouts span{display:block;color:#667085;font-size:.75rem}.clock-readouts strong{display:block;margin-top:.15rem;font-size:.94rem;color:#101828;line-height:1.25;overflow-wrap:anywhere}.clock-help{margin:.6rem 0 0;color:#667085;text-align:center;font-size:.82rem}.clock-error{margin:.65rem 0 0;color:#b42318;font-weight:800;text-align:center}.schedule-clock-card.is-overnight .clock-readouts>div{border-color:#f3c3be}.schedule-clock-card.is-overnight .clock-readouts strong{color:#b42318}
@media(max-width:900px){.schedule-editor-grid{grid-template-columns:1fr}.schedule-clock-card{order:-1}.schedule-clock-shell{max-width:213px}}
@media(max-width:560px){.schedule-clock-card{padding:.75rem;border-radius:18px}.schedule-clock-heading{display:grid}.clock-type-badge{justify-self:start}.schedule-clock-shell{max-width:187px}.clock-readouts{grid-template-columns:1fr}.two-fields{grid-template-columns:1fr}.schedule-day-chip span{min-width:40px;height:40px;padding:0 .55rem}}


/* v4.4.0 — recuperación canónica y prioridad manual/lote */
.business-current-source{display:inline-flex;margin-top:.22rem;color:#667085;font-size:.68rem;font-weight:800}
.business-batch-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;cursor:pointer}
.business-batch-toggle>input{position:absolute;opacity:0;pointer-events:none}
.business-batch-toggle>span:last-child{display:grid;gap:.12rem}
.business-batch-toggle>input:checked+.toggle-track{background:#2563eb}
.business-batch-toggle>input:checked+.toggle-track::after{transform:translateX(20px)}
.business-batch-toggle>input:focus-visible+.toggle-track{outline:3px solid #bfdbfe;outline-offset:2px}
.business-hours-batch-panel{display:grid;gap:.7rem;padding-top:.72rem;border-top:1px solid #d9e2ef}
.business-hours-batch-panel[hidden]{display:none}
.business-batch-overwrite{display:flex;align-items:flex-start;gap:.48rem;padding:.55rem .62rem;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:.7rem;font-weight:750;line-height:1.35;cursor:pointer}
.business-batch-overwrite input{margin-top:.08rem;accent-color:#d97706}
.business-source-badge{grid-column:2;justify-self:start;display:inline-flex;align-items:center;padding:.18rem .42rem;border-radius:999px;font-size:.58rem;font-weight:900;line-height:1.2;text-transform:uppercase;letter-spacing:.025em}
.business-source-badge.manual{background:#ecfdf3;color:#067647}
.business-source-badge.batch{background:#eef4ff;color:#3538cd}
.business-source-badge.default{background:#f2f4f7;color:#667085}
.business-summary-row{grid-template-rows:auto auto auto}
.business-summary-day{grid-row:1/4}
.business-summary-row.is-overnight .business-source-badge{color:inherit}
@media(max-width:480px){.business-source-badge{grid-column:2}.business-batch-toggle{align-items:flex-start}}

/* v4.4.0 — modos independientes para edición individual y aplicación por lotes */
.business-editor-mode-toggle{padding:.85rem .95rem;border:1px solid #d9e2ef;border-radius:14px;background:#f8fbff}
.business-hours-workspace.is-batch-mode .business-editor-mode-toggle{border-color:#93b4e7;background:#eef5ff;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.business-batch-header{padding:.1rem 0}
.business-batch-header[hidden],.business-active-day-header[hidden]{display:none!important}
.business-hours-workspace.is-batch-mode .business-hours-day-editor{border-color:#9db9df;background:linear-gradient(180deg,#fff,#f4f8ff)}
.business-hours-workspace.is-batch-mode .schedule-clock-card{border-color:#a9c1e3;box-shadow:0 10px 26px rgba(37,99,235,.08)}
.business-hours-workspace.is-batch-mode .business-day-tab.is-active,
.business-hours-workspace.is-batch-mode .business-summary-row.is-active{box-shadow:none;background:inherit;border-color:#d9e2ef;color:inherit}
.business-day-tab.is-batch-target{border-color:#2563eb;background:#eff6ff;color:#174ea6;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.business-summary-row.is-batch-target{background:#eff6ff;box-shadow:inset 4px 0 #2563eb}
.business-summary-row.is-batch-target.is-closed{color:#475467;background:#f2f7ff}
.business-hours-batch-panel{display:grid;gap:.7rem;padding:.85rem;border:1px dashed #9db5d6;border-radius:14px;background:#f8fbff}
.business-hours-batch-panel>div:first-child{display:grid;gap:.15rem}
.business-hours-batch-panel strong{font-size:.82rem}
.business-hours-batch-panel small{font-size:.72rem;color:#667085;line-height:1.4}
.business-hours-batch-panel .schedule-day-chip span{min-width:38px;height:36px;padding:0 .52rem;font-size:.72rem}
.business-hours-batch-panel .btn{justify-self:start}
.business-batch-option{display:flex;align-items:flex-start;gap:.5rem;padding:.58rem .65rem;border-radius:10px;background:#ecfdf3;color:#067647;font-size:.72rem;line-height:1.35;cursor:pointer}
.business-batch-option input{margin-top:.12rem;accent-color:#067647}
.business-batch-option span{display:grid;gap:.08rem}
.business-batch-option strong{font-size:.73rem}
.business-batch-option small{color:#067647;font-size:.67rem}
@media(max-width:480px){.business-hours-batch-panel .btn{width:100%}.business-editor-mode-toggle{align-items:flex-start}}

/* Exportación PDF del Resumen */
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.dashboard-pdf-button{display:inline-flex;align-items:center;justify-content:center;gap:.48rem;white-space:nowrap;background:#b42318;border-color:#b42318;color:#fff;box-shadow:0 5px 14px rgba(180,35,24,.2)}.dashboard-pdf-button:hover{background:#912018;border-color:#912018;color:#fff}.dashboard-pdf-button .svg-icon{width:20px;height:20px}.dashboard-pdf-button.is-loading{opacity:.78;cursor:wait}.dashboard-pdf-button.is-loading svg{animation:pdfExportSpin .9s linear infinite}.exit-system-button{display:inline-flex;align-items:center;gap:.38rem;border-color:#f0b7b2;color:#9f271d;background:#fff}.exit-system-button:hover{border-color:#e4776e;background:#fff5f4;color:#7a1d16}@keyframes pdfExportSpin{to{transform:rotate(360deg)}}
@media(max-width:720px){.page-header{flex-direction:column}.page-header-actions{width:100%;justify-content:flex-start}.dashboard-pdf-button{width:100%;justify-content:center}}

/* Riesgos y resiliencia 4.4.0 */
.risk-entry-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid #d7e5ff;background:linear-gradient(135deg,#f8fbff 0%,#eef5ff 100%)}
.risk-entry-copy{display:flex;align-items:flex-start;gap:16px;max-width:820px}.risk-entry-copy h2{margin:4px 0 7px}.risk-entry-copy p{margin:0;color:var(--muted)}
.risk-entry-icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:16px;background:#173b8f;color:#fff}.risk-entry-icon svg{width:25px;height:25px}
.risk-entry-actions{display:flex;align-items:flex-end;flex-direction:column;gap:11px;min-width:260px}.risk-entry-actions>span{font-size:.78rem;color:var(--muted);text-align:right;max-width:330px}.risk-generate-button{white-space:nowrap}
.risk-report-panel{--risk-color:#f59e0b;scroll-margin-top:90px;padding:0;overflow:hidden;border-width:1px}.risk-report-panel.risk-level-low{--risk-color:#16a36f}.risk-report-panel.risk-level-moderate{--risk-color:#f59e0b}.risk-report-panel.risk-level-high{--risk-color:#ea7c21}.risk-report-panel.risk-level-critical{--risk-color:#dc3545}
.risk-report-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px;background:linear-gradient(135deg,#132b5f,#1f4b9a);color:#fff}.risk-report-heading .section-kicker,.risk-report-heading p,.risk-report-heading small{color:#d8e6ff}.risk-report-heading h2{margin:5px 0 7px}.risk-report-heading p{margin:0;max-width:760px}.risk-report-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end}.risk-report-actions small{width:100%;text-align:right}.risk-report-actions .btn{background:#fff;border-color:#fff;color:#173b8f}
.risk-overview-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px;padding:18px 22px;background:#f7f9fd;border-bottom:1px solid #e5eaf2}.risk-overview-card{display:flex;align-items:center;gap:16px;min-width:0;padding:17px;border:1px solid #e0e7f1;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(29,54,99,.05)}.risk-overview-card>div{min-width:0}.risk-overview-card span{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.risk-overview-card h3{margin:4px 0;font-size:1.35rem}.risk-overview-card p,.risk-overview-card small{display:block;margin:0;color:var(--muted);font-size:.82rem}.risk-card-icon{display:grid!important;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:#eaf1ff;color:#245fc2}.risk-card-icon svg{width:22px;height:22px}
.risk-score-gauge{display:grid;place-items:center;width:94px;height:94px;flex:0 0 94px;border-radius:50%;background:conic-gradient(var(--risk-color) calc(var(--risk-score) * 1%),#e8edf5 0);position:relative}.risk-score-gauge:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}.risk-score-gauge>div{position:relative;z-index:1;text-align:center}.risk-score-gauge strong{display:block;font-size:1.7rem;line-height:1}.risk-score-gauge span{font-size:.7rem}
.risk-section{padding:22px;border-top:1px solid #e7ebf2}.risk-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:15px}.risk-section-heading h3{margin:4px 0 3px;font-size:1.18rem}.risk-section-heading p{margin:0;color:var(--muted);font-size:.86rem}.risk-count-pill{display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:#edf2fb;color:#173b8f;font-weight:800}
.risk-dimension-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.risk-dimension-card{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:13px;border:1px solid #e2e8f1;border-radius:14px;background:#fff}.risk-dimension-card>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f1f5fb;color:#466184}.risk-dimension-card strong,.risk-dimension-card small{display:block}.risk-dimension-card strong{font-size:.84rem}.risk-dimension-card small{color:var(--muted);font-size:.72rem}.risk-dimension-card>b{font-size:1.08rem}.risk-progress{height:6px;margin-top:7px;border-radius:999px;background:#edf0f5;overflow:hidden}.risk-progress i{display:block;height:100%;border-radius:inherit;background:#16a36f}.risk-dimension-card.level-moderate .risk-progress i{background:#f59e0b}.risk-dimension-card.level-high .risk-progress i{background:#ea7c21}.risk-dimension-card.level-critical .risk-progress i{background:#dc3545}
.risk-executive-section{background:#fafcff}.risk-executive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.risk-executive-grid article{padding:16px;border:1px solid #e3e9f2;border-radius:14px;background:#fff}.risk-executive-grid h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.9rem}.risk-executive-grid ul,.risk-executive-grid ol{margin:0;padding-left:20px}.risk-executive-grid li,.risk-executive-grid p{margin:0 0 7px;color:#4c596d;font-size:.82rem;line-height:1.45}
.risk-alert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.risk-alert-card{display:flex;gap:13px;padding:15px;border:1px solid #e1e7ef;border-left:4px solid #f59e0b;border-radius:13px;background:#fff}.risk-alert-card.severity-critical{border-left-color:#dc3545;background:#fff9fa}.risk-alert-card.severity-high{border-left-color:#ea7c21}.risk-alert-card.severity-low{border-left-color:#16a36f}.risk-alert-symbol{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:#fff1dc;color:#b96a00}.severity-critical .risk-alert-symbol{background:#ffe8ec;color:#c4243a}.risk-alert-title>span{font-size:.66rem;font-weight:800;text-transform:uppercase;color:#9b6110}.severity-critical .risk-alert-title>span{color:#bd263b}.risk-alert-card h4{margin:2px 0 5px;font-size:.91rem}.risk-alert-card p{margin:0;color:#4c596d;font-size:.82rem;line-height:1.42}.risk-alert-card small{display:block;margin-top:7px;color:#6e7889;font-weight:650}
.risk-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:11px}.risk-profile-card{border:1px solid #e0e7f0;border-top:4px solid var(--profile-color);border-radius:15px;padding:15px;background:#fff}.risk-profile-head{display:flex;align-items:center;gap:11px;margin-bottom:13px}.risk-profile-head h4{margin:0}.risk-profile-head span{color:var(--muted);font-size:.77rem}.risk-profile-card dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}.risk-profile-card dl>div{padding:9px;border-radius:10px;background:#f7f9fc}.risk-profile-card dt{font-size:.68rem;color:var(--muted)}.risk-profile-card dd{margin:3px 0 0;font-size:.83rem;font-weight:750}
.risk-scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:11px}.risk-scenario-card{padding:15px;border:1px solid #e1e7ef;border-radius:14px;background:#fff}.risk-scenario-card.severity-critical{border-color:#f2bbc3;background:#fffafb}.risk-scenario-card.severity-high{border-color:#f2d1ae}.risk-scenario-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.risk-scenario-head span{font-size:.65rem;text-transform:uppercase;font-weight:850;padding:4px 7px;border-radius:999px;background:#fff0db;color:#9a5900}.severity-critical .risk-scenario-head span{background:#ffe5e9;color:#b82237}.risk-scenario-card h4{margin:0;font-size:.91rem}.risk-scenario-card>p{min-height:36px;margin:8px 0 12px;color:#596578;font-size:.81rem}.risk-scenario-values{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.risk-scenario-values div{padding:8px;border-radius:9px;background:#f7f9fc}.risk-scenario-values span,.risk-scenario-values strong{display:block}.risk-scenario-values span{font-size:.62rem;color:var(--muted)}.risk-scenario-values strong{margin-top:3px;font-size:.78rem}
.risk-recommendation-list{display:grid;gap:9px}.risk-recommendation-card{display:grid;grid-template-columns:35px 1fr;gap:12px;align-items:start;padding:14px;border:1px solid #e1e7ef;border-left:4px solid #f59e0b;border-radius:13px;background:#fff}.risk-recommendation-card.priority-critical{border-left-color:#dc3545}.risk-recommendation-card.priority-high{border-left-color:#ea7c21}.risk-recommendation-card>b{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#edf3ff;color:#173b8f}.risk-recommendation-card span{font-size:.66rem;text-transform:uppercase;font-weight:800;color:#876018}.risk-recommendation-card h4{margin:2px 0 5px}.risk-recommendation-card p{margin:0;color:#536074;font-size:.83rem}.risk-recommendation-card small{display:block;margin-top:6px;color:#657184;font-weight:650}
.risk-opportunity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px}.risk-opportunity-grid article{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid #dfe7f1;border-radius:13px;background:#f9fbff}.risk-opportunity-grid h4{margin:7px 0 3px}.risk-opportunity-grid p{margin:0;color:var(--muted);font-size:.78rem}.risk-opportunity-grid>article>strong{align-self:center;text-align:right;color:#16855f;white-space:nowrap}.risk-opportunity-grid strong small{display:block;color:var(--muted);font-size:.67rem}
.risk-methodology{margin:0 22px 22px;border:1px solid #dfe6ef;border-radius:13px;background:#f8fafc}.risk-methodology summary{display:flex;align-items:center;gap:8px;padding:14px 16px;font-weight:750;cursor:pointer}.risk-methodology-body{padding:0 16px 16px}.risk-methodology-body>p{color:#526074;font-size:.83rem}.risk-methodology-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.risk-methodology-columns>div{padding:11px;border-radius:10px;background:#fff}.risk-methodology-columns h4{margin:0 0 5px;font-size:.8rem}.risk-methodology-columns p{margin:0;color:var(--muted);font-size:.76rem;overflow-wrap:anywhere}
@media(max-width:1000px){.risk-entry-panel{align-items:flex-start}.risk-entry-actions{min-width:220px}.risk-overview-grid{grid-template-columns:1fr 1fr}.risk-score-card{grid-column:1/-1}.risk-dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-executive-grid{grid-template-columns:1fr}.risk-alert-list{grid-template-columns:1fr}.risk-methodology-columns{grid-template-columns:1fr}}
@media(max-width:700px){.risk-entry-panel,.risk-report-heading{flex-direction:column}.risk-entry-actions,.risk-report-actions{align-items:stretch;width:100%;min-width:0}.risk-entry-actions>span,.risk-report-actions small{text-align:left}.risk-overview-grid{grid-template-columns:1fr;padding:14px}.risk-score-card{grid-column:auto}.risk-section{padding:17px 14px}.risk-dimension-grid{grid-template-columns:1fr}.risk-profile-card dl{grid-template-columns:1fr}.risk-scenario-values{grid-template-columns:1fr}.risk-methodology{margin:0 14px 14px}}

/* Auditoría y estados no evaluables del análisis de riesgos v2.1 */
.risk-report-panel.risk-level-undetermined{--risk-color:#7b8798}
.risk-score-gauge.is-undetermined{background:#e8edf5}.risk-score-gauge.is-undetermined:after{content:"?";position:absolute;inset:0;display:grid;place-items:center;color:#a1aaba;font-size:3.2rem;font-weight:850;opacity:.18}.risk-score-card.is-undetermined{border-style:dashed}
.risk-dimension-card.level-undetermined,.risk-dimension-card.is-not-applicable{background:#f8fafc;border-style:dashed}.risk-dimension-card.level-undetermined>span{color:#7b8798}.risk-dimension-card.level-undetermined .risk-progress i{background:#aab3c0}.risk-dimension-card.is-not-applicable>b{color:#7b8798}
.risk-profile-card.level-undetermined{border-style:dashed;border-top-style:solid}
.risk-schema-audit{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px 14px;border:1px solid #cfe3d9;border-radius:11px;background:#f3fbf7;color:#176b4c}.risk-schema-audit strong{display:flex;align-items:center;gap:7px}.risk-schema-audit span{font-size:.78rem;color:#47675a;text-align:right}
.risk-scenario-values{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.risk-schema-audit{align-items:flex-start;flex-direction:column}.risk-schema-audit span{text-align:left}.risk-scenario-values{grid-template-columns:1fr 1fr}}
