:root{
  --bg:#f4f6f3;
  --panel:#ffffff;
  --text:#151711;
  --muted:#687060;
  --primary:#55931c;
  --primary-dark:#07130f;
  --ok:#3dae2b;
  --warn:#a8813d;
  --bad:#b91c1c;
  --border:#e1e6de;
  --shadow:0 18px 42px rgba(7,13,10,.08);
  --radius:20px;
  --sidebar:#07130f;
  --black-950:#050806;
  --black-900:#07130f;
  --pantone-125u:#a8813d;
  --pantone-4017u:#dcb845;
  --pantone-2291c:#a7d400;
  --pantone-361c:#3dae2b;
  --pantone-2277c:#55931c;
  --gold-700:var(--pantone-125u);
  --gold-500:var(--pantone-4017u);
  --gold-300:#f0dd9a;
  --green-900:#0f3d2e;
  --green-800:#174b38;
  --green-700:var(--pantone-2277c);
  --green-500:var(--pantone-361c);
  --green-300:var(--pantone-2291c);
  --green-100:#edf7ea;
  --surface-soft:#ffffff;
  --surface-muted:#f4f6f3;
  --performance-risk:#d64545;
  --performance-risk-text:#a61b1b;
  --performance-risk-bg:#fdecec;
  --performance-warning:#e0a11b;
  --performance-warning-text:#8a5a00;
  --performance-warning-bg:#fff4d6;
  --performance-good:#68a93e;
  --performance-good-text:#397a24;
  --performance-good-bg:#eaf6e4;
  --performance-excellent:#008b63;
  --performance-excellent-text:#006b4c;
  --performance-excellent-bg:#e2f6ef;
}

/* Dashboard gerencial comercial */
.executive-dashboard{display:grid;gap:14px;min-width:0;color:#10281e}
.executive-dashboard *{box-sizing:border-box}
.executive-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border-radius:20px;background:linear-gradient(125deg,#063e2b 0%,#0a5138 64%,#166043 100%);color:#fff;box-shadow:0 18px 42px rgba(9,54,39,.16);overflow:hidden;position:relative}
.executive-hero::after{content:"";position:absolute;right:-80px;top:-150px;width:390px;height:390px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 62px rgba(255,255,255,.025),0 0 0 125px rgba(255,255,255,.02)}
.executive-hero-copy,.executive-hero-actions{position:relative;z-index:1}
.executive-eyebrow,.executive-section-head span{display:block;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.executive-eyebrow{color:#b6e86c;margin-bottom:6px}
.executive-hero h1{margin:0;font-size:clamp(26px,2.1vw,38px);line-height:1.05;letter-spacing:-.035em;color:#fff}
.executive-hero p{margin:7px 0 0;font-size:13px;color:rgba(255,255,255,.76)}
.executive-hero-actions{display:flex;align-items:end;gap:9px;min-width:0}
.executive-cutoff{display:grid;gap:2px;min-width:205px;padding:9px 12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08)}
.executive-cutoff span,.executive-filter span{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#b6e86c}
.executive-cutoff strong{font-size:12px;color:#fff;white-space:nowrap}
.executive-cutoff small{font-size:8px;color:rgba(255,255,255,.66)}
.executive-filter{display:grid;gap:4px;min-width:92px}
.executive-filter .form-control{height:40px;min-width:92px;padding:0 28px 0 11px;border-color:rgba(255,255,255,.22);background-color:rgba(255,255,255,.1);color:#fff;font-size:11px;font-weight:800}
.executive-filter .form-control option{color:#10281e;background:#fff}
.executive-refresh{height:40px;display:flex;align-items:center;gap:7px;padding:0 13px;border:1px solid rgba(255,255,255,.25);border-radius:11px;background:rgba(255,255,255,.1);color:#fff;font-size:11px;font-weight:900;cursor:pointer}
.executive-refresh:hover{background:rgba(255,255,255,.17)}
.executive-refresh svg{width:15px;height:15px}.executive-refresh.is-loading svg{animation:executive-spin .9s linear infinite}
@keyframes executive-spin{to{transform:rotate(360deg)}}
.executive-source-bar{display:flex;align-items:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid #dce7de;border-radius:12px;background:#fff;overflow-x:auto;scrollbar-width:thin}
.executive-source-title{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#6f7f75;margin-right:3px;white-space:nowrap}
.executive-source-pill{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#f2f6f2;color:#53645a;font-size:9px;font-weight:800;white-space:nowrap}
.executive-source-pill i{width:7px;height:7px;border-radius:50%;background:#9daaa2}.executive-source-pill.is-ok i{background:#65a93e;box-shadow:0 0 0 3px #e5f1df}.executive-source-pill.is-warning i{background:#d64545}
.executive-source-warning{margin-left:auto;border:0;border-radius:999px;padding:5px 9px;background:#fff0f1;color:#b52038;font-size:9px;font-weight:900;white-space:nowrap}
.executive-content{display:grid;gap:14px;min-width:0}
.executive-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.executive-kpi{--performance-color:#8b9790;position:relative;display:flex;flex-direction:column;min-width:0;min-height:246px;padding:16px;border:1px solid #dce5dd;border-top:4px solid var(--performance-color);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(26,58,43,.045)}
.executive-kpi.is-risk{--performance-color:#d64545}.executive-kpi.is-warning{--performance-color:#e0a11b}.executive-kpi.is-good{--performance-color:#68a93e}.executive-kpi.is-excellent{--performance-color:#008b63}.executive-kpi.is-neutral{--performance-color:#8b9790}
.executive-kpi-head{display:flex;align-items:center;gap:10px;min-width:0}
.executive-kpi-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:12px;background:color-mix(in srgb,var(--performance-color) 13%,white);color:var(--performance-color)}
.executive-kpi-icon svg{width:19px;height:19px}
.executive-kpi-head div{min-width:0}.executive-kpi-head small{display:block;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#78887e}.executive-kpi-head h2{margin:2px 0 0;font-size:13px;line-height:1.2;color:#12281f}
.executive-money,.executive-ratio-value{display:block;margin:18px 0 12px;color:#061c14!important;font-size:clamp(19px,1.45vw,28px);line-height:1.05;letter-spacing:-.035em;white-space:nowrap}
.executive-ratio-value{font-size:30px}
.executive-kpi-score{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 7px;min-width:0}.executive-kpi-score b{font-size:17px;color:var(--performance-color)}.executive-kpi-score span{font-size:9px;font-weight:800;color:#697970}.executive-kpi-score em{grid-column:1/-1;width:max-content;max-width:100%;padding:3px 6px;border-radius:999px;background:color-mix(in srgb,var(--performance-color) 11%,white);color:var(--performance-color);font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}
.executive-progress{height:5px;margin:10px 0 8px;border-radius:999px;background:#e9eeea;overflow:hidden}.executive-progress span{display:block;height:100%;border-radius:inherit;background:var(--performance-color)}
.executive-kpi p{margin:0;font-size:9px;color:#75847b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.executive-kpi-split{display:flex;justify-content:space-between;gap:8px;margin:11px 0 8px;padding:8px;border-radius:9px;background:#f4f7f4;color:#65756b;font-size:9px}.executive-kpi-split b{color:#10281e;font-size:10px}
.executive-kpi footer{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-top:auto;padding-top:11px;border-top:1px solid #e4eae5}.executive-kpi footer span{max-width:55%;font-size:8px;font-weight:900;text-transform:uppercase;color:#79877e}.executive-kpi footer b{max-width:65%;font-size:12px;color:#10281e;text-align:right;white-space:nowrap}
.executive-section{min-width:0;padding:17px;border:1px solid #dae5dc;border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(26,58,43,.035)}
.executive-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid #e1e8e2}.executive-section-head span{color:#7c5d23}.executive-section-head h2{margin:3px 0 0;font-size:17px;letter-spacing:-.02em;color:#0d241a}.executive-section-head p{max-width:48%;margin:0;font-size:9px;line-height:1.45;color:#79877e;text-align:right}
.executive-month-chart{padding-top:12px}.executive-chart-legend{display:flex;justify-content:flex-end;gap:17px;margin-bottom:4px}.executive-chart-legend span{position:relative;padding-left:12px;font-size:9px;font-weight:800;color:#526158}.executive-chart-legend span::before{content:"";position:absolute;left:0;top:3px;width:8px;height:8px;border-radius:2px}.executive-chart-legend .is-goal::before{background:#e0a11b}.executive-chart-legend .is-forecast::before{background:#4a9837}.executive-chart-legend .is-billed::before{background:linear-gradient(180deg,#d64545 0 25%,#d99a14 25% 50%,#55a63a 50% 75%,#008b63 75%)}
.executive-month-scroll{overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}.executive-months{display:grid;grid-template-columns:repeat(12,minmax(112px,1fr));gap:7px;min-width:1420px;min-height:318px;padding:22px 8px 8px;border-bottom:1px solid #dfe7e0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,#edf1ed 55px)}
.executive-month{display:grid;grid-template-rows:176px auto auto auto auto;gap:4px;text-align:center;border-radius:9px;padding:0 5px 7px}.executive-month.is-in-progress{background:#f5f8f5;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--performance-tone,#9eaaa3) 32%,transparent)}.executive-month.is-future{opacity:.46;background:#f7f9f7}.executive-month-bars{height:176px;display:flex;align-items:end;justify-content:center;gap:5px}.executive-chart-bar{position:relative;display:block;width:21px;min-height:0;border-radius:5px 5px 0 0}.executive-chart-bar.is-goal{background:#e0a11b}.executive-chart-bar.is-forecast{background:#4a9837}.executive-chart-bar.is-billed{background:#087e8c}.executive-chart-bar.is-billed.is-risk{background:#d64545}.executive-chart-bar.is-billed.is-warning{background:#d99a14}.executive-chart-bar.is-billed.is-good{background:#55a63a}.executive-chart-bar.is-billed.is-excellent{background:#008b63}.executive-chart-bar.is-billed.is-pending{background:#b7c1bb}.executive-chart-bar i{display:none}.executive-month>strong{font-size:12px;color:#10281e}.executive-month-rate{font-size:12px;font-weight:950}.executive-month-rate.is-risk{color:#d64545}.executive-month-rate.is-warning{color:#c88709}.executive-month-rate.is-good{color:#5a982f}.executive-month-rate.is-excellent{color:#008b63}.executive-month-rate.is-pending{color:#8b9790}.executive-month>small{font-size:8px;color:#75847b;line-height:1.25}.executive-month-values{display:grid;gap:3px;margin-top:3px;padding:6px;border:1px solid #e2e9e3;border-radius:7px;background:rgba(255,255,255,.9);text-align:left}.executive-month-values span{display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:4px}.executive-month-values i{display:grid;place-items:center;width:15px;height:15px;border-radius:4px;color:#fff;font-size:8px;font-style:normal;font-weight:950}.executive-month-values .is-goal i{background:#e0a11b}.executive-month-values .is-forecast i{background:#4a9837}.executive-month-values .is-billed i{background:#087e8c}.executive-month-values b{min-width:0;color:#07130f;font-size:10px;font-weight:950;white-space:nowrap}.executive-chart-help{margin:12px 8px 0;font-size:9px;line-height:1.45;color:#6d7d74}.executive-chart-help b{color:#26382f}
.executive-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;min-width:0}
.executive-health-combined{display:grid;gap:10px;padding-top:12px}.executive-health-source{padding:10px;border:1px solid #e1e8e2;border-radius:13px;background:#fbfcfb}.executive-health-source>header{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:0 2px 8px;border-bottom:1px solid #e6ebe7}.executive-health-source>header span,.executive-health-source>header strong{display:block}.executive-health-source>header span{font-size:7px;font-weight:950;letter-spacing:.09em;text-transform:uppercase;color:#7c5d23}.executive-health-source>header strong{margin-top:2px;font-size:11px;color:#10281e}.executive-health-source>header small{font-size:7px;color:#748279;text-align:right}.executive-health-source.is-crm{background:#f8fbfa}.executive-health-source.is-crm>header span{color:#087e8c}.executive-health{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-top:8px}.executive-health-item{display:flex;align-items:center;gap:8px;padding:9px;border-radius:10px;background:#f1f6f1}.executive-health-item>span{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:9px;background:#e5eee6;color:#357b2c}.executive-health-item.is-recovered>span,.executive-health-item.is-recent>span{color:#0c8390;background:#e4f2f4}.executive-health-item.is-inactive>span,.executive-health-item.is-stale>span{color:#c63548;background:#fdebed}.executive-health-item.is-managed>span{color:#176842;background:#e1f0e7}.executive-health-item svg{width:16px}.executive-health-item div{min-width:0}.executive-health-item small,.executive-health-item em{display:block;font-size:7px;color:#748279;font-style:normal}.executive-health-item strong{display:block;margin:1px 0;font-size:19px;color:#10281e}.executive-health-total{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:8px 9px;border-top:1px solid #e1e8e2}.executive-health-total span{font-size:8px;font-weight:800}.executive-health-total strong{font-size:17px;margin-left:auto}.executive-health-total small{font-size:7px;color:#75847b}
.executive-priorities{display:grid;gap:7px;padding-top:12px}.executive-priority{--priority:#8b9790;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid #e2e8e3;border-left:3px solid var(--priority);border-radius:10px}.executive-priority.is-risk{--priority:#d64545}.executive-priority.is-warning{--priority:#e0a11b}.executive-priority.is-good{--priority:#68a93e}.executive-priority.is-excellent{--priority:#008b63}.executive-priority>b{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:color-mix(in srgb,var(--priority) 12%,white);color:var(--priority);font-size:10px}.executive-priority div{min-width:0}.executive-priority strong,.executive-priority span{display:block}.executive-priority strong{font-size:10px}.executive-priority span{margin-top:2px;font-size:8px;color:#77857c}.executive-priority em{font-size:11px;font-style:normal;font-weight:900;color:#10281e;white-space:nowrap}
.executive-team-list{padding-top:10px;overflow-x:auto;scrollbar-width:thin}.executive-team-head,.executive-team-row{display:grid;grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(130px,1fr)) 90px 140px;align-items:center;gap:10px;min-width:940px;padding:9px 11px}.executive-team-head{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#738078;background:#f3f7f3;border-radius:9px}.executive-team-row{--performance-color:#8b9790;border-bottom:1px solid #e5ebe6}.executive-team-row.is-risk{--performance-color:#d64545}.executive-team-row.is-warning{--performance-color:#e0a11b}.executive-team-row.is-good{--performance-color:#68a93e}.executive-team-row.is-excellent{--performance-color:#008b63}.executive-advisor{display:flex;align-items:center;gap:8px;min-width:0}.executive-advisor span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#eaf2e7;color:#25611e;font-size:9px;font-weight:900}.executive-advisor strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.executive-team-row>b{font-size:10px;color:#10281e;white-space:nowrap}.executive-team-row>span{font-size:11px;font-weight:900}.executive-team-row>em{padding:5px 7px;border-radius:999px;background:color-mix(in srgb,var(--performance-color) 11%,white);color:var(--performance-color);font-size:8px;font-style:normal;font-weight:900;text-align:center;white-space:nowrap}
.executive-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:12px}.executive-channel{--performance-color:#8b9790;min-width:0;padding:11px;border:1px solid #e0e7e1;border-top:3px solid var(--performance-color);border-radius:11px;background:#fbfcfb}.executive-channel.is-risk{--performance-color:#d64545}.executive-channel.is-warning{--performance-color:#e0a11b}.executive-channel.is-good{--performance-color:#68a93e}.executive-channel.is-excellent{--performance-color:#008b63}.executive-channel>div{display:flex;align-items:center;justify-content:space-between;gap:6px}.executive-channel>div span{font-size:11px;font-weight:900}.executive-channel>div em{font-size:7px;font-style:normal;font-weight:800;color:var(--performance-color)}.executive-channel strong,.executive-channel b{display:block;margin-top:9px;color:#10281e;white-space:nowrap}.executive-channel strong{font-size:12px}.executive-channel b{font-size:11px}.executive-channel small{display:block;font-size:7px;color:#77857c}.executive-channel footer{height:4px;margin-top:10px;border-radius:99px;background:#e8ede9;overflow:hidden}.executive-channel footer span{display:block;height:100%;background:var(--performance-color)}
.executive-operations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:12px}.executive-operation{display:grid;align-content:start;gap:4px;padding:12px;border-radius:11px;background:#f5f8f5}.executive-operation>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e4efe2;color:#3d8b2e}.executive-operation svg{width:17px}.executive-operation small{margin-top:4px;font-size:8px;color:#75847b}.executive-operation strong{font-size:16px;color:#10281e}.executive-operation em{font-size:8px;font-style:normal;color:#65766b}
.executive-loading{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.executive-loading span{height:220px;border-radius:16px;background:linear-gradient(90deg,#f1f5f1,#fafcfb,#f1f5f1);background-size:200% 100%;animation:executive-shimmer 1.2s infinite}@keyframes executive-shimmer{to{background-position:-200% 0}}
.executive-error,.executive-empty{padding:25px;border:1px solid #f0c9cf;border-radius:14px;background:#fff4f5;color:#a42137;text-align:center}.executive-error p{font-size:11px}.executive-error button{border:0;border-radius:9px;padding:9px 12px;background:#0a5138;color:#fff;font-weight:800}.executive-empty{border-color:#dfe7e0;background:#f7f9f7;color:#68786e}
@media(max-width:1500px){.executive-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-kpi:nth-child(4),.executive-kpi:nth-child(5){min-height:220px}.executive-money{font-size:22px}.executive-hero{align-items:flex-start}.executive-hero-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:1100px){.executive-hero{display:grid}.executive-hero-actions{justify-content:flex-start}.executive-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-two-column{grid-template-columns:1fr}.executive-section-head p{max-width:58%}}
@media(max-width:720px){.executive-hero{padding:18px;border-radius:15px}.executive-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.executive-cutoff{grid-column:1/-1;min-width:0}.executive-refresh{justify-content:center}.executive-kpi-grid{grid-template-columns:1fr}.executive-kpi{min-height:220px}.executive-source-title{display:none}.executive-section{padding:13px}.executive-section-head{display:grid}.executive-section-head p{max-width:none;text-align:left}.executive-health,.executive-channels,.executive-operations{grid-template-columns:1fr}.executive-health-total{grid-column:auto}.executive-priority{grid-template-columns:28px minmax(0,1fr)}.executive-priority em{grid-column:2}.executive-loading{grid-template-columns:1fr}.executive-filter,.executive-filter .form-control{min-width:0;width:100%}}

/* Semaforo global de desempeno: 0-79.4 riesgo, 79.5-99.4 alerta,
   99.5-104.4 cumplimiento y 104.5+ desempeno sobresaliente. */
.performance-tone{--performance-tone:#8b9790;--performance-tone-text:#5f6c64;--performance-tone-bg:#edf1ee}
.performance-tone.is-risk{--performance-tone:var(--performance-risk);--performance-tone-text:var(--performance-risk-text);--performance-tone-bg:var(--performance-risk-bg)}
.performance-tone.is-warning{--performance-tone:var(--performance-warning);--performance-tone-text:var(--performance-warning-text);--performance-tone-bg:var(--performance-warning-bg)}
.performance-tone.is-good{--performance-tone:var(--performance-good);--performance-tone-text:var(--performance-good-text);--performance-tone-bg:var(--performance-good-bg)}
.performance-tone.is-excellent{--performance-tone:var(--performance-excellent);--performance-tone-text:var(--performance-excellent-text);--performance-tone-bg:var(--performance-excellent-bg)}
.performance-pill{display:inline-flex;align-items:center;justify-content:center;min-width:66px;padding:5px 9px;border-radius:999px;background:#edf1ee;color:#5f6c64;font-size:10px;font-weight:900;font-variant-numeric:tabular-nums}
.performance-pill.is-risk{background:var(--performance-risk-bg);color:var(--performance-risk-text)}
.performance-pill.is-warning{background:var(--performance-warning-bg);color:var(--performance-warning-text)}
.performance-pill.is-good{background:var(--performance-good-bg);color:var(--performance-good-text)}
.performance-pill.is-excellent{background:var(--performance-excellent-bg);color:var(--performance-excellent-text)}

/* HubSpot CRM v3 — analítica comercial, cotizaciones y ficha de cliente */
.hubspot-v3 { --hs-ink:#102b20; --hs-muted:#697b71; --hs-line:#dce7e0; --hs-soft:#f4f8f5; --hs-green:#2f8f46; --hs-teal:#1b7180; --hs-red:#d94b55; --hs-amber:#d79622; display:grid; gap:16px; min-width:0; }
.hubspot-v3 .hubspot-overview { border-radius:20px; padding:22px 24px; background:linear-gradient(135deg,#f8fcf9,#eef7f1); border:1px solid #d8e8dd; }
.hubspot-v3 .hubspot-overview-copy h3 { font-size:23px; color:var(--hs-ink); }
.hubspot-v3 .hubspot-overview-copy p { font-size:12px; max-width:720px; }
.hubspot-v3 .hubspot-connection-box { min-width:330px; }
.hubspot-analytics-card,.hubspot-clients-card { background:#fff; border:1px solid var(--hs-line); border-radius:18px; box-shadow:0 8px 26px rgba(22,54,38,.05); overflow:hidden; }
.hubspot-analytics-card { padding:20px; }
.hubspot-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding-bottom:16px; border-bottom:1px solid var(--hs-line); }
.hubspot-section-head.is-compact { align-items:center; padding:18px 20px 14px; }
.hubspot-section-head h3 { margin:3px 0 3px; color:var(--hs-ink); font-size:18px; line-height:1.2; }
.hubspot-section-head p { margin:0; color:var(--hs-muted); font-size:11px; }
.hubspot-period-toolbar { display:flex; align-items:flex-end; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.hubspot-period-toolbar label { display:grid; gap:4px; }
.hubspot-period-toolbar label>span { color:#708077; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.hubspot-period-toolbar input,.hubspot-period-toolbar select,.hubspot-client-search { height:38px; border:1px solid #d5e1da; border-radius:10px; background:#fff; color:#1d3328; font:700 10px/1 inherit; outline:none; }
.hubspot-period-toolbar input { width:132px; padding:0 9px; }
.hubspot-period-toolbar select { width:190px; padding:0 30px 0 10px; }
.hubspot-period-toolbar input:focus,.hubspot-period-toolbar select:focus,.hubspot-client-search:focus-within { border-color:#559966; box-shadow:0 0 0 3px rgba(66,145,83,.11); }
.hubspot-period-pills { display:flex; padding:3px; border:1px solid #d5e1da; border-radius:11px; background:#f3f7f4; }
.hubspot-period-pills button { min-width:54px; height:30px; border:0; border-radius:8px; background:transparent; color:#586a60; font:800 9px/1 inherit; cursor:pointer; }
.hubspot-period-pills button.is-active { color:#fff; background:#124d35; box-shadow:0 3px 8px rgba(18,77,53,.18); }
.hubspot-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
.hubspot-metric { position:relative; min-width:0; min-height:126px; display:flex; align-items:flex-start; gap:11px; padding:16px 14px; border:1px solid var(--hs-line); border-top:3px solid var(--tone,#8fa198); border-radius:14px; background:#fff; }
.hubspot-metric[data-hubspot-summary] { cursor:pointer; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.hubspot-metric[data-hubspot-summary]:hover { transform:translateY(-2px); border-color:var(--tone); box-shadow:0 10px 24px rgba(2,20,13,.12); }
.hubspot-metric[data-hubspot-summary]:focus-visible { outline:2px solid var(--tone); outline-offset:3px; }
.hubspot-metric.is-made { --tone:var(--hs-teal); --tone-soft:#e7f3f5; }
.hubspot-metric.is-generated { --tone:#d7ad4b; --tone-soft:#fbf4df; }
.hubspot-metric.is-won { --tone:var(--hs-green); --tone-soft:#eaf5e9; }
.hubspot-metric.is-lost { --tone:var(--hs-red); --tone-soft:#fcebed; }
.hubspot-metric.is-open { --tone:#5573a9; --tone-soft:#ebf0f8; }
.hubspot-metric.is-conversion { --tone:#875aa9; --tone-soft:#f2ecf7; }
.hubspot-metric.is-margin { --tone:var(--hs-amber); --tone-soft:#fff5e2; }
.hubspot-metric-icon { flex:0 0 34px; width:34px; height:34px; display:grid; place-items:center; border-radius:11px; color:var(--tone); background:var(--tone-soft,#eef3ef); }
.hubspot-metric-icon svg { width:18px; height:18px; }
.hubspot-metric-copy { min-width:0; display:grid; gap:4px; }
.hubspot-metric-copy small { color:#5f7067; font-size:9px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.hubspot-metric-copy strong { color:#0b271c; font-size:27px; line-height:1; letter-spacing:-.04em; }
.hubspot-metric.is-money .hubspot-metric-copy strong { font-size:clamp(17px,1.45vw,23px); letter-spacing:-.055em; white-space:nowrap; }
.hubspot-metric-copy span { overflow:hidden; color:#53675c; font-size:10px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.hubspot-metric-copy em { color:var(--tone); font-size:8px; font-style:normal; font-weight:800; }
.hubspot-delta,.hubspot-trust-badge { position:absolute; right:10px; bottom:9px; padding:4px 6px; border-radius:999px; background:#f1f4f2; color:#697970; font-size:7px; font-weight:900; }
.hubspot-delta.is-up { background:#e8f5e9; color:#267439; }
.hubspot-delta.is-down { background:#fdebed; color:#be3440; }
.hubspot-insight-grid { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(250px,.8fr); gap:12px; margin-top:12px; }
.hubspot-chart-card,.hubspot-reading-card { min-width:0; border:1px solid var(--hs-line); border-radius:14px; background:#fff; }
.hubspot-chart-card { padding:15px; }
.hubspot-chart-card>header { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.hubspot-chart-card h4,.hubspot-reading-card h4 { margin:3px 0; color:var(--hs-ink); font-size:14px; }
.hubspot-chart-legend { display:flex; gap:12px; color:#52645a; font-size:8px; font-weight:800; }
.hubspot-chart-legend span::before { width:8px; height:8px; display:inline-block; margin-right:5px; border-radius:3px; background:currentColor; content:""; }
.hubspot-chart-legend .is-made { color:var(--hs-teal); }.hubspot-chart-legend .is-won { color:var(--hs-green); }.hubspot-chart-legend .is-lost { color:var(--hs-red); }
.hubspot-chart-stage { position:relative; height:260px; margin-top:10px; }
.hubspot-chart-empty { position:absolute; inset:0; display:grid; place-items:center; color:#76857c; font-size:11px; }
.hubspot-reading-card { padding:18px; background:linear-gradient(160deg,#f5faf6,#fff); }
.hubspot-reading-card h4 { margin:7px 0 14px; font-size:15px; line-height:1.4; }
.hubspot-reading-list { display:grid; gap:0; border-top:1px solid var(--hs-line); }
.hubspot-reading-list div { display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--hs-line); }
.hubspot-reading-list span { color:#6a7a71; font-size:9px; }.hubspot-reading-list strong { color:#112c20; font-size:10px; text-align:right; }
.hubspot-reading-card>p { margin:13px 0 0; color:#75847c; font-size:8px; line-height:1.55; }
.hubspot-client-search { width:260px; display:flex; align-items:center; gap:8px; padding:0 11px; }
.hubspot-client-search svg { width:15px; color:#76877e; }.hubspot-client-search input { min-width:0; flex:1; border:0; outline:0; color:#21372c; font-size:10px; }
.hubspot-client-table-wrap { max-height:460px; overflow:auto; scrollbar-width:thin; }
.hubspot-client-table { width:100%; min-width:1320px; border-collapse:separate; border-spacing:0; }
.hubspot-client-table thead { position:sticky; top:0; z-index:2; }
.hubspot-client-table th { padding:11px 12px; border-bottom:1px solid var(--hs-line); background:#f3f7f4; color:#64766c; font-size:8px; letter-spacing:.07em; text-align:left; text-transform:uppercase; }
.hubspot-client-table td { padding:11px 12px; border-bottom:1px solid #e6ece8; color:#183126; font-size:10px; vertical-align:middle; }
.hubspot-client-table tbody tr:hover td { background:#fbfdfb; }
.hubspot-client-table td>strong { display:block; font-size:10px; }.hubspot-client-table td>small { display:block; margin-top:3px; color:#718178; font-size:8px; }
.hubspot-detail-btn { display:inline-flex; align-items:center; gap:6px; border:1px solid #cfe0d4; border-radius:9px; padding:7px 9px; background:#f1f8f3; color:#205f35; font-size:8px; font-weight:900; white-space:nowrap; cursor:pointer; }
.hubspot-detail-btn svg { width:12px; height:12px; }
.hubspot-owner-cell { min-width:150px; display:flex; align-items:center; gap:8px; }
.hubspot-owner-cell>span { flex:0 0 28px; width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#e8f3eb; color:#24623a; font-size:8px; font-weight:900; }
.hubspot-owner-cell>div { min-width:0; display:grid; gap:2px; }
.hubspot-owner-cell strong,.hubspot-owner-cell small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hubspot-owner-cell strong { color:#173226; font-size:9px; }.hubspot-owner-cell small { color:#76837c; font-size:7px; }
.hubspot-client-footer { flex-wrap:wrap; }
.hubspot-pagination { display:flex; align-items:center; justify-content:center; gap:7px; }
.hubspot-pagination button { width:30px; height:30px; display:grid; place-items:center; border:1px solid #d5e1da; border-radius:8px; background:#fff; color:#194c32; cursor:pointer; }
.hubspot-pagination button:disabled { opacity:.35; cursor:not-allowed; }.hubspot-pagination button svg { width:14px; height:14px; }
.hubspot-pagination>span { min-width:92px; color:#334e40!important; font-size:8px; font-weight:900; text-align:center; }
.hubspot-pagination label { display:flex; align-items:center; gap:5px; color:#718078; font-size:7px; font-weight:800; }
.hubspot-pagination select { height:30px; padding:0 22px 0 8px; border:1px solid #d5e1da; border-radius:8px; background:#fff; color:#294437; font-size:8px; font-weight:800; }
.hubspot-v3 .hubspot-records-card { border-radius:18px; box-shadow:0 8px 26px rgba(22,54,38,.05); }
.hubspot-v3 .hubspot-table { min-width:1120px; }.hubspot-v3 .hubspot-table td { font-size:9px; }.hubspot-v3 .hubspot-table th { font-size:8px; }
.hubspot-v3 .hubspot-primary-cell strong,.hubspot-v3 .hubspot-stack strong { font-size:9px; }.hubspot-v3 .hubspot-primary-cell span,.hubspot-v3 .hubspot-stack span { font-size:8px; }
.hubspot-no-margin { display:inline-flex; padding:5px 7px; border-radius:7px; background:#f1f3f2; color:#748078; font-size:8px; font-weight:800; white-space:nowrap; }
.hubspot-client-drawer { position:fixed; inset:68px 0 0; z-index:1300; display:grid; grid-template-columns:minmax(0,1fr) minmax(720px,76vw); }
.hubspot-client-drawer.hidden { display:none; }
.hubspot-drawer-backdrop { border:0; background:rgba(7,26,18,.55); backdrop-filter:blur(3px); cursor:pointer; }
.hubspot-client-panel { height:calc(100vh - 68px); overflow:auto; background:#f5f8f6; box-shadow:-20px 0 60px rgba(5,29,18,.22); }
.hubspot-client-panel-head { position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:14px; padding:20px 24px; border-bottom:1px solid #dbe6df; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); }
.hubspot-record-avatar.is-large { width:50px; height:50px; flex:0 0 50px; font-size:15px; }
.hubspot-client-panel-head h2 { margin:3px 0; color:#102a1f; font-size:23px; }.hubspot-client-panel-head p { margin:0; color:#708078; font-size:10px; }
.hubspot-client-owner { display:inline-flex; align-items:center; gap:5px; margin-top:7px; padding:5px 8px; border-radius:999px; background:#edf6ef; color:#486153; font-size:8px; }.hubspot-client-owner svg { width:12px; height:12px; color:#2e8144; }
.hubspot-close-btn { margin-left:auto; width:38px; height:38px; display:grid; place-items:center; border:1px solid #d7e2dc; border-radius:11px; background:#fff; color:#243a2f; cursor:pointer; }.hubspot-close-btn svg { width:18px; }
.hubspot-client-panel-body { display:grid; gap:14px; padding:18px 24px 28px; }
.hubspot-client-summary { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; }
.hubspot-client-summary article { min-width:0; padding:14px; border:1px solid var(--hs-line); border-radius:12px; background:#fff; }.hubspot-client-summary small,.hubspot-client-summary span { display:block; color:#708078; font-size:8px; }.hubspot-client-summary strong { display:block; margin:5px 0; color:#102a1f; font-size:17px; }
.hubspot-detail-section { overflow:hidden; border:1px solid var(--hs-line); border-radius:14px; background:#fff; }
.hubspot-detail-section>header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--hs-line); }.hubspot-detail-section h3 { margin:2px 0 0; font-size:14px; }.hubspot-detail-section>header>span { color:#697a70; font-size:8px; font-weight:800; }
.hubspot-detail-table-wrap { max-height:330px; overflow:auto; }.hubspot-detail-table-wrap table { width:100%; min-width:900px; border-collapse:collapse; }.hubspot-detail-table-wrap th { position:sticky; top:0; padding:10px; background:#f3f7f4; color:#63736a; font-size:7px; letter-spacing:.07em; text-align:left; text-transform:uppercase; }.hubspot-detail-table-wrap td { padding:11px 10px; border-top:1px solid #e7ece9; color:#1e3529; font-size:9px; vertical-align:middle; }.hubspot-detail-table-wrap td>strong,.hubspot-detail-table-wrap td>small { display:block; }.hubspot-detail-table-wrap td>small { margin-top:3px; color:#718078; font-size:7px; }
.hubspot-data-note { display:flex; gap:10px; padding:13px 15px; border:1px solid #cde1d4; border-radius:12px; background:#edf7f0; color:#365b43; }.hubspot-data-note svg { flex:0 0 18px; width:18px; }.hubspot-data-note p { margin:0; font-size:9px; line-height:1.5; }
body.hubspot-drawer-open { overflow:hidden; }
.hubspot-skeleton-block { height:22px; margin:8px 0; border-radius:7px; background:linear-gradient(90deg,#edf2ef,#f7faf8,#edf2ef); background-size:200% 100%; animation:hubspot-shimmer 1.3s infinite; }.hubspot-skeleton-block.is-short { width:65%; }

@media (max-width:1400px) { .hubspot-metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.hubspot-client-summary { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:1050px) { .hubspot-v3 .hubspot-overview,.hubspot-section-head { align-items:stretch; flex-direction:column; }.hubspot-v3 .hubspot-connection-box { width:100%; min-width:0; }.hubspot-period-toolbar { justify-content:flex-start; }.hubspot-insight-grid { grid-template-columns:1fr; }.hubspot-chart-stage { height:230px; }.hubspot-client-drawer { grid-template-columns:1fr; }.hubspot-drawer-backdrop { display:none; }.hubspot-client-panel { width:100%; }.hubspot-client-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) { .hubspot-analytics-card { padding:13px; }.hubspot-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.hubspot-metric { min-height:116px; padding:13px 11px; }.hubspot-metric-copy strong { font-size:23px; }.hubspot-period-toolbar label,.hubspot-period-toolbar input,.hubspot-period-toolbar select,.hubspot-client-filter,.hubspot-owner-filter { width:100%; }.hubspot-period-pills { width:100%; }.hubspot-period-pills button { flex:1; }.hubspot-client-search { width:100%; }.hubspot-chart-card { padding:12px; }.hubspot-chart-card>header { align-items:flex-start; flex-direction:column; }.hubspot-client-panel-head,.hubspot-client-panel-body { padding-left:14px; padding-right:14px; }.hubspot-client-summary { grid-template-columns:1fr 1fr; }.hubspot-client-footer { align-items:center; }.hubspot-pagination { width:100%; order:3; } }
@media (max-width:430px) { .hubspot-metric-grid { grid-template-columns:1fr; }.hubspot-client-summary { grid-template-columns:1fr; } }

/* ========================================================================== */
/* Cotizaciones OTIF · motor nativo Q/V/L                                    */
/* ========================================================================== */

.cot-module {
  display: grid;
  gap: 18px;
}

.cot-kpis {
  grid-template-columns: minmax(250px, 1.55fr) repeat(4, minmax(130px, .72fr));
}

.cot-catalog-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  margin-top: 10px;
  padding: 6px 10px;
  border: 1px solid #dfe7e2;
  border-radius: 999px;
  background: rgba(255, 255, 255, .68);
  color: #5e6c66;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
}

.cot-catalog-status i {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #9aa6a1;
  box-shadow: 0 0 0 4px rgba(154, 166, 161, .14);
}

.cot-catalog-status.is-ready {
  border-color: #cce6d5;
  background: #eef9f1;
  color: #236b3d;
}

.cot-catalog-status.is-ready i {
  background: #3dae2b;
  box-shadow: 0 0 0 4px rgba(61, 174, 43, .14);
}

.cot-catalog-status.is-local {
  border-color: #eadcae;
  background: #fff9e8;
  color: #80620b;
}

.cot-catalog-status.is-local i {
  background: #d6a51e;
  box-shadow: 0 0 0 4px rgba(214, 165, 30, .14);
}

.cot-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.cot-toolbar h3,
.cot-toolbar p {
  margin: 0;
}

.cot-toolbar p {
  color: var(--text-muted, #66756f);
  margin-top: 4px;
}

.cot-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.cot-toolbar-actions #cotSearch {
  min-width: 280px;
}

.cot-table td {
  vertical-align: middle;
}

.cot-table td code {
  display: inline-block;
  max-width: 245px;
  overflow-wrap: anywhere;
  color: #174c3a;
  background: #ecf7f2;
  border: 1px solid #d1e9df;
  border-radius: 7px;
  padding: 5px 7px;
  font-size: 11px;
}

.cot-cell-muted {
  display: block;
  color: #73817c;
  margin-top: 3px;
  font-size: 11px;
}

.cot-empty {
  text-align: center;
  color: #71807a;
  padding: 34px !important;
}

.cot-row-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.cot-row-actions .icon-action-btn {
  width: 34px;
  height: 34px;
}

.cot-state {
  display: inline-flex;
  align-items: center;
  max-width: 180px;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.2;
  background: #eef2f1;
  color: #45534e;
}

.cot-state-en_elaboracion { background: #eef2f1; color: #45534e; }
.cot-state-enviada { background: #e8f1ff; color: #24569b; }
.cot-state-devuelta { background: #fff0ed; color: #a23a27; }
.cot-state-aprobada_pendiente_ficha,
.cot-state-pendiente_creacion_pt { background: #fff6d8; color: #80620b; }
.cot-state-pt_creado,
.cot-state-pedido_montado,
.cot-state-solicitud_op { background: #eeeaff; color: #5941a9; }
.cot-state-op_creada,
.cot-state-cerrada { background: #e5f6ec; color: #247143; }

.cot-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 16px;
}

.cot-modal.hidden {
  display: none;
}

.content:has(.cot-modal:not(.hidden)) {
  z-index: 100;
}

.main:has(.cot-modal:not(.hidden)) {
  z-index: 50;
}

.layout:has(.cot-modal:not(.hidden)) {
  perspective: none;
}

.cot-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 25, 19, .62);
  backdrop-filter: blur(5px);
}

.cot-wizard-card,
.cot-detail-card {
  position: relative;
  z-index: 1;
  width: min(1160px, 96vw);
  max-height: 95vh;
  overflow: auto;
  background: #f7f9f8;
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: 18px;
  box-shadow: 0 22px 64px rgba(4, 30, 20, .28);
}

.cot-wizard-card,
.cot-wizard-layout,
.cot-wizard-main,
.cot-wizard-side,
.cot-step-panel {
  min-width: 0;
}

.cot-detail-card {
  width: min(900px, 94vw);
  padding: 0 20px 22px;
}

.cot-wizard-head {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px 12px;
  background: rgba(247, 249, 248, .96);
  border-bottom: 1px solid #dfe7e3;
  backdrop-filter: blur(12px);
}

.cot-wizard-head h2,
.cot-wizard-head p {
  margin: 0;
}

.cot-wizard-head h2 {
  margin-top: 2px;
  color: #173d31;
  font-size: 22px;
  line-height: 1.2;
}

.cot-wizard-head p {
  margin-top: 3px;
  color: #6b7b75;
  font-size: 12px;
}

.cot-source-banner {
  display: grid;
  grid-template-columns: minmax(205px, .8fr) minmax(0, 1.5fr);
  align-items: center;
  gap: 16px;
  margin: 10px 20px 0;
  padding: 10px 13px;
  border: 1px solid #a9d7c2;
  border-left: 4px solid #0f7650;
  border-radius: 10px;
  background: linear-gradient(135deg, #edf9f3, #f8fbf5);
  color: #173d31;
}

.cot-source-banner.hidden { display: none; }
.cot-source-banner h3,
.cot-source-banner p { margin: 0; }
.cot-source-banner h3 { margin-top: 1px; font-size: 14px; }
.cot-source-banner > div:first-child p { margin-top: 2px; color: #63776d; font-size: 10px; }
.cot-source-status { padding-left: 14px; border-left: 1px solid #c6e1d3; }
.cot-source-status p { font-size: 11px; }
.cot-source-status small { display: block; margin-top: 3px; color: #8a6624; font-size: 10px; line-height: 1.35; }

.cot-stepper {
  display: grid;
  grid-template-columns: repeat(7, minmax(78px, 1fr));
  gap: 4px;
  padding: 10px 20px 0;
}

.cot-stepper button {
  appearance: none;
  border: 0;
  background: transparent;
  color: #74817c;
  padding: 2px;
  text-align: center;
  cursor: default;
}

.cot-stepper button span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin: 0 auto 3px;
  border: 1px solid #ccd8d3;
  border-radius: 50%;
  background: #fff;
  font-size: 10px;
  font-weight: 800;
}

.cot-stepper button small {
  display: block;
  min-height: 20px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
}

.cot-stepper button.is-active {
  color: #0f583e;
}

.cot-stepper button.is-active span {
  background: #0f583e;
  border-color: #0f583e;
  color: #fff;
  box-shadow: 0 6px 16px rgba(15, 88, 62, .22);
}

.cot-stepper button.is-complete {
  color: #32735a;
  cursor: pointer;
}

.cot-stepper button.is-complete span {
  background: #e1f3ea;
  border-color: #8fcab0;
}

.cot-wizard-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 12px;
  padding: 12px 20px 20px;
}

.cot-wizard-main,
.cot-wizard-side {
  background: #fff;
  border: 1px solid #dfe7e3;
  border-radius: 13px;
}

.cot-wizard-main {
  min-height: 430px;
  padding: 18px;
}

.cot-wizard-side {
  align-self: start;
  position: sticky;
  top: 82px;
  padding: 16px;
  box-shadow: 0 9px 24px rgba(20, 60, 45, .05);
}

.cot-wizard-side h3 {
  margin: 4px 0 12px;
  color: #173d31;
  font-size: 18px;
  overflow-wrap: anywhere;
}

.cot-wizard-side dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.cot-wizard-side dl div {
  padding: 8px 0;
  border-top: 1px solid #edf1ef;
}

.cot-wizard-side dt {
  color: #74817c;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.cot-wizard-side dd {
  margin: 2px 0 0;
  color: #1b342b;
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.cot-step-panel > h2,
.cot-step-panel > p {
  margin: 0;
}

.cot-step-panel > h2 {
  margin-top: 3px;
  color: #183c31;
  font-size: 22px;
  line-height: 1.2;
}

.cot-step-panel > p {
  margin-top: 3px;
  color: #708079;
  font-size: 12px;
}

.cot-grid {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

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

.cot-grid .request-field {
  margin: 0;
}

.cot-grid .request-field > span {
  min-height: 15px;
  font-size: 10px;
}

.cot-wizard-main .form-control {
  min-height: 38px;
  padding: 8px 11px;
  border-radius: 10px;
  font-size: 12px;
}

#cotWizard .request-field.is-prefilled > span::after {
  content: 'Precargado';
  display: inline-block;
  margin-left: 5px;
  padding: 1px 5px;
  border-radius: 999px;
  color: #176847;
  background: #dff3e8;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#cotWizard .request-field.is-prefilled > .form-control {
  border-color: #72b797;
  background: #f2fbf6;
  box-shadow: 0 0 0 2px rgba(15, 118, 80, .06);
}

.cot-switch {
  min-height: 38px;
  display: flex;
  align-items: center;
}

.cot-subpanel {
  margin-top: 13px;
  border: 1px solid #dce9e3;
  border-radius: 10px;
  background: #f3f9f6;
  padding: 13px;
}

.cot-subpanel > strong {
  color: #19523d;
}

.cot-pt-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 16px;
  padding: 11px 14px;
  border-radius: 10px;
  background: #103f30;
  color: #fff;
}

.cot-pt-preview span {
  font-size: 10px;
  font-weight: 700;
  opacity: .75;
}

.cot-pt-preview strong {
  min-width: 0;
  max-width: 68%;
  text-align: right;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
  overflow-wrap: anywhere;
}

.cot-engine-note {
  margin-top: 12px;
  padding: 9px 11px;
  border-left: 3px solid #ba8b17;
  background: #fff9e8;
  color: #735c20;
  font-size: 11px;
}

.cot-warnings {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #f2d486;
  border-radius: 10px;
  background: #fff8df;
  color: #755810;
}

.cot-warnings p {
  margin: 3px 0;
  font-size: 11px;
}

.cot-warnings p.is-critical {
  padding-left: 8px;
  border-left: 3px solid #c0392b;
  color: #872d21;
  font-weight: 700;
}

.cot-result-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 15px;
}

.cot-result-cards article,
.cot-margin-card {
  padding: 11px;
  border: 1px solid #dce6e1;
  border-radius: 10px;
  background: #f7faf9;
}

.cot-result-cards span,
.cot-margin-card span {
  display: block;
  color: #718078;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.cot-result-cards strong,
.cot-margin-card strong {
  display: block;
  margin-top: 4px;
  color: #154633;
  font-size: 16px;
}

.cot-price-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}

.cot-margin-card small {
  display: block;
  margin-top: 5px;
  color: #7a8882;
}

.cot-lines-details {
  margin-top: 13px;
  border: 1px solid #dce6e1;
  border-radius: 10px;
  overflow: hidden;
}

.cot-lines-details summary {
  cursor: pointer;
  padding: 10px 12px;
  color: #1a543e;
  font-weight: 800;
}

.cot-lines-details .table-wrap {
  max-height: 300px;
  border-top: 1px solid #e7ecea;
}

.cot-final-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 15px;
}

.cot-final-summary article {
  padding: 10px 12px;
  border: 1px solid #dfe7e3;
  border-radius: 9px;
  background: #f8faf9;
}

.cot-final-summary span {
  display: block;
  margin-bottom: 3px;
  color: #73817b;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.cot-final-summary strong {
  color: #1a4033;
  overflow-wrap: anywhere;
}

.cot-wizard-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid #e4ebe7;
}

.cot-wizard-actions span {
  margin-right: auto;
  color: #76847f;
  font-size: 10px;
  font-weight: 700;
}

.cot-wizard-actions .btn {
  min-height: 38px;
  padding: 8px 16px;
  font-size: 12px;
}

.cot-error {
  margin-top: 12px;
  padding: 9px 11px;
  border: 1px solid #f0b9af;
  border-radius: 10px;
  background: #fff0ed;
  color: #9d3524;
  font-size: 11px;
  font-weight: 700;
}

.cot-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0;
}

.cot-detail-grid > div {
  padding: 9px 10px;
  border: 1px solid #dfe7e3;
  border-radius: 10px;
  background: #fff;
}

.cot-detail-grid span {
  display: block;
  color: #78857f;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.cot-detail-grid strong {
  display: block;
  margin-top: 3px;
  color: #1b3c31;
  overflow-wrap: anywhere;
}

.cot-detail-card > h3 {
  color: #1a4335;
  margin: 16px 0 8px;
  font-size: 15px;
}

.cot-history {
  display: grid;
  gap: 6px;
}

.cot-history article {
  display: grid;
  grid-template-columns: 110px 145px minmax(0, 1fr) 210px;
  gap: 8px;
  align-items: center;
  padding: 9px 11px;
  border: 1px solid #e0e7e4;
  border-radius: 10px;
  background: #fff;
  font-size: 11px;
}

.cot-history article:has(> button) {
  grid-template-columns: minmax(100px, .7fr) minmax(130px, .8fr) minmax(160px, 1fr) minmax(120px, .8fr) auto;
}

.cot-history article > button {
  justify-self: end;
}

.cot-history small {
  color: #74817c;
  overflow-wrap: anywhere;
}

.cot-hubspot-flow {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid #cfe0d9;
  border-radius: 14px;
  background: linear-gradient(145deg, #ffffff 0%, #f1f7f4 100%);
  box-shadow: 0 10px 24px rgba(18, 64, 48, .08);
}

.cot-hubspot-flow > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.cot-hubspot-flow > header h3,
.cot-hubspot-flow > header p {
  margin: 0;
}

.cot-hubspot-flow > header h3 {
  margin-top: 3px;
  color: #173f32;
  font-size: 16px;
}

.cot-hubspot-flow > header p {
  margin-top: 4px;
  color: #687a73;
  font-size: 11px;
  line-height: 1.5;
}

.cot-hubspot-state {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: #fff3cf;
  color: #785c05;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.cot-hubspot-state i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}

.cot-hubspot-state.is-ready { background: #dcf4e7; color: #17613f; }
.cot-hubspot-state.is-error { background: #ffe5df; color: #9d3524; }
.cot-hubspot-state.is-loading i { animation: cotHubspotPulse 1.1s infinite; }

.cot-hubspot-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 76px;
  color: #61746c;
  font-size: 12px;
}

.cot-hubspot-loading i {
  width: 18px;
  height: 18px;
  border: 2px solid #c8ddd4;
  border-top-color: #21875d;
  border-radius: 50%;
  animation: cotHubspotSpin .8s linear infinite;
}

@keyframes cotHubspotSpin { to { transform: rotate(360deg); } }
@keyframes cotHubspotPulse { 50% { opacity: .35; } }

@media (prefers-reduced-motion: reduce) {
  .cot-hubspot-state.is-loading i,
  .cot-hubspot-loading i { animation: none; }
}

.cot-hubspot-controls {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.cot-client-picker { margin-top: 0; }
.cot-client-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; margin-top: 14px; }
.cot-client-controls label { min-width: 0; }
.cot-client-controls label > span { display: block; margin-bottom: 5px; color: #52665e; font-size: 11px; font-weight: 800; }
.cot-client-controls .form-control { width: 100%; min-width: 0; }
.cot-client-results { grid-column: 1 / -1; }
.cot-client-picker .cot-hubspot-company-detail { flex-wrap: wrap; }
.cot-client-picker .cot-hubspot-company-detail > div { min-width: 0; flex: 1 1 180px; overflow-wrap: anywhere; }
.cot-client-picker .cot-hubspot-company-detail dl { flex: 1 1 220px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cot-client-picker :is(input, select, button):focus-visible { outline: 2px solid #21875d; outline-offset: 3px; }
@media (max-width: 640px) {
  .cot-client-controls { grid-template-columns: minmax(0, 1fr); }
  .cot-client-controls .btn { width: 100%; }
  .cot-client-picker .cot-hubspot-company-detail > div,
  .cot-client-picker .cot-hubspot-company-detail dl { flex-basis: auto; }
  .cot-client-picker .cot-hubspot-company-detail dl { grid-template-columns: 1fr; width: 100%; }
}

.cot-hubspot-controls label > span {
  display: block;
  margin: 0 0 5px;
  color: #52665e;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.cot-hubspot-controls .form-control {
  width: 100%;
  min-height: 40px;
}

.cot-hubspot-company-detail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 10px;
  padding: 11px 12px;
  border: 1px solid #dbe7e2;
  border-radius: 10px;
  background: #fff;
}

.cot-hubspot-company-detail strong,
.cot-hubspot-company-detail span {
  display: block;
}

.cot-hubspot-company-detail strong { color: #193f32; font-size: 12px; }
.cot-hubspot-company-detail span,
.cot-hubspot-company-detail p { margin: 3px 0 0; color: #75847e; font-size: 10px; }

.cot-hubspot-company-detail dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(90px, 1fr));
  gap: 8px;
  margin: 0;
}

.cot-hubspot-company-detail dl div { padding-left: 10px; border-left: 1px solid #e0e9e5; }
.cot-hubspot-company-detail dt { color: #7a8983; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.cot-hubspot-company-detail dd { margin: 2px 0 0; color: #264b3e; font-size: 10px; font-weight: 700; overflow-wrap: anywhere; }

.cot-hubspot-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 11px;
}

.cot-hubspot-toolbar > span { margin-right: auto; color: #71827b; font-size: 10px; }
.cot-hubspot-toolbar .btn { min-height: 36px; }

.cot-hubspot-feedback {
  display: grid;
  gap: 2px;
  margin-top: 9px;
  padding: 9px 11px;
  border: 1px solid #d9e6e0;
  border-radius: 9px;
  background: #f7fbf9;
  color: #4c655b;
  font-size: 10px;
}

.cot-hubspot-feedback.is-warning { border-color: #ebd79b; background: #fff9e7; color: #725b17; }
.cot-hubspot-feedback.is-error { border-color: #efc1b8; background: #fff1ed; color: #913d2d; }
.cot-hubspot-feedback.is-success { border-color: #b7dec9; background: #eaf8f0; color: #246346; }

.cot-hubspot-links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.cot-hubspot-links a {
  padding: 6px 9px;
  border: 1px solid #c9dfd5;
  border-radius: 8px;
  background: #fff;
  color: #16734d;
  font-size: 10px;
  font-weight: 800;
  text-decoration: none;
}

.cot-hubspot-links a:hover,
.cot-hubspot-links a:focus-visible { border-color: #21875d; outline: 2px solid rgba(33, 135, 93, .16); }

@media (max-width: 1180px) {
  .projection-client-lifecycle > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projection-client-dossier-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cot-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cot-kpis .pedidos-strip-title { grid-column: 1 / -1; }
  .cot-wizard-layout { grid-template-columns: 1fr; }
  .cot-wizard-side { position: static; }
  .cot-wizard-side dl { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 14px; }
  .cot-result-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
  .cot-toolbar { align-items: stretch; flex-direction: column; }
  .cot-toolbar-actions { justify-content: stretch; }
  .cot-toolbar-actions > * { flex: 1 1 180px; }
  .cot-toolbar-actions #cotSearch { min-width: 0; }
  .cot-modal { padding: 0; }
  .cot-wizard-card, .cot-detail-card { width: calc(100vw - 16px); max-width: calc(100vw - 16px); height: 100dvh; max-height: none; overflow-x: hidden; border-radius: 0; }
  .cot-stepper { display: flex; overflow-x: auto; padding-inline: 15px; }
  .cot-stepper button { min-width: 82px; }
  .cot-wizard-layout { width: calc(100vw - 32px); max-width: calc(100vw - 32px); padding: 12px; }
  .cot-wizard-main, .cot-wizard-side { width: 100%; max-width: calc(100vw - 56px); }
  .cot-wizard-main { padding: 16px; }
  .cot-grid-2, .cot-grid-3, .cot-price-row, .cot-final-summary, .cot-detail-grid { grid-template-columns: 1fr; }
  .cot-result-cards { grid-template-columns: 1fr; }
  .cot-history article, .cot-history article:has(> button) { grid-template-columns: 1fr; }
  .cot-history article > button { justify-self: stretch; }
  .cot-hubspot-flow > header, .cot-hubspot-company-detail { align-items: stretch; flex-direction: column; }
  .cot-hubspot-controls, .cot-hubspot-company-detail dl { grid-template-columns: 1fr; }
  .cot-hubspot-company-detail dl div { padding: 7px 0 0; border-top: 1px solid #e0e9e5; border-left: 0; }
  .cot-hubspot-toolbar .btn { flex: 1 1 150px; }
  .cot-wizard-head { padding: 17px; }
  .cot-source-banner { grid-template-columns: 1fr; margin: 12px 15px 0; }
  .cot-source-status { padding: 10px 0 0; border-top: 1px solid #c6e1d3; border-left: 0; }
  .cot-pt-preview { align-items: flex-start; flex-direction: column; gap: 4px; }
  .cot-pt-preview strong { width: 100%; max-width: 100%; text-align: left; word-break: break-all; }
  .cot-wizard-actions { flex-wrap: wrap; }
}

/* Client intelligence: real order history + Power Automate budget */
.projection-client-intelligence {
  display: grid;
  gap: 14px;
  margin: 14px 0 16px;
  min-width: 0;
}

.projection-client-intelligence-head,
.projection-client-sales-list > header,
.projection-client-reference-card > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.projection-client-intelligence-head > div > span,
.projection-client-sales-list > header span,
.projection-client-reference-card > header span {
  display: block;
  color: #65766b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.projection-client-intelligence-head h4,
.projection-client-sales-list h5,
.projection-client-reference-card h5 {
  margin: 4px 0 0;
  color: #102219;
  font-size: 18px;
  line-height: 1.15;
}

.projection-client-intelligence-head > small,
.projection-client-sales-list > header > small {
  max-width: 470px;
  color: #718078;
  font-size: 11px;
  line-height: 1.45;
  text-align: right;
}

.projection-client-intelligence-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
  align-items: end;
  width: 100%;
  min-width: 0;
}

.projection-client-intelligence-head > div,
.projection-client-intelligence-head > small {
  min-width: 0;
}

.projection-client-intelligence-head > small {
  justify-self: end;
  width: 100%;
  max-width: 420px;
  overflow-wrap: anywhere;
}

.projection-client-intelligence-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: 12px;
  min-width: 0;
}

.projection-client-lifecycle {
  display: grid;
  gap: 10px;
  padding: 13px 15px;
  border: 1px solid #dce5dc;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(12, 48, 30, .04);
}
.projection-client-lifecycle > header { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.projection-client-lifecycle > header span { display: block; color: #68786e; font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.projection-client-lifecycle > header h5 { margin: 3px 0 0; color: #102219; font-size: 15px; }
.projection-client-lifecycle > header small { max-width: 520px; color: #69786f; font-size: 9px; line-height: 1.4; text-align: right; }
.projection-client-lifecycle > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.projection-client-lifecycle article { display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; align-items: center; gap: 4px 8px; min-width: 0; padding: 10px 11px; border: 1px solid #e0e7df; border-radius: 11px; background: #f8faf7; }
.projection-client-lifecycle article i { grid-row: 1 / 3; display: grid; width: 25px; height: 25px; place-items: center; border-radius: 8px; color: #fff; background: #809087; font-size: 11px; font-style: normal; font-weight: 900; }
.projection-client-lifecycle article span { color: #52645a; font-size: 9px; font-weight: 800; }
.projection-client-lifecycle article strong { color: #0b2619; font-size: 19px; line-height: 1; }
.projection-client-lifecycle article small { grid-column: 2 / 4; color: #748179; font-size: 8px; line-height: 1.3; }
.projection-client-lifecycle article.is-active i { background: #3f9844; }
.projection-client-lifecycle article.is-recovered i { background: #078d68; }
.projection-client-lifecycle article.is-inactive i { background: #d83a52; }
.projection-client-lifecycle article.is-unknown i { background: #89968f; }

.projection-client-share-card,
.projection-client-reference-card,
.projection-client-sales-list {
  min-width: 0;
  border: 1px solid #dce5dc;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(12, 48, 30, .045);
}

.projection-client-share-card {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  align-items: center;
  gap: 12px 16px;
  padding: 18px;
}

.projection-client-donut {
  position: relative;
  display: grid;
  grid-row: 1 / 3;
  width: 164px;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: var(--client-donut, conic-gradient(#dfe7df 0 100%));
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .03), 0 12px 28px rgba(8, 63, 38, .08);
}

.projection-client-donut::after {
  position: absolute;
  inset: 32px;
  border: 1px solid #e4ebe4;
  border-radius: inherit;
  background: #fff;
  content: '';
}

.projection-client-donut > div {
  position: relative;
  z-index: 1;
  display: grid;
  max-width: 112px;
  text-align: center;
}

.projection-client-donut strong {
  color: #082b1c;
  font-size: 30px;
  line-height: 1;
}

.projection-client-donut span {
  margin-top: 4px;
  color: #5c6e63;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.projection-client-donut small {
  margin-top: 8px;
  color: #13241b;
  font-size: 12px;
  font-weight: 800;
}

.projection-client-donut-copy > span {
  color: #2f8f3a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.projection-client-donut-copy h5 {
  margin: 7px 0;
  color: #102219;
  font-size: 18px;
  line-height: 1.12;
}

.projection-client-donut-copy p {
  margin: 0;
  color: #687970;
  font-size: 12px;
  line-height: 1.5;
}

.projection-client-donut-legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

.projection-client-donut-legend > div {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 6px 7px;
  border-radius: 9px;
  background: #f5f8f4;
}

.projection-client-donut-legend i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--legend-color);
}

.projection-client-donut-legend span {
  overflow: hidden;
  color: #26382e;
  font-size: 10px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projection-client-donut-legend strong {
  color: #0b2a1b;
  font-size: 10px;
  white-space: nowrap;
}

.projection-client-donut-legend small {
  grid-column: 2 / 4;
  margin-top: -5px;
  color: #718078;
  font-size: 9px;
}

.projection-client-reference-card {
  display: flex;
  flex-direction: column;
  padding: 18px;
}

.projection-client-reference-card > header {
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid #e4eae4;
}

.projection-client-reference-card > header b {
  padding: 6px 9px;
  border-radius: 999px;
  background: #eaf4e6;
  color: #236c2c;
  font-size: 10px;
}

.projection-client-reference-list {
  display: grid;
  gap: 2px;
  margin-top: 8px;
}

.projection-client-reference-list > div {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 7px 0;
}

.projection-client-reference-list > div > b {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 8px;
  background: #edf4ea;
  color: #2f7f37;
  font-size: 10px;
}

.projection-client-reference-list > div > div {
  display: grid;
  min-width: 0;
}

.projection-client-reference-list strong {
  overflow: hidden;
  color: #14251c;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projection-client-reference-list span,
.projection-client-reference-list small {
  color: #687970;
  font-size: 9px;
}

.projection-client-reference-list > div > small {
  max-width: 112px;
  overflow: hidden;
  color: #102219;
  font-size: 10px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projection-client-reference-list i,
.projection-client-share-value i {
  display: block;
  height: 4px;
  margin-top: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #e5ebe5;
}

.projection-client-reference-list i u,
.projection-client-share-value i u {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #348c3a;
}

.projection-client-sales-list {
  overflow: hidden;
}

.projection-client-sales-list > header {
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid #dfe6df;
  background: #f8faf7;
}

.projection-client-sales-table-wrap {
  max-height: 430px;
  overflow: auto;
  scrollbar-color: #9db59f #eef3ed;
  scrollbar-width: thin;
}

.projection-client-sales-table {
  width: 100%;
  min-width: 1460px;
  border-collapse: separate;
  border-spacing: 0;
}

.projection-client-lifecycle-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 8px; border-radius: 999px; color: #5e6a64; background: #edf0ed; font-size: 9px; font-weight: 850; white-space: nowrap; }
.projection-client-lifecycle-badge.is-active { color: #26712f; background: #e4f3df; }
.projection-client-lifecycle-badge.is-recovered { color: #087052; background: #dcf3e9; }
.projection-client-lifecycle-badge.is-inactive { color: #ae243b; background: #fde5e9; }
.projection-client-lifecycle-badge.is-unknown { color: #66716b; background: #edf0ed; }
.projection-client-recovery-gap { display: block; margin-top: 3px; color: #6e7b73; font-size: 8px; white-space: nowrap; }

.projection-client-sales-table th {
  position: sticky;
  z-index: 2;
  top: 0;
  padding: 10px 12px;
  border-bottom: 1px solid #dce5dc;
  background: #eef4ec;
  color: #506359;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}

.projection-client-sales-table td {
  padding: 11px 12px;
  border-bottom: 1px solid #e7ece7;
  color: #22342a;
  font-size: 11px;
  vertical-align: middle;
}

.projection-client-sales-table tbody tr:hover td {
  background: #fbfdfb;
}

.projection-client-sales-name {
  display: grid;
  grid-template-columns: 26px minmax(150px, 1fr);
  align-items: center;
  gap: 8px;
}

.projection-client-sales-name > b {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  background: #eaf3e7;
  color: #287533;
  font-size: 9px;
}

.projection-client-sales-name div,
.projection-client-cadence,
.projection-client-main-reference,
.projection-client-next-action {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.projection-client-sales-name strong,
.projection-client-main-reference strong {
  overflow: hidden;
  color: #0f2118;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projection-client-sales-name span,
.projection-client-main-reference span {
  color: #718078;
  font-size: 9px;
}

.projection-client-share-value {
  min-width: 82px;
}

.projection-client-share-value strong {
  color: #102219;
  font-size: 12px;
}

.projection-client-cadence strong,
.projection-client-next-action strong {
  color: #172a20;
  font-size: 10px;
}

.projection-client-cadence span {
  width: max-content;
  max-width: 170px;
  padding: 3px 6px;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 850;
}

.projection-client-cadence span.is-risk { background: #fde5e8; color: #bd263e; }
.projection-client-cadence span.is-warning { background: #fff0cd; color: #a46500; }
.projection-client-cadence span.is-good { background: #e3f3df; color: #287632; }
.projection-client-cadence span.is-neutral { background: #edf0ed; color: #657169; }

.projection-client-next-action button {
  width: max-content;
  padding: 0;
  border: 0;
  background: transparent;
  color: #17732c;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}

.projection-client-intelligence-loading,
.projection-client-intelligence-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 130px;
  padding: 24px;
  border: 1px dashed #cdd9ce;
  border-radius: 14px;
  background: #f9fbf8;
  text-align: center;
}

.projection-client-intelligence-loading i {
  width: 24px;
  height: 24px;
  border: 3px solid #dce8da;
  border-top-color: #348c3a;
  border-radius: 50%;
  animation: projection-client-spin .8s linear infinite;
}

.projection-client-intelligence-loading div,
.projection-client-intelligence-empty {
  display: grid;
  gap: 4px;
}

.projection-client-intelligence-loading strong,
.projection-client-intelligence-empty strong { color: #173023; font-size: 13px; }
.projection-client-intelligence-loading span,
.projection-client-intelligence-empty span { color: #69786f; font-size: 11px; }
.projection-client-intelligence-empty.is-error { border-color: #edcbd1; background: #fff7f8; }

.projection-client-budget-panel {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #b9d2ba;
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fcf7 0, #fff 150px);
  box-shadow: 0 14px 36px rgba(10, 65, 35, .08);
}

.projection-client-budget-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.projection-client-budget-title {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.projection-client-budget-title > span {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  background: #dff0da;
  color: #256d2e;
  font-size: 11px;
  font-weight: 900;
}

.projection-client-budget-title > div {
  min-width: 0;
}

.projection-client-budget-title small {
  color: #3f7e49;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.projection-client-budget-title h5 {
  margin: 2px 0;
  overflow: hidden;
  color: #102219;
  font-size: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projection-client-budget-title p {
  margin: 0;
  color: #65756b;
  font-size: 10px;
}

.projection-client-budget-panel > header > button {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #d3dfd4;
  border-radius: 10px;
  background: #fff;
  color: #33553e;
  font-size: 20px;
  cursor: pointer;
}

.projection-client-budget-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.projection-client-budget-kpis article {
  display: grid;
  gap: 3px;
  padding: 11px 13px;
  border: 1px solid #dde6dc;
  border-radius: 11px;
  background: rgba(255, 255, 255, .9);
}

.projection-client-budget-kpis span {
  color: #68776e;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.projection-client-budget-kpis strong {
  color: #0a2116;
  font-size: 16px;
  line-height: 1.15;
}

.projection-client-budget-kpis small {
  color: #728078;
  font-size: 9px;
}

.projection-client-budget-kpis .is-production-real {
  border-color: #c9e1df;
  background: #f1f8f7;
}

.projection-client-budget-kpis .is-production-real strong { color: #0d7480; }

.projection-client-budget-references {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  max-height: 360px;
  overflow: auto;
  padding: 2px 4px 4px 2px;
  scrollbar-color: #9db59f #eef3ed;
  scrollbar-width: thin;
}

.projection-client-budget-references > article {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 11px;
  border: 1px solid #e0e7df;
  border-radius: 11px;
  background: #fff;
}

.projection-client-budget-references > article > header,
.projection-client-budget-references > article > header > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}

.projection-client-budget-references > article > header span {
  color: #4e6457;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.projection-client-budget-references > article > header > strong {
  color: #071f13;
  font-size: 12px;
  white-space: nowrap;
}

.projection-client-budget-references h6 {
  margin: 2px 0 0;
  overflow: hidden;
  color: #14261b;
  font-size: 11px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projection-client-budget-references p {
  margin: 0;
  overflow: hidden;
  color: #748078;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projection-client-budget-references dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px 8px;
  margin: 5px 0 0;
  padding-top: 7px;
  border-top: 1px solid #edf0ec;
}

.projection-client-budget-references dl div {
  display: grid;
  gap: 1px;
}

.projection-client-budget-references dt {
  color: #819087;
  font-size: 8px;
  text-transform: uppercase;
}

.projection-client-budget-references dd {
  margin: 0;
  color: #24362b;
  font-size: 9px;
  font-weight: 800;
}

.projection-production-track {
  display: grid;
  gap: 5px;
  margin-top: 4px;
  padding: 8px;
  border: 1px solid #e1e8e1;
  border-radius: 9px;
  background: #f7f9f6;
}

.projection-production-track > div,
.projection-production-track footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.projection-production-track > div span,
.projection-production-track footer {
  color: #617269;
  font-size: 8px;
  font-weight: 750;
}

.projection-production-track > div strong {
  color: #163c2a;
  font-size: 10px;
}

.projection-production-track > i {
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfe6df;
}

.projection-production-track > i > u {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #d99a1d;
}

.projection-production-track footer span {
  overflow: hidden;
  color: #263c30;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.projection-production-track footer time {
  flex: 0 0 auto;
  font-style: normal;
  white-space: nowrap;
}

.projection-production-track.is-complete > i > u { background: #078b62; }
.projection-production-track.is-partial > i > u { background: #dd9518; }
.projection-production-track.is-no-order > i > u { background: #db4255; }
.projection-production-track.is-order > i > u,
.projection-production-track.is-scheduled > i > u { background: #167c8d; }

.projection-production-unavailable {
  display: block;
  margin-top: 5px;
  color: #a35324;
  font-size: 8px;
}

@keyframes projection-client-spin { to { transform: rotate(360deg); } }

@media (max-width: 1280px) {
  .projection-client-intelligence-overview { grid-template-columns: 1fr; }
  .projection-client-share-card { grid-template-columns: 170px minmax(0, 1fr); }
  .projection-client-donut { width: 160px; }
  .projection-client-budget-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .projection-client-intelligence-head,
  .projection-client-sales-list > header { align-items: flex-start; flex-direction: column; }
  .projection-client-intelligence-head > small,
  .projection-client-sales-list > header > small { text-align: left; }
  .projection-client-share-card { grid-template-columns: 1fr; }
  .projection-client-donut { grid-row: auto; justify-self: center; }
  .projection-client-donut-copy { text-align: center; }
  .projection-client-donut-legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projection-client-budget-kpis,
  .projection-client-budget-references { grid-template-columns: 1fr; }
}

@media (max-width: 960px) {
  .projection-client-intelligence-head {
    grid-template-columns: 1fr;
  }
  .projection-client-intelligence-head > small {
    justify-self: start;
    max-width: none;
    text-align: left;
  }
}

/* Proyeccion comercial v13: resumen general del equipo */
.projection-team-dashboard{
  container-type:inline-size;
  min-width:0;
  width:100%;
  max-width:100%;
  overflow:hidden;
  border:1px solid #dfe7dd;
  border-radius:20px;
  background:#f8faf7;
  box-shadow:0 18px 46px rgba(19,46,29,.09);
}

.projection-team-topbar{
  display:grid;
  min-height:0;
  align-items:stretch;
  gap:0;
  padding:0;
  background:linear-gradient(118deg,#062f20,#00412b 60%,#063824);
  color:#fff;
}

.projection-team-title-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px 11px 22px}
.projection-team-brand{display:flex;align-items:center;gap:16px;min-width:0;padding:0}
.projection-team-brand h1{
  overflow:hidden;
  margin:0;
  font-size:clamp(18px,1.8vw,27px);
  font-weight:750;
  letter-spacing:-.035em;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.projection-team-brand > span{
  padding-left:16px;
  border-left:1px solid rgba(255,255,255,.25);
  color:#e4b63c;
  font-size:17px;
  font-weight:800;
}

.projection-team-sync{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:9px;color:#d4e3d8;font-size:8px;white-space:nowrap}
.projection-team-period-picker{position:relative;z-index:20}
.projection-team-period-toggle{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:9px;
  background:rgba(255,255,255,.07);
  color:#f5faf6;
  font:inherit;
  font-size:8px;
  cursor:pointer;
}
.projection-team-period-toggle:hover,
.projection-team-period-toggle[aria-expanded="true"]{border-color:rgba(190,230,103,.72);background:rgba(255,255,255,.14)}
.projection-team-period-toggle > span{color:#bce667;font-size:13px;line-height:1}
.projection-team-period-toggle > b{font-size:9px;font-weight:850}
.projection-team-period-toggle > i{color:#bcd0c1;font-size:11px;font-style:normal}
.projection-team-period-panel{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  display:grid;
  width:390px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  padding:12px;
  border:1px solid #dce5da;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(6,47,32,.22);
  color:#173126;
  white-space:normal;
}
.projection-team-period-panel label{display:grid;gap:5px}
.projection-team-period-panel label > span{color:#6a786f;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.projection-team-period-panel select,
.projection-team-period-panel input{width:100%;height:36px;padding:0 10px;border:1px solid #dce5da;border-radius:8px;background:#f7faf6;color:#10271c;font:inherit;font-size:10px;font-weight:750;box-sizing:border-box}
.projection-team-period-panel select{padding-right:28px}
.projection-team-period-panel input:focus,
.projection-team-period-panel select:focus{outline:2px solid rgba(68,147,55,.2);border-color:#70a967}
.projection-team-period-panel > p{grid-column:1/-1;margin:0;padding:8px 9px;border-radius:8px;background:#f3f7f1;color:#5c6d62;font-size:8px;font-weight:650;line-height:1.45}
.projection-team-period-panel > button{grid-column:1/-1;padding:7px 9px;border:0;border-radius:8px;background:#edf4e9;color:#245f24;font:inherit;font-size:9px;font-weight:850;cursor:pointer}
.projection-team-period-panel > button:hover{background:#e3efdc}
.projection-team-sync .projection-live-source{display:inline-flex;min-height:34px;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.26);border-radius:9px;background:rgba(255,255,255,.09);color:#fff!important;font-size:8px;font-weight:850}
.projection-team-sync > #projectionHeroUpdated{overflow:hidden;max-width:180px;color:#d4e3d8;text-overflow:ellipsis;white-space:nowrap}
.projection-team-sync > small{color:#b9ccbf;font-size:7px;font-weight:750}
.projection-team-sync .projection-team-refresh{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:9px;
  background:rgba(255,255,255,.11);
  color:#fff;
  font-size:9px;
  font-weight:800;
}
.projection-team-sync .projection-team-refresh:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.18)}
.projection-team-sync .projection-team-refresh:disabled{cursor:wait;opacity:.72}
.projection-team-sync .projection-team-refresh > span{font-size:15px;line-height:1}

.projection-team-tabs{
  display:flex;
  gap:4px;
  align-items:flex-end;
  justify-content:safe center;
  min-width:0;
  padding:0 12px;
  overflow-x:auto;
  border-bottom:0;
  background:transparent;
  scrollbar-width:thin;
  overscroll-behavior-inline:contain;
}
.projection-team-tab{
  position:relative;
  z-index:1;
  flex:0 1 168px;
  width:clamp(132px,11vw,180px);
  min-width:132px;
  max-width:180px;
  min-height:40px;
  padding:9px 18px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-bottom:0;
  border-radius:11px 11px 0 0;
  background:rgba(255,255,255,.07);
  color:#dbe9df;
  font:inherit;
  font-size:10px;
  overflow:hidden;
  box-shadow:none;
  line-height:1.2;
  text-align:center;
  text-overflow:ellipsis;
  transform:none;
  transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
  white-space:nowrap;
}
.projection-team-tab:first-child{flex-basis:178px;max-width:190px}
.projection-team-tab:first-child,.projection-team-tab:last-child{border-radius:11px 11px 0 0}
.projection-team-tab.is-active{
  z-index:2;
  border-color:rgba(210,232,216,.42);
  border-bottom:3px solid #a8d45d;
  background:linear-gradient(145deg,#2d7553,#1c6042);
  color:#fff;
  font-weight:750;
  box-shadow:0 -4px 14px rgba(0,0,0,.12);
  transform:none;
}
.projection-team-tab.is-upcoming{cursor:pointer}
.projection-team-tab.is-upcoming:hover{background:rgba(255,255,255,.14);color:#fff;transform:none}
.projection-team-tab:not(.is-active){cursor:pointer}
.projection-team-tab:not(.is-active):hover{background:rgba(255,255,255,.14);color:#fff;transform:none}
.projection-team-tab > span{margin-right:7px;font-size:13px}

.projection-team-body{display:grid;min-width:0;width:100%;max-width:100%;gap:14px;padding:14px;overflow:hidden}
.projection-team-body > [data-projection-team-group]{min-width:0;width:100%;max-width:100%;overflow:hidden}
.projection-team-kpis{display:grid;min-width:0;width:100%;max-width:100%;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.projection-team-kpi{
  --team-kpi:#4c9238;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-width:0;
  min-height:116px;
  padding:14px;
  border:1px solid #e1e7df;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 18px rgba(25,48,32,.045);
}
.projection-team-kpi:not(.is-compliance){
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:42px minmax(34px,auto) minmax(20px,auto);
  column-gap:10px;
  row-gap:6px;
  align-content:center;
  min-height:128px;
  padding:13px 14px 12px;
}
.projection-team-kpi > i{
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border-radius:50%;
  background:color-mix(in srgb,var(--team-kpi) 14%,white);
  color:var(--team-kpi);
  font-size:18px;
  font-style:normal;
  font-weight:850;
}
.projection-team-kpi:not(.is-compliance) > i{
  grid-column:1;
  grid-row:1;
  align-self:center;
  justify-self:center;
  width:42px;
  height:42px;
}
.projection-team-kpi:not(.is-compliance) > div{display:contents}
.projection-team-kpi div > span,
.projection-team-kpi div > strong,
.projection-team-kpi div > small{display:block}
.projection-team-kpi div > span{color:#314239;font-size:10.5px;font-weight:850}
.projection-team-kpi:not(.is-compliance) div > span{
  grid-column:2;
  grid-row:1;
  align-self:center;
  font-size:11.5px;
  font-weight:900;
  line-height:1.2;
  text-align:left;
}
.projection-team-kpi div > strong{
  margin-top:10px;
  color:#07140d;
  font-size:clamp(16px,1.25vw,23px);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.035em;
  white-space:nowrap;
}
.projection-team-kpi:not(.is-compliance) div > strong{
  display:flex;
  grid-column:1 / -1;
  grid-row:2;
  align-items:baseline;
  justify-content:center;
  min-width:0;
  margin-top:0;
  font-size:clamp(23px,1.75vw,32px);
  font-weight:900;
  line-height:1.05;
  text-align:center;
}
.projection-team-kpi-money{display:inline-flex;max-width:100%;align-items:baseline;white-space:nowrap}
.projection-team-kpi-money > b{font:inherit;font-weight:900;letter-spacing:inherit}
.projection-team-kpi-money > small{margin-left:1px;color:currentColor;font-size:.64em;font-weight:900;letter-spacing:-.02em;opacity:.9}
.projection-team-kpi div > small{margin-top:6px;color:#536158;font-size:9.5px;font-weight:750;line-height:1.35}
.projection-team-kpi:not(.is-compliance) div > small{
  grid-column:1 / -1;
  grid-row:3;
  align-self:start;
  justify-self:center;
  margin-top:0;
  font-size:9.5px;
  font-weight:800;
  text-align:center;
}
.projection-team-kpi.is-goal{--team-kpi:#d69a13}
.projection-team-kpi.is-projected{--team-kpi:#4d9639}
.projection-team-kpi.is-billed{--team-kpi:#147d92}
.projection-team-kpi.is-billed div > strong{color:#111a16}
.projection-team-kpi.is-risk{--team-kpi:var(--performance-risk)}
.projection-team-kpi.is-warning{--team-kpi:var(--performance-warning)}
.projection-team-kpi.is-good{--team-kpi:var(--performance-good)}
.projection-team-kpi.is-excellent{--team-kpi:var(--performance-excellent)}
.projection-team-kpi.is-risk div > small{color:var(--performance-risk-text);font-weight:850}
.projection-team-kpi.is-warning div > small{color:var(--performance-warning-text);font-weight:850}
.projection-team-kpi.is-good div > small{color:var(--performance-good-text);font-weight:850}
.projection-team-kpi.is-excellent div > small{color:var(--performance-excellent-text);font-weight:850}
.projection-team-kpi.is-compliance{
  --team-kpi:#5aaa3f;
  grid-column:span 2;
  display:flex;
  min-height:116px;
  align-items:center;
  padding:12px 14px;
}
.projection-team-kpi.is-compliance > header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #e3e9e1}
.projection-team-kpi.is-compliance > header span{color:#17271d;font-size:11px;font-weight:900;text-transform:uppercase}
.projection-team-kpi.is-compliance > header small{color:#5c6b62;font-size:9px;font-weight:700}
.projection-team-compliance-stages{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
.projection-team-compliance-stage{--team-gauge:#5aaa3f;display:grid;grid-template-columns:66px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding-right:12px}
.projection-team-compliance-stage + .projection-team-compliance-stage{padding-right:0;padding-left:14px;border-left:1px solid #e2e8e0}
.projection-team-compliance-stage.is-risk{--team-gauge:var(--performance-risk)}
.projection-team-compliance-stage.is-warning{--team-gauge:var(--performance-warning)}
.projection-team-compliance-stage.is-good{--team-gauge:var(--performance-good)}
.projection-team-compliance-stage.is-excellent{--team-gauge:var(--performance-excellent)}
.projection-team-compliance-stage-data{min-width:0}
.projection-team-compliance-stage-data > span{display:block;color:#32433a;font-size:9.5px;font-weight:850}
.projection-team-compliance-stage-data > strong{display:block;margin-top:4px;color:#10251a;font-size:22px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.projection-team-compliance-stage-data > mark{display:inline-flex;margin-top:5px;padding:4px 7px;border-radius:999px;background:#edf1ec;color:#526158;font-size:7px;font-weight:900;text-transform:uppercase}
.projection-team-compliance-stage.is-risk .projection-team-compliance-stage-data > strong,.projection-team-compliance-stage.is-risk .projection-team-compliance-stage-data > mark{color:var(--performance-risk-text)}
.projection-team-compliance-stage.is-risk .projection-team-compliance-stage-data > mark{background:var(--performance-risk-bg)}
.projection-team-compliance-stage.is-warning .projection-team-compliance-stage-data > strong,.projection-team-compliance-stage.is-warning .projection-team-compliance-stage-data > mark{color:var(--performance-warning-text)}
.projection-team-compliance-stage.is-warning .projection-team-compliance-stage-data > mark{background:var(--performance-warning-bg)}
.projection-team-compliance-stage.is-good .projection-team-compliance-stage-data > strong,.projection-team-compliance-stage.is-good .projection-team-compliance-stage-data > mark{color:var(--performance-good-text)}
.projection-team-compliance-stage.is-good .projection-team-compliance-stage-data > mark{background:var(--performance-good-bg)}
.projection-team-compliance-stage.is-excellent .projection-team-compliance-stage-data > strong,.projection-team-compliance-stage.is-excellent .projection-team-compliance-stage-data > mark{color:var(--performance-excellent-text)}
.projection-team-compliance-stage.is-excellent .projection-team-compliance-stage-data > mark{background:var(--performance-excellent-bg)}
.projection-team-compliance-stage-data > small,.projection-team-compliance-stage-data > em{display:block;overflow:hidden;margin-top:5px;color:#5a685f;font-size:8.5px;font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.projection-team-compliance-stage-data > em{margin-top:2px;color:#263a2e;font-weight:850}
.projection-team-kpi-gauge{
  display:grid;
  width:64px;
  height:64px;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--team-gauge,#64b247) var(--team-progress),#e4e8e1 0);
}
.projection-team-kpi-gauge > i{display:flex;width:50px;height:50px;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;background:#fff;font-style:normal;text-align:center}
.projection-team-kpi-gauge > i strong{color:#10251a;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}
.projection-team-compliance-stage.is-risk .projection-team-kpi-gauge > i strong{color:var(--performance-risk-text)}
.projection-team-compliance-stage.is-warning .projection-team-kpi-gauge > i strong{color:var(--performance-warning-text)}
.projection-team-compliance-stage.is-good .projection-team-kpi-gauge > i strong{color:var(--performance-good-text)}
.projection-team-compliance-stage.is-excellent .projection-team-kpi-gauge > i strong{color:var(--performance-excellent-text)}
.projection-team-kpi-gauge > i small{margin-top:4px;color:#55655b;font-size:7px;font-weight:900;text-transform:uppercase}

.projection-team-channel-panel,
.projection-team-performance,
.projection-team-evolution{
  border:1px solid #e1e7df;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 18px rgba(25,48,32,.04);
}
.projection-team-channel-panel > header,
.projection-team-performance > header,
.projection-team-evolution > header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:15px 16px 10px;
}
.projection-team-channel-panel > header span,
.projection-team-performance > header span,
.projection-team-evolution > header span{display:block;color:#516158;font-size:8.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.projection-team-channel-panel > header h2,
.projection-team-performance > header h2,
.projection-team-evolution > header h2{margin:3px 0 0;color:#17251b;font-size:15px;letter-spacing:-.015em}
.projection-team-channel-panel > header > small,
.projection-team-performance > header > small{max-width:420px;color:#5c6b62;font-size:9.5px;font-weight:650;text-align:right}

.projection-team-channels{display:grid;min-width:0;width:100%;max-width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 16px 16px;overflow:hidden}
.projection-team-channel-card{
  --channel-color:#4f9639;
  display:flex;
  flex-direction:column;
  gap:13px;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  padding:16px 16px 14px;
  border:1px solid #e1e7df;
  border-top:3px solid var(--channel-color);
  border-radius:12px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--channel-color) 4%,white) 0%,#fff 38%);
  box-shadow:0 6px 15px rgba(27,52,35,.045);
}
.projection-team-channel-card:first-child,.projection-team-channel-card:last-child{border-radius:12px}
.projection-team-channel-card > header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.projection-team-channel-heading{display:flex;align-items:center;gap:9px;min-width:0}
.projection-team-channel-heading > i{
  display:grid;
  width:38px;
  height:38px;
  flex:0 0 38px;
  place-items:center;
  border-radius:11px;
  background:color-mix(in srgb,var(--channel-color) 14%,white);
  color:var(--channel-color);
  font-style:normal;
}
.projection-team-channel-heading > i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.projection-team-channel-heading > div{min-width:0}
.projection-team-channel-heading span,.projection-team-channel-heading small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.projection-team-channel-heading span{color:#101d15;font-size:12.5px;font-weight:900;letter-spacing:.025em}
.projection-team-channel-heading small{margin-top:4px;color:#536158;font-size:9px;font-weight:750}
.projection-team-channel-rate{display:inline-flex;flex:0 0 auto;align-items:center;padding:6px 8px;border-radius:999px;background:#edf2eb;color:#35463c;font-size:9px;font-weight:900;white-space:nowrap}
.projection-team-channel-rate.is-risk{background:var(--performance-risk-bg);color:var(--performance-risk-text)}
.projection-team-channel-rate.is-warning{background:var(--performance-warning-bg);color:var(--performance-warning-text)}
.projection-team-channel-rate.is-good{background:var(--performance-good-bg);color:var(--performance-good-text)}
.projection-team-channel-rate.is-excellent{background:var(--performance-excellent-bg);color:var(--performance-excellent-text)}
.projection-team-channel-values{display:grid;grid-template-columns:1fr;gap:7px;border:0;background:transparent}
.projection-team-channel-metric{min-width:0;padding:11px 10px;border-radius:10px;background:color-mix(in srgb,var(--channel-color) 6%,white)}
.projection-team-channel-metric + .projection-team-channel-metric{border-left:0}
.projection-team-channel-metric.is-billed{background:color-mix(in srgb,var(--channel-color) 10%,white)}
.projection-team-channel-metric small,
.projection-team-channel-metric strong{display:block}
.projection-team-channel-metric small{overflow:hidden;color:#3f5046;font-size:9px;font-weight:900;letter-spacing:.045em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.projection-team-channel-metric strong{display:flex;align-items:baseline;overflow:visible;margin-top:7px;color:#050d08;font-size:clamp(17px,1.18vw,21px);font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.035em;white-space:nowrap}
.projection-team-channel-metric strong .projection-team-kpi-money > small{font-size:.64em;font-weight:900;opacity:.94}
.projection-team-channel-metric.is-billed strong{color:#050d08}
.projection-team-channel-progress{height:8px;overflow:hidden;border-radius:999px;background:#e3e9e1}
.projection-team-channel-progress > i{display:block;height:100%;border-radius:inherit;background:var(--channel-color);transition:width .25s ease}
.projection-team-channel-card > footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:0 2px}
.projection-team-channel-card > footer span{color:#405047;font-size:9px;font-weight:850;text-transform:uppercase}
.projection-team-channel-card > footer strong{color:#07140d;font-size:14.5px;font-weight:900;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.projection-team-channel-card.is-retail{--channel-color:#4f9639}
.projection-team-channel-card.is-food-service{--channel-color:#d99a09}
.projection-team-channel-card.is-rappi{--channel-color:#f06a10}
.projection-team-channel-card.is-unassigned{--channel-color:#78847c}
.projection-team-channel-card.is-total{--channel-color:#0c7789}
.projection-team-channel-distribution{display:none}
.projection-team-channel-distribution i{display:block;height:100%}
.projection-team-channel-distribution .is-retail{background:#4f9639}
.projection-team-channel-distribution .is-food-service{background:#d99a09}
.projection-team-channel-distribution .is-rappi{background:#f06a10}
.projection-team-channel-distribution .is-unassigned{background:#9ca69f}

.projection-team-advisors{display:grid;min-width:0;width:100%;max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 16px 18px;overflow:hidden}
.projection-team-advisor-card{
  --advisor-tone:#d39c21;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  min-height:366px;
  padding:18px 18px 15px;
  border:1px solid #e1e7df;
  border-top:3px solid var(--advisor-tone);
  border-radius:13px;
  background:#fbfcfa;
  box-shadow:0 6px 16px rgba(21,54,35,.045);
}
.projection-team-advisor-card.is-good{--advisor-tone:var(--performance-good)}
.projection-team-advisor-card.is-excellent{--advisor-tone:var(--performance-excellent)}
.projection-team-advisor-card.is-warning{--advisor-tone:var(--performance-warning)}
.projection-team-advisor-card.is-risk{--advisor-tone:var(--performance-risk)}
.projection-team-advisor-card.is-neutral{--advisor-tone:#98a29b}
.projection-team-advisor-card > header{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center}
.projection-team-advisor-avatar{
  position:relative;
  display:grid;
  width:48px;
  height:48px;
  overflow:hidden;
  place-items:center;
  border-radius:50%;
  background:#eaf2e6;
  color:#1e452b;
  font-size:14px;
  font-weight:800;
}
.projection-team-advisor-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.projection-team-advisor-avatar.has-photo img{opacity:1}
.projection-team-advisor-card > header > div{min-width:0}
.projection-team-advisor-card > header > div strong,
.projection-team-advisor-card > header > div span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.projection-team-advisor-card > header > div strong{color:#07140d;font-size:14px;font-weight:900}
.projection-team-advisor-card > header > div span{margin-top:4px;color:#536158;font-size:10px;font-weight:700}
.projection-team-advisor-card > header > b{padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--advisor-tone) 17%,white);color:var(--advisor-tone);font-size:9px;font-weight:900;white-space:nowrap}
.projection-team-advisor-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;padding:0;border:0}
.projection-team-advisor-summary > div{min-width:0;padding:12px;border:0;border-radius:11px;background:#f3f6f1}
.projection-team-advisor-summary > div:first-child{padding-left:12px}
.projection-team-advisor-summary > div:last-child{padding-right:12px;border-right:0}
.projection-team-advisor-summary > div > span{display:flex;min-width:0;min-height:24px;align-items:center;gap:6px;color:#45544b;font-size:9.5px;font-weight:800;line-height:1.15;white-space:normal}
.projection-team-advisor-summary > div > span i{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--advisor-tone) 13%,white);color:var(--advisor-tone)}
.projection-team-advisor-summary > div > span svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.projection-team-advisor-card .projection-team-advisor-summary > div > strong{display:block;min-width:0;margin-top:11px;color:#050d08;font-size:28px!important;font-weight:950;font-variant-numeric:tabular-nums;letter-spacing:-.045em;line-height:1.05;white-space:nowrap}
.projection-team-advisor-summary .is-compliance{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:color-mix(in srgb,var(--advisor-tone) 9%,white)}
.projection-team-advisor-summary .is-compliance > span{min-height:0;color:#26372d;font-size:10.5px;font-weight:850}
.projection-team-advisor-summary .is-compliance strong{margin-top:0;color:var(--advisor-tone);font-size:27px;font-weight:900;letter-spacing:-.04em}
.projection-team-advisor-card .projection-team-advisor-summary .projection-team-kpi-money > small{font-size:16px!important;font-weight:900;letter-spacing:-.015em;opacity:.96}
.projection-team-advisor-best{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:12px;padding:10px 11px;border-radius:11px;background:#f2f6ef}
.projection-team-advisor-best > i{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--advisor-tone) 13%,white);color:var(--advisor-tone)}
.projection-team-advisor-best > i svg,.projection-team-advisor-gap i svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.projection-team-advisor-best > div{min-width:0}
.projection-team-advisor-best > div span,.projection-team-advisor-best > div strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.projection-team-advisor-best > div span{color:#526158;font-size:9.5px;font-weight:800}
.projection-team-advisor-best > div strong{margin-top:3px;color:#07140d;font-size:13.5px;font-weight:900}
.projection-team-advisor-best > b{min-width:0;color:#050d08;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.025em;white-space:nowrap}
.projection-team-advisor-best > b .projection-team-kpi-money > small{font-size:.62em;font-weight:900;opacity:.92}
.projection-team-advisor-forecast{margin-top:10px;padding:9px 10px;border:1px solid #e3e9e1;border-radius:10px;background:#fafcf9;--conversion-tone:var(--advisor-tone)}
.projection-team-advisor-forecast.is-good{--conversion-tone:var(--performance-good)}
.projection-team-advisor-forecast.is-excellent{--conversion-tone:var(--performance-excellent)}
.projection-team-advisor-forecast.is-warning{--conversion-tone:var(--performance-warning)}
.projection-team-advisor-forecast.is-risk{--conversion-tone:var(--performance-risk)}
.projection-team-advisor-forecast.is-neutral{--conversion-tone:#98a29b}
.projection-team-advisor-forecast > div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#263c2e;font-size:10.5px;font-weight:900}
.projection-team-advisor-forecast > div:first-child strong{color:var(--conversion-tone);font-size:17px;font-weight:900}
.projection-team-advisor-forecast > footer{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:7px;color:#5a685f;font-size:8.5px;font-weight:750}
.projection-team-advisor-forecast > footer span,.projection-team-advisor-forecast > footer strong{min-width:0}
.projection-team-advisor-forecast > footer span b{color:#111a16;font-weight:900;white-space:nowrap}
.projection-team-advisor-forecast > footer > strong{color:var(--conversion-tone);font-weight:900;text-align:right}
.projection-team-advisor-conversion{margin-top:10px;--conversion-tone:var(--advisor-tone)}
.projection-team-advisor-conversion.is-good{--conversion-tone:var(--performance-good)}
.projection-team-advisor-conversion.is-excellent{--conversion-tone:var(--performance-excellent)}
.projection-team-advisor-conversion.is-warning{--conversion-tone:var(--performance-warning)}
.projection-team-advisor-conversion.is-risk{--conversion-tone:var(--performance-risk)}
.projection-team-advisor-conversion.is-neutral{--conversion-tone:#98a29b}
.projection-team-advisor-conversion > div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#38483e;font-size:10.5px;font-weight:850}
.projection-team-advisor-conversion > div:first-child strong{color:var(--conversion-tone);font-size:17px;font-weight:900}
.projection-team-advisor-track{height:7px;margin-top:7px;overflow:hidden;border-radius:999px;background:#e1e7df}
.projection-team-advisor-track i{display:block;height:100%;border-radius:inherit;background:var(--conversion-tone,var(--advisor-tone))}
.projection-team-advisor-gap{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid #e4e9e2}
.projection-team-advisor-gap > span{display:flex;min-width:0;align-items:center;gap:6px;color:#38483e;font-size:10.5px;font-weight:850}
.projection-team-advisor-gap > span i{display:grid;width:20px;height:20px;flex:0 0 20px;place-items:center;border-radius:7px;background:#f1f4ef;color:#718078}
.projection-team-advisor-gap > strong{color:#050d08;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.025em;white-space:nowrap}
.projection-team-advisor-gap > strong .projection-team-kpi-money > small{font-size:.62em;font-weight:900;opacity:.92}

.projection-team-evolution{padding-bottom:14px}
.projection-team-chart-legend{display:flex;align-items:center;gap:18px}
.projection-team-chart-legend > span{display:flex!important;align-items:center;gap:7px;color:#26372d!important;font-size:10px!important;font-weight:850!important;letter-spacing:0!important;text-transform:none!important}
.projection-team-chart-legend i{width:12px;height:12px;border-radius:3px;background:#4d9139}
.projection-team-chart-legend .is-goal i{background:#d79405}
.projection-team-chart-legend .is-billed i{background:#0d7183}
.projection-team-evolution-chart{min-width:0;width:100%;max-width:100%;padding:0 16px 4px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}
.projection-team-evolution-chart > svg{display:block;width:100%;min-width:1120px;height:auto;overflow:visible}
.projection-team-evolution-chart.is-single-period > svg{width:min(100%,620px);min-width:520px;margin-inline:auto}
.projection-team-chart-grid line{stroke:#dfe5dd;stroke-width:1;stroke-dasharray:3 4}
.projection-team-chart-grid text{fill:#5f6e65;font-size:9px;font-weight:700}
.projection-team-chart-future{fill:#f3f6f2;opacity:.82;stroke:none;pointer-events:none}
.projection-team-chart-future-label{fill:#78847c;font-size:8px;font-weight:750;pointer-events:none}
.projection-team-month-bar{transition:filter .18s ease,opacity .18s ease}
.projection-team-month-bar:hover{filter:brightness(.9);opacity:.88}
.projection-team-month-bar.is-goal{fill:#d79405}
.projection-team-month-bar.is-projected{fill:#4d9139}
.projection-team-month-bar.is-billed{fill:#0d7183}
.projection-team-month-group.is-future .projection-team-month-bar{opacity:.48}
.projection-team-month-rate{fill:#5c6b62;font-size:8.5px;font-weight:900}
.projection-team-month-rate.is-risk{fill:var(--performance-risk)}
.projection-team-month-rate.is-warning{fill:var(--performance-warning)}
.projection-team-month-rate.is-good{fill:var(--performance-good)}
.projection-team-month-rate.is-excellent{fill:var(--performance-excellent)}
.projection-team-month-rate.is-neutral{fill:#8b9690}
.projection-team-chart-month{fill:#26372d;font-size:10px;font-weight:850}
.projection-team-month-cards{display:grid;min-width:0;width:100%;max-width:100%;grid-auto-columns:minmax(245px,275px);grid-auto-flow:column;gap:10px;margin-top:4px;padding:10px 2px 10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-color:#85a480 #eef2ed;scrollbar-width:thin}
.projection-team-month-cards::-webkit-scrollbar{height:9px}
.projection-team-month-cards::-webkit-scrollbar-track{border-radius:999px;background:#eef2ed}
.projection-team-month-cards::-webkit-scrollbar-thumb{border:2px solid #eef2ed;border-radius:999px;background:#85a480}
.projection-team-month-card{--month-tone:#98a29b;display:flex;min-height:250px;flex-direction:column;scroll-snap-align:start;padding:13px;border:1px solid #e1e7df;border-top:3px solid var(--month-tone);border-radius:12px;background:#fff;box-shadow:0 5px 14px rgba(27,52,35,.04)}
.projection-team-month-card.is-risk{--month-tone:var(--performance-risk)}
.projection-team-month-card.is-warning{--month-tone:var(--performance-warning)}
.projection-team-month-card.is-good{--month-tone:var(--performance-good)}
.projection-team-month-card.is-excellent{--month-tone:var(--performance-excellent)}
.projection-team-month-card.is-neutral,.projection-team-month-card.is-future{--month-tone:#98a29b;background:#f8faf7}
.projection-team-month-card > header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #e5eae3}
.projection-team-month-card > header strong{color:#0d1b12;font-size:14px;font-weight:900}
.projection-team-month-card > header b{padding:5px 7px;border-radius:999px;background:color-mix(in srgb,var(--month-tone) 14%,white);color:var(--month-tone);font-size:9px;font-weight:900;white-space:nowrap}
.projection-team-month-values{display:grid;gap:7px;margin-top:10px}
.projection-team-month-values > div{padding:9px 10px;border-radius:9px;background:#f3f6f1}
.projection-team-month-values > div > span,.projection-team-month-values > div > strong{display:block}
.projection-team-month-values > div > span{color:#4d5d53;font-size:8.5px;font-weight:900;text-transform:uppercase}
.projection-team-month-values > div > strong{margin-top:4px;color:#050d08;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.025em;white-space:nowrap}
.projection-team-month-values strong .projection-team-kpi-money > small{font-size:.68em;font-weight:900;opacity:.94}
.projection-team-month-values .is-goal{box-shadow:inset 3px 0 0 #d79405}
.projection-team-month-values .is-projected{box-shadow:inset 3px 0 0 #4d9139}
.projection-team-month-values .is-billed{box-shadow:inset 3px 0 0 #0d7183}
.projection-team-month-card > footer{display:grid;gap:5px;margin-top:auto;padding-top:10px;border-top:1px solid #e5eae3}
.projection-team-month-card > footer div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.projection-team-month-card > footer span{color:#5d6b63;font-size:8px;font-weight:750}
.projection-team-month-card > footer strong{color:#14241a;font-size:9px;font-weight:900;text-align:right;white-space:nowrap}

@media(max-width:1280px){
  .projection-team-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projection-team-kpi.is-compliance{grid-column:span 2}
  .projection-team-channels{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .projection-team-channel-card,
  .projection-team-channel-card:first-child,
  .projection-team-channel-card:last-child{border:1px solid #e5eae3;border-radius:11px}
  .projection-team-advisors{grid-template-columns:repeat(2,minmax(310px,1fr));overflow-x:auto}
}

@media(max-width:980px){
  .projection-team-topbar{align-items:stretch;gap:0}
  .projection-team-title-row{align-items:flex-start;flex-direction:column;gap:10px}
  .projection-team-sync{width:100%;flex-wrap:wrap}
  .projection-team-period-panel{right:auto;left:0}
  .projection-team-refresh{margin-left:auto}
  .projection-team-channels{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .projection-team-channel-card,
  .projection-team-channel-card:first-child,
  .projection-team-channel-card:nth-child(2),
  .projection-team-channel-card:last-child{border:1px solid #e5eae3;border-top:3px solid var(--channel-color);border-radius:11px}
  .projection-team-advisors{grid-template-columns:repeat(2,minmax(245px,1fr))}
}

@media(max-width:680px){
  .projection-team-dashboard{border-radius:14px}
  .projection-team-topbar{padding:0}
  .projection-team-title-row{padding:13px 14px 9px}
  .projection-team-brand{align-items:center;flex-direction:row;gap:10px;padding:0}
  .projection-team-brand > span{padding-left:0;border-left:0}
  .projection-team-sync > #projectionHeroUpdated{width:100%;order:3}
  .projection-team-period-panel{position:fixed;top:auto;right:14px;bottom:18px;left:14px;width:auto}
  .projection-team-refresh{margin-left:0}
  .projection-team-tabs{justify-content:flex-start;padding:0 8px}
  .projection-team-tab{flex-basis:142px;width:142px;min-width:142px;max-width:142px;padding:9px 13px}
  .projection-team-body{padding:9px}
  .projection-team-kpis{grid-template-columns:1fr}
  .projection-team-kpi.is-compliance{grid-column:1}
  .projection-team-compliance-stages{grid-template-columns:1fr}
  .projection-team-compliance-stage + .projection-team-compliance-stage{margin-top:10px;padding-top:10px;padding-left:0;border-top:1px solid #e2e8e0;border-left:0}
  .projection-team-kpi{min-height:112px}
  .projection-team-channel-panel > header,
  .projection-team-performance > header,
  .projection-team-evolution > header{align-items:flex-start;flex-direction:column;gap:6px}
  .projection-team-channel-panel > header > small,
  .projection-team-performance > header > small{text-align:left}
  .projection-team-channels{grid-template-columns:1fr}
  .projection-team-channel-card,
  .projection-team-channel-card:first-child,
  .projection-team-channel-card:nth-child(2),
  .projection-team-channel-card:nth-child(3),
  .projection-team-channel-card:last-child{border:1px solid #e5eae3;border-top:3px solid var(--channel-color);border-radius:10px}
  .projection-team-advisors{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}
  .projection-team-advisor-card{width:min(88vw,360px);min-width:min(88vw,360px);scroll-snap-align:start}
  .projection-team-evolution > header{padding-bottom:4px}
  .projection-team-chart-legend{gap:10px;flex-wrap:wrap}
  .projection-team-chart-summary{align-items:flex-end;flex-direction:column;gap:4px}
}

@media(max-width:430px){
  .projection-team-period-panel{grid-template-columns:1fr;max-height:calc(100vh - 36px);overflow-y:auto}
}

@media(max-width:1460px){
  .projection-team-sync > #projectionHeroUpdated{display:none}
}

@media(max-width:1320px){
  .projection-team-sync > small{display:none}
}

@media(max-width:760px){
  .projection-team-sync{gap:7px}
  .projection-team-sync .projection-live-source{min-height:32px;padding-inline:9px}
  .projection-team-sync .projection-team-refresh{min-height:32px;padding-inline:9px}
}

/* Proyeccion comercial v15: hoja de vida individual del asesor */
.projection-advisor-profile{
  display:grid;
  grid-template-columns:228px minmax(0,1fr);
  gap:12px;
  min-width:0;
}
.projection-advisor-side{display:grid;grid-template-rows:auto minmax(140px,1fr);gap:10px;min-width:0;align-self:stretch}

.projection-profile-identity,
.projection-advisor-annual-kpi,
.projection-advisor-trajectory,
.projection-advisor-highlight,
.projection-advisor-portfolio,
.projection-advisor-insight{
  border:1px solid #e0e7de;
  background:#fff;
  box-shadow:0 8px 22px rgba(24,49,31,.045);
}

.projection-profile-identity{
  display:block;
  width:100%;
  min-width:0;
  align-self:start;
  overflow:hidden;
  padding:16px 14px;
  border-radius:13px;
  text-align:center;
}

.projection-advisor-photo-shell{
  position:relative;
  width:116px;
  margin:0 auto;
}
.projection-team-advisor-avatar.projection-advisor-profile-photo{
  width:116px;
  height:116px;
  border:4px solid #fff;
  outline:2px solid #7eb16c;
  background:linear-gradient(145deg,#e3eedf,#f6f2e8);
  color:#235433;
  font-size:27px;
  box-shadow:0 8px 20px rgba(27,61,37,.11);
}
.projection-advisor-photo-hint{
  position:absolute;
  right:-7px;
  bottom:3px;
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border:1px solid #9dbc8f;
  border-radius:50%;
  background:#fff;
  color:#2b672c;
  font-size:11px;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(20,51,29,.14);
}
.projection-advisor-photo-hint:hover{border-color:#397a39;background:#edf6e9;transform:translateY(-1px)}
.projection-advisor-photo-hint:focus-visible{outline:3px solid rgba(77,149,58,.22);outline-offset:2px}
.projection-advisor-photo-hint svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.projection-profile-identity > h2{max-width:100%;margin:14px 0 0;overflow-wrap:anywhere;color:#14271b;font-size:20px;line-height:1.12;letter-spacing:-.025em}
.projection-profile-identity > p{margin:3px 0 0;color:#66746b;font-size:10px}
.projection-advisor-year-badge{display:inline-flex;margin-top:9px;padding:5px 10px;border-radius:999px;background:#fff2cc;color:#b87100;font-size:9px;font-weight:750}
.projection-advisor-identity-list{margin-top:15px;border-top:1px solid #e4e9e2;text-align:left}
.projection-advisor-identity-list article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:11px 2px;border-bottom:1px solid #e4e9e2}
.projection-advisor-identity-list article:last-child{border-bottom:0}
.projection-advisor-identity-list article > i{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#eef4e9;color:#2d632b;font-size:12px;font-style:normal;font-weight:850}
.projection-advisor-identity-list article > i svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.projection-advisor-identity-list span,.projection-advisor-identity-list strong{display:block}
.projection-advisor-identity-list span{color:#5f6c64;font-size:9px}
.projection-advisor-identity-list strong{min-width:0;margin-top:3px;overflow-wrap:anywhere;color:#215c29;font-size:11px}
.projection-advisor-channel-chips{display:flex!important;flex-wrap:wrap;gap:5px}
.projection-advisor-channel-chips b{padding:4px 8px;border-radius:999px;background:#e8f2e2;color:#326c2b;font-size:9px;font-weight:750}
.projection-advisor-channel-chips b:nth-child(even){background:#e5f2f5;color:#17687a}

.projection-advisor-main{display:grid;gap:10px;min-width:0}
.projection-advisor-panorama-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:3px 8px}
.projection-advisor-panorama-head span{display:block;color:#76837a;font-size:8px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.projection-advisor-panorama-head h2{margin:3px 0 0;color:#17261c;font-size:20px;letter-spacing:-.025em}
.projection-advisor-panorama-controls{display:flex;align-items:flex-end;gap:14px}
.projection-advisor-year-filter{display:grid;gap:4px;min-width:112px}
.projection-advisor-year-filter select{min-height:34px;padding:6px 28px 6px 10px;border:1px solid #cad7c8;border-radius:8px;outline:0;background:#fff;color:#153222;font-size:10px;font-weight:800}
.projection-advisor-year-filter select:focus{border-color:#4d953a;box-shadow:0 0 0 3px rgba(77,149,58,.1)}
.projection-advisor-section-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid #dfe7dd;border-radius:10px;background:#f1f5ef}
.projection-advisor-section-tabs button{display:flex;min-height:36px;align-items:center;justify-content:center;gap:7px;padding:7px 12px;border:0;border-radius:7px;background:transparent;color:#5f6d64;font-size:10px;font-weight:750;cursor:pointer}
.projection-advisor-section-tabs button > span{font-size:14px}
.projection-advisor-section-tabs button > b{display:grid;min-width:21px;height:21px;place-items:center;padding:0 6px;border-radius:999px;background:#e0e7de;color:#5c6b61;font-size:8px}
.projection-advisor-section-tabs button:hover{background:#e8efe5;color:#24552e}
.projection-advisor-section-tabs button.is-active{background:linear-gradient(135deg,#0b432e,#073824);color:#fff;box-shadow:0 6px 14px rgba(10,62,42,.17)}
.projection-advisor-section-tabs button.is-active > b{background:rgba(255,255,255,.16);color:#fff}
.projection-advisor-section{display:grid;gap:10px;min-width:0}

.projection-advisor-annual-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:stretch}
.projection-advisor-annual-kpi{
  --advisor-kpi:#4f953a;
  position:relative;
  min-width:0;
  min-height:190px;
  overflow:hidden;
  padding:12px 13px;
  border-top:3px solid var(--advisor-kpi);
  border-radius:12px;
}
.projection-advisor-annual-kpi header{display:grid;grid-template-columns:36px minmax(0,1fr);gap:9px;align-items:center;min-width:0}
.projection-advisor-annual-kpi header > i{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--advisor-kpi) 14%,white);color:var(--advisor-kpi);font-size:14px;font-style:normal;font-weight:850}
.projection-advisor-annual-kpi header > i svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.projection-advisor-annual-kpi header > span{min-width:0;color:#34443a;font-size:10px;font-weight:900;line-height:1.2;text-transform:uppercase}
.projection-advisor-annual-kpi > strong,.projection-advisor-gap-summary > strong,.projection-advisor-annual-summary > strong{display:flex;min-width:0;align-items:baseline;justify-content:center;overflow:visible;margin:0;color:#050d08;font-size:clamp(20px,1.45vw,27px);font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:1.05;white-space:nowrap}
.projection-advisor-annual-kpi strong .projection-team-kpi-money{max-width:100%}
.projection-advisor-annual-kpi strong .projection-team-kpi-money > small{font-size:.62em;font-weight:900;letter-spacing:-.015em;opacity:.92}
.projection-advisor-measured-kpi{display:grid;grid-template-rows:36px 30px 72px 20px minmax(24px,auto);gap:4px;align-content:start}
.projection-advisor-measured-kpi > strong{align-self:end}
.projection-advisor-measured-kpi > small,.projection-advisor-annual-summary > small{display:block;align-self:start;margin:0;color:var(--advisor-kpi);font-size:8.5px;font-weight:800;line-height:1.3;text-align:center}
.projection-advisor-kpi-status{display:inline-flex;max-width:100%;min-height:20px;align-items:center;justify-self:start;align-self:center;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--advisor-kpi) 15%,white);color:var(--advisor-kpi);font-size:8.5px;font-weight:900;line-height:1;white-space:nowrap}
.projection-advisor-measured-kpi > .projection-advisor-kpi-status,.projection-advisor-annual-summary > .projection-advisor-kpi-status{justify-self:center}
.projection-advisor-annual-kpi.is-goal{--advisor-kpi:#dc9508}
.projection-advisor-annual-kpi.is-projected{--advisor-kpi:#4b9635}
.projection-advisor-annual-kpi.is-billed{--advisor-kpi:#14768a}
.projection-advisor-annual-kpi.is-risk{--advisor-kpi:var(--performance-risk)}
.projection-advisor-annual-kpi.is-warning{--advisor-kpi:var(--performance-warning)}
.projection-advisor-annual-kpi.is-good{--advisor-kpi:var(--performance-good)}
.projection-advisor-annual-kpi.is-excellent{--advisor-kpi:var(--performance-excellent)}
.projection-advisor-annual-kpi.is-neutral{--advisor-kpi:#758178}
.projection-advisor-semi-gauge{position:relative;width:116px;height:72px;align-self:center;justify-self:center;color:var(--advisor-kpi)}
.projection-advisor-semi-gauge svg{display:block;width:116px;height:66px;overflow:visible}
.projection-advisor-semi-gauge path{fill:none;stroke-linecap:round;stroke-width:7}
.projection-advisor-semi-track{stroke:#e4e8e2}
.projection-advisor-semi-value{stroke:currentColor}
.projection-advisor-semi-gauge > div{position:absolute;right:0;bottom:0;left:0;display:grid;gap:2px;text-align:center}
.projection-advisor-semi-gauge > div strong{color:var(--advisor-kpi);font-size:15px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.projection-advisor-semi-gauge > div small{color:#536158;font-size:6.6px;font-weight:850;line-height:1.1}
.projection-advisor-kpi-summary{grid-column:span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;border-top:0}
.projection-advisor-kpi-summary > section{display:grid;min-width:0;padding:12px 13px;box-shadow:inset 0 3px 0 var(--advisor-kpi)}
.projection-advisor-gap-summary{--advisor-kpi:var(--performance-risk);grid-template-rows:36px 30px 20px minmax(58px,auto);gap:5px;border-right:1px solid #e2e8df}
.projection-advisor-annual-summary{--advisor-kpi:#4f953a;grid-template-rows:36px 30px 72px 20px minmax(24px,auto);gap:4px}
.projection-advisor-gap-summary.is-risk,.projection-advisor-annual-summary.is-risk{--advisor-kpi:var(--performance-risk)}
.projection-advisor-gap-summary.is-warning,.projection-advisor-annual-summary.is-warning{--advisor-kpi:var(--performance-warning)}
.projection-advisor-gap-summary.is-good,.projection-advisor-annual-summary.is-good{--advisor-kpi:var(--performance-good)}
.projection-advisor-gap-summary.is-excellent,.projection-advisor-annual-summary.is-excellent{--advisor-kpi:var(--performance-excellent)}
.projection-advisor-gap-summary.is-neutral,.projection-advisor-annual-summary.is-neutral{--advisor-kpi:#758178}
.projection-advisor-gap-summary > .projection-advisor-kpi-status{justify-self:center}
.projection-advisor-gap-breakdown{display:grid;gap:3px;align-self:end;padding-top:5px;border-top:1px solid #e5eae3}
.projection-advisor-gap-breakdown > span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:baseline;min-width:0}
.projection-advisor-gap-breakdown small{color:#56645b;font-size:7.8px;font-weight:800;line-height:1.15}
.projection-advisor-gap-breakdown strong{display:flex;min-width:0;align-items:baseline;color:var(--advisor-kpi);font-size:10px;font-weight:900;line-height:1.1;white-space:nowrap}
.projection-advisor-gap-breakdown strong .projection-team-kpi-money > small{font-size:.7em}

.projection-advisor-analysis-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,295px);gap:12px;min-width:0}
.projection-advisor-trajectory{min-width:0;padding:15px;border-radius:15px}
.projection-advisor-trajectory > header,.projection-advisor-portfolio > header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.projection-advisor-trajectory > header span,.projection-advisor-portfolio > header span{display:block;color:#718078;font-size:8px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.projection-advisor-trajectory > header h3,.projection-advisor-portfolio > header h3{margin:3px 0 0;color:#17251b;font-size:15px}
.projection-advisor-trajectory .projection-team-chart-legend i{width:11px;height:11px;border-radius:3px}
.projection-advisor-trajectory-chart{margin-top:12px;overflow-x:auto;scrollbar-color:#87a884 #eef2ed;scrollbar-width:thin}
.projection-advisor-trajectory-chart::-webkit-scrollbar{height:9px}
.projection-advisor-trajectory-chart::-webkit-scrollbar-track{background:#eef2ed}
.projection-advisor-trajectory-chart::-webkit-scrollbar-thumb{border:2px solid #eef2ed;border-radius:999px;background:#87a884}
.projection-advisor-trajectory-chart svg{display:block;width:100%;min-width:1080px;height:auto}
.projection-advisor-month-bar{transition:opacity .18s ease,filter .18s ease}
.projection-advisor-month-bar:hover{filter:brightness(.9);opacity:.88}
.projection-advisor-month-bar.is-projected{fill:#4b9237}
.projection-advisor-month-bar.is-goal{fill:#dc9207}
.projection-advisor-month-bar.is-billed{fill:#117486}
.projection-advisor-month-rate{font-size:7px;font-weight:900;font-variant-numeric:tabular-nums}
.projection-advisor-month-rate.is-risk{fill:var(--performance-risk-text)}
.projection-advisor-month-rate.is-warning{fill:var(--performance-warning-text)}
.projection-advisor-month-rate.is-good{fill:var(--performance-good-text)}
.projection-advisor-month-rate.is-excellent{fill:var(--performance-excellent-text)}
.projection-advisor-month-rate.is-neutral{fill:#8b9690}
.projection-advisor-month-selected{fill:#dff0d9;opacity:.62;stroke:#6ba15c;stroke-width:1;stroke-dasharray:4 4}
.projection-team-chart-month.is-selected{fill:#24652b;font-size:9px;font-weight:900}
.projection-advisor-month-values{min-width:1080px;margin-top:8px;border:1px solid #d8e2d6;border-radius:11px;overflow:hidden;background:#fff;box-shadow:0 5px 16px rgba(30,67,38,.05)}
.projection-advisor-month-values-row{display:grid;grid-template-columns:92px repeat(12,minmax(0,1fr));min-height:34px;border-bottom:1px solid #e4ebe2}
.projection-advisor-month-values-row:last-child{border-bottom:0}
.projection-advisor-month-values-row > strong,.projection-advisor-month-values-row > span{display:flex;align-items:center;justify-content:center;min-width:0;padding:8px 5px;border-right:1px solid #e8eee6;font-size:9px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}
.projection-advisor-month-values-row > strong{position:sticky;left:0;z-index:2;justify-content:flex-start;gap:7px;background:#f5f8f3;color:#34463a;font-size:9px;font-weight:900}
.projection-advisor-month-values-row > strong i{width:9px;height:9px;flex:0 0 9px;border-radius:3px;background:#7a877f}
.projection-advisor-month-values-row > span:last-child{border-right:0}
.projection-advisor-month-values-row.is-month{min-height:31px;background:#edf4eb;color:#4f6355;font-weight:900;text-transform:uppercase}
.projection-advisor-month-values-row.is-month > strong{color:#6c786f}
.projection-advisor-month-values-row.is-projected > strong i{background:#4b9237}
.projection-advisor-month-values-row.is-goal > strong i{background:#dc9207}
.projection-advisor-month-values-row.is-billed > strong i{background:#117486}
.projection-advisor-month-values-row.is-projected > span,.projection-advisor-month-values-row.is-goal > span,.projection-advisor-month-values-row.is-billed > span{color:#111a16;font-weight:750}
.projection-advisor-month-values-row.is-rate{min-height:43px}
.projection-advisor-month-values-row.is-rate > span{display:flex;gap:2px;flex-direction:column;padding:5px 3px}
.projection-advisor-month-values-row.is-rate > span b{font-size:9px;font-variant-numeric:tabular-nums}
.projection-advisor-month-values-row.is-rate > span small{overflow:hidden;max-width:100%;font-size:5.5px;font-weight:850;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.projection-advisor-month-values-row.is-rate > span.is-risk b,.projection-advisor-month-values-row.is-rate > span.is-risk small{color:var(--performance-risk-text)}
.projection-advisor-month-values-row.is-rate > span.is-warning b,.projection-advisor-month-values-row.is-rate > span.is-warning small{color:var(--performance-warning-text)}
.projection-advisor-month-values-row.is-rate > span.is-good b,.projection-advisor-month-values-row.is-rate > span.is-good small{color:var(--performance-good-text)}
.projection-advisor-month-values-row.is-rate > span.is-excellent b,.projection-advisor-month-values-row.is-rate > span.is-excellent small{color:var(--performance-excellent-text)}
.projection-advisor-month-values-row.is-rate > span.is-neutral b,.projection-advisor-month-values-row.is-rate > span.is-neutral small{color:#87928b}
.projection-advisor-month-values-row.is-forecast-rate > strong i{background:#4b9237}
.projection-advisor-month-values-row.is-billed-rate > strong i{background:#117486}
.projection-advisor-highlights{display:grid;grid-template-rows:repeat(4,minmax(94px,1fr));gap:10px}
.projection-advisor-highlight{--highlight-color:#4d9638;position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);gap:13px;align-items:center;min-width:0;padding:15px 16px;overflow:hidden;border-radius:14px}
.projection-advisor-highlight::after{position:absolute;right:-22px;bottom:-28px;width:78px;height:78px;border-radius:50%;background:color-mix(in srgb,var(--highlight-color) 5%,transparent);content:"";pointer-events:none}
.projection-advisor-highlight > i{display:grid;width:50px;height:50px;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--highlight-color) 14%,white);color:var(--highlight-color);font-size:19px;font-style:normal;font-weight:850}
.projection-advisor-highlight > i svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}
.projection-advisor-highlight span,.projection-advisor-highlight strong,.projection-advisor-highlight small{display:block}
.projection-advisor-highlight span{color:#526158;font-size:10px;font-weight:750}
.projection-advisor-highlight strong{overflow:hidden;margin-top:4px;color:#0c1810;font-size:clamp(15px,1.05vw,18px);font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
.projection-advisor-highlight small{overflow:hidden;margin-top:5px;color:var(--highlight-color);font-size:10px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.projection-advisor-highlight.is-client{--highlight-color:#15748a}
.projection-advisor-highlight.is-warning{--highlight-color:#d48806}
.projection-advisor-highlight.is-gap{--highlight-color:#ca4660}
.projection-advisor-highlight.is-risk{--highlight-color:var(--performance-risk)}
.projection-advisor-highlight.is-good{--highlight-color:var(--performance-good)}
.projection-advisor-highlight.is-excellent{--highlight-color:var(--performance-excellent)}

.projection-advisor-portfolio{min-width:0;padding:15px;border-radius:15px}
.projection-advisor-portfolio > header > small{max-width:330px;color:#7a867e;font-size:8px;line-height:1.4;text-align:right}
.projection-advisor-portfolio-table-wrap{max-height:360px;margin-top:10px;overflow:auto;scrollbar-color:#87a884 #eef2ed;scrollbar-width:thin}
.projection-advisor-portfolio-table-wrap::-webkit-scrollbar{width:9px;height:9px}
.projection-advisor-portfolio-table-wrap::-webkit-scrollbar-track{background:#eef2ed}
.projection-advisor-portfolio-table-wrap::-webkit-scrollbar-thumb{border:2px solid #eef2ed;border-radius:999px;background:#87a884}
.projection-advisor-portfolio-table{width:100%;min-width:700px;border-collapse:collapse;font-size:9px}
.projection-advisor-portfolio-table th{position:sticky;top:0;z-index:2;padding:9px;border-bottom:1px solid #dfe5dd;background:#f4f8f2;color:#69766e;font-size:7px;letter-spacing:.07em;text-align:left;text-transform:uppercase}
.projection-advisor-portfolio-table td{padding:8px 9px;border-bottom:1px solid #e7ebe5;color:#37473d;font-variant-numeric:tabular-nums}
.projection-advisor-portfolio-table td:nth-child(3),.projection-advisor-portfolio-table td:nth-child(4),.projection-advisor-portfolio-table td:nth-child(5){color:#111a16}
.projection-advisor-portfolio-table tbody tr:nth-child(even){background:#fbfcfa}
.projection-advisor-portfolio-table tbody tr:hover{background:#f1f7ee}
.projection-advisor-portfolio-table td:first-child{display:flex;align-items:center;gap:8px;min-width:210px}
.projection-advisor-portfolio-table td:first-child b{display:grid;width:19px;height:19px;place-items:center;border-radius:50%;background:#eef3eb;color:#4b6e4d;font-size:7px}
.projection-advisor-portfolio-table td:first-child strong{overflow:hidden;max-width:230px;color:#17251b;text-overflow:ellipsis;white-space:nowrap}
.projection-advisor-portfolio-table tfoot td{position:sticky;bottom:0;z-index:1;border-top:1px solid #dfe5dd;border-bottom:0;background:#edf3eb;color:#26372b;font-weight:800}
.projection-advisor-insight{--insight-color:#d39a1c;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;padding:13px;border-radius:12px}
.projection-advisor-insight > i{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--insight-color) 14%,white);color:var(--insight-color);font-size:17px;font-style:normal;font-weight:850}
.projection-advisor-insight > i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.projection-advisor-insight span{display:block;color:#78847c;font-size:8px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.projection-advisor-insight h3{margin:4px 0 0;color:var(--insight-color);font-size:13px}
.projection-advisor-insight p{margin:7px 0 0;color:#26362c;font-size:9px;line-height:1.55}
.projection-advisor-side-insight{align-content:center;box-shadow:0 6px 18px rgba(24,49,31,.04)}
.projection-advisor-insight.is-good{--insight-color:var(--performance-good)}
.projection-advisor-insight.is-excellent{--insight-color:var(--performance-excellent)}
.projection-advisor-insight.is-warning{--insight-color:var(--performance-warning)}
.projection-advisor-insight.is-risk{--insight-color:var(--performance-risk)}
.projection-advisor-insight.is-neutral{--insight-color:#758178}

@media(max-width:1320px){
  .projection-advisor-profile{grid-template-columns:235px minmax(0,1fr)}
  .projection-advisor-annual-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .projection-advisor-kpi-summary{grid-column:1 / -1}
  .projection-advisor-analysis-grid{grid-template-columns:minmax(0,1fr) minmax(245px,260px)}
}

@media(max-width:980px){
  .projection-advisor-profile{grid-template-columns:1fr}
  .projection-profile-identity{display:block;text-align:center}
  .projection-advisor-photo-shell{width:116px;margin:0 auto}
  .projection-team-advisor-avatar.projection-advisor-profile-photo{width:116px;height:116px}
  .projection-profile-identity > h2{margin-top:20px}
  .projection-advisor-analysis-grid{grid-template-columns:1fr}
  .projection-advisor-highlights{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(94px,auto))}
  .projection-advisor-panorama-controls{width:100%;flex-wrap:wrap}
}

@media(max-width:680px){
  .projection-profile-identity{display:block;text-align:center}
  .projection-advisor-photo-shell{width:104px;margin:0 auto}
  .projection-team-advisor-avatar.projection-advisor-profile-photo{width:104px;height:104px}
  .projection-advisor-year-badge{display:inline-flex}
  .projection-advisor-identity-list{display:block;text-align:left}
  .projection-advisor-identity-list article{border-right:0}
  .projection-advisor-panorama-head{align-items:flex-start;flex-direction:column}
  .projection-advisor-panorama-controls{align-items:stretch;flex-direction:column}
  .projection-advisor-year-filter{width:100%}
  .projection-advisor-year-filter select{width:100%}
  .projection-advisor-annual-kpis{grid-template-columns:1fr}
  .projection-advisor-kpi-summary{grid-column:1;grid-template-columns:1fr}
  .projection-advisor-gap-summary{border-right:0;border-bottom:1px solid #e2e8df}
  .projection-advisor-analysis-grid{display:block}
  .projection-advisor-highlights{grid-template-columns:1fr;grid-template-rows:none;margin-top:10px}
  .projection-advisor-trajectory > header,.projection-advisor-portfolio > header{align-items:flex-start;flex-direction:column}
  .projection-advisor-portfolio > header > small{text-align:left}
}

/* Proyeccion comercial v17: general mensual del asesor */
.projection-advisor-general{
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe7dd;
  border-radius:13px;
  background:#fff;
  box-shadow:0 8px 22px rgba(24,49,31,.045);
}
.projection-advisor-general-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:13px 14px 11px;
  border-bottom:1px solid #e4e9e2;
}
.projection-advisor-general-head > div > span,
.projection-advisor-client-orders-head > div > span{
  display:block;
  color:#718078;
  font-size:8px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.projection-advisor-general-head h3{margin:3px 0 0;color:#17251b;font-size:17px;letter-spacing:-.02em}
.projection-advisor-general-head p{margin:5px 0 0;color:#75827a;font-size:9px}
.projection-advisor-client-filters{
  display:grid;
  grid-template-columns:140px 150px 170px minmax(220px,1fr) auto;
  gap:8px;
  align-items:end;
  padding:10px 14px;
  border-bottom:1px solid #e4e9e2;
  background:#f8faf7;
}
.projection-advisor-client-filters label{display:grid;gap:4px;min-width:0}
.projection-advisor-client-filters label > span{color:#68766d;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.projection-advisor-client-filters select,
.projection-advisor-client-filters input{
  width:100%;
  min-height:36px;
  padding:7px 10px;
  border:1px solid #cfdacd;
  border-radius:8px;
  outline:0;
  background:#fff;
  color:#153222;
  font:inherit;
  font-size:10px;
}
.projection-advisor-client-filters select{padding-right:30px;font-weight:700}
.projection-advisor-client-filters input::placeholder{color:#8a958e}
.projection-advisor-client-filters select:focus,
.projection-advisor-client-filters input:focus{border-color:#4d953a;box-shadow:0 0 0 3px rgba(77,149,58,.1)}
.projection-advisor-client-filters button{
  min-height:36px;
  padding:7px 12px;
  border:1px solid #cfdacd;
  border-radius:8px;
  background:#fff;
  color:#356b35;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.projection-advisor-client-filters button:hover{border-color:#79a873;background:#eff6ec}
.projection-advisor-client-orders{padding:0 14px 12px}
.projection-advisor-client-orders-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:12px 4px 8px}
.projection-advisor-client-orders-head h4{margin:3px 0 0;color:#17251b;font-size:14px}
.projection-advisor-client-orders-head > small{color:#748078;font-size:8px;text-align:right}
.projection-advisor-client-order{overflow:hidden;margin-top:8px;border:1px solid #dfe6dc;border-radius:11px;background:#fff}
.projection-advisor-client-order > summary{
  display:grid;
  grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(130px,.7fr)) 22px;
  gap:12px;
  align-items:center;
  min-height:56px;
  padding:8px 10px;
  cursor:pointer;
  list-style:none;
  background:#fbfcfa;
}
.projection-advisor-client-order > summary::-webkit-details-marker{display:none}
.projection-advisor-client-order[open] > summary{border-bottom:1px solid #dfe6dc;background:#f3f8f0}
.projection-advisor-client-order > summary > div:not(.projection-advisor-client-name) span,
.projection-advisor-client-order > summary > div:not(.projection-advisor-client-name) strong,
.projection-advisor-client-order > summary > div:not(.projection-advisor-client-name) small{display:block}
.projection-advisor-client-order > summary > div:not(.projection-advisor-client-name) span{color:#728078;font-size:7px;text-transform:uppercase}
.projection-advisor-client-order > summary > div:not(.projection-advisor-client-name) strong{overflow:hidden;margin-top:4px;color:#24402c;font-size:11px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.projection-advisor-client-order > summary > div:not(.projection-advisor-client-name) small{margin-top:3px;color:#77837b;font-size:7px}
.projection-advisor-client-order > summary > i{color:#376c35;font-size:18px;font-style:normal;transition:transform .2s ease}
.projection-advisor-client-order[open] > summary > i{transform:rotate(180deg)}
.projection-advisor-client-name{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;min-width:0}
.projection-advisor-client-name > span{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#e8f2e4;color:#2d682b;font-size:10px;font-weight:850}
.projection-advisor-client-name div{min-width:0}
.projection-advisor-client-name strong,.projection-advisor-client-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.projection-advisor-client-name strong{color:#17251b;font-size:10px}
.projection-advisor-client-name small{margin-top:4px;color:#6e7b73;font-size:7px}
.projection-advisor-client-lines-wrap{
  max-height:360px;
  overflow:auto;
  background:#fff;
  scrollbar-color:#87a884 #eef2ed;
  scrollbar-width:thin;
}
.projection-advisor-client-lines-wrap::-webkit-scrollbar{width:9px;height:9px}
.projection-advisor-client-lines-wrap::-webkit-scrollbar-track{background:#eef2ed}
.projection-advisor-client-lines-wrap::-webkit-scrollbar-thumb{border:2px solid #eef2ed;border-radius:999px;background:#87a884}
.projection-advisor-client-lines{width:100%;min-width:1180px;border-collapse:collapse;font-size:8px}
.projection-advisor-client-lines th{position:sticky;top:0;z-index:1;padding:9px 10px;border-bottom:1px solid #dfe6dc;background:#f7f9f6;color:#65736a;font-size:7px;letter-spacing:.055em;text-align:left;text-transform:uppercase;white-space:nowrap}
.projection-advisor-client-lines td{padding:9px 10px;border-bottom:1px solid #e8ece6;color:#3b4a41;font-variant-numeric:tabular-nums;vertical-align:middle;white-space:nowrap}
.projection-advisor-client-lines tbody tr:last-child td{border-bottom:0}
.projection-advisor-client-lines tbody tr:hover{background:#fafcf9}
.projection-advisor-reference{max-width:245px}
.projection-advisor-reference strong,.projection-advisor-reference span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.projection-advisor-reference strong{color:#1c3324;font-size:8px}
.projection-advisor-reference span{margin-top:3px;color:#758179;font-size:7px}
.projection-advisor-value-pair strong,.projection-advisor-value-pair span{display:block}
.projection-advisor-value-pair strong{color:#263b2c;font-size:8px}
.projection-advisor-value-pair span{margin-top:3px;color:#748078;font-size:7px}
.projection-advisor-order-state{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf2eb;color:#65736a;font-size:7px;font-weight:750}
.projection-advisor-order-state.is-inventory{background:#e7f3e2;color:#39772f}
.projection-advisor-order-state.is-production{background:#fff1d1;color:#a06a00}
.projection-advisor-order-state.is-mixed{background:#e2f1f4;color:#176d7e}
.projection-advisor-order-state.is-complete{background:#dff3e9;color:#08724f}
.projection-advisor-order-state.is-partial{background:#fff0d4;color:#965f00}
.projection-advisor-order-state.is-order,.projection-advisor-order-state.is-scheduled{background:#dff1f4;color:#126b79}
.projection-advisor-order-state.is-no-order{background:#fde6e9;color:#ae263b}
.projection-advisor-client-tabs{display:flex;gap:6px;margin:2px 0 9px;padding:2px 1px 9px;overflow-x:auto;scrollbar-color:#6f9d6d #edf2ec;scrollbar-width:auto;scroll-snap-type:x proximity}
.projection-advisor-client-tabs::-webkit-scrollbar{height:9px}
.projection-advisor-client-tabs::-webkit-scrollbar-track{border-radius:999px;background:#edf2ec}
.projection-advisor-client-tabs::-webkit-scrollbar-thumb{border:2px solid #edf2ec;border-radius:999px;background:#6f9d6d}
.projection-advisor-client-tabs button{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;width:188px;min-width:188px;min-height:48px;padding:7px 9px;border:1px solid #dfe6dd;border-radius:9px;background:#fafcf9;color:#26362c;text-align:left;cursor:pointer;scroll-snap-align:start}
.projection-advisor-client-tabs button:hover{border-color:#a8c8a0;background:#f2f7ef}
.projection-advisor-client-tabs button.is-active{border-color:#276a36;background:linear-gradient(135deg,#e7f3e2,#f8fbf7);box-shadow:inset 0 -3px #3f8a36,0 6px 13px rgba(42,99,48,.08)}
.projection-advisor-client-tabs button > span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#e7f1e3;color:#2d682b;font-size:8px;font-weight:850}
.projection-advisor-client-tabs button.is-active > span{background:#347b37;color:#fff}
.projection-advisor-client-tabs button > div{min-width:0}
.projection-advisor-client-tabs button strong,.projection-advisor-client-tabs button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.projection-advisor-client-tabs button strong{color:#17251b;font-size:9px}
.projection-advisor-client-tabs button small{margin-top:4px;color:#708078;font-size:7px}
.projection-advisor-selected-client{min-width:0}
.projection-advisor-selected-client .projection-advisor-client-order{margin-top:0}

@media(max-width:1320px){
  .projection-advisor-client-order > summary{grid-template-columns:minmax(230px,1.2fr) repeat(3,minmax(105px,.7fr)) 20px}
}

@media(max-width:980px){
  .projection-advisor-general-head{align-items:flex-start;flex-direction:column}
  .projection-advisor-client-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projection-advisor-client-filters .is-search{grid-column:1 / -1}
  .projection-advisor-client-order > summary{grid-template-columns:minmax(210px,1fr) repeat(2,minmax(110px,.65fr)) 20px}
  .projection-advisor-client-order > summary > div:nth-child(4){display:none}
}

@media(max-width:680px){
  .projection-advisor-section-tabs{grid-template-columns:1fr}
  .projection-advisor-client-filters{grid-template-columns:1fr;padding:10px}
  .projection-advisor-client-filters .is-search{grid-column:auto}
  .projection-advisor-client-filters button{width:100%}
  .projection-advisor-client-orders{padding:0 10px 10px}
  .projection-advisor-client-orders-head{align-items:flex-start;flex-direction:column}
  .projection-advisor-client-orders-head > small{text-align:left}
  .projection-advisor-client-order > summary{grid-template-columns:minmax(0,1fr) 20px;gap:8px}
  .projection-advisor-client-order > summary > div:not(.projection-advisor-client-name){display:none}
  .projection-advisor-client-tabs button{width:170px;min-width:170px}
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.45;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.hidden{display:none!important}

.login-page{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(420px,1fr) minmax(380px,520px);
  align-items:center;
  gap:clamp(34px,6vw,92px);
  padding:clamp(28px,5vw,70px);
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(5,8,6,.92) 0%,rgba(5,8,6,.72) 42%,rgba(5,8,6,.88) 100%),
    linear-gradient(180deg,rgba(5,8,6,.32),rgba(5,8,6,.74)),
    url('../../photo-1583470790878-4f4f3811a01f.avif') center/cover no-repeat,
    var(--black-950);
}

.login-page::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(214,172,85,.06) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:96px 96px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.72),transparent 64%);
}

.login-page::after{
  content:"";
  position:absolute;
  left:-18vw;
  bottom:-36vw;
  width:62vw;
  height:62vw;
  border:1px solid rgba(214,172,85,.16);
  border-radius:999px;
  pointer-events:none;
}

.login-hero-panel,
.login-access-panel{
  position:relative;
  z-index:1;
}

.login-hero-panel{
  min-height:min(760px,calc(100vh - 120px));
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.login-hero-logo{
  width:min(320px,42vw);
  height:auto;
  display:block;
  object-fit:contain;
}

.login-hero-copy{
  max-width:720px;
  padding-bottom:8vh;
}

.login-hero-copy span,
.login-card-kicker{
  display:block;
  margin-bottom:18px;
  color:#efd28a;
  font-size:11px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.login-hero-copy h1{
  margin:0;
  color:#fff;
  font-size:4.25rem;
  line-height:.94;
  letter-spacing:0;
  font-weight:900;
  text-shadow:0 16px 36px rgba(0,0,0,.45);
}

.login-hero-copy p{
  max-width:640px;
  margin:28px 0 0;
  color:rgba(255,255,255,.82);
  font-size:16px;
  line-height:1.75;
  font-weight:700;
}

.login-access-panel{
  display:grid;
  gap:20px;
  justify-items:center;
}

.login-card{
  width:min(520px,100%);
  background:linear-gradient(180deg,rgba(22,22,20,.92),rgba(14,15,13,.94));
  border-radius:24px;
  padding:38px 34px 34px;
  border:1px solid rgba(239,210,138,.18);
  box-shadow:0 30px 80px rgba(0,0,0,.44);
  backdrop-filter:blur(14px);
}

.login-brand{
  display:grid;
  gap:16px;
  margin-bottom:24px;
}

.login-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:82px;
  padding:18px 20px;
  border-radius:20px;
  background:
    linear-gradient(135deg,rgba(5,8,6,.96),rgba(15,61,46,.96));
  border:1px solid rgba(214,172,85,.34);
}

.login-logo img{
  width:min(260px,100%);
  height:auto;
  display:block;
  object-fit:contain;
}

.login-brand h1{
  margin:0;
  color:#10140e;
  font-size:26px;
  letter-spacing:0;
}

.login-brand p{
  margin:5px 0 0;
  color:#6d715d;
}

.login-card h2{
  margin:0;
  color:#fff;
  font-size:32px;
  line-height:1;
  letter-spacing:0;
}

.login-card-copy{
  margin:18px 0 28px;
  color:rgba(255,255,255,.70);
  font-size:14px;
  line-height:1.65;
  font-weight:700;
}

.login-card .form-group{
  margin:18px 0;
}

.login-card .form-group label{
  color:#efd28a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.login-card .form-control{
  min-height:50px;
  border-radius:14px;
  border-color:rgba(239,210,138,.18);
  background:rgba(255,255,255,.92);
  color:#050806;
  box-shadow:none;
}

.password-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}

.password-field .btn{
  min-height:50px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  color:#fff;
  border-color:rgba(239,210,138,.18);
}

.login-remember{
  display:flex;
  align-items:center;
  gap:9px;
  margin:12px 0 20px;
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.login-remember input{
  accent-color:var(--gold-500);
}

.login-card .btn-primary{
  min-height:52px;
  border-radius:14px;
  background:linear-gradient(135deg,#2a2b27,#151711);
  border:1px solid rgba(239,210,138,.16);
  color:#fff;
}

.login-card .btn-primary:hover{
  background:linear-gradient(135deg,var(--green-900),#151711);
}

.login-card .helper{
  margin-top:16px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(239,210,138,.18);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.78);
  font-size:12px;
  font-weight:700;
}

.login-credit{
  margin:0;
  color:rgba(239,210,138,.68);
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}

.brand-logo{
  width:48px;
  height:48px;
  border-radius:16px;
  background:var(--primary);
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:800;
}

.brand-logo-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.brand h1{margin:0;font-size:26px}
.brand p{margin:4px 0 0;color:var(--muted)}

.form-group{margin:16px 0}
.form-group label{display:block;margin-bottom:7px;font-weight:700}

.form-control{
  width:100%;
  min-height:48px;
  padding:12px 15px;
  border:1px solid #dce4d8;
  border-radius:16px;
  background:#fff;
  color:#203044;
  box-shadow:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease;
}

.form-control:focus{
  outline:none;
  border-color:var(--gold-500);
  box-shadow:0 0 0 4px rgba(214,172,85,.12),0 10px 18px rgba(32,64,48,.05);
  background:#fff;
  transform:translateY(-1px);
}

.btn{
  border:0;
  border-radius:14px;
  padding:12px 16px;
  cursor:pointer;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}

.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--green-800),var(--black-900));
  color:#fff;
  box-shadow:0 10px 22px rgba(15,61,46,.18);
  border:1px solid rgba(239,210,138,.14);
}
.btn-primary:hover{
  background:linear-gradient(135deg,var(--green-700),var(--black-900));
  box-shadow:0 12px 22px rgba(15,61,46,.22);
}
.btn-light{
  background:#fff;
  color:#1f3128;
  border:1px solid #dfe5dc;
}
.w-full{width:100%}
.helper{font-size:13px;color:var(--muted);margin-top:15px;line-height:1.45}

.layout{
  min-height:100vh;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
}

.sidebar{
  background:
    radial-gradient(circle at top left,rgba(214,172,85,.18),transparent 24%),
    radial-gradient(circle at 84% 8%,rgba(63,126,82,.22),transparent 22%),
    linear-gradient(180deg,var(--black-950) 0%,var(--green-900) 48%,#050806 100%);
  color:#fff;
  padding:18px 12px 16px;
  position:sticky;
  top:0;
  height:100vh;
  border-right:1px solid rgba(214,172,85,.18);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.03);
}

.sidebar-shell{
  display:flex;
  flex-direction:column;
  height:100%;
}

.sidebar-brand{padding:6px 6px 16px}
.sidebar-brand-logo{
  display:grid;
  gap:10px;
  align-items:start;
}

.sidebar-logo-img{
  width:156px;
  max-width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}

.sidebar .brand-logo{
  width:56px;
  height:56px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(214,172,85,.16),rgba(15,61,46,.10));
  color:var(--gold-300);
  box-shadow:none;
}
.sidebar .brand-logo svg{width:42px;height:42px}
.sidebar-title{
  font-size:24px;
  font-weight:900;
  margin:0;
  color:#f7f3df;
  letter-spacing:-.05em;
  line-height:.95;
}
.sidebar-subtitle{
  font-size:11px;
  color:rgba(239,210,138,.78);
  margin:0;
  letter-spacing:.02em;
}
.sidebar-section-label{
  margin:0 7px 7px;
  font-size:10px;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(239,210,138,.62);
}

.nav{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:10px;
}

.nav-group{
  display:grid;
  gap:0;
}

.nav-group-items{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-bottom:2px;
}

.nav a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 10px;
  border-radius:12px;
  color:#f3f0df;
  font-weight:650;
  position:relative;
  transition:background .16s ease,transform .16s ease,border-color .16s ease,box-shadow .16s ease;
  border:1px solid transparent;
}

.nav a::before{
  content:"";
  position:absolute;
  left:0;
  top:14%;
  bottom:14%;
  width:3px;
  border-radius:999px;
  background:transparent;
}

.nav a:hover{
  background:rgba(214,172,85,.08);
  border-color:rgba(214,172,85,.16);
  transform:translateX(2px);
}

.nav a.active{
  background:linear-gradient(135deg,rgba(15,61,46,.86),rgba(184,137,47,.32));
  border-color:rgba(239,210,138,.28);
  color:#fff;
  box-shadow:0 12px 24px rgba(0,0,0,.25);
}

.nav a.active::before{
  background:var(--gold-500);
  box-shadow:0 0 12px rgba(214,172,85,.48);
}

.nav-link-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#ead9a5;
  flex:0 0 18px;
}

.nav-link-icon svg{width:18px;height:18px}
.nav-link-label{
  line-height:1.2;
  font-size:13px;
}

.main{
  min-width:0;
  position:relative;
  background:var(--bg);
}

.main::before{
  display:none;
}

.topbar{
  min-height:68px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 28px;
  position:sticky;
  top:0;
  z-index:10;
}

.topbar h2{
  margin:0;
  font-size:17px;
  letter-spacing:0;
  color:#151711;
}
.topbar-context p{
  margin:4px 0 0;
  color:#748071;
  font-size:12px;
}
.topbar-tools{
  display:flex;
  align-items:center;
  gap:10px;
}
.topbar-clock{
  display:grid;
  justify-items:end;
  gap:2px;
  padding:0 4px;
  color:#1a261f;
  line-height:1.05;
}
.topbar-clock strong{
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.topbar-clock span{
  color:#687060;
  font-size:11px;
  font-weight:500;
  text-transform:capitalize;
  white-space:nowrap;
}
.topbar-icon-btn{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid #e0e5dc;
  background:#fff;
  color:#596359;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.topbar-icon-btn svg{width:17px;height:17px}
.topbar-icon-btn:hover{
  transform:translateY(-1px);
  border-color:#d6ac55;
  background:#fff;
  color:#151711;
}
.topbar-badge{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--pantone-2277c);
  color:#fff;
  border:2px solid #fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
  box-shadow:0 3px 8px rgba(7,13,10,.12);
}
.topbar-divider{
  width:1px;
  height:28px;
  margin:0 3px;
  background:#e2e7df;
}
.topbar-profile-wrap{
  position:relative;
}
.topbar-profile{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:260px;
  max-width:380px;
  padding:5px 9px 5px 5px;
  border-radius:999px;
  background:#fff;
  border:1px solid #e0e5dc;
  box-shadow:0 8px 22px rgba(7,13,10,.045);
  cursor:pointer;
  text-align:left;
  font:inherit;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.topbar-profile:hover{
  border-color:#d6ac55;
  box-shadow:0 10px 24px rgba(7,13,10,.07);
  transform:translateY(-1px);
}
.topbar-avatar{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--green-900),var(--black-900));
  color:#efd28a;
  font-weight:900;
  font-size:12px;
  letter-spacing:.02em;
  border:1px solid rgba(214,172,85,.22);
  overflow:hidden;
}
.topbar-avatar span{
  display:block;
  transform:translateY(.5px);
}
.topbar-avatar-choice{
  background:#eef3ec;
}
.topbar-avatar .avatar-figure{
  width:100%;
  height:100%;
  display:block;
}
.topbar-profile-copy{
  display:grid;
  gap:1px;
  min-width:0;
  flex:1;
}
.topbar-profile-copy strong{
  color:#18251d;
  font-size:12px;
  font-weight:750;
  line-height:1.15;
  white-space:normal;
}
.topbar-profile-copy span{
  color:#687060;
  font-size:10px;
  font-weight:600;
  line-height:1.15;
  white-space:normal;
}
.topbar-profile-caret{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#7e8b84;
  flex:0 0 16px;
}
.topbar-profile-caret svg{width:15px;height:15px}
.topbar-profile-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:180px;
  padding:7px;
  border:1px solid #dde5db;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 38px rgba(7,13,10,.14);
  z-index:25;
}
.topbar-profile-menu button{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#17231d;
  font-size:13px;
  font-weight:650;
  cursor:pointer;
  text-align:left;
}
.topbar-profile-menu button:hover{
  background:#f2f5f0;
}
.topbar-profile-menu svg{
  width:16px;
  height:16px;
}
.profile-modal{
  position:fixed;
  inset:0;
  z-index:60;
  display:grid;
  place-items:center;
  padding:24px;
}
.profile-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,13,10,.46);
  backdrop-filter:blur(4px);
}
.profile-modal-card{
  position:relative;
  z-index:1;
  width:min(560px,100%);
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:18px;
  border:1px solid #dfe8dc;
  border-radius:18px;
  background:#fff;
  box-shadow:0 26px 70px rgba(7,13,10,.22);
}
.profile-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid #e6ece2;
}
.profile-modal-head h3{
  margin:0;
  font-size:18px;
  line-height:1.1;
}
.profile-modal-head p{
  margin:5px 0 0;
  color:#6c776e;
  font-size:12px;
}
.profile-preview-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:16px 0;
}
.profile-preview-avatar{
  width:76px;
  height:76px;
  border-radius:999px;
  overflow:hidden;
  border:3px solid #eef3ec;
  background:#f5f7f4;
  display:grid;
  place-items:center;
}
.profile-preview-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.profile-preview-avatar .avatar-figure{
  width:100%;
  height:100%;
  display:block;
}
.profile-preview-avatar span{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:18px;
  font-weight:750;
  background:linear-gradient(135deg,var(--green-900),var(--black-900));
}
.profile-photo-picker input{
  display:none;
}
.profile-photo-picker span{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:1px solid #d9e3d5;
  border-radius:999px;
  background:#fff;
  color:#203044;
  font-size:12px;
  font-weight:650;
  cursor:pointer;
}
.profile-avatar-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}
.profile-avatar-option{
  display:grid;
  justify-items:center;
  gap:6px;
  padding:10px 6px;
  border:1px solid #dfe8dc;
  border-radius:14px;
  background:#fbfcfa;
  cursor:pointer;
}
.profile-avatar-option.is-selected{
  border-color:#d6ac55;
  box-shadow:0 0 0 3px rgba(214,172,85,.13);
}
.profile-avatar-option input{
  display:none;
}
.profile-avatar-option > span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  font-size:12px;
  font-weight:750;
  overflow:hidden;
  background:#eef3ec;
}
.profile-avatar-option .avatar-figure{
  width:100%;
  height:100%;
  display:block;
}
.profile-avatar-option small{
  color:#526158;
  font-size:11px;
  font-weight:600;
}
.profile-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.profile-form-grid .form-group{
  margin:0;
}
.profile-form-grid .form-group > span{
  display:block;
  margin-bottom:6px;
  color:#4a5b68;
  font-size:12px;
  font-weight:650;
}
.profile-form-full{
  grid-column:1 / -1;
}
.profile-modal-actions{
  display:flex;
  justify-content:center;
  margin-top:16px;
}
.topbar-avatar-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.content{
  position:relative;
  z-index:1;
  padding:32px 30px 44px;
}
.content > *{max-width:1460px;margin-inline:auto}

.page-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:24px;
}

.page-header h1{
  margin:0 0 6px;
  font-size:30px;
  line-height:1;
  letter-spacing:0;
  color:#11150f;
}
.page-header p{
  margin:0;
  color:#768271;
  font-size:14px;
}

.grid{display:grid;gap:18px}
.kpi-grid{grid-template-columns:repeat(4,minmax(160px,1fr));margin-bottom:20px}

.card,
.kpi-card,
.chart-card,
.table-card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:0 14px 34px rgba(7,13,10,.055);
}

.kpi-card{
  position:relative;
  display:grid;
  align-content:space-between;
  min-width:0;
  min-height:148px;
  padding:20px 22px 18px;
  overflow:hidden;
  background:#fff;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.kpi-card:hover{
  transform:translateY(-2px);
  border-color:#d8dece;
  box-shadow:0 20px 44px rgba(7,13,10,.075);
}
.kpi-card::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--green-900),var(--gold-500));
}
.kpi-card span{
  display:block;
  color:#66735f;
  font-weight:800;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.kpi-card strong{
  display:block;
  max-width:100%;
  margin-top:14px;
  color:#0f3327;
  font-size:2rem;
  line-height:1;
  letter-spacing:0;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kpi-card small{
  display:block;
  margin-top:10px;
  color:#667162;
  line-height:1.45;
  font-size:12px;
  font-weight:600;
}

.chart-grid{grid-template-columns:1.15fr .85fr}
.chart-card{
  padding:22px;
  background:#fff;
}
.chart-card h3,
.table-card h3{
  margin:0 0 16px;
  font-size:15px;
  line-height:1.2;
  letter-spacing:-.01em;
}

.filters{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
}

.filters .form-control{
  width:auto;
  min-height:38px;
  flex:1 1 136px;
  max-width:220px;
  padding:8px 11px;
  border-radius:11px;
  font-size:12px;
}

.filters input[id="q"],
.filters input[id="qEstado"],
.filters input[id="qVendedor"],
.filters input[id="qCausa"]{
  flex-basis:220px;
  max-width:320px;
}

.filters input[type="date"]{
  flex:0 1 132px;
}

.filters input[type="number"]{
  flex:0 1 130px;
}

.filters .btn{
  min-height:38px;
  padding:8px 13px;
  border-radius:11px;
  font-size:12px;
  white-space:nowrap;
}

.table-card{
  padding:22px;
  overflow:hidden;
  background:#fff;
}

.table-wrap{
  overflow:auto;
  border-radius:16px;
  border:1px solid #e7ece3;
  background:#fff;
}

.table-wrap::-webkit-scrollbar{height:10px;width:10px}
.table-wrap::-webkit-scrollbar-thumb{
  background:rgba(15,61,46,.16);
  border-radius:999px;
  border:2px solid #fff;
}
.table-wrap::-webkit-scrollbar-track{background:transparent}

table{
  width:100%;
  border-collapse:collapse;
  min-width:850px;
}

th,
td{
  padding:16px 14px;
  border-bottom:1px solid #edf0eb;
  text-align:left;
  font-size:14px;
  vertical-align:top;
}

th{
  font-size:11px;
  text-transform:uppercase;
  color:#6e7c72;
  background:#f7f9f6;
  letter-spacing:.12em;
  font-weight:800;
  position:sticky;
  top:0;
  z-index:1;
}

tbody tr{transition:background .18s ease}
tbody tr:hover td{background:#f8faf7}
tbody tr:last-child td{border-bottom:none}
tbody td:first-child{font-weight:700;color:#1f3028}
tbody td{color:#2f3d47}
.badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
  border:1px solid transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}

.badge.ok{background:#eefaf0;color:var(--ok);border-color:#d5eedb}
.badge.warn{background:#fff3e4;color:var(--warn);border-color:#ffe0bc}
.badge.bad{background:#fff0ef;color:var(--bad);border-color:#ffd6d2}
.badge.info{background:#fbf6e6;color:#8a6421;border-color:#ead9a5}

.metric-text{font-size:13px;font-weight:700;color:var(--text)}
.metric-text.muted{color:var(--muted);font-weight:600}
.plan-date{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.plan-version-token{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 6px;
  border:1px solid #d9dfd8;
  border-radius:999px;
  color:#5d6b62;
  background:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:0;
  cursor:help;
}
.status-text{
  color:#4f5f55;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.notification-feed{
  display:grid;
  gap:10px;
}
.notification-card{
  display:grid;
  grid-template-columns:5px minmax(0,1fr) auto;
  gap:14px;
  align-items:stretch;
  padding:14px;
  border:1px solid #e3e8df;
  border-radius:14px;
  background:#fff;
}
.notification-card.is-unread{
  border-color:#cfd9c9;
  background:#fbfdf9;
}
.notification-marker{
  width:5px;
  border-radius:999px;
  background:#b8c0b7;
}
.notification-marker.bad{background:var(--bad)}
.notification-marker.warn{background:var(--warn)}
.notification-marker.ok{background:var(--pantone-2277c)}
.notification-main{
  min-width:0;
}
.notification-topline{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:5px;
  color:#6d776e;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.notification-card h4{
  margin:0;
  color:#172017;
  font-size:14px;
  line-height:1.25;
}
.notification-card p{
  margin:6px 0 0;
  color:#526052;
  font-size:12px;
  line-height:1.45;
}
.notification-side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  min-width:136px;
  color:#687568;
  font-size:11px;
  font-weight:700;
  text-align:right;
}
.notification-status{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border:1px solid #dde4da;
  border-radius:999px;
  background:#fff;
  color:#50604f;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.request-form-card{
  display:grid;
  gap:16px;
}
.content:has(.request-form-modal:not(.hidden)){
  z-index:100;
}
.request-form-modal{
  position:fixed;
  top:18px;
  left:50%;
  z-index:70;
  width:min(980px,calc(100vw - 36px));
  max-height:calc(100vh - 36px);
  overflow:auto;
  padding:16px;
  transform:translateX(-50%);
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 0 0 9999px rgba(15,23,42,.48),0 22px 70px rgba(15,23,42,.22);
}
.request-modal-head{
  position:sticky;
  top:-16px;
  z-index:2;
  margin:-16px -16px 0;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.request-modal-head div{
  display:flex;
  align-items:baseline;
  gap:8px;
}
.request-modal-head strong{
  color:#14233b;
  font-size:14px;
  font-weight:650;
}
.request-modal-head span{
  color:#718096;
  font-size:12px;
  font-weight:500;
}
.request-form-card.is-dragging-file{
  outline:2px dashed rgba(23,79,61,.55);
  outline-offset:8px;
}
.request-pdf-dropzone{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  border:1px dashed #b8c8d9;
  border-radius:16px;
  background:#f8fbff;
  transition:border-color .18s ease, background .18s ease;
}
.request-pdf-dropzone.is-dragging{
  border-color:#174f3d;
  background:#eef8f2;
}
.request-pdf-dropzone input[type="file"]{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.request-pdf-dropzone > div,
.request-pdf-dropzone > button{
  position:relative;
  z-index:1;
}
.request-pdf-dropzone strong{
  display:block;
  color:#12241c;
  font-size:14px;
}
.request-pdf-dropzone p{
  margin:4px 0 0;
  color:#627265;
  font-size:12px;
  line-height:1.35;
}
.request-pdf-colors{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.request-pdf-colors span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid #d8e2ef;
  border-radius:999px;
  background:#fff;
  color:#26362d;
  font-size:11px;
  font-weight:800;
}
.request-pdf-colors .request-pdf-muted{
  color:#788579;
  font-weight:700;
}
.request-date-row{
  display:grid;
  grid-template-columns:180px 180px;
  gap:16px;
  align-items:end;
}
.request-panel{
  padding:14px;
  border:1px solid #d8e2ef;
  border-radius:16px;
  background:#fff;
}
.request-panel h3{
  margin:0 0 12px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.request-panel-client{background:#f8fbff;border-color:#cfdbe9}
.request-panel-client h3{color:#43536c}
.request-panel-commercial{background:#f4f5ff;border-color:#d9ddff}
.request-panel-commercial h3{color:#453cd0}
.request-panel-quantities{background:#fffdf4;border-color:#f3da94}
.request-panel-quantities h3{color:#b05f10}
.request-panel-base{background:#fbfdff;border-color:#d9e4ee}
.request-panel-base h3{color:#48566b}
.request-panel-handles{background:#f0fff7;border-color:#c6efd8}
.request-panel-handles h3{color:#188556}
.request-panel-production{background:#f0f9ff;border-color:#c8e7f8}
.request-panel-production h3{color:#0b74b7}
.request-panel-files{background:#f8fbff;border-color:#dbe7f4}
.request-panel-files h3{color:#31415c}
.request-grid{
  display:grid;
  gap:14px;
  align-items:end;
}
.request-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.request-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.request-grid-5{grid-template-columns:1fr 1fr 1fr .95fr .95fr}
.request-field{
  display:grid;
  gap:6px;
  min-width:0;
}
.request-field > span{
  color:#354357;
  font-size:11px;
  font-weight:800;
}
.request-field .form-control{
  width:100%;
}
.request-subpanel{
  margin-top:14px;
  padding:14px;
  border:1px solid #dce5ef;
  border-radius:14px;
  background:#f8fbff;
}
.request-subpanel > span{
  display:block;
  margin-bottom:12px;
  color:#60708a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.request-switch{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:38px;
}
.request-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.request-switch-track{
  position:relative;
  width:64px;
  height:32px;
  padding:3px 8px;
  border-radius:999px;
  background:#cbd5df;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  color:#fff;
  transition:background .18s ease;
}
.request-switch-label{
  position:relative;
  z-index:2;
  color:#fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
  text-align:center;
  transition:opacity .18s ease;
}
.request-switch-si{opacity:0}
.request-switch-no{opacity:1}
.request-switch-thumb{
  position:absolute;
  top:4px;
  left:4px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(15,23,42,.16);
  transition:transform .18s ease;
  z-index:1;
}
.request-switch input:checked + .request-switch-track{
  background:#5f9d79;
}
.request-switch input:checked + .request-switch-track .request-switch-thumb{
  transform:translateX(32px);
}
.request-switch input:checked + .request-switch-track .request-switch-si{opacity:1}
.request-switch input:checked + .request-switch-track .request-switch-no{opacity:0}
.request-textarea{
  min-height:88px;
  resize:vertical;
}
.request-actions{
  display:grid;
  grid-template-columns:180px minmax(180px,1fr) auto;
  gap:12px;
  align-items:center;
}

/* Solicitudes: formulario de captura compacto.
   Mantiene las secciones y la lectura por color, pero aprovecha el ancho del
   modal para reducir el desplazamiento vertical y dejar siempre visible la
   acción principal. */
.request-form-modal{
  top:12px;
  width:min(1180px,calc(100vw - 32px));
  max-height:calc(100dvh - 24px);
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-flow:row dense;
  gap:10px;
  padding:12px;
  border-radius:14px;
}
.request-form-modal .request-modal-head,
.request-form-modal .request-pdf-dropzone,
.request-form-modal .request-panel-files,
.request-form-modal .request-date-row,
.request-form-modal .request-panel-client,
.request-form-modal .request-panel-commercial,
.request-form-modal .request-panel-base,
.request-form-modal .request-panel-production,
.request-form-modal > .request-field,
.request-form-modal .request-actions{
  grid-column:1 / -1;
}
.request-form-modal .request-modal-head{
  top:0;
  margin:0;
  padding:8px 10px;
  border:1px solid #e1e7df;
  border-radius:10px;
  box-shadow:0 5px 14px rgba(15,23,42,.04);
}
.request-form-modal .request-modal-head strong{font-size:13px}
.request-form-modal .request-modal-head span{font-size:10px}
.request-form-modal .request-pdf-dropzone{
  gap:12px;
  padding:11px 13px;
  border-radius:12px;
}
.request-form-modal .request-pdf-dropzone strong{font-size:12px}
.request-form-modal .request-pdf-dropzone p{
  margin-top:2px;
  font-size:10px;
  line-height:1.3;
}
.request-form-modal .request-pdf-colors{
  gap:4px;
  margin-top:6px;
}
.request-form-modal .request-pdf-colors span{
  min-height:20px;
  padding:2px 7px;
  font-size:9px;
}
.request-form-modal .request-panel{
  padding:10px;
  border-radius:12px;
}
.request-form-modal .request-panel h3{
  margin-bottom:8px;
  font-size:9px;
}
.request-form-modal .request-grid{gap:9px}
.request-form-modal .request-field{gap:4px}
.request-form-modal .request-field > span{font-size:9px}
.request-form-modal .request-field .form-control{
  min-height:38px;
  padding:8px 10px;
  border-radius:10px;
  font-size:11px;
}
.request-form-modal input[type="file"].form-control{padding:6px 8px}
.request-form-modal .request-date-row{
  grid-template-columns:170px 170px;
  gap:10px;
}
.request-form-modal .request-subpanel{
  margin-top:9px;
  padding:9px;
  border-radius:10px;
}
.request-form-modal .request-subpanel > span{
  margin-bottom:7px;
  font-size:9px;
}
.request-form-modal .request-switch{
  min-height:34px;
  gap:7px;
}
.request-form-modal .request-switch-track{
  width:54px;
  height:28px;
  padding:3px 6px;
}
.request-form-modal .request-switch-label{font-size:8px}
.request-form-modal .request-switch-thumb{
  top:4px;
  left:4px;
  width:20px;
  height:20px;
}
.request-form-modal .request-switch input:checked + .request-switch-track .request-switch-thumb{
  transform:translateX(26px);
}
.request-form-modal .request-textarea{min-height:58px}
.request-form-modal .request-actions{
  position:sticky;
  bottom:0;
  z-index:3;
  grid-template-columns:160px minmax(180px,1fr) auto;
  gap:9px;
  margin:0;
  padding:9px 10px;
  border-top:1px solid #e3e8e1;
  border-radius:10px;
  background:rgba(255,255,255,.97);
  box-shadow:0 -8px 18px rgba(15,23,42,.05);
  backdrop-filter:blur(8px);
}
.request-form-modal .request-actions .btn{
  min-height:38px;
  padding:8px 14px;
  border-radius:10px;
  font-size:11px;
}

@media (max-width:1100px){
  .request-form-modal{
    grid-template-columns:1fr;
    width:min(820px,calc(100vw - 24px));
  }
  .request-form-modal .request-panel-quantities,
  .request-form-modal .request-panel-handles{
    grid-column:1 / -1;
  }
  .request-form-modal .request-grid-3,
  .request-form-modal .request-grid-4,
  .request-form-modal .request-grid-5{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .request-form-modal .request-pdf-dropzone{
    flex-direction:row;
    align-items:center;
  }
}

@media (max-width:640px){
  .request-form-modal{
    top:0;
    width:100vw;
    max-height:100dvh;
    padding:10px;
    border:0;
    border-radius:0;
  }
  .request-form-modal .request-modal-head{
    top:0;
    margin:0;
  }
  .request-form-modal .request-modal-head div{
    display:grid;
    gap:1px;
  }
  .request-form-modal .request-grid-3,
  .request-form-modal .request-grid-4,
  .request-form-modal .request-grid-5,
  .request-form-modal .request-date-row,
  .request-form-modal .request-actions{
    grid-template-columns:1fr;
  }
  .request-form-modal .request-pdf-dropzone{
    align-items:flex-start;
    flex-direction:column;
  }
  .request-form-modal .request-actions{
    bottom:0;
    margin:0;
    padding:9px 10px;
  }
}
.coordinator-requests{display:grid;grid-template-columns:minmax(420px,1.3fr) minmax(360px,.8fr);min-height:calc(100vh - 72px);background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.coordinator-requests-list{padding:18px;border-right:1px solid var(--line)}
.coordinator-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.coordinator-head h3{margin:0;font-size:18px;color:#1f2d44}
.coordinator-head p,.coordinator-detail-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.coordinator-head span{color:#536484;font-weight:600;font-size:12px}
.coordinator-actions{margin-bottom:12px}
.coordinator-filters{display:grid;gap:10px;margin-bottom:18px}
.coordinator-request-cards{display:grid;gap:12px}
.coordinator-request-card{text-align:left;border:1px solid #dbe4f2;background:#fff;border-radius:12px;padding:14px;display:grid;gap:10px;cursor:pointer;color:#1f2d44;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.coordinator-request-card:hover{border-color:#b9cbe2;background:#fbfdff}
.coordinator-request-card.is-active{border-color:#5d8dff;box-shadow:inset 3px 0 0 #ff9f1c;background:#f7faff}
.request-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.request-card-code{max-width:140px;color:#576981;font-size:12px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
.request-card-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.9fr);gap:12px;align-items:start}
.request-card-main strong{color:#17253a;font-size:14px;font-weight:650;line-height:1.35}
.request-card-main small{justify-self:end;color:#52637d;font-size:12px;font-weight:600;line-height:1.35;text-align:right;overflow-wrap:anywhere}
.request-card-meta{display:flex;gap:8px;flex-wrap:wrap}
.request-card-meta span{background:#f5f7fb;border:1px solid #e1e8f2;border-radius:7px;padding:5px 8px;color:#5c6f8b;font-size:12px;font-weight:600}
.request-state-pill{flex:0 0 auto;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:650;font-style:normal;line-height:1;border:1px solid transparent}
.request-state-pill.is-complete{color:#17653d;background:#eaf8ef;border-color:#bde8cc}
.request-state-pill.is-review{color:#174a8b;background:#edf5ff;border-color:#bfdcff}
.request-state-pill.is-warning{color:#9a4b00;background:#fff6e8;border-color:#ffd79d}
.request-state-pill.is-pending{color:#5d6849;background:#f4f7ef;border-color:#dfe8d2}
.coordinator-detail{background:#f8fbff;padding:18px}
.coordinator-detail-shell{border:1px solid #d6e2f0;border-radius:14px;padding:18px;background:#fff}
.coordinator-badges{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.coordinator-badges span{border:1px solid #d9e4f2;background:#f8fbff;color:#33496b;border-radius:7px;padding:6px 9px;font-size:12px;font-weight:600}
.coordinator-summary{border:1px solid #dbe5f0;border-radius:12px;padding:16px;margin-top:14px}
.coordinator-summary h4{margin:0 0 12px;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:#1f2d44}
.coordinator-detail-actions{display:flex;justify-content:center;margin:14px 0 0}
.detail-tabs{display:grid;gap:12px}
.detail-tab-radio{position:absolute;opacity:0;pointer-events:none}
.detail-tab-list{
  display:flex;
  gap:0;
  flex-wrap:wrap;
  align-items:flex-end;
  padding:0 8px;
  border-bottom:1px solid #cfdbe9;
  background:transparent;
}
.detail-tab-list label{
  position:relative;
  margin:0 -1px -1px 0;
  cursor:pointer;
  border:1px solid #d7e1ee;
  border-bottom-color:#cfdbe9;
  border-radius:10px 10px 0 0;
  padding:8px 15px;
  background:#edf2f7;
  color:#596b84;
  font-size:12px;
  font-weight:600;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.detail-tab-list label:hover{
  background:#f7faff;
  color:#26384f;
}
.detail-tab-panel{
  display:none;
  min-height:190px;
}
.detail-tab-radio:nth-of-type(1):checked ~ .detail-tab-list label:nth-child(1),
.detail-tab-radio:nth-of-type(2):checked ~ .detail-tab-list label:nth-child(2),
.detail-tab-radio:nth-of-type(3):checked ~ .detail-tab-list label:nth-child(3),
.detail-tab-radio:nth-of-type(4):checked ~ .detail-tab-list label:nth-child(4),
.detail-tab-radio:nth-of-type(5):checked ~ .detail-tab-list label:nth-child(5){
  background:#fff;
  color:#173d31;
  border-color:#cfdbe9;
  border-bottom-color:#fff;
  z-index:1;
  box-shadow:0 -1px 0 #fff inset;
}
.detail-tab-radio:nth-of-type(1):checked ~ .detail-tab-panel-0,
.detail-tab-radio:nth-of-type(2):checked ~ .detail-tab-panel-1,
.detail-tab-radio:nth-of-type(3):checked ~ .detail-tab-panel-2,
.detail-tab-radio:nth-of-type(4):checked ~ .detail-tab-panel-3,
.detail-tab-radio:nth-of-type(5):checked ~ .detail-tab-panel-4{
  display:block;
}
.detail-group{
  padding:12px 0;
  border-top:1px solid #eef2f6;
}
.detail-group:first-of-type{border-top:0;padding-top:0}
.detail-group h5{
  margin:0 0 10px;
  color:#60708a;
  font-size:10px;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.coordinator-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.coordinator-summary-grid div{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:start}
.coordinator-summary-grid span{color:#5b6b84;font-size:12px;font-weight:550}
.coordinator-summary-grid strong,.coordinator-summary p{color:#1b2a40;font-size:12px;font-weight:600;margin:0;overflow-wrap:anywhere}
.request-attachments{
  margin-top:18px;
  padding:8px 10px;
  border:1px solid #dbe5f0;
  border-radius:10px;
  background:#fbfdff;
}
.request-attachments summary{
  cursor:pointer;
  color:#33496b;
  font-size:12px;
  font-weight:650;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:28px;
}
.request-attachments summary em{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#7a8698;
  font-size:11px;
  font-style:normal;
  font-weight:600;
  white-space:nowrap;
}
.request-attachments summary svg{
  width:13px;
  height:13px;
  stroke:currentColor;
}
.request-attachments.is-ready summary em{
  color:#167247;
}
.request-attachments .coordinator-summary-grid{
  margin-top:8px;
  grid-template-columns:1fr;
  gap:4px;
}
.request-attachments .request-file-row{
  display:flex;
  grid-template-columns:none;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:4px 0;
}
.request-attachments .request-file-row span{
  flex:0 0 130px;
}
.request-attachments .request-file-row strong{
  min-width:0;
  overflow:hidden;
}
.request-attachments .request-file-row a{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.coordinator-op-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}
.coordinator-file-row{margin-top:10px;font-size:12px;font-weight:600}
@media (max-width: 980px){
  .request-date-row,
  .request-grid-3,
  .request-grid-4,
  .request-grid-5,
  .request-pdf-dropzone,
  .request-actions{
    grid-template-columns:1fr;
  }
  .request-pdf-dropzone{
    align-items:flex-start;
    flex-direction:column;
  }
  .coordinator-requests{grid-template-columns:1fr}
  .coordinator-requests-list{border-right:0;border-bottom:1px solid var(--line)}
  .coordinator-op-form,.coordinator-summary-grid{grid-template-columns:1fr}
  .coordinator-request-card{grid-template-columns:1fr}
  .detail-tab-panel{min-height:0}
}
.planilla-summary{display:inline-block;font-weight:700;color:var(--text);white-space:nowrap}

.table-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}

.pagination-info{color:#6f7b8c;font-size:13px;font-weight:700}
.pagination-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn:disabled{opacity:.55;cursor:not-allowed}
.actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.action-label-btn{
  min-height:34px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:#fff;
  color:#274235;
  cursor:pointer;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  transition:background .15s ease,border-color .15s ease,transform .15s ease,color .15s ease;
}
.action-label-btn:hover{
  background:#f3f7f1;
  border-color:#bdd2c2;
  transform:translateY(-1px);
}
.action-label-btn svg{
  width:15px;
  height:15px;
  stroke:currentColor;
}
.action-label-primary{
  background:#0d3b2f;
  border-color:#0d3b2f;
  color:#fff;
}
.action-label-primary:hover{
  background:#14533f;
  border-color:#14533f;
  color:#fff;
}
.icon-action-btn{
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:#fff;
  color:#274235;
  cursor:pointer;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,transform .15s ease,color .15s ease;
}
.icon-action-btn:hover{
  background:#f3f7f1;
  border-color:#bdd2c2;
  transform:translateY(-1px);
}
.icon-action-btn svg{
  width:15px;
  height:15px;
  stroke:currentColor;
}
.icon-action-btn.is-disabled{
  opacity:.45;
  cursor:not-allowed;
  background:#f7f9f6;
  color:#7c8a82;
}
.icon-action-btn.is-disabled:hover{
  transform:none;
  border-color:var(--line);
}
.icon-action-primary{
  background:#0d3b2f;
  border-color:#0d3b2f;
  color:#fff;
}
.icon-action-primary:hover{
  background:#14533f;
  border-color:#14533f;
  color:#fff;
}
.icon-action-danger{
  color:#b42318;
  border-color:#ffd2cc;
}
.icon-action-danger:hover{
  background:#fff1ef;
  border-color:#ffb4aa;
}

.modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.45);
  display:grid;
  place-items:center;
  padding:20px;
  z-index:50;
}

.modal{
  width:min(760px,100%);
  background:#fff;
  border-radius:20px;
  padding:22px;
  box-shadow:none;
  border:1px solid var(--border);
}

.modal-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}

.modal-header h3{margin:0}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}

.toast{
  position:fixed;
  right:18px;
  bottom:18px;
  background:#111827;
  color:#fff;
  padding:13px 16px;
  border-radius:14px;
  box-shadow:none;
  z-index:80;
}

.empty{padding:24px;text-align:center;color:var(--muted)}

.module-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  min-width:0;
  width:100%;
}

.module-kpi-band{
  margin-bottom:0;
}

.module-toolbar-card{
  padding:14px;
  border-radius:18px;
  border:1px solid var(--border);
  background:#fff;
  box-shadow:0 10px 24px rgba(7,13,10,.045);
}

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

.module-section-kicker{
  display:inline-flex;
  margin-bottom:5px;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#7b642d;
}

.module-section-head h3{
  margin:0;
  font-size:14px;
  line-height:1.1;
  letter-spacing:0;
  color:#151711;
}

.module-section-head p{
  margin:4px 0 0;
  color:#6f7b72;
  font-size:11px;
  line-height:1.3;
}

.module-filters{
  margin-bottom:0;
  padding:0;
  background:transparent;
  border:none;
  border-radius:0;
}

.module-toolbar-card .module-filters{
  padding-top:2px;
}

.module-table-card{
  padding:20px;
}

.module-table-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:14px;
}

.module-table-head h3{
  margin:0;
}

.module-table-meta{
  color:#768271;
  font-size:12px;
  font-weight:700;
  text-align:right;
}

.module-shell .kpi-card{
  min-height:148px;
  border-radius:22px;
}

.pedidos-control-strip{
  display:grid;
  grid-template-columns:minmax(220px,1.3fr) repeat(5,minmax(118px,1fr));
  gap:10px;
  align-items:stretch;
  padding:12px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(7,13,10,.045);
}

.pedidos-strip-title{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:78px;
  padding:4px 10px;
}

.pedidos-strip-title h3{
  margin:0;
  color:#111a14;
  font-size:16px;
  line-height:1.15;
}

.pedidos-strip-title p{
  margin:5px 0 0;
  color:#68756c;
  font-size:12px;
  line-height:1.3;
}

.pedido-mini-kpi{
  display:grid;
  align-content:center;
  gap:3px;
  min-height:78px;
  padding:10px 12px;
  border:1px solid #dfe6dc;
  border-left:3px solid var(--green-700);
  border-radius:14px;
  background:#fbfcfa;
}

.projection-kpi-filter{
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease;
}

.projection-kpi-filter:hover,
.projection-kpi-filter:focus-visible{
  outline:none;
  border-color:#d6ac55;
  box-shadow:0 10px 22px rgba(7,13,10,.08);
  transform:translateY(-1px);
}

.projection-kpi-filter.is-active{
  border-color:#d6ac55;
  border-left-color:var(--gold-700);
  background:#fffdf5;
  box-shadow:0 0 0 3px rgba(214,172,85,.14);
}

.pedido-mini-kpi.is-risk{
  border-left-color:var(--gold-700);
}

.pedido-mini-kpi span{
  color:#5c6a61;
  font-size:9px;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.pedido-mini-kpi strong{
  color:#07130f;
  font-size:22px;
  line-height:1;
  font-weight:650;
}

.pedido-mini-kpi small{
  color:#6f7b72;
  font-size:11px;
  line-height:1.2;
}

.pedidos-filter-panel{
  display:grid;
  gap:10px;
}

.pedidos-filter-main,
.pedidos-filter-advanced{
  display:grid;
  gap:10px;
  align-items:end;
}

.pedidos-filter-main{
  grid-template-columns:minmax(240px,1.4fr) minmax(150px,.7fr) repeat(2,minmax(148px,.6fr)) auto auto;
}

.projection-filter-main{
  grid-template-columns:minmax(280px,1.35fr) minmax(110px,.48fr) minmax(140px,.62fr) minmax(165px,.76fr) minmax(175px,.8fr) minmax(205px,.9fr) auto;
}

.projection-filter-field{
  display:grid;
  gap:5px;
  min-width:0;
}

.projection-filter-field > span{
  color:#5d6a61;
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}

.projection-filter-field .form-control{
  min-width:0;
}

.projection-filter-search{
  min-width:260px;
}

.projection-filter-actions{
  display:flex;
  align-items:end;
  gap:8px;
  min-height:69px;
}

.projection-filter-actions .btn{
  min-height:48px;
  white-space:nowrap;
}

.pedidos-filter-advanced{
  grid-template-columns:repeat(4,minmax(160px,1fr));
  padding-top:10px;
  border-top:1px solid #e6ece2;
}

.projection-workbar .pedidos-filter-advanced{
  grid-template-columns:repeat(4,minmax(150px,1fr));
}

.pedidos-search{
  min-width:240px;
}

.projection-summary-grid{
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(0,1.45fr);
  gap:14px;
}

.projection-workbar{
  display:grid;
  gap:14px;
}

.projection-view-shell{
  padding:10px;
}

.projection-view-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
}

.projection-view-tab{
  min-height:42px;
  padding:10px 14px;
  border:1px solid #dfe6dc;
  border-radius:12px;
  background:#fff;
  color:#1d2d23;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.projection-view-tab:hover{
  transform:translateY(-1px);
  border-color:#d6ac55;
}

.projection-view-tab.is-active{
  border-color:#d6ac55;
  background:#fffdf5;
  box-shadow:0 0 0 3px rgba(214,172,85,.13);
  color:#07130f;
}

.projection-view-panel.projection-summary-grid{
  grid-template-columns:1fr;
}

.projection-spreadsheet-card{
  margin-top:0;
}

.projection-spreadsheet-wrap{
  max-height:62vh;
  overflow:auto;
}

.projection-spreadsheet-table{
  min-width:2260px;
  border-collapse:separate;
  border-spacing:0;
}

.projection-spreadsheet-table th,
.projection-spreadsheet-table td{
  padding:7px 8px;
  vertical-align:middle;
}

.projection-spreadsheet-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f7faf5;
}

.projection-spreadsheet-table th:first-child,
.projection-spreadsheet-table td:first-child{
  position:sticky;
  left:0;
  z-index:1;
  background:#fff;
}

.projection-spreadsheet-table thead th:first-child{
  z-index:3;
  background:#f7faf5;
}

.projection-spreadsheet-table tbody tr.is-dirty{
  background:#fffaf0;
  box-shadow:inset 3px 0 0 #d8a640;
}

.projection-spreadsheet-table tbody tr.is-dirty td:first-child{
  background:#fffaf0;
}

.projection-sheet-input{
  width:100%;
  min-height:34px;
  border:1px solid transparent;
  border-radius:6px;
  background:#fff;
  color:#1f2a22;
  font:inherit;
  font-size:12px;
  padding:7px 8px;
  outline:none;
}

.projection-sheet-input:hover{
  border-color:#d8e3d4;
}

.projection-sheet-input:focus{
  border-color:#75a078;
  box-shadow:0 0 0 2px rgba(117,160,120,.14);
}

.projection-cell-xs{min-width:74px}
.projection-cell-sm{min-width:108px}
.projection-cell-md{min-width:146px}
.projection-cell-lg{min-width:220px}
.projection-cell-xl{min-width:260px}

.projection-readonly{
  color:#425044;
  font-size:12px;
  font-weight:650;
  white-space:nowrap;
  background:#f9fbf8;
}

.projection-entry-card,
.projection-import-details{
  display:grid;
  gap:14px;
}

.projection-entry-card summary,
.projection-import-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  cursor:pointer;
  list-style:none;
}

.projection-entry-card summary::-webkit-details-marker,
.projection-import-details summary::-webkit-details-marker{
  display:none;
}

.projection-entry-card summary strong,
.projection-import-details summary strong{
  display:block;
  color:#17261d;
  font-size:15px;
}

.projection-entry-card summary small,
.projection-import-details summary small{
  color:#6b776d;
  font-size:12px;
}

.projection-entry-card[open] summary,
.projection-import-details[open] summary{
  padding-bottom:12px;
  border-bottom:1px solid #e5ece2;
}

.projection-form-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.projection-import-panel{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid #dfe7d9;
  border-radius:10px;
  background:#fbfdf9;
}

.projection-import-panel h4{
  margin:2px 0 4px;
  color:#17261d;
  font-size:15px;
}

.projection-import-panel p,
.projection-import-panel small{
  margin:0;
  color:#667366;
  font-size:12px;
  line-height:1.45;
}

.projection-import-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.projection-import-upload{
  position:relative;
  overflow:hidden;
}

.projection-import-upload input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}

.projection-form-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.projection-form-wide{
  grid-column:span 2;
}

.projection-form-full{
  grid-column:1 / -1;
}

.projection-form-full textarea{
  min-height:72px;
  resize:vertical;
}

.projection-row-actions{
  display:flex;
  gap:8px;
  align-items:center;
  white-space:nowrap;
}

.projection-row-actions .btn{
  padding:8px 10px;
  font-size:12px;
}

.projection-panel{
  min-width:0;
  padding:18px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 24px rgba(7,13,10,.045);
}

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

.projection-panel-head h3{
  margin:0;
  font-size:16px;
  line-height:1.15;
}

.projection-panel-head small{
  color:#718077;
  font-size:11px;
  font-weight:700;
  text-align:right;
}

.projection-month-list{
  display:grid;
  gap:12px;
}

.projection-month-chart{
  padding:14px;
  border:1px solid #e4ebdf;
  border-radius:12px;
  background:#fff;
}

.projection-month-chart-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.projection-month-chart-head span{
  color:#132019;
  font-size:14px;
  font-weight:850;
}

.projection-month-chart-head strong{
  color:#6c796f;
  font-size:10px;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.projection-month-bars{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:8px;
}

.projection-month-axis{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-self:start;
  height:178px;
  margin-top:8px;
  color:#6c796f;
  font-size:10px;
}

.projection-month-axis span{
  line-height:1;
}

.projection-month-plot{
  position:relative;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(76px,1fr);
  gap:18px;
  min-height:230px;
  overflow-x:auto;
  padding:0 10px;
  border-left:1px solid #e2e9df;
  border-bottom:1px solid #dfe7dc;
  background:
    linear-gradient(to right, transparent 0, transparent 99%, #edf2ea 100%),
    repeating-linear-gradient(to top, transparent 0, transparent calc(25% - 1px), #edf2ea calc(25% - 1px), #edf2ea 25%);
}

.projection-month-bar-item{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:minmax(168px,1fr) auto auto;
  gap:5px;
  align-items:end;
  min-width:0;
  padding-top:8px;
  text-align:center;
}

.projection-month-column-track{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  height:178px;
}

.projection-month-column{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:min(50px,78%);
  min-height:24px;
  overflow:hidden;
  border-radius:4px 4px 0 0;
  background:linear-gradient(180deg,#2cc4dd 0%,#14a9c0 100%);
  box-shadow:0 7px 16px rgba(10,128,149,.16);
}

.projection-month-column::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(7,103,121,.38);
  clip-path:polygon(0 0,52% 100%,0 100%);
}

.projection-month-column span{
  position:relative;
  z-index:1;
  padding-top:8px;
  color:#fff;
  font-size:13px;
  font-weight:900;
}

.projection-month-column.is-empty{
  min-height:8px;
  overflow:visible;
  background:#dfe7dc;
  box-shadow:none;
}

.projection-month-column.is-empty::after{
  display:none;
}

.projection-month-column.is-empty span{
  position:absolute;
  top:-24px;
  color:#6c796f;
  padding:0;
}

.projection-month-bar-item strong{
  color:#132019;
  font-size:11px;
  line-height:1.15;
}

.projection-month-bar-item small{
  color:#6c796f;
  font-size:10px;
  line-height:1.15;
}

.projection-month-row{
  display:grid;
  grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);
  gap:18px;
  align-items:stretch;
  padding:16px 0;
  border-top:1px solid #edf1ea;
}

.projection-month-row:first-child{
  border-top:none;
}

.projection-month-main{
  display:grid;
  align-content:start;
  gap:8px;
}

.projection-month-main strong{
  display:block;
  color:#132019;
  font-size:15px;
}

.projection-month-values span,
.projection-month-values small{
  color:#6c796f;
  font-size:11px;
}

.projection-month-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.projection-month-facts span{
  display:grid;
  gap:3px;
  min-width:0;
  padding:8px;
  border:1px solid #e4ebdf;
  border-radius:10px;
  background:#fbfdf9;
}

.projection-month-facts small{
  color:#6c796f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.projection-month-facts b{
  color:#132019;
  font-size:13px;
  line-height:1.15;
}

.projection-month-values{
  display:grid;
  gap:12px;
}

.projection-month-total{
  display:grid;
  grid-template-columns:auto minmax(120px,1fr) auto;
  align-items:baseline;
  gap:8px 12px;
}

.projection-month-total b{
  color:#0c1711;
  font-size:16px;
  text-align:right;
}

.projection-month-total span{
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.projection-month-total small{
  font-weight:800;
  text-align:right;
}

.projection-month-split{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.projection-month-metric{
  min-width:0;
  padding:10px;
  border:1px solid #e4ebdf;
  border-radius:12px;
  background:#fbfdf9;
}

.projection-month-metric-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.projection-month-metric-head strong{
  color:#132019;
  font-size:12px;
}

.projection-month-metric-head span{
  min-width:52px;
  padding:3px 7px;
  border-radius:999px;
  background:#eef5eb;
  color:#315c22;
  font-weight:850;
  text-align:center;
}

.projection-month-metric-bars{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.projection-month-mini-bar{
  display:grid;
  grid-template-rows:108px auto auto;
  gap:5px;
  min-width:0;
  text-align:center;
}

.projection-month-mini-track{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  height:108px;
  border-bottom:1px solid #dfe7dc;
  background:repeating-linear-gradient(to top, transparent 0, transparent calc(25% - 1px), #edf2ea calc(25% - 1px), #edf2ea 25%);
}

.projection-month-mini-fill{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:min(44px,82%);
  min-height:20px;
  overflow:hidden;
  border-radius:4px 4px 0 0;
  background:linear-gradient(180deg,var(--green-500),var(--green-800));
}

.projection-month-mini-fill::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(7,80,58,.28);
  clip-path:polygon(0 0,55% 100%,0 100%);
}

.projection-month-mini-fill span{
  position:relative;
  z-index:1;
  padding-top:6px;
  color:#fff;
  font-size:11px;
  font-weight:900;
}

.projection-month-mini-fill.is-empty{
  min-height:6px;
  overflow:visible;
  background:#dfe7dc;
}

.projection-month-mini-fill.is-empty::after{
  display:none;
}

.projection-month-mini-fill.is-empty span{
  position:absolute;
  top:-20px;
  color:#6c796f;
  padding:0;
}

.projection-month-mini-bar strong{
  color:#132019;
  font-size:10px;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.projection-month-mini-bar small{
  color:#6c796f;
  font-size:11px;
  font-weight:750;
  line-height:1.15;
  overflow-wrap:anywhere;
}

.projection-month-metric.is-production .projection-month-mini-fill{
  background:linear-gradient(180deg,var(--gold-500),var(--gold-700));
}

.projection-month-metric.is-production .projection-month-mini-fill::after{
  background:rgba(143,94,0,.26);
}

.projection-advisor-wrap{
  overflow:auto;
  border:1px solid #e4e9e1;
  border-radius:12px;
  background:#fff;
  scrollbar-color:#9aa29a #edf1ea;
}

.projection-advisor-table{
  width:100%;
  min-width:1180px;
  border-collapse:separate;
  border-spacing:0;
  font-variant-numeric:tabular-nums;
}

.projection-excel-summary-table{
  min-width:1320px;
}

.projection-advisor-table th,
.projection-advisor-table td{
  padding:10px 10px;
  border-top:1px solid #edf1ea;
  color:#17231b;
  font-size:12px;
  text-align:left;
  white-space:nowrap;
}

.projection-advisor-table th{
  color:#56645b;
  font-size:9px;
  font-weight:850;
  line-height:1.15;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.projection-excel-summary-table th,
.projection-excel-summary-table td{
  text-align:right;
}

.projection-excel-summary-table th:first-child,
.projection-excel-summary-table td:first-child{
  text-align:left;
  position:sticky;
  left:0;
  background:#fff;
  z-index:2;
  box-shadow:1px 0 0 #e4e9e1;
}

.projection-excel-summary-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:#f5f8f3;
  border-top:none;
  border-bottom:1px solid #e1e7dd;
  text-align:center;
}

.projection-excel-summary-table thead tr:first-child th{
  top:0;
  background:#eef4ea;
  color:#34473a;
  font-size:9px;
}

.projection-excel-summary-table thead tr:nth-child(2) th{
  top:31px;
  background:#f5f8f3;
}

.projection-excel-summary-table thead th:first-child{
  z-index:4;
  background:#f5f8f3;
  text-align:left;
}

.projection-excel-summary-table tbody td:nth-child(4),
.projection-excel-summary-table tbody td:nth-child(6),
.projection-excel-summary-table tbody td:nth-child(9),
.projection-excel-summary-table thead tr:first-child th:nth-child(2),
.projection-excel-summary-table thead tr:first-child th:nth-child(3),
.projection-excel-summary-table thead tr:first-child th:nth-child(4),
.projection-excel-summary-table thead tr:nth-child(2) th:nth-child(3),
.projection-excel-summary-table thead tr:nth-child(2) th:nth-child(5),
.projection-excel-summary-table thead tr:nth-child(2) th:nth-child(8){
  border-right:1px solid #dfe7dc;
}

.projection-advisor-name{
  min-width:172px;
  max-width:220px;
  color:#07130f;
  font-weight:750;
  overflow:hidden;
  text-overflow:ellipsis;
}

.projection-advisor-table tbody tr:hover td{
  background:#fbfdf9;
}

.projection-advisor-table tbody tr:hover td:first-child{
  background:#fbfdf9;
}

.projection-advisor-table tbody tr:nth-child(even):not(.projection-summary-total) td{
  background:#fcfdfb;
}

.projection-advisor-table tbody tr:nth-child(even):not(.projection-summary-total) td:first-child{
  background:#fcfdfb;
}

.projection-total-value{
  color:#07130f;
  font-weight:800;
}

.projection-summary-total td{
  background:#eef2eb;
  color:#0d1711;
  font-weight:850;
  border-top:2px solid #d8e0d3;
}

.projection-summary-total td:first-child{
  background:#eef2eb;
}

.projection-cumplimiento{
  display:inline-flex;
  min-width:58px;
  justify-content:center;
  padding:4px 8px;
  border-radius:999px;
  background:#eef5eb;
  color:#35661f;
  font-size:11px;
  font-weight:800;
}

.projection-good,
.projection-warn,
.projection-bad,
.projection-neutral{
  display:inline-flex;
  min-width:72px;
  justify-content:center;
  padding:3px 7px;
  border-radius:6px;
  font-weight:850;
}

.projection-soft-pill{
  display:inline-flex;
  min-width:52px;
  justify-content:center;
  padding:3px 7px;
  border-radius:999px;
  background:#eef5eb;
  color:#385a2d;
  font-size:11px;
  font-weight:800;
}

.projection-compliance-cell{
  display:grid;
  justify-items:end;
  gap:5px;
}

.projection-mini-bar{
  display:block;
  width:82px;
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:#e9eee5;
}

.projection-mini-bar i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--pantone-361c),var(--pantone-2277c));
}

@media(max-width:860px){
  .projection-advisor-wrap{
    overflow:visible;
    border:0;
    background:transparent;
  }

  .projection-advisor-table,
  .projection-excel-summary-table{
    min-width:0;
    width:100%;
    display:block;
  }

  .projection-advisor-table thead{
    display:none;
  }

  .projection-advisor-table tbody,
  .projection-advisor-table tr,
  .projection-advisor-table td{
    display:block;
    width:100%;
  }

  .projection-advisor-table tr{
    margin-bottom:12px;
    border:1px solid #e1e7dd;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
  }

  .projection-advisor-table td{
    position:static!important;
    min-width:0;
    max-width:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 12px;
    white-space:normal;
    text-align:right!important;
    border-top:1px solid #edf1ea;
    box-shadow:none!important;
  }

  .projection-advisor-table td::before{
    content:attr(data-label);
    color:#657269;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    text-align:left;
  }

  .projection-advisor-table td:first-child{
    display:block;
    padding:12px;
    background:#f5f8f3!important;
    text-align:left!important;
    border-top:0;
  }

  .projection-advisor-table td:first-child::before{
    display:none;
  }

  .projection-compliance-cell{
    justify-items:end;
  }
}

.projection-good{
  background:#dff3d9;
  color:#1f6d21;
}

.projection-warn{
  background:#fff1c7;
  color:#796000;
}

.projection-bad{
  background:#ffe0e0;
  color:#b40016;
}

.projection-neutral{
  background:#eef2eb;
  color:#425044;
}

.projection-participation{
  margin-top:16px;
  border-top:1px solid #edf1ea;
  padding-top:14px;
}

.projection-pie-card{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:18px;
  align-items:center;
}

.projection-pie{
  width:170px;
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid #dce6d8;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}

.projection-pie-legend{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
}

.projection-pie-legend span{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#465248;
  font-size:11px;
  font-weight:700;
}

.projection-pie-legend i{
  width:10px;
  height:10px;
  flex:0 0 auto;
  border-radius:3px;
}

.projection-empty{
  padding:18px 0;
  color:#718077;
  font-size:13px;
}

.projection-advisor-panel{
  padding:22px;
  background:#fbfcfa;
}

.projection-advisor-panel-head{
  align-items:center;
  margin-bottom:18px;
  padding-bottom:18px;
  border-bottom:1px solid #e6ebe3;
}

.projection-advisor-panel-head h3{
  margin-top:3px;
  font-size:20px;
}

.projection-advisor-panel-head p{
  max-width:650px;
  margin:6px 0 0;
  color:#67746b;
  font-size:12px;
  line-height:1.45;
}

.projection-advisor-period-meta{
  display:grid;
  justify-items:end;
  gap:7px;
  text-align:right;
}

.projection-advisor-period-meta strong{
  color:#223128;
  font-size:13px;
}

.projection-source-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border:1px solid #d9e6d4;
  border-radius:999px;
  background:#f0f7ed;
  color:#3f6b32;
  font-size:10px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.projection-source-badge::before{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#56a52f;
  box-shadow:0 0 0 3px rgba(86,165,47,.13);
  content:"";
}

.projection-data-alert{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-bottom:14px;
  padding:11px 13px;
  border:1px solid;
  border-radius:11px;
}

.projection-data-alert.is-warning{
  border-color:#edd99e;
  background:#fff9e8;
  color:#6d5510;
}

.projection-data-alert.is-success{
  border-color:#cce3c6;
  background:#f1f8ef;
  color:#326029;
}

.projection-data-alert-icon{
  display:grid;
  width:22px;
  height:22px;
  flex:0 0 22px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

.projection-data-alert.is-warning .projection-data-alert-icon{background:#9a7200}
.projection-data-alert.is-success .projection-data-alert-icon{background:#3d8532}

.projection-data-alert strong{
  display:block;
  font-size:12px;
}

.projection-data-alert p{
  margin:2px 0 0;
  color:inherit;
  font-size:11px;
  line-height:1.4;
  opacity:.88;
}

.projection-advisor-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:22px;
}

.projection-advisor-overview-card{
  min-width:0;
  padding:14px;
  border:1px solid #e2e8df;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(23,42,28,.035);
}

.projection-advisor-overview-card span{
  display:block;
  color:#68766d;
  font-size:10px;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.projection-advisor-overview-card strong{
  display:block;
  margin-top:8px;
  color:#142019;
  font-size:20px;
  font-variant-numeric:tabular-nums;
  line-height:1.05;
  overflow-wrap:anywhere;
}

.projection-advisor-overview-card small{
  display:block;
  margin-top:7px;
  color:#758078;
  font-size:10px;
}

.projection-advisor-overview-card.is-primary{
  border-color:#cfe0c8;
  background:linear-gradient(145deg,#f4f9f1,#fff 65%);
}

.projection-advisor-overview-card.is-risk{border-left:4px solid var(--performance-risk)}
.projection-advisor-overview-card.is-warning{border-left:4px solid var(--performance-warning)}
.projection-advisor-overview-card.is-good{border-left:4px solid var(--performance-good)}
.projection-advisor-overview-card.is-excellent{border-left:4px solid var(--performance-excellent)}
.projection-advisor-overview-card.is-risk strong,
.projection-advisor-overview-card.is-warning strong,
.projection-advisor-overview-card.is-good strong,
.projection-advisor-overview-card.is-excellent strong{color:#142019}
.projection-advisor-overview-card.is-risk small{color:var(--performance-risk-text)}
.projection-advisor-overview-card.is-warning small{color:var(--performance-warning-text)}
.projection-advisor-overview-card.is-good small{color:var(--performance-good-text)}
.projection-advisor-overview-card.is-excellent small{color:var(--performance-excellent-text)}

.projection-advisor-list-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}

.projection-advisor-list-head h4{
  margin:0;
  color:#17241b;
  font-size:14px;
}

.projection-advisor-list-head p{
  margin:3px 0 0;
  color:#718077;
  font-size:11px;
}

.projection-composition-legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

.projection-composition-legend span{
  display:flex;
  align-items:center;
  gap:5px;
  color:#68746c;
  font-size:10px;
  font-weight:750;
}

.projection-composition-legend i{
  width:8px;
  height:8px;
  border-radius:2px;
}

.projection-composition-legend .is-inventory,
.projection-advisor-composition-bar .is-inventory{background:#4b9234}
.projection-composition-legend .is-production,
.projection-advisor-composition-bar .is-production{background:#d69a27}
.projection-composition-legend .is-billed,
.projection-advisor-composition-bar .is-billed{background:#277b93}

.projection-advisor-list{
  display:grid;
  gap:10px;
}

.projection-advisor-card{
  overflow:hidden;
  border:1px solid #e1e7de;
  border-left:4px solid #d1646f;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(22,39,27,.03);
}

.projection-advisor-card.is-achieved{border-left-color:#4b9a38}
.projection-advisor-card.is-close{border-left-color:#d3a128}
.projection-advisor-card.is-no-goal,
.projection-advisor-card.is-unassigned{border-left-color:#8b9990}

.projection-advisor-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 14px;
  border-bottom:1px solid #edf1eb;
  background:#fcfdfb;
}

.projection-advisor-identity{
  display:flex;
  min-width:0;
  align-items:center;
  gap:10px;
}

.projection-advisor-avatar{
  display:grid;
  width:32px;
  height:32px;
  flex:0 0 32px;
  place-items:center;
  border-radius:9px;
  background:#eaf2e6;
  color:#3f6e32;
  font-size:11px;
  font-weight:900;
}

.projection-advisor-identity h4{
  max-width:260px;
  margin:0;
  overflow:hidden;
  color:#142019;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.projection-advisor-status{
  display:block;
  margin-top:2px;
  color:#b01d2d;
  font-size:9px;
  font-weight:850;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.projection-advisor-card.is-achieved .projection-advisor-status{color:#397b2d}
.projection-advisor-card.is-close .projection-advisor-status{color:#8a6800}
.projection-advisor-card.is-no-goal .projection-advisor-status,
.projection-advisor-card.is-unassigned .projection-advisor-status{color:#66746b}

.projection-advisor-share{
  flex:0 0 auto;
  padding:4px 8px;
  border-radius:999px;
  background:#f0f3ee;
  color:#58665d;
  font-size:9px;
  font-weight:800;
}

.projection-advisor-card-main{
  display:grid;
  grid-template-columns:minmax(230px,.75fr) minmax(440px,1.8fr);
  gap:18px;
  align-items:center;
  padding:14px;
}

.projection-advisor-result{
  min-width:0;
  padding-right:18px;
  border-right:1px solid #e8ede5;
}

.projection-advisor-result > span,
.projection-advisor-composition-title span{
  color:#6d7a71;
  font-size:9px;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.projection-advisor-result > strong{
  display:block;
  margin-top:4px;
  color:#152119;
  font-size:18px;
  font-variant-numeric:tabular-nums;
  line-height:1.1;
}

.projection-advisor-result > small{
  display:block;
  margin-top:4px;
  color:#68746c;
  font-size:10px;
  font-weight:700;
}

.projection-advisor-progress{
  height:6px;
  margin-top:11px;
  overflow:hidden;
  border-radius:999px;
  background:#edf1ea;
}

.projection-advisor-progress i{
  display:block;
  height:100%;
  border-radius:999px;
  background:#ce4554;
}

.projection-advisor-card.is-achieved .projection-advisor-progress i{background:#4b9a38}
.projection-advisor-card.is-close .projection-advisor-progress i{background:#d3a128}
.projection-advisor-card.is-no-goal .projection-advisor-progress i,
.projection-advisor-card.is-unassigned .projection-advisor-progress i{background:#8b9990}

.projection-advisor-progress-copy{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-top:5px;
}

.projection-advisor-progress-copy b{
  color:#24342a;
  font-size:11px;
  font-variant-numeric:tabular-nums;
}

.projection-advisor-progress-copy span{
  color:#747f78;
  font-size:9px;
  text-align:right;
}

.projection-advisor-composition{
  min-width:0;
}

.projection-advisor-composition-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.projection-advisor-composition-title small{
  color:#526058;
  font-size:10px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}

.projection-advisor-composition-bar{
  display:flex;
  width:100%;
  height:8px;
  margin-top:7px;
  overflow:hidden;
  border-radius:999px;
  background:#edf1ea;
}

.projection-advisor-composition-bar i{
  display:block;
  height:100%;
}

.projection-advisor-breakdown{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:9px;
}

.projection-advisor-breakdown-item{
  min-width:0;
  padding:8px 9px;
  border-radius:8px;
  background:#f7f9f6;
}

.projection-advisor-breakdown-item span{
  display:flex;
  align-items:center;
  gap:5px;
  color:#67736b;
  font-size:9px;
  font-weight:800;
}

.projection-advisor-breakdown-item span::before{
  width:6px;
  height:6px;
  border-radius:2px;
  background:#8b9990;
  content:"";
}

.projection-advisor-breakdown-item.is-inventory span::before{background:#4b9234}
.projection-advisor-breakdown-item.is-production span::before{background:#d69a27}
.projection-advisor-breakdown-item.is-billed span::before{background:#277b93}

.projection-advisor-breakdown-item strong{
  display:block;
  margin-top:4px;
  color:#1d2a21;
  font-size:12px;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}

.projection-advisor-breakdown-item small{
  display:block;
  margin-top:2px;
  overflow:hidden;
  color:#7b857e;
  font-size:8px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.projection-advisor-empty{
  display:grid;
  justify-items:center;
  gap:4px;
  padding:38px 18px;
  border:1px dashed #d8e0d5;
  border-radius:12px;
  color:#637068;
  text-align:center;
}

.projection-advisor-empty strong{font-size:13px}
.projection-advisor-empty span{font-size:11px}

@media(max-width:1050px){
  .projection-advisor-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projection-advisor-card-main{grid-template-columns:1fr}
  .projection-advisor-result{padding-right:0;padding-bottom:13px;border-right:0;border-bottom:1px solid #e8ede5}
}

@media(max-width:640px){
  .projection-advisor-panel{padding:14px}
  .projection-advisor-panel-head{display:grid;align-items:start}
  .projection-advisor-period-meta{justify-items:start;text-align:left}
  .projection-advisor-overview{grid-template-columns:1fr 1fr}
  .projection-advisor-overview-card strong{font-size:16px}
  .projection-advisor-list-head{display:grid;align-items:start}
  .projection-composition-legend{justify-content:flex-start}
  .projection-advisor-card-head{align-items:flex-start}
  .projection-advisor-share{white-space:nowrap}
  .projection-advisor-breakdown{grid-template-columns:1fr}
  .projection-advisor-breakdown-item small{white-space:normal}
}

.projection-command-hero{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  overflow:hidden;
  padding:28px 30px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:
    radial-gradient(circle at 82% -20%,rgba(174,211,92,.26),transparent 35%),
    linear-gradient(135deg,#10291d 0%,#1e4b31 58%,#2b6039 100%);
  color:#fff;
  box-shadow:0 18px 38px rgba(17,50,30,.17);
}

.projection-command-hero::after{
  position:absolute;
  right:-45px;
  bottom:-115px;
  width:290px;
  height:290px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  box-shadow:0 0 0 46px rgba(255,255,255,.025),0 0 0 92px rgba(255,255,255,.018);
  content:"";
}

.projection-command-copy,
.projection-command-actions{
  position:relative;
  z-index:1;
  min-width:0;
}

.projection-command-eyebrow{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  color:#dcebc8;
  font-size:10px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.projection-command-eyebrow i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#b6d975;
}

.projection-command-eyebrow strong{
  color:#fff;
  font-size:10px;
}

.projection-command-copy h2{
  margin:10px 0 5px;
  color:#fff;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.025em;
}

.projection-command-copy > p{
  max-width:680px;
  margin:0;
  color:#c9d9ce;
  font-size:13px;
  line-height:1.55;
}

.projection-command-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:18px;
  color:#b9ccbf;
  font-size:10px;
  font-weight:700;
}

.projection-command-meta > span{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}

.projection-command-meta b{color:#fff}

.projection-live-source{
  color:#e8f5db!important;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.projection-live-source i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#a8d45d;
  box-shadow:0 0 0 4px rgba(168,212,93,.14);
}

.projection-command-actions{
  display:flex;
  flex:0 0 auto;
  gap:9px;
}

.projection-command-actions .btn{
  min-height:44px;
  padding:10px 15px;
  border-radius:11px;
  font-size:12px;
  font-weight:800;
}

.projection-hero-primary{
  border:1px solid #b9da75;
  background:#b9da75;
  color:#17331f;
}

.projection-hero-secondary{
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08);
  color:#fff;
}

.projection-executive-kpis{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr .9fr 1fr;
  gap:10px;
  margin-top:12px;
}

.projection-exec-kpi{
  position:relative;
  min-width:0;
  padding:15px 16px;
  overflow:hidden;
  border:1px solid #e1e7de;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(26,45,31,.045);
}

.projection-exec-kpi::before{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:#cbd6c8;
  content:"";
}

.projection-exec-kpi.is-primary::before{background:#5e9f3d}
.projection-exec-kpi.is-risk::before{background:#dc6570}
.projection-exec-kpi.is-good::before{background:#5e9f3d}
.projection-exec-kpi.is-billed::before{background:#2c8399}

.projection-exec-kpi > span{
  display:block;
  color:#6f7b72;
  font-size:9px;
  font-weight:850;
  letter-spacing:.065em;
  text-transform:uppercase;
}

.projection-exec-kpi > strong{
  display:block;
  margin-top:8px;
  color:#16221a;
  font-size:20px;
  font-variant-numeric:tabular-nums;
  line-height:1.05;
  overflow-wrap:anywhere;
}

.projection-exec-kpi.is-risk > strong{color:#b92f40}
.projection-exec-kpi.is-good > strong{color:#3f8232}
.projection-exec-kpi.is-billed > strong{color:#1c6e83}

.projection-exec-kpi > small{
  display:block;
  min-height:13px;
  margin-top:7px;
  color:#7b857e;
  font-size:9px;
  line-height:1.35;
}

.projection-kpi-progress{
  display:block;
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:#e9eee6;
}

.projection-kpi-progress b{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#70a94e,#9cca5f);
}

.projection-workbar{
  margin-top:12px;
  padding:16px;
  border-radius:16px;
  box-shadow:0 5px 18px rgba(22,38,27,.035);
}

.projection-filter-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:11px;
}

.projection-filter-heading h3{
  margin:2px 0 0;
  color:#1b2b21;
  font-size:14px;
}

.projection-clear-link,
.projection-inline-link{
  padding:0;
  border:0;
  background:transparent;
  color:#4e7f37;
  font:inherit;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}

.projection-filter-main{
  grid-template-columns:minmax(260px,1.4fr) minmax(105px,.48fr) minmax(135px,.6fr) minmax(160px,.72fr) minmax(170px,.8fr) minmax(190px,.9fr) auto;
}

.projection-filter-actions{
  min-height:0;
}

.projection-filter-actions .btn{
  min-height:42px;
}

.projection-view-shell{
  margin-top:12px;
  padding:5px;
  border-color:#e4eae1;
  border-radius:14px;
  background:#f3f6f1;
  box-shadow:none;
}

.projection-view-tabs{gap:2px}

.projection-view-tab{
  min-height:38px;
  padding:9px 13px;
  border-color:transparent;
  border-radius:10px;
  background:transparent;
  color:#667269;
  font-size:11px;
}

.projection-view-tab:hover{
  transform:none;
  border-color:transparent;
  background:#e8eee5;
}

.projection-view-tab.is-active{
  border-color:#dfe7dc;
  background:#fff;
  color:#17301f;
  box-shadow:0 3px 10px rgba(25,44,30,.07);
}

.projection-executive-view{
  display:grid;
  gap:12px;
}

.projection-executive-notice{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:11px 13px;
  border:1px solid;
  border-radius:12px;
}

.projection-executive-notice > i{
  display:grid;
  width:22px;
  height:22px;
  flex:0 0 22px;
  place-items:center;
  border-radius:7px;
  color:#fff;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}

.projection-executive-notice strong,
.projection-executive-notice span{display:block}
.projection-executive-notice strong{font-size:11px}
.projection-executive-notice span{margin-top:2px;font-size:10px;opacity:.85}
.projection-executive-notice.is-warning{border-color:#ecd99d;background:#fff9e9;color:#705714}
.projection-executive-notice.is-warning > i{background:#a57b08}
.projection-executive-notice.is-success{border-color:#cbe2c5;background:#f2f8ef;color:#34612b}
.projection-executive-notice.is-success > i{background:#448c35}
.projection-executive-notice.is-neutral{border-color:#dde5da;background:#f6f8f5;color:#526058}
.projection-executive-notice.is-neutral > i{background:#718078}

.projection-executive-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
  grid-template-areas:"trend composition" "ranking health";
  gap:12px;
  align-items:start;
}

.projection-insight-card{
  min-width:0;
  padding:18px;
  border:1px solid #e1e7de;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 18px rgba(24,42,29,.04);
}

.projection-trend-card{grid-area:trend}
.projection-composition-card{grid-area:composition}
.projection-ranking-card{grid-area:ranking}
.projection-health-card{grid-area:health}

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

.projection-insight-head h3{
  margin:3px 0 0;
  color:#18271d;
  font-size:15px;
}

.projection-insight-head p{
  margin:4px 0 0;
  color:#7a857d;
  font-size:10px;
}

.projection-insight-chip{
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  background:#eef4ea;
  color:#4c6d42;
  font-size:9px;
  font-weight:800;
}

.projection-executive-trend{
  display:grid;
  gap:11px;
}

.projection-trend-row{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:12px;
  align-items:center;
}

.projection-trend-label strong,
.projection-trend-label span{display:block}
.projection-trend-label strong{color:#1c2a21;font-size:11px}
.projection-trend-label span{margin-top:2px;color:#849087;font-size:8px}

.projection-trend-values,
.projection-trend-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.projection-trend-values strong{color:#223128;font-size:10px;font-variant-numeric:tabular-nums}
.projection-trend-values span,.projection-trend-foot span{color:#859087;font-size:8px}
.projection-trend-foot b{color:#4e5d53;font-size:9px}

.projection-trend-values strong,
.projection-trend-values span,
.projection-trend-foot span{
  min-width:0;
  overflow-wrap:anywhere;
}

.projection-trend-track{
  height:7px;
  margin:5px 0 3px;
  overflow:hidden;
  border-radius:999px;
  background:#edf1eb;
}

.projection-trend-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:#cf5966;
}

.projection-trend-row.is-good .projection-trend-track i{background:#579a3e}
.projection-trend-row.is-warning .projection-trend-track i{background:#d5a32f}
.projection-trend-row.is-neutral .projection-trend-track i{background:#89968d}

.projection-composition-visual{
  display:grid;
  justify-items:center;
  gap:17px;
}

.projection-composition-donut{
  display:grid;
  width:154px;
  aspect-ratio:1;
  place-items:center;
  border-radius:50%;
}

.projection-composition-donut > div{
  display:grid;
  width:102px;
  aspect-ratio:1;
  place-content:center;
  border-radius:50%;
  background:#fff;
  text-align:center;
  box-shadow:0 0 0 1px rgba(32,56,38,.06);
}

.projection-composition-donut span{color:#7b867e;font-size:9px;font-weight:800;text-transform:uppercase}
.projection-composition-donut strong{max-width:90px;margin-top:4px;color:#1b2b20;font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

.projection-composition-list{
  display:grid;
  width:100%;
  gap:8px;
}

.projection-composition-item{
  display:grid;
  grid-template-columns:8px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}

.projection-composition-item > i{width:8px;height:8px;border-radius:3px;background:#87948b}
.projection-composition-item.is-inventory > i{background:#4b9234}
.projection-composition-item.is-production > i{background:#d69a27}
.projection-composition-item.is-billed > i{background:#277b93}
.projection-composition-item span,.projection-composition-item strong{display:block}
.projection-composition-item span{color:#768178;font-size:8px}
.projection-composition-item strong{margin-top:1px;color:#26352b;font-size:10px;font-variant-numeric:tabular-nums}
.projection-composition-item > b{color:#526058;font-size:9px}

.projection-coverage-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:15px;
  padding-top:12px;
  border-top:1px solid #e9eee7;
}

.projection-coverage-note span{color:#748078;font-size:9px}
.projection-coverage-note strong{color:#2f6530;font-size:11px}

.projection-executive-advisors,
.projection-executive-health{display:grid;gap:8px}

.projection-rank-row{
  display:grid;
  grid-template-columns:20px 30px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid #eef2ec;
}

.projection-rank-row:last-child{border-bottom:0}
.projection-rank-position{color:#98a29b;font-size:9px;font-weight:850;text-align:center}
.projection-rank-avatar{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#eef4ea;color:#4a753a;font-size:9px;font-weight:900}
.projection-rank-main{min-width:0}
.projection-rank-main > div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}
.projection-rank-main strong{overflow:hidden;color:#243229;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.projection-rank-main span{flex:0 0 auto;color:#89938c;font-size:8px}
.projection-rank-track{height:4px;margin-top:5px;overflow:hidden;border-radius:999px;background:#edf1eb}
.projection-rank-track i{display:block;height:100%;border-radius:999px;background:#cf5966}
.projection-rank-row.is-good .projection-rank-track i{background:#56993e}
.projection-rank-row.is-warning .projection-rank-track i{background:#d5a32f}
.projection-rank-row.is-neutral .projection-rank-track i{background:#89968d}
.projection-rank-value{text-align:right}
.projection-rank-value strong,.projection-rank-value span{display:block}
.projection-rank-value strong{color:#213027;font-size:10px;font-variant-numeric:tabular-nums}
.projection-rank-value span{margin-top:2px;color:#758078;font-size:8px;font-weight:800}

.projection-health-item{
  display:grid;
  grid-template-columns:9px minmax(0,1fr);
  gap:9px;
  padding:10px;
  border-radius:10px;
  background:#f7f9f6;
}

.projection-health-item > i{width:8px;height:8px;margin-top:3px;border-radius:50%;background:#839088;box-shadow:0 0 0 4px rgba(131,144,136,.1)}
.projection-health-item.is-good > i{background:#5b9f43;box-shadow:0 0 0 4px rgba(91,159,67,.1)}
.projection-health-item.is-warning > i{background:#d09d25;box-shadow:0 0 0 4px rgba(208,157,37,.1)}
.projection-health-item.is-risk > i{background:#d25764;box-shadow:0 0 0 4px rgba(210,87,100,.1)}
.projection-health-item span,.projection-health-item strong,.projection-health-item small{display:block}
.projection-health-item span{color:#7c877f;font-size:8px;font-weight:800;text-transform:uppercase}
.projection-health-item strong{margin-top:3px;color:#28362d;font-size:10px}
.projection-health-item small{margin-top:2px;color:#7c877f;font-size:8px;line-height:1.3}

.projection-period-panel{padding:22px;background:#f8faf7}
.projection-period-panel-head{align-items:center;padding-bottom:16px;border-bottom:1px solid #e4eae1}
.projection-period-panel-head h3{font-size:20px}
.projection-period-panel-head p{max-width:680px;margin:6px 0 0;color:#728078;font-size:11px}
.projection-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}

.projection-period-card{
  overflow:hidden;
  border:1px solid #e0e7dd;
  border-top:4px solid #d25865;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 16px rgba(24,42,29,.035);
}

.projection-period-card.is-good{border-top-color:#5a9d42}
.projection-period-card.is-warning{border-top-color:#d4a12d}
.projection-period-card.is-neutral{border-top-color:#8a978f}
.projection-period-card > header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid #edf1eb;background:#fcfdfb}
.projection-period-card > header span{color:#89948c;font-size:8px;font-weight:800}
.projection-period-card > header h4{margin:2px 0 0;color:#1c2a21;font-size:14px}
.projection-period-card > header b{padding:4px 7px;border-radius:999px;background:#ffe8ea;color:#a82b3a;font-size:8px;text-transform:uppercase}
.projection-period-card.is-good > header b{background:#e4f2df;color:#377b2e}
.projection-period-card.is-warning > header b{background:#fff2cf;color:#806200}
.projection-period-card.is-neutral > header b{background:#edf1eb;color:#5f6c63}
.projection-period-result{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px}
.projection-period-result span,.projection-period-result strong,.projection-period-result small{display:block}
.projection-period-result span{color:#748078;font-size:8px;font-weight:850;text-transform:uppercase}
.projection-period-result strong{margin-top:5px;color:#17251b;font-size:18px;font-variant-numeric:tabular-nums}
.projection-period-result small{margin-top:4px;color:#7d8880;font-size:8px}
.projection-period-gauge{text-align:right}
.projection-period-gauge strong{color:#bd3342;font-size:17px}
.projection-period-card.is-good .projection-period-gauge strong{color:#3e8133}
.projection-period-card.is-warning .projection-period-gauge strong{color:#896800}
.projection-period-gauge span{margin-top:3px}
.projection-period-goal{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 14px;padding:8px 0;border-top:1px solid #edf1eb;color:#68756c;font-size:9px}
.projection-period-goal strong{color:#34453a;font-size:9px}
.projection-period-composition{display:flex;height:7px;margin:3px 14px 0;overflow:hidden;border-radius:999px;background:#edf1eb}
.projection-period-composition i{display:block;height:100%}
.projection-period-composition .is-inventory{background:#4b9234}
.projection-period-composition .is-production{background:#d69a27}
.projection-period-composition .is-billed{background:#277b93}
.projection-period-components{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px 14px 14px}
.projection-period-components > div{position:relative;min-width:0;padding:8px;border-radius:8px;background:#f6f8f5}
.projection-period-components i{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:2px;background:#839088}
.projection-period-components i.is-inventory{background:#4b9234}
.projection-period-components i.is-production{background:#d69a27}
.projection-period-components i.is-billed{background:#277b93}
.projection-period-components span{color:#758078;font-size:8px;font-weight:800}
.projection-period-components strong,.projection-period-components small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.projection-period-components strong{margin-top:4px;color:#243329;font-size:10px;font-variant-numeric:tabular-nums}
.projection-period-components small{margin-top:2px;color:#89938c;font-size:7px}

.projection-spreadsheet-table{min-width:1260px}
.projection-spreadsheet-wrap{max-height:68vh;border:1px solid #e5ebe2;border-radius:12px}
.projection-spreadsheet-table thead th{padding:11px 10px;background:#f2f6ef;color:#5f6e64;font-size:9px;letter-spacing:.055em;text-transform:uppercase}
.projection-spreadsheet-table tbody td{padding:8px 10px;border-bottom:1px solid #edf1eb}
.projection-spreadsheet-table tbody tr:hover{background:#fafcf9}
.projection-period-cell{display:grid;gap:3px;min-width:112px}
.projection-period-cell small{padding-left:8px;color:#87928a;font-size:8px;font-weight:800}
.projection-client-cell{min-width:175px;max-width:235px}
.projection-client-cell strong,.projection-client-cell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.projection-client-cell strong{color:#26352b;font-size:10px}
.projection-client-cell span{margin-top:3px;color:#7a867e;font-size:8px}
.projection-row-total{color:#1c2e22;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}
.projection-delete-link{display:grid;width:28px;height:28px;place-items:center;border:1px solid #efdddf;border-radius:8px;background:#fff;color:#bd4653;font-size:17px;cursor:pointer}
.projection-row-actions{gap:5px}
.projection-row-actions .btn{padding:7px 9px;font-size:9px}

@media(max-width:1220px){
  .projection-executive-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .projection-executive-layout{grid-template-columns:1fr 1fr;grid-template-areas:"trend trend" "composition health" "ranking ranking"}
}

@media(max-width:900px){
  .projection-command-hero{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;min-width:0;padding:24px}
  .projection-command-actions{justify-content:flex-start}
  .projection-filter-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projection-filter-search{grid-column:1 / -1}
  .projection-executive-layout{grid-template-columns:1fr;grid-template-areas:"trend" "composition" "ranking" "health"}
  .projection-period-grid{grid-template-columns:1fr}
}

@media(max-width:620px){
  .projection-command-hero{padding:20px;border-radius:16px}
  .projection-command-copy h2{font-size:25px}
  .projection-command-actions{display:grid;width:100%}
  .projection-command-actions .btn{width:100%}
  .projection-executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projection-exec-kpi:first-child{grid-column:1 / -1}
  .projection-exec-kpi > strong{font-size:17px;word-break:break-word}
  .projection-command-meta > span{white-space:normal;overflow-wrap:anywhere}
  .projection-filter-main{grid-template-columns:1fr}
  .projection-filter-search{grid-column:auto}
  .projection-filter-actions .btn{width:100%}
  .projection-trend-row{grid-template-columns:65px minmax(0,1fr)}
  .projection-rank-row{grid-template-columns:18px 28px minmax(0,1fr)}
  .projection-rank-value{grid-column:3;text-align:left}
  .projection-period-panel{padding:14px}
  .projection-period-panel-head{display:grid;justify-content:start}
  .projection-period-components{grid-template-columns:1fr}
}

.pedidos-date-control{
  display:grid;
  gap:5px;
}

.pedidos-date-control span{
  color:#5b685f;
  font-size:10px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pedidos-date-control .form-control{
  min-height:40px;
}

.pedidos-table th,
.pedidos-table td{
  vertical-align:top;
}

.pedido-control-row td{
  padding-top:14px;
  padding-bottom:14px;
}

.pedido-control-row.is-expanded{
  box-shadow:inset 3px 0 0 var(--gold-500);
}

.pedido-op,
.pedido-money{
  display:block;
  color:#07130f;
  font-size:13px;
  line-height:1.2;
}

.pedido-muted{
  display:block;
  margin-top:4px;
  color:#617066;
  font-size:11px;
  line-height:1.25;
}

.pedido-main-copy{
  display:grid;
  gap:4px;
  max-width:280px;
}

.pedido-main-copy strong{
  color:#102018;
  font-size:13px;
  line-height:1.25;
}

.pedido-main-copy span{
  color:#314035;
  font-size:12px;
  line-height:1.35;
}

.pedido-signal{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border:1px solid #dfe8dc;
  border-radius:999px;
  background:#fff;
  font-size:11px;
  font-weight:750;
}

.pedido-signal-ok{background:#edf8ef;color:#217a28;border-color:#d1ecd4}
.pedido-signal-warn{background:#fff7e8;color:#90651e;border-color:#f0dfb6}
.pedido-signal-bad{background:#fff0ef;color:#b91c1c;border-color:#f3d2cf}
.pedido-signal-info{background:#eef7fb;color:#1d6581;border-color:#d3e8f1}
.pedido-signal-neutral{background:#f5f7f4;color:#617066;border-color:#dfe8dc}

.pedido-timeline{
  min-width:360px;
  display:grid;
  grid-template-columns:repeat(4,minmax(78px,1fr));
  gap:6px;
}

.pedido-timeline span{
  display:grid;
  gap:2px;
  padding:7px 8px;
  border:1px solid #e0e7dc;
  border-radius:10px;
  background:#fbfcfa;
}

.pedido-timeline small{
  color:#6d786f;
  font-size:9px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.06em;
  line-height:1.15;
}

.pedido-timeline strong{
  color:#14231b;
  font-size:11px;
  font-weight:650;
  line-height:1.15;
}

.pedido-timeline em{
  color:#90651e;
  font-size:10px;
  font-style:normal;
  font-weight:700;
}

.pedido-timeline .plan-version-token{
  min-height:18px;
  padding:1px 6px;
}

.production-live-panel{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:16px;
  box-shadow:var(--shadow-soft);
}

.production-live-tabs{
  display:flex;
  gap:8px;
  padding:4px;
  margin-bottom:14px;
  border:1px solid #dfe8dc;
  border-radius:14px;
  background:#f5f8f4;
  width:max-content;
  max-width:100%;
}

.production-live-tab{
  border:0;
  border-radius:10px;
  padding:9px 14px;
  color:#5d6b62;
  background:transparent;
  font-weight:800;
  cursor:pointer;
}

.production-live-tab.is-active{
  color:#042f24;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,45,34,.10);
}

.production-live-filter{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(190px,240px);
  gap:10px;
  margin-bottom:14px;
}

.production-live-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:12px;
}

.production-live-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.production-live-card{
  display:grid;
  gap:10px;
  min-height:142px;
  padding:12px;
  border:1px solid #dfe8dc;
  border-left:4px solid var(--green-700);
  border-radius:14px;
  background:#fbfcfa;
}

.production-live-card:only-child{
  max-width:360px;
}

.production-live-top,
.production-live-foot{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}

.production-live-top strong{
  color:#14231b;
  font-size:14px;
  line-height:1.15;
}

.production-live-top span,
.production-live-foot span,
.production-live-op span{
  color:#6d786f;
  font-size:10px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.production-live-op{
  display:grid;
  gap:2px;
}

.production-live-op b{
  color:#042f24;
  font-size:20px;
  line-height:1;
}

.production-live-card p{
  min-height:32px;
  margin:0;
  color:#334137;
  font-size:12px;
  line-height:1.35;
}

.production-op-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #dce6dc;
  border-left:4px solid #c5b56a;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,45,34,.06);
}

.production-op-card.is-complete{
  border-left-color:#4f9a24;
}

.production-op-card.is-progress{
  border-left-color:#0e7ea8;
}

.production-op-card.is-pending{
  border-left-color:#c7922b;
}

.production-op-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.production-op-card-head strong{
  display:block;
  margin-top:2px;
  color:#031d16;
  font-size:18px;
  line-height:1;
}

.production-machine-card{
  box-shadow:none;
}

.production-machine-op{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:baseline;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  background:#f3f8f3;
}

.production-machine-op span,
.production-machine-op small{
  color:#667369;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.production-machine-op b{
  color:#042f24;
  font-size:18px;
  line-height:1;
}

.production-op-label,
.production-op-metrics small,
.production-op-context small,
.production-op-cause small{
  color:#667369;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.production-op-product{
  display:grid;
  gap:4px;
  min-height:46px;
}

.production-op-product b{
  color:#10221b;
  font-size:14px;
  line-height:1.25;
}

.production-op-product span{
  color:#5f6c63;
  font-size:12px;
}

.production-op-progress{
  display:grid;
  gap:7px;
}

.production-op-progress-top{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
}

.production-op-progress-top strong{
  color:#042f24;
  font-size:22px;
  line-height:1;
}

.production-op-progress-top span{
  color:#5e6d63;
  font-size:12px;
  font-weight:750;
}

.production-op-metrics,
.production-op-context{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.production-op-metrics span,
.production-op-context span{
  display:grid;
  gap:4px;
  min-width:0;
  padding:9px 10px;
  border:1px solid #e0e9df;
  border-radius:12px;
  background:#f8fbf7;
}

.production-op-metrics b,
.production-op-context b{
  min-width:0;
  overflow:hidden;
  color:#07130f;
  font-size:13px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.production-op-cause{
  display:grid;
  gap:4px;
  padding:9px 10px;
  border-radius:12px;
  background:#fff8e7;
  color:#5f4a1e;
  font-size:12px;
  line-height:1.35;
}

.pedido-quantity{
  min-width:150px;
  display:grid;
  gap:6px;
}

.pedido-quantity div:first-child{
  display:flex;
  align-items:baseline;
  gap:5px;
}

.pedido-quantity strong{
  color:#07130f;
  font-size:13px;
}

.pedido-quantity span,
.pedido-quantity small{
  color:#617066;
  font-size:11px;
}

.pedido-progress{
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:#e7edde;
}

.pedido-progress i{
  display:block;
  height:100%;
  border-radius:999px;
  background:var(--green-700);
}

.pedido-detail-btn{
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
}

.pedido-otif-checks{
  display:flex;
  gap:8px;
  align-items:center;
  min-width:112px;
}

.pedido-check{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:30px;
  padding:0 8px;
  border:1px solid #dfe8dc;
  border-radius:999px;
  background:#fff;
}

.pedido-check b{
  color:#45564b;
  font-size:10px;
  font-weight:750;
}

.pedido-check i{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-style:normal;
  font-size:12px;
  font-weight:800;
}

.pedido-check svg{
  width:13px;
  height:13px;
}

.pedido-check-ok{
  background:#edf8ef;
  border-color:#cfebd2;
  color:#217a28;
}

.pedido-check-bad{
  background:#fff0ef;
  border-color:#f1cfcc;
  color:#b91c1c;
}

.pedido-check-muted{
  background:#f5f7f4;
  color:#8a958d;
}

.pedido-detail-row td{
  padding:0 12px 14px;
  background:#fbfcfa;
}

.pedido-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:14px;
  border:1px solid #dfe8dc;
  border-radius:14px;
  background:#fff;
}

.pedido-detail-card{
  display:grid;
  gap:9px;
}

.pedido-detail-card h4{
  margin:0 0 2px;
  color:#415246;
  font-size:11px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pedido-detail-card div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid #eef2ec;
  padding-bottom:6px;
}

.pedido-detail-card span{
  color:#607067;
  font-size:11px;
}

.pedido-detail-card strong{
  color:#102018;
  font-size:12px;
  text-align:right;
}

.config-shell{
  gap:16px;
}

.config-hero{
  display:grid;
  gap:12px;
}

.config-tabs{
  display:flex;
  align-items:flex-end;
  gap:2px;
  padding:6px 6px 0;
  border:1px solid #dbe5d6;
  border-radius:14px 14px 10px 10px;
  background:#eef3ee;
}

.config-tab{
  position:relative;
  min-height:38px;
  padding:0 20px;
  border:1px solid transparent;
  border-bottom:none;
  border-radius:12px 12px 0 0;
  background:transparent;
  color:#50605a;
  font-size:13px;
  font-weight:650;
  cursor:pointer;
}

.config-tab.is-active{
  background:#fff;
  color:#102018;
  border-color:#d8e2d2;
  box-shadow:0 -2px 12px rgba(7,13,10,.04);
}

.config-panel{
  display:grid;
  gap:14px;
}

.config-users-grid{
  grid-template-columns:minmax(280px,360px) minmax(0,1fr);
  align-items:start;
}

.config-form-card,
.config-users-card{
  padding:18px;
}

.config-user-form{
  display:grid;
  gap:12px;
}

.config-user-form .form-group{
  margin:0;
}

.config-user-form .form-group > span,
.config-user-form .form-group > label{
  display:block;
  margin-bottom:6px;
  color:#4a5b68;
  font-size:12px;
  font-weight:650;
}

.config-user-form .btn{
  margin-top:4px;
}

.config-password-field{
  position:relative;
}

.config-password-field .form-control{
  padding-right:52px;
}

.config-password-field input::-ms-reveal{
  display:none;
}

.config-password-toggle{
  position:absolute;
  top:2px;
  right:3px;
  bottom:2px;
  display:grid;
  place-items:center;
  width:44px;
  padding:0;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--primary);
  cursor:pointer;
}

.config-password-toggle:hover{
  background:var(--ditar-accent-soft, #e7f2ea);
}

.config-password-toggle:focus-visible{
  outline:2px solid var(--primary);
  outline-offset:-3px;
}

.config-password-toggle svg{
  width:20px;
  height:20px;
}

.config-password-toggle[aria-pressed="false"] .config-password-slash{
  display:none;
}

.config-user-edit{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;
  gap:8px;
  align-items:center;
  min-width:430px;
}

.config-user-edit .form-control{
  min-height:38px;
}

.config-user-edit .btn{
  min-height:38px;
  white-space:nowrap;
}

.module-shell .kpi-card strong{
  font-size:1.9rem;
}

.module-shell .chart-card{
  padding:20px;
  border-radius:22px;
}

.module-shell .chart-card canvas{
  width:100% !important;
  height:300px !important;
}

.module-shell .table-card h3,
.module-shell .chart-card h3{
  font-size:18px;
  letter-spacing:-.02em;
}

.module-shell .pagination-info{
  color:#6a756e;
  font-weight:800;
}

.module-shell .table-footer{
  margin-top:14px;
  padding-top:4px;
}

.module-shell .empty{
  padding:30px 16px;
  color:#7b857f;
  font-weight:600;
}

.dashboard-shell{
  display:grid;
  gap:18px;
  max-width:1360px;
  margin:0 auto;
  padding-bottom:6px;
}

.dashboard-toolbar-card{
  padding:8px 10px;
  border-radius:14px;
  border:1px solid rgba(239,210,138,.20);
  background:rgba(255,255,255,.08);
  box-shadow:none;
  backdrop-filter:blur(10px);
}

.dashboard-toolbar{
  display:grid;
  grid-template-columns:minmax(130px,.72fr) minmax(184px,1fr) 34px minmax(184px,1fr) minmax(160px,.9fr);
  gap:8px;
  align-items:end;
}

.dashboard-filter-group{
  display:grid;
  gap:4px;
  min-width:0;
}

.dashboard-filter-group > span{
  color:rgba(247,251,241,.68);
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.dashboard-filter-group-period{
  grid-template-columns:1fr 1fr;
}

.dashboard-filter-group-period > span{
  grid-column:1 / -1;
}

.dashboard-filter-vs{
  display:grid;
  place-items:center;
  height:32px;
  border-radius:999px;
  background:rgba(167,212,0,.18);
  color:#eefbd6;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}

.dashboard-filter-field{
  display:grid;
  gap:0;
  min-width:0;
}

.dashboard-filter-field span{
  display:none;
}

.dashboard-toolbar .form-control,
.dashboard-toolbar .btn{
  height:34px;
  border-radius:10px;
}

.dashboard-toolbar .form-control{
  border-color:rgba(247,251,241,.22);
  background:rgba(255,255,255,.94);
  width:100%;
  min-width:0;
  text-overflow:ellipsis;
}

.dashboard-filter-actions,
.dashboard-command-actions{
  display:flex;
  gap:7px;
  align-items:center;
  justify-content:flex-end;
  white-space:nowrap;
}

.dashboard-command-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.64fr);
  gap:12px;
  align-items:stretch;
  padding:14px 16px;
  border-radius:22px;
  border:1px solid rgba(26,72,54,.18);
  color:#f7fbf1;
  background:
    linear-gradient(135deg,#102f25 0%,#184c38 54%,#31512d 100%);
  overflow:hidden;
  box-shadow:0 18px 34px rgba(16,47,37,.12);
}

.dashboard-control-card{
  grid-template-columns:minmax(0,1fr) minmax(520px,.56fr);
  grid-template-areas:
    "copy stats"
    "filters filters";
}

.dashboard-control-card .dashboard-command-copy{
  grid-area:copy;
}

.dashboard-control-card .dashboard-command-stats{
  grid-area:stats;
  align-self:center;
}

.dashboard-control-card .dashboard-toolbar{
  grid-area:filters;
}

.dashboard-command-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:42px 42px;
  opacity:.2;
}

.dashboard-command-copy,
.dashboard-command-stats{
  position:relative;
  z-index:1;
}

.dashboard-command-copy h1{
  margin:1px 0 6px;
  font-size:1.65rem;
  line-height:1.04;
  letter-spacing:0;
}

.dashboard-command-copy p{
  max-width:820px;
  margin:0;
  color:rgba(247,251,241,.78);
  font-size:12px;
  line-height:1.45;
}

.dashboard-command-card .dashboard-panel-kicker{
  margin-bottom:6px;
  padding:4px 7px;
  font-size:8px;
  background:rgba(215,236,138,.14);
  color:#d9f5a7;
  border:1px solid rgba(217,245,167,.18);
}

.dashboard-command-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(78px,1fr)) auto;
  gap:7px;
  align-items:center;
}

.dashboard-command-stats div{
  min-width:0;
  display:grid;
  align-content:center;
  gap:3px;
  min-height:48px;
  padding:7px 9px;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}

.dashboard-command-actions{
  align-self:center;
}

.dashboard-command-actions .btn{
  height:28px;
  border-radius:9px;
  padding:0 10px;
  font-size:11px;
}

.dashboard-command-stats span{
  color:rgba(247,251,241,.64);
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.dashboard-command-stats strong{
  color:#fff;
  font-size:10px;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-kpi-pro-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}

.dashboard-kpi-commercial-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.dashboard-kpi-pro-card{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:auto auto auto auto auto auto auto 42px;
  column-gap:10px;
  align-items:start;
  min-height:168px;
  padding:14px 14px 12px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(7,13,10,.055);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}

.dashboard-kpi-pro-card::before{
  display:none;
}

.dashboard-kpi-pro-card::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:10px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(15,61,46,.62),rgba(214,172,85,.46),rgba(214,172,85,0));
}

.dashboard-kpi-pro-card:hover{
  transform:translateY(-2px);
  border-color:#d8dece;
  box-shadow:0 20px 44px rgba(7,13,10,.075);
}

.dashboard-kpi-pro-card-featured,
.dashboard-kpi-pro-card-wide,
.dashboard-kpi-pro-card-compact{
  transform:none;
}

.dashboard-kpi-pro-icon{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#fff;
  background:radial-gradient(circle at 30% 30%,#91c83d,#5d9d22);
  grid-column:1;
  grid-row:1 / span 2;
}

.dashboard-kpi-pro-icon.tone-money{background:linear-gradient(135deg,var(--pantone-4017u),var(--pantone-125u))}
.dashboard-kpi-pro-icon.tone-client{background:linear-gradient(135deg,var(--green-800),var(--gold-700))}
.dashboard-kpi-pro-icon.tone-action{background:linear-gradient(135deg,var(--pantone-4017u),var(--pantone-125u))}

.dashboard-kpi-pro-icon svg{width:17px;height:17px}

.dashboard-kpi-pro-eyebrow{
  display:block;
  margin-top:0;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#8d9d7a;
  grid-column:2;
  grid-row:1;
  align-self:end;
}

.dashboard-kpi-pro-label{
  display:block;
  margin-top:0;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#151711;
  grid-column:2;
  grid-row:2;
  align-self:start;
}

.dashboard-kpi-pro-card strong{
  display:block;
  margin-top:10px;
  font-size:2rem;
  line-height:.95;
  color:#0f3327;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  grid-column:1 / -1;
  grid-row:3;
  letter-spacing:0;
}

.dashboard-kpi-pro-delta,
.dashboard-kpi-pro-meta{
  display:block;
  margin-top:4px;
  min-height:18px;
  font-size:10px;
  font-weight:700;
  line-height:1.4;
  color:#627087;
  grid-column:1 / -1;
  grid-row:4;
}

.dashboard-kpi-pro-delta{color:#5a9728}

.dashboard-kpi-mini-row{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
  grid-column:1 / -1;
  grid-row:6;
  margin-top:2px;
}

.dashboard-kpi-mini-row span{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:4px 7px;
  border-radius:999px;
  background:#f1f7ec;
  color:#4b683a;
  font-size:9px;
  font-weight:900;
}

.dashboard-kpi-pro-track{
  height:6px;
  border-radius:999px;
  background:#ecf1e6;
  overflow:hidden;
  margin-top:6px;
  margin-inline:-2px;
  grid-column:1 / -1;
  grid-row:7;
}

.dashboard-kpi-pro-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#5e9825,#82bb3d);
}

.dashboard-kpi-pro-track.tone-risk span{background:linear-gradient(90deg,var(--pantone-125u),var(--pantone-4017u))}
.dashboard-kpi-pro-track.tone-client span{background:linear-gradient(90deg,var(--green-800),var(--gold-500))}
.dashboard-kpi-pro-track.tone-action span{background:linear-gradient(90deg,var(--pantone-125u),var(--pantone-4017u))}

.dashboard-kpi-pro-spark{
  min-height:42px;
  margin-top:5px;
  opacity:1;
  align-self:end;
  grid-column:1 / -1;
  grid-row:8;
}

.dashboard-kpi-pro-insight{
  display:block;
  margin-top:2px;
  color:#536150;
  font-size:9px;
  font-style:normal;
  font-weight:800;
  line-height:1.3;
  grid-column:1 / -1;
  grid-row:5;
}

.dashboard-kpi-proof{
  display:grid;
  gap:4px;
}

.dashboard-kpi-proof-top,
.dashboard-kpi-proof-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  min-width:0;
  color:#536150;
  font-size:8.5px;
  font-weight:800;
  line-height:1;
}

.dashboard-kpi-proof-top b,
.dashboard-kpi-proof-bottom b{
  color:#203629;
  font-size:9px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.dashboard-kpi-proof-bottom{
  color:#7b8774;
}

.dashboard-kpi-proof-bottom b{
  color:#7b8774;
}

.dashboard-kpi-proof-bar{
  height:7px;
  border-radius:999px;
  background:#edf2e8;
  overflow:hidden;
}

.dashboard-kpi-proof-bar span{
  display:block;
  height:100%;
  min-width:2px;
  border-radius:999px;
}

.dashboard-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.72fr) minmax(280px,.34fr);
  gap:14px;
  align-items:start;
}

.dashboard-primary-column{
  display:grid;
  gap:14px;
  min-width:0;
  overflow:hidden;
}

.dashboard-chart-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}

.dashboard-chart-panel{min-height:280px}

.dashboard-panel-causes{
  min-height:336px;
}

.dashboard-panel-distribution{
  min-height:unset;
  padding-bottom:12px;
}

.dashboard-panel-evolution{
  min-height:auto;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}

.dashboard-panel-evolution .dashboard-chart-frame{
  min-height:340px;
}

.dashboard-panel-evolution canvas{
  height:340px !important;
}

.dashboard-evolution-band{
  width:100%;
}

.dashboard-evolution-head{
  display:grid;
  grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);
  align-items:end;
  gap:14px;
  margin-bottom:6px;
}

.dashboard-evolution-band .dashboard-chart-frame{
  min-height:340px;
}

.dashboard-evolution-band canvas{
  height:340px !important;
}

.dashboard-panel,
.dashboard-highlight-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:0 14px 34px rgba(7,13,10,.055);
}

.dashboard-panel{
  position:relative;
  padding:14px;
  min-height:100%;
  overflow:hidden;
}

.dashboard-panel.dashboard-panel-distribution{
  align-self:start;
  min-height:auto;
  height:auto;
}

.dashboard-panel::before{
  display:none;
}

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

.dashboard-panel-kicker{
  display:inline-flex;
  margin-bottom:8px;
  padding:5px 8px;
  border-radius:999px;
  background:#f4f6f3;
  color:var(--pantone-125u);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.dashboard-panel-head h3{
  margin:0;
  font-size:12px;
  color:#1f2a34;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}

.dashboard-panel-head p{
  margin:4px 0 0;
  color:#768271;
  line-height:1.4;
  font-size:10px;
}

.dashboard-chart-frame{
  position:relative;
  padding:6px 2px 0;
  min-height:168px;
}

.dashboard-panel canvas{width:100%!important;height:160px!important}

.dashboard-panel-evolution .dashboard-chart-frame{
  height:340px;
  min-height:340px;
}

.dashboard-panel.dashboard-panel-evolution canvas{
  height:340px!important;
}

.dashboard-donut-stage canvas{
  height:210px!important;
}

.dashboard-distribution-scoreboard{
  display:grid;
  gap:10px;
  padding:4px 2px 0;
  min-height:unset;
}

.dashboard-subchannel-chart{
  display:grid;
  gap:10px;
  min-width:0;
}

.dashboard-subchannel-legend{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:34px;
  padding:2px 0 4px;
  color:#2f352d;
  font-size:11px;
  font-weight:800;
}

.dashboard-subchannel-legend span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}

.dashboard-subchannel-legend i{
  width:12px;
  height:12px;
  border-radius:999px;
  display:inline-block;
  box-shadow:0 0 0 2px rgba(85,147,28,.08);
}

.dashboard-subchannel-legend .is-previous{
  background:rgba(167,212,0,.22);
}

.dashboard-subchannel-legend .is-current{
  background:var(--pantone-2277c);
}

.dashboard-subchannel-plot{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:8px;
  overflow-x:auto;
  padding:0 6px 2px 0;
}

.dashboard-subchannel-axis{
  height:190px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-end;
  padding:22px 5px 0 0;
  color:#2a3029;
  font-size:11px;
  font-weight:800;
}

.dashboard-subchannel-groups{
  position:relative;
  min-width:max(100%, calc(var(--channel-count) * 126px));
  min-height:238px;
  display:grid;
  grid-template-columns:repeat(var(--channel-count),minmax(112px,1fr));
  align-items:end;
}

.dashboard-subchannel-groups::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:190px;
  border-left:1px solid #dfe6dc;
  background:linear-gradient(180deg,rgba(85,147,28,.08) 1px,transparent 1px) 0 0 / 100% 40px;
  pointer-events:none;
}

.dashboard-subchannel-group{
  position:relative;
  z-index:1;
  height:100%;
  display:grid;
  grid-template-rows:190px 25px 20px;
  justify-items:center;
  align-items:end;
  min-width:0;
  padding:0 6px;
}

.dashboard-subchannel-bars{
  position:relative;
  width:86px;
  height:158px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:10px;
  border-bottom:2px solid #d8dfd4;
}

.dashboard-subchannel-bar{
  position:relative;
  width:32px;
  min-height:5px;
  border-radius:7px 7px 0 0;
  z-index:1;
}

.dashboard-subchannel-bar.is-previous{
  background:linear-gradient(180deg,rgba(167,212,0,.28),rgba(85,147,28,.16));
}

.dashboard-subchannel-bar.is-current{
  background:linear-gradient(180deg,#1f6d1c,var(--pantone-2277c));
}

.dashboard-subchannel-bar span{
  position:absolute;
  left:50%;
  top:-22px;
  transform:translateX(-50%);
  color:#20281f;
  font-size:10px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

.dashboard-subchannel-group strong{
  align-self:center;
  max-width:100%;
  color:#20281f;
  font-size:11px;
  line-height:1.15;
  font-weight:800;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  position:relative;
  z-index:1;
}

.dashboard-subchannel-group small{
  align-self:start;
  color:#6f7b72;
  font-size:11px;
  font-weight:900;
  line-height:1.15;
  position:relative;
  z-index:1;
}

.dashboard-subchannel-group small.is-up{
  color:var(--pantone-2277c);
}

.dashboard-subchannel-group small.is-down{
  color:var(--pantone-125u);
}

.dashboard-distribution-row{
  display:grid;
  grid-template-columns:minmax(130px,.8fr) minmax(180px,1.2fr) minmax(68px,.35fr);
  gap:14px;
  align-items:center;
  padding:13px;
  border:1px solid #e8ede4;
  border-radius:16px;
  background:#fff;
}

.dashboard-distribution-main{
  display:grid;
  gap:4px;
}

.dashboard-distribution-main span,
.dashboard-distribution-bars span,
.dashboard-distribution-delta small{
  color:#75826f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.dashboard-distribution-main strong{
  color:#214b20;
  font-size:1.65rem;
  line-height:.95;
  font-weight:900;
}

.dashboard-distribution-main small{
  color:#6e7a70;
  font-size:10px;
  font-weight:700;
  line-height:1.35;
}

.dashboard-distribution-bars{
  display:grid;
  gap:8px;
}

.dashboard-distribution-bars div{
  display:grid;
  grid-template-columns:minmax(76px,.7fr) 46px minmax(78px,1fr);
  gap:8px;
  align-items:center;
}

.dashboard-distribution-bars b{
  color:#213024;
  font-size:11px;
  font-weight:900;
  text-align:right;
}

.dashboard-distribution-bars i{
  display:block;
  height:8px;
  border-radius:999px;
  background:#edf2e8;
  overflow:hidden;
}

.dashboard-distribution-bars em{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--pantone-361c),var(--pantone-2277c));
}

.dashboard-distribution-bars div:first-child em{
  background:var(--pantone-2291c);
}

.dashboard-distribution-delta{
  display:grid;
  justify-items:end;
  gap:4px;
}

.dashboard-distribution-delta strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  min-height:28px;
  padding:6px 8px;
  border-radius:999px;
  color:#557018;
  background:#f1f7e8;
  font-size:11px;
  font-weight:900;
}

.dashboard-distribution-row.is-down .dashboard-distribution-delta strong{
  color:#b33d2a;
  background:#fff0ed;
}

.dashboard-distribution-row.is-flat .dashboard-distribution-delta strong{
  color:#6f7b72;
  background:#f4f6f2;
}

.dashboard-evolution-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0;
}

.dashboard-evolution-summary div{
  display:grid;
  gap:3px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid #e8ede4;
  background:#fff;
}

.dashboard-evolution-summary span{
  color:#75826f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.dashboard-evolution-summary strong{
  color:#213024;
  font-size:12px;
  font-weight:900;
}

.dashboard-evolution-summary strong.is-up{color:var(--pantone-2277c)}
.dashboard-evolution-summary strong.is-down{color:var(--pantone-125u)}

.dashboard-donut-wrap{
  display:grid;
  grid-template-columns:minmax(176px,210px) minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding-top:4px;
}

.dashboard-donut-stage{
  position:relative;
  width:100%;
  max-width:210px;
  margin:0 auto;
}

.dashboard-donut-center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:76px;
  height:76px;
  border-radius:999px;
  background:#fff;
  display:grid;
  place-items:center;
  text-align:center;
  align-content:center;
  gap:0;
}

.dashboard-donut-center strong{
  color:var(--pantone-2277c);
  font-size:1.45rem;
  line-height:1;
  font-weight:900;
}

.dashboard-donut-center small{
  color:#75826f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.dashboard-cause-list{
  display:grid;
  gap:10px;
  padding:0 4px 0 0;
  border-top:0;
  min-width:0;
  position:relative;
  z-index:1;
}

.dashboard-cause-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.dashboard-cause-item > div{
  flex:1;
  min-width:0;
}

.dashboard-cause-item-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.dashboard-cause-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
  margin-top:4px;
  background:var(--cause-color,var(--pantone-2277c));
}

.dashboard-cause-item strong{
  display:block;
  font-size:11px;
  color:#1d2b3a;
  font-weight:800;
}

.dashboard-cause-item b{
  color:var(--pantone-2277c);
  font-size:10px;
  font-weight:900;
}

.dashboard-cause-bar{
  height:7px;
  margin-top:8px;
  border-radius:999px;
  background:rgba(85,147,28,.12);
  overflow:hidden;
}

.dashboard-cause-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:var(--cause-color,var(--pantone-2277c));
}

.dashboard-cause-item small{
  display:block;
  margin-top:4px;
  color:#73806f;
  font-weight:700;
  line-height:1.35;
  font-size:10px;
}

.tone-1{background:var(--pantone-2277c)}
.tone-2{background:var(--pantone-361c)}
.tone-3{background:var(--pantone-4017u)}
.tone-4{background:var(--pantone-2291c)}
.tone-5{background:var(--pantone-125u)}
.tone-6{background:var(--cause-color,var(--pantone-2277c))}

.dashboard-rail{
  display:grid;
  gap:14px;
  align-content:start;
}

.dashboard-rail-panel{
  min-height:unset;
}

.dashboard-focus-panel{
  height:390px;
  overflow:hidden;
}

.dashboard-incidents-panel{
  height:390px;
  overflow:hidden;
}

.dashboard-focus-list{
  display:grid;
  gap:7px;
  max-height:278px;
  overflow:auto;
  padding-right:2px;
}

.dashboard-focus-item{
  display:grid;
  gap:6px;
  padding:10px;
  border:1px solid #e8ede4;
  border-radius:14px;
  background:#fff;
}

.dashboard-focus-item span{
  color:#718166;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.dashboard-focus-item strong{
  color:#1f2d1d;
  font-size:12px;
  line-height:1.25;
}

.dashboard-focus-item div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.dashboard-focus-item b{
  color:var(--pantone-125u);
  font-size:12px;
  font-weight:900;
}

.dashboard-focus-item small{
  color:#6f7b72;
  font-size:10px;
  font-weight:700;
  text-align:right;
}

.dashboard-focus-item em{
  display:block;
  padding-top:6px;
  border-top:1px solid #edf2e8;
  color:#536150;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  line-height:1.3;
}

.dashboard-ranking-list{
  display:grid;
  gap:12px;
}

.dashboard-ranking-group{
  display:grid;
  gap:12px;
}

.dashboard-ranking-row{
  display:grid;
  grid-template-columns:22px minmax(90px,1fr) minmax(90px,1fr) auto;
  gap:8px;
  align-items:center;
}

.dashboard-ranking-row strong{
  font-size:11px;
  color:#233121;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.dashboard-ranking-index{
  font-weight:900;
  color:#708066;
  font-size:11px;
}

.dashboard-ranking-bar{
  position:relative;
  height:6px;
  border-radius:999px;
  background:#e7eee3;
  overflow:hidden;
}

.dashboard-ranking-bar span{
  position:absolute;
  inset:0 auto 0 0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--pantone-361c),var(--pantone-2277c));
}

.dashboard-ranking-value{
  font-weight:900;
  color:#205020;
  font-size:11px;
}

.dashboard-ranking-critical{
  margin-top:4px;
  padding-top:14px;
  border-top:1px solid #edf2e8;
}

.dashboard-ranking-critical-label{
  display:block;
  margin-bottom:10px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#91814d;
}

.dashboard-ranking-row.is-critical .dashboard-ranking-bar span{
  background:linear-gradient(90deg,#f05e43,#cf3526);
}

.dashboard-ranking-row.is-critical .dashboard-ranking-index,
.dashboard-ranking-row.is-critical .dashboard-ranking-value{
  color:#c53b2d;
}

.dashboard-incidents-panel{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.dashboard-incident-list{
  display:grid;
  align-content:start;
  gap:8px;
  flex:1;
  min-height:0;
  overflow:auto;
  padding-right:2px;
}

.dashboard-incident-item{
  display:grid;
  gap:5px;
  padding:8px 9px;
  border:1px solid #e8ede4;
  border-radius:14px;
  background:#fff;
}

.dashboard-incident-item.is-critical{
  border-color:#ffd6d2;
  background:linear-gradient(180deg,#fff,#fff8f7);
}

.dashboard-incident-item.is-warning{
  border-color:#f2e4bd;
  background:linear-gradient(180deg,#fff,#fffaf0);
}

.dashboard-incident-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.dashboard-incident-top strong{
  font-size:11px;
  color:#1f2d1d;
  line-height:1.2;
}

.dashboard-incident-client{
  font-size:10px;
  color:#233121;
  font-weight:800;
  line-height:1.35;
}

.dashboard-incident-reason{
  display:grid;
  gap:2px;
}

.dashboard-incident-reason b{
  color:#1f2d1d;
  font-size:9px;
  font-weight:900;
}

.dashboard-incident-reason span,
.dashboard-incident-item small{
  font-size:9px;
  font-weight:700;
  color:#73806f;
  line-height:1.35;
}

.dashboard-incident-meta{
  display:flex;
  justify-content:space-between;
  gap:8px;
}

.dashboard-incident-meta span{
  color:var(--pantone-125u);
  font-size:9px;
  font-weight:900;
}

.dashboard-incident-action{
  padding:6px 8px;
  border-radius:10px;
  background:#eef6e8;
  color:#315b1e;
  font-size:9px;
  font-weight:900;
  line-height:1.25;
}

.dashboard-incidents-band{
  width:100%;
}

.dashboard-incidents-band .table-wrap{
  overflow:auto;
  border:1px solid #edf2ea;
  border-radius:16px;
  background:#fff;
}

.dashboard-incidents-band table{
  min-width:100%;
}

.dashboard-rail .dashboard-data-panel .table-wrap{
  overflow:visible;
  border:none;
  border-radius:0;
  background:transparent;
}

.dashboard-rail .dashboard-data-panel table{
  min-width:100%;
}

.dashboard-data-panel th,
.dashboard-data-panel td{
  padding:8px 8px;
  font-size:11px;
}

.dashboard-data-panel th{
  font-size:9px;
  letter-spacing:.1em;
}

.dashboard-data-panel tbody td:first-child{
  font-weight:800;
}

.dashboard-delta{
  font-weight:800;
  font-size:10px;
}

.dashboard-delta.is-up{color:#429d2e}
.dashboard-delta.is-down{color:#d33f2f}

.dashboard-formula-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 15px;
  border-radius:18px;
  border:1px solid var(--border);
  background:#fff;
}

.dashboard-formula-copy{
  display:flex;
  align-items:center;
  gap:12px;
}

.dashboard-formula-copy p{
  margin:0;
  color:#617060;
  font-size:12px;
  line-height:1.5;
}

.dashboard-formula-copy strong{
  color:#23412c;
}

.dashboard-formula-icon{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#eff6e7;
  color:#4d8c2a;
  flex:0 0 34px;
}

.dashboard-formula-icon svg{width:18px;height:18px}

.dashboard-last-update{
  color:#7b8680;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

tr.row-ok td{background:#f2fbef}
tr.row-warn td{background:#fff7ea}
tr.row-bad td{background:#fff1f0}
tr.row-neutral td{background:#fff}

@media(max-width:1280px){
  .pedidos-control-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .pedidos-strip-title{
    grid-column:1 / -1;
    min-height:auto;
  }

  .pedidos-filter-main{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .projection-filter-main{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pedidos-filter-main .pedidos-search,
  .projection-filter-search{
    grid-column:1 / -1;
  }

  .projection-filter-actions{
    min-height:auto;
  }

  .pedidos-filter-advanced,
  .projection-workbar .pedidos-filter-advanced{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .projection-summary-grid{
    grid-template-columns:1fr;
  }

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

  .projection-form-wide{
    grid-column:span 2;
  }

  .login-page{
    grid-template-columns:1fr;
    align-content:center;
  }

  .login-hero-panel{
    min-height:auto;
    gap:42px;
  }

  .login-hero-copy{
    padding-bottom:0;
  }

  .login-hero-copy h1{
    font-size:3.25rem;
  }

  .dashboard-kpi-pro-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dashboard-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:end;
  }

  .dashboard-filter-vs{
    display:none;
  }

  .dashboard-command-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
  }

  .dashboard-command-card{
    grid-template-columns:1fr;
  }

  .dashboard-control-card{
    grid-template-areas:
      "copy"
      "stats"
      "filters";
  }

  .dashboard-main-grid{
    grid-template-columns:1fr;
  }

  .dashboard-focus-panel,
  .dashboard-incidents-panel{
    height:auto;
    max-height:none;
  }

  .dashboard-focus-list,
  .dashboard-incident-list{
    max-height:none;
    overflow:visible;
  }

  .dashboard-chart-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "evolution evolution"
      "distribution causes";
  }

  .dashboard-evolution-head{
    grid-template-columns:1fr;
    align-items:start;
  }
}

@media(max-width:860px){
  .pedidos-control-strip,
  .pedidos-filter-main,
  .pedidos-filter-advanced,
  .projection-workbar .pedidos-filter-advanced{
    grid-template-columns:1fr;
  }

  .pedidos-filter-main .pedidos-search{
    grid-column:auto;
  }

  .projection-filter-search{
    grid-column:auto;
    min-width:0;
  }

  .projection-filter-actions{
    align-items:stretch;
    flex-wrap:wrap;
  }

  .projection-filter-actions .btn{
    flex:1 1 140px;
  }

  .projection-month-row{
    grid-template-columns:1fr;
  }

  .projection-month-total,
  .projection-month-split{
    grid-template-columns:1fr;
  }

  .projection-month-chart-head{
    display:grid;
    justify-content:start;
  }

  .projection-month-plot{
    grid-auto-columns:minmax(74px,92px);
  }

  .projection-month-total b,
  .projection-month-total small{
    text-align:left;
  }

  .projection-form-grid{
    grid-template-columns:1fr;
  }

  .projection-form-wide,
  .projection-form-full{
    grid-column:auto;
  }

  .projection-form-actions{
    justify-content:flex-start;
  }

  .projection-import-panel{
    grid-template-columns:1fr;
  }

  .projection-import-actions{
    justify-content:flex-start;
  }

  .projection-panel{
    padding:14px;
  }

  .production-live-filter{
    grid-template-columns:1fr;
  }

  .pedido-detail-grid{
    grid-template-columns:1fr;
  }

  .pedido-timeline{
    grid-template-columns:repeat(2,minmax(72px,1fr));
  }

  .profile-avatar-grid,
  .profile-form-grid{
    grid-template-columns:1fr 1fr;
  }

  .profile-preview-row{
    align-items:flex-start;
  }

  .config-users-grid{
    grid-template-columns:1fr;
  }

  .config-tabs{
    overflow-x:auto;
  }

  .login-page{
    padding:22px;
    gap:24px;
  }

  .login-page::after{
    display:none;
  }

  .login-hero-logo{
    width:min(230px,72vw);
  }

  .login-hero-copy span,
  .login-card-kicker{
    margin-bottom:12px;
  }

  .login-hero-copy h1{
    font-size:2.35rem;
    line-height:1;
  }

  .login-hero-copy p{
    margin-top:18px;
    font-size:14px;
  }

  .login-card{
    padding:26px 20px 22px;
    border-radius:20px;
  }

  .login-card h2{
    font-size:26px;
  }

  .password-field{
    grid-template-columns:1fr;
  }

  .layout{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto}
  .nav{display:grid;grid-template-columns:repeat(2,1fr)}

  .kpi-grid,
  .chart-grid,
  .dashboard-toolbar,
  .dashboard-kpi-pro-grid{
    grid-template-columns:1fr;
  }

  .dashboard-filter-group-period{
    grid-template-columns:1fr;
  }

  .dashboard-filter-group-period > span{
    grid-column:auto;
  }

  .dashboard-command-actions{
    grid-column:auto;
    justify-content:flex-start;
    flex-wrap:wrap;
  }

  .dashboard-main-grid{
    grid-template-columns:1fr;
  }

  .dashboard-command-card{
    padding:15px;
    border-radius:20px;
  }

  .dashboard-control-card{
    padding:14px;
  }

  .dashboard-command-copy h1{
    font-size:1.5rem;
  }

  .dashboard-kpi-pro-card strong{
    font-size:1.75rem;
  }

  .dashboard-command-stats{
    grid-template-columns:1fr;
  }

  .dashboard-distribution-row{
    grid-template-columns:1fr;
    gap:10px;
  }

  .dashboard-distribution-delta{
    justify-items:start;
  }

  .dashboard-distribution-bars div{
    grid-template-columns:minmax(78px,.8fr) 48px minmax(90px,1fr);
  }

  .dashboard-evolution-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dashboard-chart-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "evolution"
      "distribution"
      "causes";
  }

  .dashboard-formula-bar{
    flex-direction:column;
    align-items:flex-start;
  }

  .module-table-head,
  .module-section-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .module-table-meta{
    text-align:left;
  }

  .dashboard-panel canvas{height:250px!important}
  .dashboard-panel.dashboard-panel-evolution canvas{height:340px!important}
  .dashboard-donut-stage canvas{height:210px!important}
  .topbar{
    min-height:auto;
    padding:12px 18px;
    gap:12px;
    align-items:flex-start;
  }

  .topbar-tools{
    gap:7px;
  }

  .topbar-context p{
    display:none;
  }

  .topbar-profile{
    min-width:0;
    padding-right:6px;
  }

  .topbar-profile-copy{
    display:none;
  }

  .content{padding:18px}
  .form-grid{grid-template-columns:1fr}
}

@media(max-width:520px){
  .projection-month-facts,
  .projection-month-metric-bars{
    grid-template-columns:1fr;
  }

  .projection-month-bars{
    grid-template-columns:32px minmax(0,1fr);
  }

  .projection-month-axis{
    height:154px;
    font-size:9px;
  }

  .projection-month-plot{
    min-height:204px;
    gap:12px;
  }

  .projection-month-bar-item{
    grid-template-rows:minmax(146px,1fr) auto auto;
  }

  .projection-month-column-track{
    height:154px;
  }

  .dashboard-donut-wrap{
    grid-template-columns:1fr;
    justify-items:center;
  }

  .dashboard-cause-list{
    width:100%;
    padding:0;
  }
}

/* Ajuste responsive v30: navegación compacta y tablas contenidas */
.table-card,
.table-wrap,
.projection-spreadsheet-card,
.projection-spreadsheet-wrap,
.projection-advisor-portfolio,
.projection-advisor-portfolio-table-wrap,
.projection-advisor-client-lines-wrap{
  min-width:0;
  max-width:100%;
}

.table-wrap,
.projection-spreadsheet-wrap,
.projection-advisor-portfolio-table-wrap,
.projection-advisor-client-lines-wrap{
  overflow-x:auto;
  overscroll-behavior-inline:contain;
}

@container (max-width:1100px){
  .projection-team-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projection-team-kpi.is-compliance{grid-column:span 2}
  .projection-team-channels{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .projection-team-channel-card,
  .projection-team-channel-card:first-child,
  .projection-team-channel-card:nth-child(2),
  .projection-team-channel-card:last-child{border:1px solid #e5eae3;border-radius:11px}
  .projection-team-advisors{grid-template-columns:repeat(2,minmax(220px,1fr))}
}

@container (max-width:700px){
  .projection-team-topbar{align-items:stretch;gap:0}
  .projection-team-title-row{align-items:flex-start;flex-direction:column;gap:9px}
  .projection-team-sync{width:100%;flex-wrap:wrap}
  .projection-team-refresh{margin-left:0}
  .projection-team-kpis,
  .projection-team-channels{grid-template-columns:1fr}
  .projection-team-kpi.is-compliance{grid-column:1}
  .projection-team-compliance-stages{grid-template-columns:1fr}
  .projection-team-compliance-stage + .projection-team-compliance-stage{margin-top:10px;padding-top:10px;padding-left:0;border-top:1px solid #e2e8e0;border-left:0}
  .projection-team-advisors{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory}
  .projection-team-advisor-card{width:min(88cqw,380px);min-width:min(88cqw,380px);scroll-snap-align:start}
  .projection-team-advisor-summary{grid-template-columns:1fr}
  .projection-team-advisor-summary .is-compliance{grid-column:1}
  .projection-team-channel-card,
  .projection-team-channel-card:first-child,
  .projection-team-channel-card:nth-child(2),
  .projection-team-channel-card:nth-child(3),
  .projection-team-channel-card:last-child{border:1px solid #e5eae3;border-radius:10px}
}

@media(max-width:1440px){
  .layout{grid-template-columns:188px minmax(0,1fr)}
  .sidebar{padding:14px 8px 12px}
  .sidebar-logo-img{width:132px}
  .sidebar-brand{padding:4px 8px 12px}
  .sidebar-section-label{margin-right:6px;margin-left:6px}
  .nav{gap:10px;margin-top:7px}
  .nav a{gap:9px;padding:9px;border-radius:10px}
  .nav-link-label{font-size:12px}
  .content{min-width:0;padding:22px 18px 34px}
  .content > *{min-width:0;max-width:100%}
  .projection-spreadsheet-table{min-width:1040px}
  .projection-advisor-client-lines{min-width:940px}
  .projection-advisor-portfolio-table{min-width:620px}
}

@media(max-width:1120px){
  .layout{grid-template-columns:72px minmax(0,1fr);min-width:0}
  .sidebar{
    position:sticky;
    top:0;
    z-index:30;
    width:72px;
    height:100vh;
    padding:8px 10px;
    overflow-x:hidden;
    overflow-y:auto;
    border-right:1px solid rgba(214,172,85,.18);
    border-bottom:0;
  }
  .sidebar-shell{height:100%}
  .sidebar-brand{display:none}
  .sidebar-section-label{display:none}
  .nav{display:flex;flex-direction:column;gap:10px;margin:4px 0;overflow:visible}
  .nav::-webkit-scrollbar{display:none}
  .nav-group{display:block}
  .nav-group-items{display:flex;flex-direction:column;gap:6px;padding:0}
  .nav a{justify-content:center;min-width:0;width:100%;padding:11px;border-radius:11px}
  .nav-link-label{display:none}
  .main{min-width:0}
  .content{padding:16px 12px 28px}
  .projection-spreadsheet-table{min-width:900px}
  .projection-advisor-client-lines{min-width:860px}
}

@media(max-width:680px){
  .layout{display:block;min-width:0}
  .sidebar{
    position:sticky;
    top:0;
    width:100%;
    height:auto;
    padding:8px 10px;
    overflow:hidden;
    border-right:0;
    border-bottom:1px solid rgba(214,172,85,.24);
  }
  .sidebar-shell{height:auto}
  .sidebar-brand,.sidebar-section-label{display:none}
  .nav{display:flex;flex-direction:row;gap:6px;margin:0;overflow-x:auto;scrollbar-width:none}
  .nav-group{display:contents}
  .nav-group-items{display:flex;flex:none;flex-direction:row;gap:6px;padding:0}
  .nav a{justify-content:flex-start;min-width:max-content;width:auto;padding:9px 11px}
  .nav-link-label{display:inline}
}

@media(max-width:560px){
  .topbar{padding:0 12px}
  .content{padding:10px 8px 22px}
  .nav-link-label{font-size:11px}
  .projection-spreadsheet-table{min-width:820px}
}

/* Proyeccion comercial v12: historico monetario por asesor */
.projection-advisor-history{
  margin-top:18px;
  padding-top:17px;
  border-top:1px solid #e2e9e0;
}

.projection-advisor-history-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
  cursor:pointer;
  list-style:none;
}
.projection-advisor-history-head::-webkit-details-marker{display:none}

.projection-advisor-history-head div > span,
.projection-advisor-history-head div > strong{display:block}
.projection-advisor-history-head div > span{
  color:#728078;
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.projection-advisor-history-head div > strong{margin-top:4px;color:#17251b;font-size:13px}
.projection-advisor-history-head > small{margin-left:auto;color:#79867e;font-size:8px;text-align:right}
.projection-advisor-history-head > i{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-right:2px solid #66746b;
  border-bottom:2px solid #66746b;
  transform:rotate(45deg);
  transition:transform .18s ease;
}
.projection-advisor-history[open] .projection-advisor-history-head > i{transform:rotate(225deg)}
.projection-advisor-history:not([open]) .projection-advisor-history-head{margin-bottom:0}

.projection-advisor-history-list{display:grid;gap:9px}
.projection-advisor-history-month{
  display:grid;
  grid-template-columns:minmax(125px,.45fr) minmax(0,2.55fr);
  gap:16px;
  align-items:center;
  padding:12px 13px;
  border:1px solid #e2e8e0;
  border-radius:12px;
  background:#f9fbf8;
}
.projection-advisor-history-month.is-good,.projection-advisor-history-month.is-achieved{border-left:4px solid var(--performance-good)}
.projection-advisor-history-month.is-excellent{border-left:4px solid var(--performance-excellent)}
.projection-advisor-history-month.is-warning,.projection-advisor-history-month.is-current{border-left:4px solid var(--performance-warning)}
.projection-advisor-history-month.is-risk{border-left:4px solid var(--performance-risk)}
.projection-advisor-history-month.is-unavailable,
.projection-advisor-history-month.is-neutral{border-left:4px solid #9aa59e}

.projection-advisor-history-period{display:flex;align-items:center;justify-content:space-between;gap:10px}
.projection-advisor-history-period div > strong,
.projection-advisor-history-period div > span{display:block}
.projection-advisor-history-period div > strong{color:#18261c;font-size:12px}
.projection-advisor-history-period div > span{margin-top:2px;color:#7b877f;font-size:8px}
.projection-advisor-history-period > b{
  padding:5px 7px;
  border-radius:999px;
  background:#edf1ec;
  color:#68756d;
  font-size:7px;
  white-space:nowrap;
}
.projection-advisor-history-month.is-good .projection-advisor-history-period > b,.projection-advisor-history-month.is-achieved .projection-advisor-history-period > b{background:var(--performance-good-bg);color:var(--performance-good-text)}
.projection-advisor-history-month.is-excellent .projection-advisor-history-period > b{background:var(--performance-excellent-bg);color:var(--performance-excellent-text)}
.projection-advisor-history-month.is-warning .projection-advisor-history-period > b,.projection-advisor-history-month.is-current .projection-advisor-history-period > b{background:var(--performance-warning-bg);color:var(--performance-warning-text)}
.projection-advisor-history-month.is-risk .projection-advisor-history-period > b{background:var(--performance-risk-bg);color:var(--performance-risk-text)}

.projection-advisor-history-bars{display:grid;gap:7px}
.projection-advisor-history-bar{
  display:grid;
  grid-template-columns:68px minmax(90px,1fr) minmax(112px,auto) 84px;
  gap:9px;
  align-items:center;
  min-width:0;
}
.projection-advisor-history-bar > span{
  color:#66756c;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
}
.projection-advisor-history-track{height:7px;overflow:hidden;border-radius:999px;background:#e5ebe3}
.projection-advisor-history-track i{display:block;height:100%;min-width:0;border-radius:inherit;background:#5aa643}
.projection-advisor-history-bar.is-goal .projection-advisor-history-track i{background:#d7a63b}
.projection-advisor-history-bar.is-billed .projection-advisor-history-track i{background:#2b8ca1}
.projection-advisor-history-bar > strong{
  overflow:hidden;
  color:#1c2920;
  font-size:10px;
  font-variant-numeric:tabular-nums;
  text-align:right;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.projection-advisor-history-bar > small{color:#77837c;font-size:7px;text-align:right;white-space:nowrap}
.projection-advisor-history-bar.is-unavailable{opacity:.58}
.projection-advisor-history.is-empty{display:grid;gap:4px;color:#718078;font-size:9px}

.projection-advisor-progress-block.is-goal > div:first-child b{color:#946f0b}
.projection-advisor-card .projection-advisor-progress.is-goal i{background:#d7a63b}

@media(max-width:900px){
  .projection-advisor-history-month{grid-template-columns:1fr}
  .projection-advisor-history-period{justify-content:flex-start}
}

@media(max-width:640px){
  .projection-advisor-history-head{align-items:flex-start;flex-direction:column;gap:5px}
  .projection-advisor-history-head > small{text-align:left}
  .projection-advisor-history-bar{grid-template-columns:64px minmax(70px,1fr) minmax(96px,auto)}
  .projection-advisor-history-bar > small{grid-column:2 / -1;text-align:left}
}

@media(max-width:430px){
  .projection-advisor-history-bar{grid-template-columns:1fr auto;gap:5px}
  .projection-advisor-history-track{grid-column:1 / -1;grid-row:2}
  .projection-advisor-history-bar > strong{grid-column:2;grid-row:1}
  .projection-advisor-history-bar > small{grid-column:1 / -1;grid-row:3}
}

/* Proyeccion comercial v11: avance proyectado y facturado real */
.projection-period-phase{
  display:inline-flex;
  width:max-content;
  margin-top:6px;
  padding:4px 7px;
  border-radius:999px;
  background:#edf2eb;
  color:#617067;
  font-size:7px;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.projection-period-phase.is-current{background:#e0eff1;color:#1c6b7c}
.projection-period-phase.is-closed{background:#e5f1e1;color:#39732f}
.projection-period-phase.is-future{background:#f0f1ef;color:#7d8780}

.projection-period-result.projection-period-comparison{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  padding:14px;
}

.projection-period-comparison-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-width:0;
  padding:12px;
  border:1px solid #e1e9df;
  border-radius:11px;
  background:#f7faf6;
}
.projection-period-comparison-item.is-projected{border-color:#d6e5d1;background:#f2f8ef}
.projection-period-comparison-item.is-billed{border-color:#d5e8eb;background:#f1f8f9}
.projection-period-comparison-item.is-unavailable{border-color:#e4e8e2;background:#f6f7f5;opacity:.72}
.projection-period-comparison-item > div{min-width:0}
.projection-period-comparison-item span,
.projection-period-comparison-item strong,
.projection-period-comparison-item small{display:block}
.projection-period-comparison-item span{color:#708078;font-size:8px;font-weight:850;text-transform:uppercase}
.projection-period-comparison-item strong{overflow:hidden;margin-top:5px;color:#17251b;font-size:15px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.projection-period-comparison-item small{overflow:hidden;margin-top:4px;color:#7b8780;font-size:7px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.projection-period-comparison-item > b{color:#3f8232;font-size:17px;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.projection-period-comparison-item.is-billed > b{color:#20778a}
.projection-period-comparison-item.is-unavailable > b{color:#87918b}

.projection-advisor-overview{grid-template-columns:repeat(5,minmax(0,1fr))}
.projection-advisor-card-main{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr)}
.projection-advisor-dual-progress{display:grid;gap:12px;margin-top:15px}
.projection-advisor-progress-block{display:grid;gap:6px}
.projection-advisor-progress-block > div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}
.projection-advisor-progress-block > div:first-child span{color:#65736a;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
.projection-advisor-progress-block > div:first-child b{color:#356f2d;font-size:12px;font-variant-numeric:tabular-nums}
.projection-advisor-progress-block > small{overflow:hidden;color:#7c8780;font-size:8px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.projection-advisor-progress-block.is-billed > div:first-child b{color:#1f7487}
.projection-advisor-card .projection-advisor-progress.is-billed i{background:#2b8ca1}
.projection-advisor-progress-block.is-unavailable{opacity:.64}

@media(max-width:1180px){
  .projection-advisor-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:760px){
  .projection-period-result.projection-period-comparison{grid-template-columns:1fr}
  .projection-advisor-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projection-advisor-card-main{grid-template-columns:1fr}
}

@media(max-width:520px){
  .projection-advisor-overview{grid-template-columns:1fr}
  .projection-advisor-progress-block > small{white-space:normal}
  .projection-period-comparison-item{grid-template-columns:1fr}
  .projection-period-comparison-item > b{justify-self:start}
}

/* Capa global de lectura: reduce negrillas pesadas en todo el aplicativo. */
body{
  font-weight:400;
}

h1,h2,h3,h4,h5,h6,
.module-title,
.module-section-head h3,
.module-table-head h3,
.chart-card h3,
.table-card h3,
.coordinator-head h3{
  font-weight:650;
}

.module-section-kicker,
.kpi-card span,
th,
.badge,
.request-state-pill,
.form-group label,
.request-field > span,
.detail-tab-list label,
.coordinator-summary-grid span,
.dashboard-card-label,
.dashboard-panel-kicker,
.dashboard-ranking-label,
.dashboard-alert-label,
.topbar-context span,
.sidebar-section-label{
  font-weight:600;
}

.kpi-card strong,
.metric-value,
.dashboard-big-number,
.dashboard-total-number,
.dashboard-ranking-value,
.coordinator-summary-grid strong,
.coordinator-summary p,
tbody td:first-child,
.metric-text,
.btn,
.action-label-btn,
.icon-action-btn,
.form-control{
  font-weight:600;
}

tbody td,
.kpi-card small,
.module-table-meta,
.pagination-info,
.topbar-context p,
.coordinator-head p,
.coordinator-detail-head p{
  font-weight:400;
}

/* Projection commercial cockpit v3 */
.module-shell:has(.projection-sales-command){
  --sales-ink:#14251b;
  --sales-green:#143c2a;
  --sales-green-2:#235c3d;
  --sales-lime:#b8dd73;
  --sales-line:#dfe8df;
  --sales-muted:#728078;
  gap:14px;
}

.projection-sales-command{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  gap:34px;
  align-items:stretch;
  min-height:310px;
  padding:34px 36px;
  border:0;
  border-radius:26px;
  background:
    radial-gradient(circle at 72% 10%,rgba(184,221,115,.17),transparent 28%),
    radial-gradient(circle at 7% 112%,rgba(51,132,82,.34),transparent 34%),
    linear-gradient(128deg,#0c2419 0%,#143824 48%,#20553a 100%);
  box-shadow:0 24px 55px rgba(13,45,28,.19);
}

.projection-sales-command::before{
  position:absolute;
  inset:0;
  opacity:.14;
  background-image:
    linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.85));
  content:"";
  pointer-events:none;
}

.projection-sales-command::after{
  right:-125px;
  bottom:-220px;
  width:520px;
  height:520px;
  border-color:rgba(255,255,255,.11);
  box-shadow:0 0 0 58px rgba(255,255,255,.025),0 0 0 116px rgba(255,255,255,.018);
}

.projection-sales-command .projection-command-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:780px;
}

.projection-sales-command .projection-command-eyebrow{
  width:max-content;
  padding:7px 10px;
  border:1px solid rgba(214,235,181,.2);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#d9ebc2;
  font-size:9px;
  letter-spacing:.13em;
}

.projection-sales-command .projection-command-copy h2{
  max-width:690px;
  margin:22px 0 10px;
  font-size:clamp(30px,3vw,46px);
  font-weight:800;
  letter-spacing:-.045em;
  line-height:.98;
}

.projection-sales-command .projection-command-copy > p{
  max-width:680px;
  color:#c9d9ce;
  font-size:13px;
  line-height:1.65;
}

.projection-sales-command .projection-command-meta{
  gap:10px 18px;
  margin-top:20px;
  color:#b8cbbf;
  font-size:9px;
}

.projection-sales-command .projection-command-actions{
  margin-top:25px;
}

.projection-sales-command .projection-command-actions .btn{
  min-height:46px;
  padding-inline:18px;
  border-radius:12px;
}

.projection-sales-command .projection-hero-primary{
  border-color:var(--sales-lime);
  background:var(--sales-lime);
  color:#173421;
  box-shadow:0 10px 24px rgba(7,22,13,.2);
}

.projection-sales-command .projection-hero-secondary{
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(10px);
}

.projection-hero-scorecard{
  position:relative;
  z-index:1;
  display:grid;
  align-content:center;
  min-width:0;
  padding:22px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.055));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 16px 35px rgba(3,20,10,.14);
  backdrop-filter:blur(15px);
}

.projection-hero-score-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:15px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.projection-hero-score-head span{
  color:#f4f8f2;
  font-size:11px;
  font-weight:800;
}

.projection-hero-score-head b{
  color:#bcd4c4;
  font-size:8px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.projection-hero-score-body{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding-top:20px;
}

.projection-hero-gauge{
  --gauge-color:#d9a83d;
  position:relative;
  display:grid;
  width:150px;
  aspect-ratio:1;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--gauge-color) 0 var(--hero-progress),rgba(255,255,255,.11) var(--hero-progress) 360deg);
  box-shadow:0 12px 28px rgba(5,25,13,.16);
}

.projection-hero-gauge.is-good{--gauge-color:#b8dd73}
.projection-hero-gauge.is-warning{--gauge-color:#e2b34c}
.projection-hero-gauge.is-risk{--gauge-color:#ee7e84}

.projection-hero-gauge::before{
  position:absolute;
  width:118px;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:#173c29;
  box-shadow:inset 0 10px 28px rgba(4,21,12,.17);
  content:"";
}

.projection-hero-gauge > div{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  text-align:center;
}

.projection-hero-gauge span,
.projection-hero-gauge small{
  color:#afc7b8;
  font-size:8px;
}

.projection-hero-gauge strong{
  margin:4px 0 2px;
  color:#fff;
  font-size:24px;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.03em;
}

.projection-hero-score-values{
  display:grid;
  gap:13px;
}

.projection-hero-score-values > div{
  min-width:0;
  padding-bottom:13px;
  border-bottom:1px solid rgba(255,255,255,.11);
}

.projection-hero-score-values > div:last-child{padding-bottom:0;border-bottom:0}
.projection-hero-score-values span,.projection-hero-score-values strong{display:block}
.projection-hero-score-values span{color:#abc2b3;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.projection-hero-score-values strong{margin-top:5px;color:#fff;font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

.projection-executive-kpis{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:12px;
  margin-top:0;
}

.projection-exec-kpi{
  min-height:130px;
  padding:20px;
  border-color:var(--sales-line);
  border-radius:18px;
  box-shadow:0 9px 24px rgba(24,48,32,.055);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.projection-exec-kpi:hover{
  transform:translateY(-2px);
  border-color:#cbd9cb;
  box-shadow:0 15px 30px rgba(24,48,32,.09);
}

.projection-exec-kpi.is-primary{grid-column:span 3;background:linear-gradient(145deg,#f3f9ee,#fff 65%)}
.projection-exec-kpi.is-target{grid-column:span 2}
.projection-exec-kpi.is-gap{grid-column:span 3;background:linear-gradient(145deg,#fff7f6,#fff 70%)}
.projection-exec-kpi.is-compliance{grid-column:span 2}
.projection-exec-kpi.is-billed{grid-column:span 2;background:linear-gradient(145deg,#f2f9fa,#fff 70%)}
.projection-exec-kpi::before{width:4px;height:100%}
.projection-exec-kpi.is-target::before{background:#87998c}
.projection-exec-kpi.is-compliance::before{background:#d3a53d}

.projection-kpi-mark{
  position:absolute;
  top:16px;
  right:16px;
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:9px;
  background:#eef3ec;
  color:#5b6c60;
  font-size:10px;
  font-style:normal;
  font-weight:900;
}

.projection-exec-kpi.is-primary .projection-kpi-mark{background:#e2f0dc;color:#36762c}
.projection-exec-kpi.is-risk .projection-kpi-mark{background:#fde4e6;color:#ad3442}
.projection-exec-kpi.is-billed .projection-kpi-mark{background:#dff0f2;color:#1e6f80}
.projection-exec-kpi > span{max-width:calc(100% - 35px);font-size:8px;letter-spacing:.1em}
.projection-exec-kpi > strong{margin-top:20px;font-size:clamp(17px,1.45vw,23px);letter-spacing:-.025em}
.projection-exec-kpi > small{margin-top:9px;font-size:8px}

.projection-workbar{
  margin-top:0;
  padding:19px 20px 20px;
  border-color:var(--sales-line);
  border-radius:18px;
  box-shadow:0 8px 22px rgba(24,48,32,.045);
}

.projection-filter-heading{
  margin-bottom:14px;
  padding-bottom:13px;
  border-bottom:1px solid #e8eee7;
}

.projection-filter-heading h3{font-size:15px}
.projection-clear-link{padding:7px 10px;border:1px solid #dfe8dd;border-radius:9px;background:#f7faf6}
.projection-filter-main{grid-template-columns:minmax(250px,1.5fr) repeat(2,minmax(100px,.5fr)) minmax(155px,.75fr) minmax(150px,.72fr) minmax(175px,.85fr) auto;gap:10px}
.projection-filter-field > span{color:#77847b;font-size:8px;letter-spacing:.07em}
.projection-filter-field .form-control{height:43px;border-color:#dce5db;border-radius:11px;background:#fbfcfa;font-size:10px}
.projection-filter-field .form-control:focus{border-color:#74a75d;box-shadow:0 0 0 3px rgba(96,154,69,.11)}
.projection-filter-actions .btn{height:43px;border-radius:11px}

.projection-view-shell{
  position:sticky;
  top:72px;
  z-index:8;
  margin-top:0;
  padding:6px;
  border-color:#dfe7de;
  border-radius:16px;
  background:rgba(243,247,242,.92);
  box-shadow:0 8px 22px rgba(25,48,33,.06);
  backdrop-filter:blur(13px);
}

.projection-view-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.projection-view-tab{min-width:0;padding:10px 8px;border-radius:11px;font-size:9px;white-space:nowrap}
.projection-view-tab.is-active{background:var(--sales-green);color:#fff;box-shadow:0 8px 18px rgba(19,60,42,.2)}

.projection-executive-view{gap:14px}
.projection-executive-notice{border-radius:14px;box-shadow:0 6px 18px rgba(24,48,32,.035)}
.projection-executive-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);grid-template-areas:"trend composition" "ranking health";gap:14px}
.projection-composition-item.is-unavailable,.projection-advisor-breakdown-item.is-unavailable{background:#f6f7f5;color:#7f8982}
.projection-composition-item.is-unavailable > i,.projection-advisor-breakdown-item.is-unavailable span::before{background:#aeb7b0}
.projection-insight-card{padding:21px;border-color:var(--sales-line);border-radius:19px;box-shadow:0 10px 27px rgba(24,48,32,.055)}
.projection-insight-head{margin-bottom:19px}
.projection-insight-head h3{font-size:16px;letter-spacing:-.02em}
.projection-insight-head p{font-size:9px;line-height:1.5}
.projection-insight-chip{padding:6px 9px;background:#e8f1e4;color:#315f31}

.projection-sales-chart-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.projection-sales-chart-head small{color:#8a958d;font-size:8px}
.projection-sales-chart-legend{display:flex;align-items:center;gap:13px}
.projection-sales-chart-legend span{display:flex;align-items:center;gap:5px;color:#6e7b72;font-size:8px;font-weight:750}
.projection-sales-chart-legend i{width:7px;height:7px;border-radius:2px;background:#4f943b}
.projection-sales-chart-legend i.is-goal{background:#cdd8cd}
.projection-sales-chart-scroll{overflow-x:auto;padding:5px 2px 2px}

.projection-sales-chart{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(86px,1fr));
  gap:10px;
  min-width:620px;
}

.projection-sales-column{
  display:grid;
  grid-template-rows:auto 188px auto;
  gap:8px;
  min-width:0;
  padding:10px 8px;
  border:1px solid transparent;
  border-radius:12px;
  transition:background .18s ease,border-color .18s ease;
}

.projection-sales-column:hover{border-color:#e2e9e0;background:#f8faf7}
.projection-sales-column-head strong,.projection-sales-column-head span{display:block;text-align:center}
.projection-sales-column-head strong{color:#b73442;font-size:11px}
.projection-sales-column.is-good .projection-sales-column-head strong{color:#408132}
.projection-sales-column.is-warning .projection-sales-column-head strong{color:#866708}
.projection-sales-column.is-risk .projection-sales-column-head strong{color:var(--performance-risk-text)}
.projection-sales-column.is-excellent .projection-sales-column-head strong{color:var(--performance-excellent-text)}
.projection-sales-column-head span{height:22px;margin-top:3px;color:#8a958d;font-size:7px;line-height:1.35}

.projection-sales-bars{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:5px;
  min-width:0;
  padding:0 8px;
  border-bottom:1px solid #dfe7dd;
  background:repeating-linear-gradient(to top,#edf2ec 0,#edf2ec 1px,transparent 1px,transparent 47px);
}

.projection-sales-bars i{display:block;width:18px;min-height:0;border-radius:5px 5px 1px 1px;transition:height .35s ease}
.projection-sales-bars i.is-forecast{background:linear-gradient(180deg,#83b95c,#3f8336);box-shadow:0 5px 12px rgba(63,131,54,.2)}
.projection-sales-bars i.is-goal{background:repeating-linear-gradient(135deg,#c7d2c7 0,#c7d2c7 4px,#dce4dc 4px,#dce4dc 8px)}
.projection-sales-column-foot{text-align:center}
.projection-sales-column-foot strong,.projection-sales-column-foot span{display:block}
.projection-sales-column-foot strong{color:#26382c;font-size:10px;text-transform:uppercase}
.projection-sales-column-foot span{margin-top:3px;color:#78857c;font-size:7px;font-weight:700}

.projection-composition-visual{gap:21px}
.projection-composition-donut{width:176px;box-shadow:0 14px 28px rgba(25,50,33,.1)}
.projection-composition-donut > div{width:122px;box-shadow:0 0 0 8px rgba(255,255,255,.82),0 0 0 9px rgba(25,55,33,.04)}
.projection-composition-donut strong{max-width:106px;font-size:13px}
.projection-composition-list{gap:6px}
.projection-composition-item{padding:9px 10px;border:1px solid #e7ede5;border-radius:10px;background:#fafcf9}
.projection-coverage-note{padding:12px;border:1px solid #e1e9df;border-radius:11px;background:#f3f8f1}

.projection-rank-row{padding:11px 5px;border-radius:10px;border-bottom:0}
.projection-rank-row:nth-child(odd){background:#f8faf7}
.projection-rank-position{font-size:10px}
.projection-rank-avatar{width:34px;height:34px;border-radius:11px;background:#e8f2e3;color:#3f7633}
.projection-rank-main strong{font-size:10px}
.projection-rank-track{height:6px;margin-top:7px}
.projection-rank-value strong{font-size:11px}
.projection-health-item{padding:12px;border:1px solid #e7ece5;border-radius:12px;background:#fafcf9}
.projection-health-item strong{font-size:10px}

.projection-advisor-panel{
  overflow:hidden;
  padding:0;
  border:1px solid var(--sales-line);
  border-radius:20px;
  background:#f5f8f4;
  box-shadow:0 12px 32px rgba(24,48,32,.06);
}

.projection-advisor-panel-head{
  margin:0;
  padding:24px 26px;
  border-bottom:1px solid #dfe7dd;
  background:linear-gradient(135deg,#fff,#f0f6ed);
}

.projection-advisor-panel-head h3{font-size:22px;letter-spacing:-.03em}
.projection-advisor-panel-head p{font-size:10px}
.projection-advisor-period-meta{padding:10px 12px;border:1px solid #dce6da;border-radius:12px;background:#fff}
.projection-advisor-panel > #advisorDataAlert{margin:18px 22px 0}
.projection-advisor-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 22px 0}
.projection-advisor-overview-card{min-height:105px;padding:15px;border:1px solid #dfe7dd;border-radius:14px;background:#fff;box-shadow:0 6px 16px rgba(25,48,32,.04)}
.projection-advisor-overview-card.is-primary{background:linear-gradient(145deg,#eaf5e4,#fff);border-color:#cfe2c9}
.projection-advisor-overview-card strong{font-size:19px}
.projection-advisor-list-head{margin:20px 22px 0;padding:16px 0 12px;border-top:1px solid #dfe7dd}
.projection-advisor-list{gap:11px;padding:0 22px 22px}
.projection-advisor-card{padding:17px 18px;border:1px solid #dfe7dd;border-left-width:5px;border-radius:15px;background:#fff;box-shadow:0 7px 18px rgba(25,48,32,.045)}
.projection-advisor-card:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(25,48,32,.08)}
.projection-advisor-card-main{grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:18px}
.projection-advisor-avatar{width:38px;height:38px;border-radius:12px}
.projection-advisor-identity h4{font-size:12px}
.projection-advisor-result > strong{font-size:18px}
.projection-advisor-progress{height:7px}
.projection-advisor-breakdown-item{padding:11px;border:1px solid #e7ece5;border-radius:10px;background:#f9fbf8}

.projection-period-panel{border:1px solid var(--sales-line);border-radius:20px;box-shadow:0 12px 30px rgba(24,48,32,.055)}
.projection-period-grid{gap:14px}
.projection-period-card{border-radius:16px;box-shadow:0 8px 22px rgba(24,48,32,.055)}

@media(max-width:1280px){
  .projection-sales-command{grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr)}
  .projection-exec-kpi.is-primary,.projection-exec-kpi.is-target,.projection-exec-kpi.is-gap{grid-column:span 4}
  .projection-exec-kpi.is-compliance,.projection-exec-kpi.is-billed{grid-column:span 6}
  .projection-filter-main{grid-template-columns:minmax(230px,1.4fr) repeat(3,minmax(120px,.7fr));}
  .projection-filter-main > :nth-child(5),.projection-filter-main > :nth-child(6){grid-column:span 2}
}

@media(max-width:980px){
  .projection-sales-command{grid-template-columns:1fr;min-height:0;padding:28px}
  .projection-hero-scorecard{max-width:520px}
  .projection-executive-layout{grid-template-columns:1fr;grid-template-areas:"trend" "composition" "ranking" "health"}
  .projection-view-shell{top:62px;overflow-x:auto}
  .projection-view-tabs{display:flex;min-width:max-content}
  .projection-view-tab{min-width:125px}
  .projection-advisor-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projection-advisor-card-main{grid-template-columns:1fr}
}

@media(max-width:680px){
  .layout:has(.projection-sales-command) .sidebar{
    position:relative;
    height:auto;
    min-height:0;
  }
  .layout:has(.projection-sales-command) .sidebar-shell{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:12px;
    align-items:center;
    min-height:82px;
    padding:10px 12px;
  }
  .layout:has(.projection-sales-command) .sidebar-brand{
    grid-column:1;
    grid-row:1;
    align-self:center;
    padding:0;
    border:0;
  }
  .layout:has(.projection-sales-command) .sidebar-logo-img{width:88px}
  .layout:has(.projection-sales-command) .sidebar-subtitle,
  .layout:has(.projection-sales-command) .sidebar-section-label,
  .layout:has(.projection-sales-command) .sidebar-footer{display:none}
  .layout:has(.projection-sales-command) .nav{
    grid-column:2;
    grid-row:1;
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:6px;
    min-width:0;
    padding:0 0 2px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .layout:has(.projection-sales-command) .nav::-webkit-scrollbar{display:none}
  .layout:has(.projection-sales-command) .nav-group,
  .layout:has(.projection-sales-command) .nav-group-items{display:contents}
  .layout:has(.projection-sales-command) .nav-link{
    width:auto;
    min-width:max-content;
    padding:9px 11px;
    border-radius:10px;
    font-size:10px;
  }
  .layout:has(.projection-sales-command) .nav-link-icon{width:16px;height:16px}
  .layout:has(.projection-sales-command) .topbar{align-items:center;padding:10px 14px}
  .layout:has(.projection-sales-command) .topbar h2{font-size:13px}
  .layout:has(.projection-sales-command) .topbar-clock{display:none}
  .layout:has(.projection-sales-command) .content{padding:14px}
  .projection-sales-command{padding:22px;border-radius:20px}
  .projection-sales-command .projection-command-copy h2{font-size:31px}
  .projection-sales-command .projection-command-actions{display:grid}
  .projection-hero-score-body{grid-template-columns:128px minmax(0,1fr);gap:15px}
  .projection-hero-gauge{width:128px}
  .projection-hero-gauge::before{width:100px}
  .projection-hero-gauge strong{font-size:20px}
  .projection-executive-kpis{grid-template-columns:1fr 1fr}
  .projection-exec-kpi.is-primary,.projection-exec-kpi.is-target,.projection-exec-kpi.is-gap,.projection-exec-kpi.is-compliance,.projection-exec-kpi.is-billed{grid-column:span 1}
  .projection-exec-kpi.is-primary{grid-column:1 / -1}
  .projection-filter-main{grid-template-columns:1fr}
  .projection-filter-main > :nth-child(5),.projection-filter-main > :nth-child(6){grid-column:auto}
  .projection-insight-card{padding:16px}
  .projection-sales-chart{min-width:560px}
  .projection-advisor-panel-head{display:grid;padding:20px}
  .projection-advisor-period-meta{justify-items:start;text-align:left}
  .projection-advisor-panel > #advisorDataAlert,.projection-advisor-overview,.projection-advisor-list-head{margin-right:14px;margin-left:14px}
  .projection-advisor-list{padding-right:14px;padding-left:14px}
}

@media(max-width:460px){
  .projection-hero-score-body{grid-template-columns:1fr;justify-items:center}
  .projection-hero-score-values{width:100%;grid-template-columns:1fr 1fr}
  .projection-executive-kpis{grid-template-columns:1fr}
  .projection-exec-kpi.is-primary,.projection-exec-kpi.is-target,.projection-exec-kpi.is-gap,.projection-exec-kpi.is-compliance,.projection-exec-kpi.is-billed{grid-column:1}
  .projection-advisor-overview{grid-template-columns:1fr}
}

/* Proyeccion comercial: jerarquia de contexto y filtros de detalle */
.projection-context-bar{
  display:grid;
  grid-template-columns:minmax(210px,.7fr) minmax(0,2.3fr);
  gap:22px;
  align-items:center;
  margin-top:0;
  padding:18px 20px;
  border:1px solid #dce7db;
  border-radius:18px;
  background:linear-gradient(135deg,#f7fbf5 0%,#fff 62%);
  box-shadow:0 8px 22px rgba(22,48,30,.045);
}

.projection-context-intro h3,
.projection-detail-heading h3{
  margin:3px 0 0;
  color:#17281d;
  font-size:16px;
  letter-spacing:-.015em;
}

.projection-context-intro p,
.projection-detail-heading p{
  margin:5px 0 0;
  color:#748078;
  font-size:11px;
  line-height:1.45;
}

.projection-context-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,.42fr);
  gap:14px;
  align-items:end;
  min-width:0;
}

.projection-context-period{
  display:grid;
  grid-template-columns:minmax(115px,.55fr) minmax(165px,.75fr) minmax(190px,1fr);
  gap:10px;
  min-width:0;
}

.projection-context-status{
  display:grid;
  gap:7px;
  align-content:end;
  min-height:62px;
  padding:10px 12px;
  border:1px solid #dfe9dc;
  border-radius:12px;
  background:#fff;
}

.projection-context-status > span{
  display:flex;
  gap:7px;
  align-items:center;
  color:#58705f;
  font-size:10px;
  font-weight:750;
}

.projection-context-status > span::before{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#76b94a;
  box-shadow:0 0 0 4px rgba(118,185,74,.12);
  content:"";
}

.projection-context-status .projection-clear-link{
  justify-self:start;
  padding:0;
  border:0;
  background:transparent;
}

.projection-context-bar .projection-filter-field > span,
.projection-detail-tools .projection-filter-field > span{
  color:#607067;
  font-size:10px;
  font-weight:800;
  letter-spacing:.075em;
}

.projection-context-bar .projection-filter-field .form-control,
.projection-detail-tools .projection-filter-field .form-control{
  height:46px;
  border:1px solid #d7e2d6;
  border-radius:12px;
  background:#fff;
  color:#1f3025;
  font-size:12px;
  font-weight:650;
  box-shadow:0 2px 5px rgba(27,54,34,.02);
}

.projection-context-bar .projection-filter-field .form-control:focus,
.projection-detail-tools .projection-filter-field .form-control:focus{
  border-color:#77a962;
  box-shadow:0 0 0 3px rgba(95,158,71,.13);
  outline:0;
}

.projection-view-shell{
  margin-top:0;
}

.projection-view-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.projection-view-tab{
  min-height:42px;
  font-size:11px;
}

.projection-detail-tools{
  display:grid;
  min-width:0;
  gap:15px;
  margin:0 0 20px;
  padding:18px;
  border:1px solid #dce6da;
  border-radius:16px;
  background:linear-gradient(145deg,#f7faf5,#fff 72%);
}

.projection-detail-heading{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding-bottom:14px;
  border-bottom:1px solid #e5ece3;
}

.projection-detail-heading > div{min-width:0;max-width:720px}
.projection-detail-heading .projection-clear-link{flex:0 0 auto;margin-top:2px;padding:8px 11px;border:1px solid #dde7da;border-radius:10px;background:#fff}

.projection-detail-filter-grid{
  display:grid;
  min-width:0;
  grid-template-columns:minmax(210px,1.55fr) minmax(140px,.78fr) minmax(165px,.92fr) minmax(170px,auto);
  gap:10px;
  align-items:end;
}

.projection-detail-search{min-width:0}

.projection-detail-actions{
  display:flex;
  align-items:end;
}

.projection-detail-actions .btn{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 14px;
  border-radius:12px;
  white-space:nowrap;
}

#projectionAdvancedCount{
  display:grid;
  min-width:20px;
  height:20px;
  padding:0 6px;
  place-items:center;
  border-radius:999px;
  background:#e5eee1;
  color:#356b2c;
  font-size:9px;
  font-weight:900;
}

.projection-filter-advanced{
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
  padding:15px;
  border:1px solid #e0e9de;
  border-radius:14px;
  background:#fff;
}

.projection-filter-feedback{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  min-height:28px;
}

#projectionFilteredResults{
  flex:0 0 auto;
  color:#637168;
  font-size:10px;
  font-weight:800;
}

.projection-active-filters{
  display:flex;
  flex:1 1 auto;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
}

.projection-active-filters:empty::before{
  color:#8a948d;
  font-size:10px;
  content:"Sin filtros de detalle";
}

.projection-filter-chip{
  display:inline-flex;
  gap:6px;
  align-items:center;
  min-height:26px;
  padding:5px 8px;
  border:1px solid #d6e3d3;
  border-radius:999px;
  background:#eef6ea;
  color:#345a37;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}

.projection-filter-chip:hover,
.projection-filter-chip:focus-visible{
  border-color:#8bb878;
  background:#e4f1df;
  outline:0;
}

.projection-filter-chip i{font-style:normal;font-size:12px;line-height:1}

.projection-spreadsheet-table th[data-sort]:focus-visible{
  outline:3px solid rgba(95,158,71,.28);
  outline-offset:-3px;
}

.projection-clear-link:disabled{
  opacity:.45;
  cursor:not-allowed;
  pointer-events:none;
}

@media(max-width:1180px){
  .projection-context-bar{grid-template-columns:1fr}
  .projection-context-intro{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
  .projection-context-intro p{flex-basis:100%}
  .projection-detail-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projection-detail-search{grid-column:1 / -1}
  .projection-detail-actions{justify-content:flex-start}
  .projection-filter-advanced{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:820px){
  .projection-context-controls{grid-template-columns:1fr}
  .projection-context-status{display:flex;min-height:0;align-items:center;justify-content:space-between}
  .projection-filter-advanced{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projection-view-shell{overflow-x:auto}
  .projection-view-tabs{display:flex;min-width:max-content}
  .projection-view-tab{min-width:145px}
}

@media(max-width:620px){
  .projection-context-bar{gap:16px;padding:16px}
  .projection-context-period{grid-template-columns:1fr}
  .projection-context-status{display:grid;justify-items:start}
  .projection-detail-tools{padding:15px}
  .projection-detail-heading{display:grid}
  .projection-detail-heading .projection-clear-link{justify-self:start}
  .projection-detail-filter-grid,
  .projection-filter-advanced{grid-template-columns:1fr}
  .projection-detail-search{grid-column:auto}
  .projection-detail-actions .btn{width:100%}
  .projection-filter-feedback{display:grid}
  .projection-active-filters{order:2}
  #projectionFilteredResults{order:1}
}

/* Proyeccion comercial v7: workspace unico con navegacion interna */
.projection-workspace{
  min-width:0;
  overflow:hidden;
  border:1px solid #dbe6da;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 46px rgba(22,48,31,.075);
}

.projection-workspace-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:24px 26px 18px;
  border-bottom:1px solid #e3ebe1;
  background:linear-gradient(135deg,#fff 0%,#f8fbf6 100%);
}

.projection-workspace-title h2{
  margin:4px 0 0;
  color:#14291c;
  font-size:clamp(20px,1.8vw,27px);
  letter-spacing:-.035em;
}

.projection-workspace-title p{
  margin:7px 0 0;
  color:#718078;
  font-size:11px;
  font-weight:650;
}

.projection-workspace-state{
  display:flex;
  gap:14px;
  align-items:center;
  padding:9px 10px 9px 14px;
  border:1px solid #dce8d9;
  border-radius:13px;
  background:#fff;
}

.projection-workspace-state > span{
  display:flex;
  gap:8px;
  align-items:center;
  color:#50665a;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

.projection-workspace-state > span::before{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#72b74a;
  box-shadow:0 0 0 4px rgba(114,183,74,.12);
  content:"";
}

.projection-workspace-state .projection-clear-link{
  min-height:34px;
  padding:7px 10px;
  border:1px solid #dfe8dd;
  border-radius:9px;
  background:#f7faf6;
  white-space:nowrap;
}

.projection-workspace-context{
  display:grid;
  grid-template-columns:minmax(170px,.42fr) minmax(0,1fr);
  gap:20px;
  align-items:end;
  padding:17px 26px 19px;
  border-bottom:1px solid #e4ebe2;
  background:#f5f8f3;
}

.projection-workspace-context-copy{
  display:grid;
  gap:4px;
  align-content:center;
  min-height:52px;
}

.projection-workspace-context-copy strong{
  color:#1c3525;
  font-size:12px;
}

.projection-workspace-context-copy span{
  color:#77847b;
  font-size:9px;
  line-height:1.35;
}

.projection-workspace .projection-context-period{
  grid-template-columns:minmax(110px,.52fr) minmax(155px,.7fr) minmax(190px,1fr);
}

.projection-workspace .projection-filter-field > span{
  color:#65736b;
  font-size:8px;
  font-weight:850;
  letter-spacing:.09em;
}

.projection-workspace .projection-filter-field .form-control{
  height:44px;
  border:1px solid #d7e2d5;
  border-radius:11px;
  background:#fff;
  color:#203126;
  font-size:11px;
  font-weight:700;
  box-shadow:none;
}

.projection-workspace .projection-filter-field .form-control:focus{
  border-color:#74a75d;
  outline:0;
  box-shadow:0 0 0 3px rgba(96,154,69,.12);
}

.projection-workspace-nav{
  overflow-x:auto;
  padding:10px 16px;
  border-bottom:1px solid #e2eae0;
  background:#fff;
  scrollbar-width:none;
}

.projection-workspace-nav::-webkit-scrollbar{display:none}

.projection-workspace .projection-view-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  min-width:0;
  gap:7px;
  overflow:visible;
}

.projection-workspace .projection-view-tab{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-width:0;
  min-height:64px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:14px;
  background:#f6f8f5;
  color:#4f6055;
  text-align:left;
  white-space:normal;
  box-shadow:none;
}

.projection-workspace .projection-view-tab > i{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:9px;
  background:#e7ede5;
  color:#718078;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}

.projection-workspace .projection-view-tab > span{
  display:grid;
  min-width:0;
  gap:3px;
}

.projection-workspace .projection-view-tab strong{
  overflow:hidden;
  color:inherit;
  font-size:10px;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.projection-workspace .projection-view-tab small{
  overflow:hidden;
  color:#88938c;
  font-size:8px;
  font-weight:650;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.projection-workspace .projection-view-tab > b{
  display:grid;
  min-width:24px;
  height:24px;
  padding:0 6px;
  place-items:center;
  border-radius:999px;
  background:#e7ede5;
  color:#637269;
  font-size:8px;
}

.projection-workspace .projection-view-tab:hover{
  border-color:#d5e1d2;
  background:#f0f5ed;
}

.projection-workspace .projection-view-tab.is-active{
  border-color:#174c35;
  background:#124631;
  color:#fff;
  box-shadow:0 9px 20px rgba(18,70,49,.18);
}

.projection-workspace .projection-view-tab.is-active > i,
.projection-workspace .projection-view-tab.is-active > b{
  background:rgba(255,255,255,.14);
  color:#dff3d7;
}

.projection-workspace .projection-view-tab.is-active small{color:#bfd2c5}

.projection-workspace-body{
  min-width:0;
  padding:22px 24px 26px;
  background:#fbfcfa;
}

.projection-workspace .projection-hub-panel{
  width:100%;
  min-width:0;
  margin:0;
}

.projection-workspace .projection-hub-panel[hidden]{display:none!important}

.projection-workspace .projection-executive-view{gap:14px}

.projection-workspace .projection-insight-card{
  border-color:#dfe7dd;
  box-shadow:0 5px 15px rgba(24,48,32,.035);
}

.projection-workspace .projection-spreadsheet-card{
  overflow:visible;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.projection-workspace .projection-detail-tools{
  margin:0 0 20px;
  padding:18px;
  border-color:#dce7da;
  background:linear-gradient(145deg,#f4f8f2,#fff 74%);
  box-shadow:none;
}

.projection-workspace .module-table-head{
  margin:0 0 12px;
  padding:0 2px;
}

.projection-workspace .projection-spreadsheet-wrap{
  overflow-x:auto;
  border:1px solid #dee7dc;
  border-radius:14px;
  background:#fff;
}

.projection-workspace .projection-detail-panel > .pagination{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #e3eae1;
}

.projection-workspace .projection-hub-section{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.projection-workspace .projection-hub-section.projection-advisor-panel{overflow:visible}
.projection-workspace .projection-hub-section .projection-advisor-panel-head{border:1px solid #dfe7dd;border-radius:16px}

.projection-exec-kpi > strong{
  display:block;
  overflow:hidden;
  font-size:clamp(16px,1.35vw,22px);
  line-height:1.08;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.projection-sales-command{
  min-height:275px;
  padding-top:28px;
  padding-bottom:28px;
}

@media(max-width:1180px){
  .projection-workspace-head{grid-template-columns:1fr}
  .projection-workspace-state{justify-self:start}
  .projection-workspace-context{grid-template-columns:1fr}
  .projection-workspace-context-copy{min-height:0}
  .projection-workspace .projection-view-tab{grid-template-columns:26px minmax(0,1fr) auto;padding:9px}
}

@media(max-width:980px){
  .projection-workspace-nav{padding-right:12px;padding-left:12px}
  .projection-workspace .projection-view-tabs{display:flex;min-width:max-content}
  .projection-workspace .projection-view-tab{width:205px;min-width:205px}
}

@media(max-width:820px){
  .projection-workspace-head,
  .projection-workspace-context{padding-right:18px;padding-left:18px}
  .projection-workspace-body{padding:18px}
  .projection-workspace .projection-context-period{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:620px){
  .projection-sales-command{min-height:0}
  .projection-executive-kpis{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding:2px 1px 6px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .projection-executive-kpis::-webkit-scrollbar{display:none}
  .projection-exec-kpi,
  .projection-exec-kpi.is-primary,
  .projection-exec-kpi.is-target,
  .projection-exec-kpi.is-gap,
  .projection-exec-kpi.is-compliance,
  .projection-exec-kpi.is-billed{
    width:min(82vw,300px);
    min-width:min(82vw,300px);
    min-height:120px;
    grid-column:auto;
    scroll-snap-align:start;
  }
  .projection-workspace{border-radius:18px}
  .projection-workspace-head{gap:14px;padding:18px 15px 15px}
  .projection-workspace-state{display:grid;gap:8px;width:100%;justify-self:stretch}
  .projection-workspace-state .projection-clear-link{justify-self:start}
  .projection-workspace-context{gap:14px;padding:15px}
  .projection-workspace .projection-context-period{grid-template-columns:1fr}
  .projection-workspace-nav{padding:8px}
  .projection-workspace .projection-view-tab{width:175px;min-width:175px;min-height:58px}
  .projection-workspace-body{padding:14px}
  .projection-workspace .projection-detail-tools{padding:14px}
}

/* Proyeccion comercial v8: KPI por canal dentro del centro verde */
.projection-sales-command.is-channel-dashboard{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  min-height:0;
  padding:22px 24px 24px;
}

.projection-command-topbar{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  min-width:0;
}

.projection-command-topbar .projection-command-eyebrow{flex:1 1 auto;width:auto;min-width:0}

.projection-sales-command .projection-hero-reload{
  flex:0 0 auto;
  min-height:38px;
  padding:9px 14px;
  border-radius:10px;
  box-shadow:0 10px 24px rgba(7,22,13,.2);
  font-size:10px;
  white-space:nowrap;
}

.projection-sales-command .projection-hero-reload:disabled{
  cursor:wait;
  opacity:.72;
}

.projection-command-main{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  gap:28px;
  align-items:stretch;
  min-width:0;
}

.projection-sales-command.is-channel-dashboard .projection-command-copy{
  justify-content:center;
  max-width:780px;
}

.projection-sales-command.is-channel-dashboard .projection-command-copy h2{margin-top:0}
.projection-sales-command.is-channel-dashboard .projection-hero-scorecard{min-height:205px;padding:18px 20px}
.projection-sales-command.is-channel-dashboard .projection-hero-score-body{grid-template-columns:126px minmax(0,1fr);gap:18px;padding-top:15px}
.projection-sales-command.is-channel-dashboard .projection-hero-gauge{width:126px}
.projection-sales-command.is-channel-dashboard .projection-hero-gauge::before{width:98px}
.projection-sales-command.is-channel-dashboard .projection-hero-gauge strong{font-size:21px}

.projection-channel-kpis{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  width:100%;
  min-width:0;
}

.projection-channel-kpi{
  --channel-accent:#b8dd73;
  position:relative;
  min-width:0;
  min-height:105px;
  padding:15px 16px 14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.055));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 26px rgba(3,20,10,.12);
  backdrop-filter:blur(12px);
}

.projection-channel-kpi::before{
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:3px;
  background:var(--channel-accent);
  content:"";
}

.projection-channel-kpi header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.projection-channel-kpi header span{
  overflow:hidden;
  color:#d9e9de;
  font-size:8px;
  font-weight:850;
  letter-spacing:.1em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.projection-channel-kpi header i{
  display:grid;
  width:26px;
  height:26px;
  flex:0 0 26px;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--channel-accent) 55%,transparent);
  border-radius:8px;
  background:color-mix(in srgb,var(--channel-accent) 16%,transparent);
  color:#eef8e8;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}

.projection-channel-kpi > strong{
  display:block;
  overflow:hidden;
  margin-top:11px;
  color:#fff;
  font-size:clamp(15px,1.2vw,20px);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.025em;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.projection-channel-kpi > small{
  display:block;
  overflow:hidden;
  margin-top:7px;
  color:#aec5b6;
  font-size:8px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.projection-channel-kpi.is-food-service{--channel-accent:#9fd464}
.projection-channel-kpi.is-retail{--channel-accent:#e4b34c}
.projection-channel-kpi.is-rappi{--channel-accent:#f28b43}
.projection-channel-kpi.is-billed{--channel-accent:#65c3d2}
.projection-channel-kpi.is-total{
  --channel-accent:#d8f39c;
  border-color:rgba(216,243,156,.35);
  background:linear-gradient(135deg,rgba(184,221,115,.24),rgba(255,255,255,.1));
}
.projection-channel-kpi.is-total > strong{color:#e7ffb8}

@media(max-width:1180px){
  .projection-command-main{grid-template-columns:minmax(0,1fr) minmax(315px,.8fr)}
  .projection-channel-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .projection-channel-kpi.is-total{grid-column:span 2}
}

@media(max-width:980px){
  .projection-command-main{grid-template-columns:1fr}
  .projection-sales-command.is-channel-dashboard .projection-hero-scorecard{max-width:none}
}

@media(max-width:740px){
  .projection-sales-command.is-channel-dashboard{padding:18px}
  .projection-command-topbar{align-items:flex-start}
  .projection-command-topbar .projection-command-eyebrow{padding-top:5px}
  .projection-channel-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projection-channel-kpi.is-total{grid-column:1 / -1}
}

@media(max-width:520px){
  .projection-sales-command.is-channel-dashboard{gap:16px;padding:15px}
  .projection-command-topbar{gap:10px}
  .projection-command-topbar .projection-command-eyebrow{flex:1 1 0;overflow:hidden}
  .projection-command-topbar .projection-command-eyebrow span{display:none}
  .projection-command-topbar .projection-command-eyebrow strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .projection-sales-command .projection-hero-reload{min-height:34px;padding:8px 10px}
  .projection-channel-kpis{
    display:flex;
    gap:9px;
    margin-right:0;
    margin-left:0;
    padding-right:0;
    padding-left:0;
    overflow-x:auto;
    scroll-padding-left:15px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .projection-channel-kpis::-webkit-scrollbar{display:none}
  .projection-channel-kpi,
  .projection-channel-kpi.is-total{
    width:min(76vw,260px);
    min-width:min(76vw,260px);
    grid-column:auto;
    scroll-snap-align:start;
  }
}
/* Consultor IA de proyeccion comercial */
.projection-ai-open {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid rgba(194, 238, 113, .42);
  border-radius: 10px;
  background: rgba(194, 238, 113, .12);
  color: #f7fff1;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}
.projection-ai-open:hover { background: rgba(194, 238, 113, .22); border-color: #c2ee71; }
.projection-ai-open span { color: #c2ee71; font-size: 16px; }
body.projection-ai-is-open { overflow: hidden; }
.projection-ai-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(440px, 580px);
}
.projection-ai-overlay.hidden { display: none !important; }
.projection-ai-backdrop {
  grid-column: 1 / -1;
  grid-row: 1;
  border: 0;
  background: rgba(5, 28, 20, .5);
  backdrop-filter: blur(3px);
  cursor: default;
}
.projection-ai-dialog {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  height: 100dvh;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto auto;
  background: #f7faf6;
  border-left: 1px solid #d7e2d7;
  box-shadow: -24px 0 70px rgba(5, 46, 31, .22);
  overflow: hidden;
  animation: projectionAiEnter .22s ease-out;
}
@keyframes projectionAiEnter { from { transform: translateX(30px); opacity: .7; } to { transform: translateX(0); opacity: 1; } }
.projection-ai-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px 18px;
  color: #fff;
  background: linear-gradient(135deg, #003f2b, #075b3c);
}
.projection-ai-identity { min-width: 0; display: flex; align-items: center; gap: 12px; }
.projection-ai-identity > i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(194, 238, 113, .5);
  border-radius: 13px;
  color: #c2ee71;
  background: rgba(255,255,255,.08);
  font-style: normal;
  font-size: 22px;
}
.projection-ai-identity span { display: block; margin-bottom: 2px; color: #cde2d6; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.projection-ai-identity h2 { margin: 0; color: #fff; font-size: 21px; line-height: 1.15; }
.projection-ai-close {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px;
  color: #fff;
  background: rgba(255,255,255,.08);
  font-size: 24px;
  cursor: pointer;
}
.projection-ai-context { padding: 14px 22px; border-bottom: 1px solid #dce5dc; background: #fff; }
.projection-ai-context span { display: block; color: #6e7e73; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.projection-ai-context strong { display: block; margin-top: 3px; color: #082d20; font-size: 14px; }
.projection-ai-context small { display: block; margin-top: 3px; color: #728079; font-size: 11px; }
.projection-ai-status { min-height: 35px; display: flex; align-items: center; gap: 8px; padding: 8px 22px; border-bottom: 1px solid #dce5dc; color: #536159; background: #f1f5f0; font-size: 11px; font-weight: 700; }
.projection-ai-status i { width: 8px; height: 8px; border-radius: 50%; background: #96a39a; }
.projection-ai-status.is-ready i { background: #52a236; box-shadow: 0 0 0 4px rgba(82,162,54,.12); }
.projection-ai-status.is-loading i { background: #e0a020; animation: projectionAiPulse 1s infinite; }
.projection-ai-status.is-warning i { background: #e0a020; }
.projection-ai-status.is-error { color: #a91930; background: #fff2f3; }
.projection-ai-status.is-error i { background: #df314c; }
@keyframes projectionAiPulse { 50% { opacity: .35; transform: scale(.8); } }
.projection-ai-conversation { min-height: 0; overflow: auto; padding: 18px 22px 22px; scroll-behavior: smooth; }
.projection-ai-welcome, .projection-ai-message, .projection-ai-error { display: flex; gap: 10px; margin-bottom: 16px; }
.projection-ai-welcome > i {
  width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto;
  border-radius: 11px; color: #075535; background: #e5f2df; font-style: normal; font-size: 11px; font-weight: 900;
}
.projection-ai-welcome strong { color: #0a2c21; font-size: 14px; }
.projection-ai-welcome p { margin: 4px 0 0; color: #5e6c64; font-size: 12px; line-height: 1.5; }
.projection-ai-message.is-user { justify-content: flex-end; }
.projection-ai-message.is-user > div { max-width: 86%; padding: 11px 14px; border-radius: 14px 14px 3px 14px; color: #fff; background: #075535; }
.projection-ai-message strong { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.projection-ai-message p { margin: 3px 0 0; font-size: 13px; line-height: 1.45; white-space: pre-wrap; }
.projection-ai-context-change { display: flex; align-items: center; gap: 8px; margin: 12px 0; color: #66756c; font-size: 9px; }
.projection-ai-context-change::before, .projection-ai-context-change::after { content: ''; height: 1px; flex: 1; background: #dce4dc; }
.projection-ai-context-change span { text-transform: uppercase; letter-spacing: .08em; }
.projection-ai-context-change strong { color: #294d3b; white-space: nowrap; }
.projection-ai-report { margin: 0 0 20px; padding: 17px; border: 1px solid #d5e1d5; border-radius: 16px; background: #fff; box-shadow: 0 7px 24px rgba(16, 63, 43, .06); }
.projection-ai-report > header { display: flex; align-items: flex-start; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid #e2e9e2; }
.projection-ai-report > header > i { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: #fff; background: #075535; font-style: normal; }
.projection-ai-report > header > div { min-width: 0; flex: 1; }
.projection-ai-report > header span { display: block; color: #47705b; font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.projection-ai-report > header h3 { margin: 2px 0 0; color: #0a281e; font-size: 16px; line-height: 1.2; }
.projection-ai-report > header small { display: block; margin-top: 3px; color: #718078; font-size: 10px; }
.projection-ai-verified-badge { flex: 0 0 auto; padding: 6px 8px; border: 1px solid #b9d9ae; border-radius: 999px; color: #176328; background: #edf7e9; font-size: 9px; line-height: 1; white-space: nowrap; }
.projection-ai-verification { margin-top: 12px; padding: 10px; border: 1px solid #c8dfc0; border-radius: 11px; background: linear-gradient(135deg, #f2f8ef, #fbfdf9); }
.projection-ai-verification > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.projection-ai-verification > header span { display: flex; align-items: center; gap: 6px; color: #174f2a; font-size: 10px; font-weight: 850; }
.projection-ai-verification > header i { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #2e8d3e; font-style: normal; font-size: 10px; }
.projection-ai-verification > header small { color: #718078; font-size: 8px; }
.projection-ai-verification > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.projection-ai-verification article { min-width: 0; padding: 7px 8px; border-radius: 8px; background: rgba(255,255,255,.82); }
.projection-ai-verification article span { display: block; color: #627269; font-size: 8px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.projection-ai-verification article strong { display: block; margin-top: 2px; color: #091e15; font-size: 11px; line-height: 1.2; overflow-wrap: anywhere; }
.projection-ai-tool-trace { margin-top: 9px; padding: 10px; border: 1px solid #d9e6e8; border-radius: 11px; background: #f5fafb; }
.projection-ai-tool-trace > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
.projection-ai-tool-trace > header strong { color: #123f48; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.projection-ai-tool-trace > header span { color: #698087; font-size: 8px; }
.projection-ai-tool-trace > div { display: grid; gap: 5px; }
.projection-ai-tool-trace article { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 7px; padding: 6px 7px; border-radius: 8px; background: #fff; }
.projection-ai-tool-trace article > i { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #168397; font-style: normal; font-size: 9px; }
.projection-ai-tool-trace article strong, .projection-ai-tool-trace article span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.projection-ai-tool-trace article strong { color: #173b42; font-size: 10px; }
.projection-ai-tool-trace article span, .projection-ai-tool-trace article small { color: #718287; font-size: 8px; }
.projection-ai-answer { margin: 13px 0; color: #25362f; font-size: 13px; line-height: 1.58; white-space: pre-wrap; }
.projection-ai-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0 16px; }
.projection-ai-metrics > div { min-width: 0; padding: 10px; border-radius: 10px; background: #f1f6ef; }
.projection-ai-metrics span, .projection-ai-metrics small { display: block; color: #65736b; font-size: 9px; }
.projection-ai-metrics strong { display: block; margin: 3px 0; color: #071e16; font-size: 15px; overflow-wrap: anywhere; }
.projection-ai-report-section { margin-top: 16px; }
.projection-ai-report-section > h4 { margin: 0 0 8px; color: #0a2c20; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.projection-ai-findings { display: grid; gap: 7px; }
.projection-ai-findings article { display: flex; gap: 9px; padding: 10px; border-left: 3px solid #7d9185; border-radius: 7px; background: #f5f7f4; }
.projection-ai-findings article.is-critical { border-color: #d81f3e; background: #fff1f3; }
.projection-ai-findings article.is-warning { border-color: #d98d0b; background: #fff8e9; }
.projection-ai-findings article.is-positive { border-color: #319645; background: #eff8ed; }
.projection-ai-findings article.is-info { border-color: #17849a; background: #edf8fa; }
.projection-ai-findings article > i { width: 8px; height: 8px; margin-top: 4px; flex: 0 0 auto; border-radius: 50%; background: currentColor; }
.projection-ai-findings strong { color: #13261d; font-size: 12px; }
.projection-ai-findings p { margin: 2px 0 3px; color: #405048; font-size: 11px; line-height: 1.4; }
.projection-ai-findings small { color: #738078; font-size: 9px; }
.projection-ai-actions { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; counter-reset: ai-action; }
.projection-ai-actions li { counter-increment: ai-action; display: flex; gap: 9px; padding: 9px 10px; border: 1px solid #dfe7df; border-radius: 9px; }
.projection-ai-actions li > i::before { content: counter(ai-action); }
.projection-ai-actions li > i { width: 22px; height: 22px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #075535; background: #e6f2e1; font-style: normal; font-size: 10px; font-weight: 900; }
.projection-ai-actions strong { color: #12271d; font-size: 11px; }
.projection-ai-actions p { margin: 2px 0 0; color: #5d6b63; font-size: 10px; line-height: 1.4; }
.projection-ai-evidence { margin-top: 14px; padding: 9px 10px; border-radius: 9px; background: #f3f5f2; color: #58665e; font-size: 10px; }
.projection-ai-evidence summary { color: #2d4136; font-weight: 800; cursor: pointer; }
.projection-ai-evidence h5 { margin: 9px 0 3px; font-size: 10px; }
.projection-ai-evidence ul { margin: 0; padding-left: 17px; }
.projection-ai-evidence li + li { margin-top: 3px; }
.projection-ai-follow-ups { margin-top: 14px; padding-top: 12px; border-top: 1px solid #e2e9e2; }
.projection-ai-follow-ups h4 { margin: 0 0 7px; color: #315043; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.projection-ai-follow-ups > div { display: flex; flex-wrap: wrap; gap: 6px; }
.projection-ai-follow-ups button { max-width: 100%; padding: 7px 9px; border: 1px solid #cddfce; border-radius: 9px; color: #204a36; background: #f2f8ef; font-size: 9px; font-weight: 750; line-height: 1.3; text-align: left; cursor: pointer; }
.projection-ai-follow-ups button:hover { border-color: #6fa65c; background: #e7f3e2; }
.projection-ai-error { display: block; padding: 11px 13px; border: 1px solid #f1c6cd; border-radius: 10px; color: #9e1830; background: #fff2f4; }
.projection-ai-error strong { font-size: 12px; }
.projection-ai-error p { margin: 3px 0 0; font-size: 11px; }
.projection-ai-suggestions { display: flex; gap: 7px; padding: 10px 22px 0; overflow-x: auto; background: #fff; scrollbar-width: thin; }
.projection-ai-suggestions.is-disabled { pointer-events: none; opacity: .55; }
.projection-ai-suggestions button { min-height: 31px; padding: 0 10px; flex: 0 0 auto; border: 1px solid #d2dfd2; border-radius: 999px; color: #28513d; background: #f5f9f3; font-size: 10px; font-weight: 750; cursor: pointer; }
.projection-ai-suggestions button:hover { border-color: #70a35d; background: #eaf4e6; }
.projection-ai-form { padding: 12px 22px 18px; background: #fff; }
.projection-ai-form > label { display: block; margin-bottom: 5px; color: #385044; font-size: 10px; font-weight: 800; }
.projection-ai-form > div { display: grid; grid-template-columns: minmax(0, 1fr) 42px; gap: 8px; padding: 6px; border: 1px solid #bacbbb; border-radius: 13px; background: #fff; box-shadow: 0 3px 16px rgba(8, 54, 36, .06); }
.projection-ai-form textarea { width: 100%; min-height: 42px; max-height: 120px; padding: 6px; resize: vertical; border: 0; outline: 0; color: #13281e; background: transparent; font: inherit; font-size: 12px; line-height: 1.4; }
.projection-ai-form button { width: 42px; height: 42px; align-self: end; border: 0; border-radius: 10px; color: #fff; background: #075535; font-size: 18px; font-weight: 800; cursor: pointer; }
.projection-ai-form button:disabled, .projection-ai-form textarea:disabled { cursor: not-allowed; opacity: .55; }
.projection-ai-form > small { display: block; margin-top: 6px; color: #78847d; font-size: 9px; line-height: 1.35; }
@media (max-width: 1180px) {
  .projection-ai-open { padding-inline: 9px; }
  .projection-ai-overlay { grid-template-columns: minmax(0, 1fr) minmax(410px, 52vw); }
}
@media (max-width: 720px) {
  .projection-ai-overlay { display: block; }
  .projection-ai-backdrop { position: absolute; inset: 0; }
  .projection-ai-dialog { position: absolute; inset: 0; width: 100%; border-left: 0; }
  .projection-ai-head { padding: 16px; }
  .projection-ai-context, .projection-ai-status, .projection-ai-conversation { padding-inline: 16px; }
  .projection-ai-suggestions { padding-inline: 16px; }
  .projection-ai-form { padding-inline: 16px; }
  .projection-ai-verification > header { align-items: flex-start; flex-direction: column; }
  .projection-ai-verification > div { grid-template-columns: 1fr; }
  .projection-ai-tool-trace > header { align-items: flex-start; flex-direction: column; }
  .projection-ai-tool-trace article { grid-template-columns: 18px minmax(0, 1fr); }
  .projection-ai-tool-trace article > small { display: none; }
}

/* Seguimiento de producción dentro de la hoja de vida comercial */
.projection-advisor-section-tabs { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.projection-production-dashboard { display: grid; gap: 12px; min-width: 0; padding: 15px; border: 1px solid #dce6dc; border-radius: 14px; background: #fff; }
.projection-production-dashboard-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 12px; border-bottom: 1px solid #e3eae2; }
.projection-production-dashboard-head > div { min-width: 0; }
.projection-production-dashboard-head span { display: block; color: #68786e; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.projection-production-dashboard-head h3 { margin: 3px 0 0; color: #082318; font-size: 17px; line-height: 1.2; }
.projection-production-dashboard-head p { margin: 4px 0 0; color: #637268; font-size: 10px; line-height: 1.4; }
.projection-production-sync { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; color: #246331; background: #edf7e9; font-size: 9px; white-space: nowrap; }
.projection-production-sync i { width: 7px; height: 7px; border-radius: 50%; background: #55a946; }
.projection-production-sync.is-warning { color: #9a4b1d; background: #fff3e9; }
.projection-production-sync.is-warning i { background: #dd7d24; }
.projection-production-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; }
.projection-production-kpis article { min-width: 0; padding: 12px 13px; border-top: 3px solid #4a9941; border-radius: 11px; background: #f6f9f4; }
.projection-production-kpis article.is-budget { border-color: #7a5aa6; background: #f7f3fb; }
.projection-production-kpis article.is-inventory { border-color: #4a9941; background: #f1f8ee; }
.projection-production-kpis article.is-order { border-color: #147d91; background: #f0f8f9; }
.projection-production-kpis article.is-produced { border-color: #078b62; background: #eff8f4; }
.projection-production-kpis article.is-pending { border-color: #dc4256; background: #fff3f5; }
.projection-production-kpis span { display: block; color: #5f7066; font-size: 9px; font-weight: 750; }
.projection-production-kpis strong { display: block; margin-top: 5px; overflow: hidden; color: #071f14; font-size: clamp(17px, 1.5vw, 23px); line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.projection-production-kpis strong small { font-size: .5em; font-weight: 800; }
.projection-production-kpis p { margin: 4px 0 0; color: #6c7a71; font-size: 9px; }
.projection-production-alert { display: flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid #f0cab6; border-radius: 9px; color: #914719; background: #fff5ef; font-size: 10px; }
.projection-production-filters { display: grid; grid-template-columns: minmax(230px, 1.7fr) repeat(3, minmax(125px, .75fr)) auto auto; align-items: end; gap: 8px; padding: 10px; border: 1px solid #dfe7de; border-radius: 11px; background: #f7faf6; }
.projection-production-filters label { min-width: 0; display: grid; gap: 4px; }
.projection-production-filters label > span { color: #627168; font-size: 8px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.projection-production-filters input,
.projection-production-filters select { width: 100%; min-width: 0; height: 35px; padding: 0 10px; border: 1px solid #d5dfd4; border-radius: 8px; outline: 0; color: #193126; background: #fff; font: inherit; font-size: 10px; }
.projection-production-filters input:focus,
.projection-production-filters select:focus { border-color: #3c8d49; box-shadow: 0 0 0 3px rgba(60, 141, 73, .11); }
.projection-production-filters button { height: 35px; padding: 0 13px; border: 1px solid #ccd9ca; border-radius: 8px; color: #245b35; background: #fff; font-size: 9px; font-weight: 850; cursor: pointer; }
.projection-production-filters button:hover { border-color: #3d8a48; background: #eff7ec; }
.projection-production-filters > strong { align-self: center; color: #45604f; font-size: 9px; white-space: nowrap; }
.projection-production-table-wrap { max-width: 100%; max-height: clamp(360px, 55vh, 570px); overflow: auto; border: 1px solid #dde6dd; border-radius: 11px; scrollbar-width: thin; scrollbar-color: #8ca995 #edf2ed; }
.projection-production-table { width: 100%; min-width: 1280px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.projection-production-table th { position: sticky; top: 0; z-index: 3; padding: 9px 10px; border-bottom: 1px solid #dce5dc; color: #65756b; background: #f1f5ef; font-size: 8px; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.projection-production-table th:first-child { width: 23%; }
.projection-production-table th:nth-child(2) { width: 7%; }
.projection-production-table th:nth-child(n+3):nth-child(-n+8) { width: 8.5%; }
.projection-production-table th:nth-child(9) { width: 10%; }
.projection-production-table th:last-child { width: 16%; }
.projection-production-table td { padding: 10px; border-top: 1px solid #e4eae3; color: #24372c; font-size: 10px; vertical-align: middle; }
.projection-production-table tbody tr:hover { background: #fbfdf9; }
.projection-production-reference { display: grid; gap: 2px; min-width: 0; }
.projection-production-reference strong, .projection-production-reference span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.projection-production-reference strong { color: #0b2418; font-size: 11px; }
.projection-production-reference span { color: #68776e; font-size: 9px; }
.projection-production-inventory-value { color: #397d35; }
.projection-production-table-progress { display: grid; gap: 4px; }
.projection-production-table-progress strong { color: #143e2a; font-size: 10px; }
.projection-production-table-progress i { display: block; height: 6px; overflow: hidden; border-radius: 999px; background: #e1e7e1; }
.projection-production-table-progress u { display: block; height: 100%; border-radius: inherit; background: #3d9440; }
.projection-production-order { display: grid; justify-items: start; gap: 4px; min-width: 0; }
.projection-production-order > span, .projection-production-order time { display: block; max-width: 100%; overflow: hidden; color: #53665a; font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.projection-production-order time { color: #7a877f; font-size: 8px; }
.projection-production-empty { display: grid; justify-items: center; gap: 4px; padding: 30px; color: #64746a; text-align: center; }
.projection-production-empty strong { color: #1b3928; font-size: 13px; }

/* Empalme comercial HubSpot -> orden de producción por asesor */
.projection-quote-bridge { display: grid; gap: 12px; min-width: 0; padding: 15px; border: 1px solid #dce6dc; border-radius: 14px; background: #fff; }
.projection-quote-bridge-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 12px; border-bottom: 1px solid #e3eae2; }
.projection-quote-bridge-head > div { min-width: 0; }
.projection-quote-bridge-head span { display: block; color: #66766c; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.projection-quote-bridge-head h3 { margin: 3px 0 0; color: #082318; font-size: 17px; line-height: 1.2; }
.projection-quote-bridge-head p { max-width: 780px; margin: 5px 0 0; color: #65746a; font-size: 10px; line-height: 1.45; }
.projection-quote-bridge-head > b { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; color: #246331; background: #edf7e9; font-size: 9px; white-space: nowrap; }
.projection-quote-bridge-head > b i { width: 7px; height: 7px; border-radius: 50%; background: #55a946; }
.projection-quote-bridge-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.projection-quote-bridge-kpis article { min-width: 0; padding: 11px 12px; border-top: 3px solid #8da099; border-radius: 10px; background: #f7f9f7; }
.projection-quote-bridge-kpis article.is-won { border-color: #4d9840; background: #f2f8ef; }
.projection-quote-bridge-kpis article.is-confirmed { border-color: #07845c; background: #eff8f4; }
.projection-quote-bridge-kpis article.is-probable { border-color: #d69a20; background: #fff8e8; }
.projection-quote-bridge-kpis article.is-pending { border-color: #d94258; background: #fff3f5; }
.projection-quote-bridge-kpis article.is-value { border-color: #137d90; background: #eff8fa; }
.projection-quote-bridge-kpis span { display: block; color: #627168; font-size: 9px; font-weight: 750; }
.projection-quote-bridge-kpis strong { display: block; margin-top: 5px; overflow: hidden; color: #071f14; font-size: clamp(17px, 1.45vw, 23px); line-height: 1.08; text-overflow: ellipsis; white-space: nowrap; }
.projection-quote-bridge-kpis small { display: block; margin-top: 4px; overflow: hidden; color: #718078; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.projection-quote-bridge-note { display: flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid #efd99d; border-radius: 9px; color: #77561a; background: #fff9e9; font-size: 10px; }
.projection-quote-bridge-note strong { flex: 0 0 auto; }
.projection-quote-bridge-table-wrap { max-width: 100%; max-height: clamp(360px, 55vh, 570px); overflow: auto; border: 1px solid #dde6dd; border-radius: 11px; scrollbar-width: thin; scrollbar-color: #8ca995 #edf2ed; }
.projection-quote-bridge-table { width: 100%; min-width: 1320px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.projection-quote-bridge-table th { position: sticky; top: 0; z-index: 3; padding: 9px 10px; border-bottom: 1px solid #dce5dc; color: #65756b; background: #f1f5ef; font-size: 8px; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.projection-quote-bridge-table th:nth-child(1) { width: 19%; }
.projection-quote-bridge-table th:nth-child(2) { width: 14%; }
.projection-quote-bridge-table th:nth-child(3) { width: 9%; }
.projection-quote-bridge-table th:nth-child(4) { width: 8%; }
.projection-quote-bridge-table th:nth-child(5) { width: 15%; }
.projection-quote-bridge-table th:nth-child(6) { width: 12%; }
.projection-quote-bridge-table th:nth-child(7) { width: 12%; }
.projection-quote-bridge-table th:nth-child(8) { width: 16%; }
.projection-quote-bridge-table td { padding: 10px; border-top: 1px solid #e4eae3; color: #24372c; font-size: 10px; vertical-align: middle; }
.projection-quote-bridge-table tbody tr:hover { background: #fbfdf9; }
.projection-quote-bridge-table td:nth-child(2) > strong, .projection-quote-bridge-table td:nth-child(2) > small { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.projection-quote-bridge-table td:nth-child(2) > small { margin-top: 3px; color: #75837b; font-size: 8px; }
.projection-quote-main, .projection-quote-order { display: grid; justify-items: start; gap: 3px; min-width: 0; }
.projection-quote-main strong, .projection-quote-main span, .projection-quote-order strong, .projection-quote-order span { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.projection-quote-main strong, .projection-quote-order strong { color: #0b2418; font-size: 10px; }
.projection-quote-main span, .projection-quote-order span { color: #66766c; font-size: 9px; }
.projection-quote-main a { color: #0c6848; font-size: 8px; font-weight: 800; text-decoration: none; }
.projection-quote-order time { color: #7a877f; font-size: 8px; font-style: normal; }
.projection-quote-products { display: -webkit-box; overflow: hidden; color: #31483a; font-size: 9px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.projection-quote-state, .projection-quote-confidence { display: inline-flex; max-width: 100%; align-items: center; padding: 5px 7px; border-radius: 999px; font-size: 8px; font-weight: 850; line-height: 1.1; }
.projection-quote-state.is-won, .projection-quote-confidence.is-confirmed { color: #087044; background: #dcf3e6; }
.projection-quote-state.is-lost, .projection-quote-confidence.is-inconsistent { color: #ad2037; background: #fde5e9; }
.projection-quote-state.is-open { color: #176b7d; background: #e3f3f6; }
.projection-quote-confidence.is-probable { color: #8b5a00; background: #fff0c9; }
.projection-quote-confidence.is-pending { color: #ad2037; background: #fde5e9; }
.projection-quote-confidence.is-neutral { color: #637069; background: #edf0ed; }
.projection-quote-bridge-table td:last-child > small { display: block; margin-top: 5px; color: #748078; font-size: 8px; line-height: 1.3; }
.projection-quote-empty { color: #a42038; font-size: 9px; font-weight: 750; }
.projection-quote-bridge-legend { display: flex; flex-wrap: wrap; gap: 7px; }
.projection-quote-bridge-legend span { padding: 5px 8px; border-radius: 999px; color: #52645a; background: #f1f4f1; font-size: 8px; }
.projection-quote-bridge-legend .is-confirmed { color: #087044; background: #e3f4e9; }
.projection-quote-bridge-legend .is-probable { color: #8b5a00; background: #fff3d3; }
.projection-quote-bridge-legend .is-pending, .projection-quote-bridge-legend .is-inconsistent { color: #a42038; background: #fde9ec; }
.projection-quote-bridge-state { display: grid; justify-items: center; gap: 5px; padding: 44px 20px; color: #5e7066; text-align: center; }
.projection-quote-bridge-state i { width: 28px; height: 28px; border: 3px solid #dce8dc; border-top-color: #17804f; border-radius: 50%; animation: projection-quote-spin .75s linear infinite; }
.projection-quote-bridge-state strong { color: #163728; font-size: 13px; }
.projection-quote-bridge-state span { font-size: 10px; }
.projection-quote-bridge-alert { display: grid; justify-items: start; gap: 5px; padding: 18px; border: 1px solid #efbdc5; border-radius: 11px; color: #a12038; background: #fff1f3; }
.projection-quote-bridge-alert strong { font-size: 13px; }
.projection-quote-bridge-alert span { font-size: 10px; }
.projection-quote-bridge-alert button { margin-top: 4px; padding: 7px 11px; border: 1px solid #bb3950; border-radius: 8px; color: #fff; background: #aa2640; font-size: 9px; font-weight: 850; cursor: pointer; }
@keyframes projection-quote-spin { to { transform: rotate(360deg); } }

@media (max-width: 1180px) {
  .projection-advisor-section-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projection-production-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .projection-production-filters { grid-template-columns: minmax(220px, 2fr) repeat(2, minmax(130px, 1fr)); }
  .projection-quote-bridge-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .projection-client-lifecycle > header { align-items: flex-start; flex-direction: column; }
  .projection-client-lifecycle > header small { text-align: left; }
  .projection-client-lifecycle > div { grid-template-columns: 1fr; }
  .projection-advisor-section-tabs { grid-template-columns: 1fr; }
  .projection-production-dashboard-head { flex-direction: column; }
  .projection-production-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projection-production-filters { grid-template-columns: 1fr 1fr; }
  .projection-production-filters .is-search,
  .projection-production-filters > strong { grid-column: 1 / -1; }
  .projection-production-table-wrap { max-height: 58vh; }
  .projection-quote-bridge-head { flex-direction: column; }
  .projection-quote-bridge-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projection-quote-bridge-note { align-items: flex-start; flex-direction: column; }
  .projection-quote-bridge-table-wrap { max-height: 58vh; }
}

/* Hoja de vida individual del cliente */
.projection-client-next-action > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.projection-client-next-action [data-projection-client-dossier] {
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #0a6544;
  border-radius: 8px;
  color: #fff;
  background: #075535;
  font-size: 9px;
  font-weight: 850;
  white-space: nowrap;
}

.projection-client-next-action [data-projection-client-dossier]:hover {
  background: #0b6a45;
}

.projection-client-dossier-overlay {
  position: fixed;
  inset: 68px 0 0;
  z-index: 1400;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(3, 25, 17, .6);
  backdrop-filter: blur(5px);
}

.projection-client-dossier {
  width: min(1240px, calc(100vw - 44px));
  max-height: calc(100vh - 112px);
  max-height: calc(100dvh - 112px);
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 22px;
  background: #f4f7f2;
  box-shadow: 0 30px 80px rgba(0, 28, 18, .3);
}

.projection-client-dossier-head {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 22px;
  color: #fff;
  background:
    radial-gradient(circle at 85% 20%, rgba(145, 207, 102, .18), transparent 32%),
    linear-gradient(125deg, #063924, #075535 55%, #1f6845);
}

.projection-client-dossier-identity {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 13px;
}

.projection-client-dossier-identity > i {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 16px;
  color: #0b4e32;
  background: #dff0d6;
  font-style: normal;
  font-size: 17px;
  font-weight: 950;
}

.projection-client-dossier-identity > div { min-width: 0; }
.projection-client-dossier-identity span {
  display: block;
  color: #b9d9c6;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.projection-client-dossier-identity h3 {
  margin: 3px 0 0;
  overflow: hidden;
  color: #fff;
  font-size: clamp(19px, 2vw, 28px);
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.projection-client-dossier-identity p {
  margin: 5px 0 0;
  color: #d7e7de;
  font-size: 11px;
}

.projection-client-dossier-head > button {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 11px;
  color: #fff;
  background: rgba(255, 255, 255, .08);
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}
.projection-client-dossier-head > button:hover { background: rgba(255, 255, 255, .18); }

.projection-client-dossier-body {
  min-height: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 13px;
  padding: 15px;
  overflow: auto;
  scrollbar-width: thin;
}

.projection-client-dossier-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 9px;
}
.projection-client-dossier-kpis article {
  min-width: 0;
  min-height: 104px;
  padding: 13px 14px;
  border: 1px solid #dce6db;
  border-top: 3px solid #3f9142;
  border-radius: 13px;
  background: #fff;
}
.projection-client-dossier-kpis article:nth-child(2) { border-top-color: #d99013; }
.projection-client-dossier-kpis article:nth-child(3) { border-top-color: #d99013; }
.projection-client-dossier-kpis article:nth-child(4) { border-top-color: #168194; }
.projection-client-dossier-kpis article.is-billing { border-top-color: #157f91; background: #f2f9fa; }
.projection-client-dossier-kpis article.is-risk { border-top-color: #df3851; }
.projection-client-dossier-kpis article.is-warning { border-top-color: #df9418; }
.projection-client-dossier-kpis article.is-good { border-top-color: #0b9366; }
.projection-client-dossier-kpis article.is-recovered { border-top-color: #078d68; background: #f0faf6; }
.projection-client-dossier-kpis article.is-neutral { border-top-color: #91a098; }
.projection-client-dossier-kpis span {
  display: block;
  color: #627168;
  font-size: 9px;
  font-weight: 780;
}
.projection-client-dossier-kpis strong {
  display: block;
  margin-top: 7px;
  overflow-wrap: anywhere;
  color: #071f15;
  font-size: clamp(16px, 1.45vw, 22px);
  line-height: 1.1;
}
.projection-client-dossier-kpis small {
  display: block;
  margin-top: 6px;
  color: #718078;
  font-size: 9px;
  line-height: 1.35;
}

.projection-client-billing-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #cbdde0;
  border-radius: 11px;
  color: #244b51;
  background: #f0f8f9;
}
.projection-client-billing-note > i {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: #fff;
  background: #177e8c;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}
.projection-client-billing-note strong { display: block; font-size: 10px; }
.projection-client-billing-note p { margin: 2px 0 0; font-size: 9px; line-height: 1.4; }

.projection-client-dossier-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 285px;
  gap: 11px;
}
.projection-client-dossier-references,
.projection-client-dossier-followup,
.projection-client-dossier-forecast {
  min-width: 0;
  border: 1px solid #dbe4da;
  border-radius: 14px;
  background: #fff;
}
.projection-client-dossier-references > header,
.projection-client-dossier-forecast > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid #e2e9e1;
}
.projection-client-dossier-references header span,
.projection-client-dossier-followup header span,
.projection-client-dossier-forecast header span {
  display: block;
  color: #6a796f;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.projection-client-dossier-references h4,
.projection-client-dossier-followup h4,
.projection-client-dossier-forecast h4 {
  margin: 2px 0 0;
  color: #0b281d;
  font-size: 14px;
  line-height: 1.2;
}
.projection-client-dossier-references > header > b {
  padding: 5px 8px;
  border-radius: 999px;
  color: #27743b;
  background: #eaf4e5;
  font-size: 9px;
  white-space: nowrap;
}

.projection-client-dossier-reference-list {
  max-height: 340px;
  padding: 0 12px 12px;
  overflow: auto;
  scrollbar-width: thin;
}
.projection-client-dossier-reference-list details { border-bottom: 1px solid #e5ebe4; }
.projection-client-dossier-reference-list summary {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 10px 2px;
  cursor: pointer;
  list-style: none;
}
.projection-client-dossier-reference-list summary::-webkit-details-marker { display: none; }
.projection-client-dossier-reference-list summary > b {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #24713a;
  background: #eaf4e6;
  font-size: 9px;
}
.projection-client-dossier-reference-list summary > div { min-width: 0; }
.projection-client-dossier-reference-list summary strong,
.projection-client-dossier-reference-list summary span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.projection-client-dossier-reference-list summary strong { color: #10271d; font-size: 10px; }
.projection-client-dossier-reference-list summary span { margin-top: 2px; color: #718078; font-size: 8px; }
.projection-client-dossier-reference-list summary i {
  height: 4px;
  display: block;
  margin-top: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8e1;
}
.projection-client-dossier-reference-list summary u { height: 100%; display: block; border-radius: inherit; background: #459a3f; }
.projection-client-dossier-reference-list summary > small { color: #071f15; font-size: 10px; font-weight: 850; white-space: nowrap; }

.projection-client-reference-orders {
  display: grid;
  gap: 6px;
  padding: 0 0 10px 33px;
}
.projection-client-reference-orders > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  padding: 8px;
  border-radius: 9px;
  background: #f4f7f2;
}
.projection-client-reference-orders > div > div { min-width: 0; }
.projection-client-reference-orders span,
.projection-client-reference-orders strong,
.projection-client-reference-orders small { display: block; }
.projection-client-reference-orders span { color: #748178; font-size: 7px; font-weight: 750; text-transform: uppercase; }
.projection-client-reference-orders strong { margin-top: 2px; overflow-wrap: anywhere; color: #15291f; font-size: 9px; line-height: 1.25; }
.projection-client-reference-orders small { margin-top: 2px; color: #718078; font-size: 7px; }

.projection-client-dossier-followup { padding: 14px; }
.projection-client-dossier-followup > header { padding-bottom: 10px; border-bottom: 1px solid #e2e9e1; }
.projection-client-next-purchase {
  margin-top: 11px;
  padding: 12px;
  border-left: 4px solid #7f9186;
  border-radius: 9px;
  background: #f3f6f2;
}
.projection-client-next-purchase.is-risk { border-color: #dc3851; background: #fff2f4; }
.projection-client-next-purchase.is-warning { border-color: #dd9418; background: #fff8ea; }
.projection-client-next-purchase.is-good { border-color: #24914a; background: #eff8ec; }
.projection-client-next-purchase span { display: block; color: #68776e; font-size: 8px; font-weight: 780; }
.projection-client-next-purchase strong { display: block; margin-top: 3px; color: #0a281d; font-size: 15px; }
.projection-client-next-purchase p { margin: 6px 0 0; color: #516158; font-size: 9px; line-height: 1.4; }
.projection-client-dossier-followup dl { display: grid; gap: 0; margin: 11px 0 0; }
.projection-client-dossier-followup dl > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid #e6ebe5;
}
.projection-client-dossier-followup dt { color: #69786f; font-size: 8px; }
.projection-client-dossier-followup dd { margin: 0; color: #10281d; font-size: 9px; font-weight: 850; text-align: right; }

.projection-client-dossier-forecast > header > small {
  color: #6f7d74;
  font-size: 8px;
  text-align: right;
}
.projection-client-dossier-forecast-table {
  max-height: 265px;
  max-width: 100%;
  overflow: auto;
  scrollbar-width: thin;
}
.projection-client-dossier-forecast-table table { width: 100%; min-width: 980px; border-collapse: collapse; table-layout: fixed; }
.projection-client-dossier-forecast-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 8px 9px;
  color: #64736a;
  background: #f0f4ee;
  font-size: 7px;
  letter-spacing: .04em;
  text-align: left;
  text-transform: uppercase;
}
.projection-client-dossier-forecast-table th:nth-child(2) { width: 25%; }
.projection-client-dossier-forecast-table td {
  padding: 9px;
  border-top: 1px solid #e5eae4;
  color: #25382d;
  font-size: 9px;
  vertical-align: middle;
}
.projection-client-dossier-forecast-table td strong,
.projection-client-dossier-forecast-table td span { display: block; }
.projection-client-dossier-forecast-table td strong { color: #0c281c; font-size: 9px; }
.projection-client-dossier-forecast-table td span { margin-top: 2px; overflow: hidden; color: #6d7b72; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.projection-client-dossier-empty { padding: 22px; color: #66756c; font-size: 10px; text-align: center; }

.projection-client-comparison {
  min-width: 0;
  display: grid;
  gap: 13px;
  padding: 16px;
  border: 1px solid #dbe5da;
  border-radius: 16px;
  background: #fff;
}
.projection-client-comparison > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e2e9e1;
}
.projection-client-comparison > header span,
.projection-client-comparison-products > header span,
.projection-client-comparison-months > header span {
  display: block;
  color: #68776d;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.projection-client-comparison > header h3,
.projection-client-comparison-products > header h4,
.projection-client-comparison-months > header h4 {
  margin: 3px 0 0;
  color: #0a281c;
  font-size: 16px;
}
.projection-client-comparison > header p { margin: 4px 0 0; color: #637269; font-size: 10px; }
.projection-client-comparison > header > small { max-width: 350px; color: #6d7c73; font-size: 9px; text-align: right; }
.projection-client-comparison-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  padding: 11px;
  border-radius: 13px;
  background: #f2f6f0;
}
.projection-client-comparison-controls fieldset {
  min-width: 0;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
}
.projection-client-comparison-controls legend { margin-bottom: 5px; color: #1f5235; font-size: 9px; font-weight: 900; }
.projection-client-comparison-controls label { min-width: 0; display: grid; gap: 4px; }
.projection-client-comparison-controls label > span { color: #68776e; font-size: 8px; font-weight: 800; }
.projection-client-comparison-controls select {
  width: 100%;
  min-width: 0;
  height: 36px;
  padding: 0 9px;
  border: 1px solid #cfdbce;
  border-radius: 9px;
  color: #0c291d;
  background: #fff;
  font-size: 10px;
  font-weight: 750;
}
.projection-client-comparison-controls > b {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  align-self: end;
  border-radius: 50%;
  color: #fff;
  background: #0a5a3c;
  font-size: 9px;
}
.projection-client-comparison-controls > button {
  min-height: 36px;
  padding: 0 15px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: #075535;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}
.projection-client-comparison-empty { min-height: 180px; display: grid; place-content: center; gap: 4px; text-align: center; }
.projection-client-comparison-empty strong { color: #163025; font-size: 14px; }
.projection-client-comparison-empty span { color: #718078; font-size: 10px; }
.projection-client-comparison-results { min-width: 0; display: grid; gap: 12px; }
.projection-client-comparison-names { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.projection-client-comparison-names article { min-width: 0; padding: 11px 13px; border-left: 4px solid #339349; border-radius: 10px; background: #eff7ec; }
.projection-client-comparison-names article + article { border-color: #148496; background: #eef8f9; }
.projection-client-comparison-names span { color: #617268; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.projection-client-comparison-names h4 { margin: 3px 0; overflow: hidden; color: #0b281d; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.projection-client-comparison-names small { color: #6d7b72; font-size: 9px; }
.projection-client-comparison-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.projection-client-comparison-metrics article { min-width: 0; padding: 11px; border: 1px solid #dce5db; border-radius: 11px; background: #fff; }
.projection-client-comparison-metrics article > span { color: #68776e; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.projection-client-comparison-metrics article > div { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 7px; margin-top: 7px; }
.projection-client-comparison-metrics article strong { min-width: 0; overflow-wrap: anywhere; color: #071f15; font-size: 13px; line-height: 1.15; }
.projection-client-comparison-metrics article strong:last-child { text-align: right; }
.projection-client-comparison-metrics article i { color: #97a49c; font-size: 8px; font-style: normal; }
.projection-client-comparison-metrics article > small { display: block; margin-top: 7px; color: #68776e; font-size: 9px; font-weight: 800; text-align: center; }
.projection-client-comparison-metrics article > small.is-positive { color: #078258; }
.projection-client-comparison-metrics article > small.is-negative { color: #d72e49; }
.projection-client-comparison-months,
.projection-client-comparison-products { min-width: 0; padding: 12px; border: 1px solid #dce5db; border-radius: 12px; background: #fff; }
.projection-client-comparison-months > header,
.projection-client-comparison-products > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 10px; }
.projection-client-comparison-months > header small,
.projection-client-comparison-products > header small { color: #69786f; font-size: 9px; }
.projection-client-comparison-months > header small i { width: 8px; height: 8px; display: inline-block; margin: 0 4px 0 9px; border-radius: 2px; background: #3d9748; }
.projection-client-comparison-months > header small i.is-right { background: #148496; }
.projection-client-comparison-months > div { display: grid; grid-template-columns: repeat(12, minmax(55px, 1fr)); gap: 5px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.projection-client-comparison-months section { min-width: 55px; display: grid; gap: 4px; }
.projection-client-comparison-months section > b { color: #284035; font-size: 8px; text-align: center; }
.projection-client-comparison-months section > div { position: relative; min-height: 29px; overflow: hidden; border-radius: 6px; background: #edf2eb; }
.projection-client-comparison-months section > div i { position: absolute; inset: 0 auto 0 0; border-radius: inherit; background: rgba(61, 151, 72, .28); }
.projection-client-comparison-months section > div i.is-right { background: rgba(20, 132, 150, .25); }
.projection-client-comparison-months section > div span { position: relative; z-index: 1; display: block; padding: 8px 4px; overflow: hidden; color: #10281d; font-size: 7px; font-weight: 850; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.projection-client-comparison-products > div { max-height: 320px; overflow: auto; scrollbar-width: thin; }
.projection-client-comparison-products table { width: 100%; min-width: 760px; border-collapse: collapse; }
.projection-client-comparison-products th { position: sticky; top: 0; z-index: 1; padding: 8px; color: #627269; background: #eff4ed; font-size: 7px; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.projection-client-comparison-products td { padding: 9px 8px; border-top: 1px solid #e4eae3; color: #21372b; font-size: 9px; }
.projection-client-comparison-products td strong,
.projection-client-comparison-products td span { display: block; }
.projection-client-comparison-products td strong { color: #0b281c; font-size: 9px; }
.projection-client-comparison-products td span { margin-top: 2px; color: #728078; font-size: 8px; }
.projection-client-comparison-products td > b { display: inline-grid; width: 20px; height: 20px; place-items: center; margin-right: 4px; border-radius: 50%; color: #fff; background: #3d9748; font-size: 8px; }
.projection-client-comparison-products td > b.is-side-b { background: #148496; }

@media (max-width: 1100px) {
  .projection-client-dossier-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projection-client-dossier-grid { grid-template-columns: minmax(0, 1fr) 240px; }
  .projection-client-reference-orders > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .projection-client-comparison-controls { grid-template-columns: 1fr; }
  .projection-client-comparison-controls > b { display: none; }
  .projection-client-comparison-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .projection-client-dossier-overlay { padding: 0; }
  .projection-client-dossier { width: 100%; max-height: 100%; height: 100%; border: 0; border-radius: 0; }
  .projection-client-dossier-head { min-height: 84px; padding: 13px 15px; }
  .projection-client-dossier-identity > i { width: 44px; height: 44px; border-radius: 13px; }
  .projection-client-dossier-identity h3 { font-size: 18px; }
  .projection-client-dossier-identity p { font-size: 9px; }
  .projection-client-dossier-body { max-height: none; padding: 10px; }
  .projection-client-dossier-kpis,
  .projection-client-dossier-grid { grid-template-columns: 1fr; }
  .projection-client-dossier-kpis article { min-height: 88px; }
  .projection-client-dossier-reference-list { max-height: 310px; }
  .projection-client-dossier-reference-list summary { grid-template-columns: 22px minmax(0, 1fr); }
  .projection-client-dossier-reference-list summary > small { grid-column: 2; }
  .projection-client-reference-orders { padding-left: 0; }
  .projection-client-reference-orders > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projection-client-dossier-forecast > header { flex-direction: column; }
  .projection-client-dossier-forecast > header > small { text-align: left; }
  .projection-client-comparison { padding: 10px; }
  .projection-client-comparison > header,
  .projection-client-comparison-months > header,
  .projection-client-comparison-products > header { flex-direction: column; }
  .projection-client-comparison > header > small { max-width: none; text-align: left; }
  .projection-client-comparison-controls fieldset,
  .projection-client-comparison-names,
  .projection-client-comparison-metrics { grid-template-columns: 1fr; }
}

/* HubSpot CRM ------------------------------------------------------------- */
.hubspot-workspace {
  --hs-orange: #ff7a59;
  --hs-navy: #213343;
  --hs-green: #08785c;
  display: grid;
  gap: 14px;
}

.hubspot-overview {
  display: flex;
  min-height: 108px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 20px;
  overflow: hidden;
  border: 1px solid #dbe6e0;
  border-radius: 16px;
  background:
    radial-gradient(circle at 68% -80%, rgba(255, 122, 89, .17), transparent 45%),
    linear-gradient(120deg, #fff 0%, #fbfdfc 58%, #f4faf7 100%);
  box-shadow: 0 10px 30px rgba(24, 55, 42, .055);
}

.hubspot-overview-copy,
.hubspot-connection-box,
.hubspot-primary-cell,
.hubspot-table-actions,
.hubspot-row-actions { display: flex; align-items: center; }
.hubspot-overview-copy { min-width: 0; gap: 14px; }
.hubspot-overview-copy h3 { margin: 3px 0 5px; color: #102c20; font-size: 21px; line-height: 1.1; }
.hubspot-overview-copy p { margin: 0; color: #66776e; font-size: 11px; }
.hubspot-brand-mark {
  width: 54px;
  height: 54px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(145deg, #ff8b70, var(--hs-orange));
  box-shadow: 0 9px 20px rgba(255, 122, 89, .24);
}
.hubspot-brand-mark svg { width: 31px; height: 31px; stroke-width: 2.1; }

.hubspot-connection-box {
  min-width: 330px;
  gap: 10px;
  padding: 10px 11px;
  border: 1px solid #dfe8e3;
  border-radius: 13px;
  background: rgba(255, 255, 255, .88);
}
.hubspot-connection-box > div { min-width: 0; flex: 1; display: grid; gap: 1px; }
.hubspot-connection-box small { color: #7a8880; font-size: 7px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.hubspot-connection-box strong { color: #173225; font-size: 10px; }
.hubspot-connection-box div > span { color: #78877f; font-size: 8px; }
.hubspot-connection-dot { width: 10px; height: 10px; flex: 0 0 auto; border: 3px solid #dbe6e0; border-radius: 50%; background: #809089; }
.hubspot-connection-dot.is-connected { border-color: #c8ecde; background: #0b936a; }
.hubspot-connection-dot.is-partial { border-color: #ffead0; background: #e79422; }
.hubspot-connection-dot.is-error { border-color: #ffd9dc; background: #d94755; }
.hubspot-connection-dot.is-unconfigured { border-color: #e2e6eb; background: #73808a; }
.hubspot-connection-dot.is-loading { border-color: #d8e6e0; border-top-color: #0b7a59; background: transparent; animation: hubspot-spin .85s linear infinite; }
@keyframes hubspot-spin { to { transform: rotate(360deg); } }

.hubspot-refresh-btn {
  height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid #d6e1dc;
  border-radius: 9px;
  color: #174a38;
  background: #fff;
  font: inherit;
  font-size: 8px;
  font-weight: 800;
  cursor: pointer;
}
.hubspot-refresh-btn:hover { border-color: #97b9aa; background: #f6faf8; }
.hubspot-refresh-btn:disabled { cursor: wait; opacity: .65; }
.hubspot-refresh-btn svg { width: 13px; height: 13px; }
.hubspot-refresh-btn.is-loading svg { animation: hubspot-spin .85s linear infinite; }

.hubspot-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 14px;
  border: 1px solid #d9e5df;
  border-radius: 12px;
  color: #3b5247;
  background: #f6faf8;
}
.hubspot-notice.hidden { display: none; }
.hubspot-notice > span { width: 26px; height: 26px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; }
.hubspot-notice svg { width: 14px; height: 14px; }
.hubspot-notice strong { display: block; color: #183126; font-size: 9px; }
.hubspot-notice p { margin: 2px 0 0; color: #617269; font-size: 8px; line-height: 1.45; }
.hubspot-notice code { padding: 1px 4px; border-radius: 4px; color: #153d2e; background: rgba(10, 110, 80, .08); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.hubspot-notice.is-setup { border-color: #d8e2ee; background: #f6f9fc; }
.hubspot-notice.is-setup > span { color: #35618b; background: #e7eff8; }
.hubspot-notice.is-warning { border-color: #f1d6ac; background: #fffaf2; }
.hubspot-notice.is-warning > span { color: #a46413; background: #ffedcf; }
.hubspot-notice.is-error { border-color: #efc7cb; background: #fff6f6; }
.hubspot-notice.is-error > span { color: #bb3140; background: #ffe3e5; }

.hubspot-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.hubspot-kpi-card {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 86px;
  padding: 13px 14px;
  border: 1px solid #dce6e1;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(27, 55, 43, .035);
}
.hubspot-kpi-icon { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; color: #15785b; background: #e8f5ef; }
.hubspot-kpi-icon svg { width: 18px; height: 18px; }
.hubspot-kpi-card.is-open .hubspot-kpi-icon { color: #27729d; background: #e9f3f9; }
.hubspot-kpi-card.is-quotes .hubspot-kpi-icon { color: #b55d3f; background: #fff0ea; }
.hubspot-kpi-card.is-approved .hubspot-kpi-icon { color: #59782a; background: #eff6e4; }
.hubspot-kpi-card > div { min-width: 0; display: grid; }
.hubspot-kpi-card small { color: #708078; font-size: 7px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.hubspot-kpi-card strong { margin-top: 2px; color: #10291e; font-size: 24px; line-height: 1; letter-spacing: -.04em; }
.hubspot-kpi-card div > span { margin-top: 5px; overflow: hidden; color: #78867e; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }

.hubspot-records-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dbe5df;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(27, 55, 43, .045);
}
.hubspot-records-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 17px 12px;
}
.hubspot-records-head h3 { margin: 3px 0 2px; color: #102a1e; font-size: 17px; }
.hubspot-records-head p { margin: 0; color: #74827a; font-size: 9px; }
.hubspot-table-actions { gap: 7px; }
.hubspot-search { position: relative; min-width: 230px; }
.hubspot-search svg { position: absolute; top: 50%; left: 10px; width: 13px; height: 13px; color: #718077; transform: translateY(-50%); pointer-events: none; }
.hubspot-search input,
.hubspot-status-filter {
  height: 35px;
  border: 1px solid #d8e2dd;
  border-radius: 9px;
  color: #1e352a;
  outline: none;
  background: #fbfcfb;
  font: inherit;
  font-size: 8px;
}
.hubspot-search input { width: 100%; padding: 0 10px 0 31px; }
.hubspot-status-filter { min-width: 140px; padding: 0 28px 0 10px; }
.hubspot-search input:focus,
.hubspot-status-filter:focus { border-color: #65a38c; box-shadow: 0 0 0 3px rgba(17, 128, 91, .08); background: #fff; }

.hubspot-tabs { display: flex; gap: 5px; padding: 0 17px; border-bottom: 1px solid #e2e9e5; }
.hubspot-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 10px 10px;
  border: 0;
  color: #6b7b72;
  background: transparent;
  font: inherit;
  font-size: 8px;
  font-weight: 800;
  cursor: pointer;
}
.hubspot-tab::after { content: ''; position: absolute; right: 7px; bottom: -1px; left: 7px; height: 2px; border-radius: 2px 2px 0 0; background: transparent; }
.hubspot-tab span { min-width: 21px; padding: 2px 5px; border-radius: 99px; color: #6a7871; background: #edf2ef; font-size: 7px; text-align: center; }
.hubspot-tab:hover { color: #154b37; }
.hubspot-tab.is-active { color: #0b684b; }
.hubspot-tab.is-active::after { background: #0c7d59; }
.hubspot-tab.is-active span { color: #0b684b; background: #e1f2eb; }

.hubspot-table-wrap { max-width: 100%; overflow: auto; scrollbar-width: thin; }
.hubspot-table { width: 100%; min-width: 980px; border-collapse: collapse; table-layout: auto; }
.hubspot-table th {
  padding: 8px 12px;
  border-bottom: 1px solid #dfe7e3;
  color: #77867e;
  background: #f6f9f7;
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .055em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}
.hubspot-table td { padding: 10px 12px; border-bottom: 1px solid #e8edea; color: #2b4036; font-size: 8px; vertical-align: middle; }
.hubspot-table tbody tr:hover td { background: #fbfdfc; }
.hubspot-table tbody tr:last-child td { border-bottom: 0; }
.hubspot-primary-cell { min-width: 190px; gap: 9px; }
.hubspot-record-avatar,
.hubspot-record-icon { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; color: #176f53; background: #e5f3ed; font-size: 8px; font-weight: 900; }
.hubspot-record-icon { color: #2b6e92; background: #e8f2f7; }
.hubspot-record-icon.is-quote { color: #b75839; background: #ffede7; }
.hubspot-record-icon svg { width: 14px; height: 14px; }
.hubspot-primary-cell > div,
.hubspot-stack,
.hubspot-date { min-width: 0; display: grid; gap: 2px; }
.hubspot-primary-cell strong,
.hubspot-stack strong,
.hubspot-date strong { overflow: hidden; color: #102d20; font-size: 8px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.hubspot-primary-cell span,
.hubspot-stack span,
.hubspot-date span { color: #79877f; font-size: 7px; }
.hubspot-stack a { color: #407361; text-decoration: none; }
.hubspot-stack a:hover { text-decoration: underline; }
.hubspot-money { color: #173c2c; font-size: 9px; white-space: nowrap; }
.hubspot-muted,
.hubspot-no-action { color: #9aa59f; }
.hubspot-count-badge { display: inline-grid; min-width: 24px; height: 21px; place-items: center; padding: 0 6px; border-radius: 7px; color: #315345; background: #edf3f0; font-size: 8px; font-weight: 800; }
.hubspot-status-pill { width: max-content; display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 99px; color: #58675f; background: #eef2f0; font-size: 7px; font-weight: 800; white-space: nowrap; }
.hubspot-status-pill i { width: 5px; height: 5px; border-radius: 50%; background: #83918a; }
.hubspot-status-pill.is-success { color: #08704f; background: #e3f4ec; }
.hubspot-status-pill.is-success i { background: #0a9066; }
.hubspot-status-pill.is-info { color: #226b8f; background: #e6f2f8; }
.hubspot-status-pill.is-info i { background: #3286ad; }
.hubspot-status-pill.is-warning { color: #936013; background: #fff0d7; }
.hubspot-status-pill.is-warning i { background: #da8d17; }
.hubspot-status-pill.is-danger { color: #a73240; background: #fde8ea; }
.hubspot-status-pill.is-danger i { background: #d24655; }
.hubspot-status-pill.is-risk { color:var(--performance-risk-text); background:var(--performance-risk-bg); }
.hubspot-status-pill.is-risk i { background:var(--performance-risk); }
.hubspot-status-pill.is-good { color:var(--performance-good-text); background:var(--performance-good-bg); }
.hubspot-status-pill.is-good i { background:var(--performance-good); }
.hubspot-status-pill.is-excellent { color:var(--performance-excellent-text); background:var(--performance-excellent-bg); }
.hubspot-status-pill.is-excellent i { background:var(--performance-excellent); }
.hubspot-row-actions { justify-content: flex-end; gap: 5px; }
.hubspot-open-link { display: inline-flex; align-items: center; gap: 4px; padding: 5px 7px; border: 1px solid #d9e4de; border-radius: 7px; color: #155f46; background: #fff; font-size: 7px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.hubspot-open-link:hover { border-color: #8db7a7; background: #f2f9f6; }
.hubspot-open-link svg { width: 10px; height: 10px; }
.hubspot-open-link.is-compact { padding-inline: 6px; }

.hubspot-empty { min-height: 210px; display: grid; place-items: center; align-content: center; gap: 6px; text-align: center; }
.hubspot-empty > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #678277; background: #eef4f1; }
.hubspot-empty svg { width: 18px; height: 18px; }
.hubspot-empty strong { color: #20392e; font-size: 10px; }
.hubspot-empty p { max-width: 350px; margin: 0; color: #7a8880; font-size: 8px; }
.hubspot-skeleton-row td > span { display: block; width: 76%; height: 12px; border-radius: 5px; background: linear-gradient(90deg, #edf2ef, #f8faf9, #edf2ef); background-size: 220% 100%; animation: hubspot-shimmer 1.3s linear infinite; }
@keyframes hubspot-shimmer { to { background-position: -220% 0; } }
.hubspot-table-footer { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 9px 17px; border-top: 1px solid #e3eae6; color: #748179; background: #fbfcfb; font-size: 7px; }
.hubspot-table-footer span:first-child { color: #40574c; font-weight: 800; }
.hubspot-record-footer { flex-wrap: wrap; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

@media (max-width: 1180px) {
  .hubspot-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hubspot-overview { align-items: flex-start; }
  .hubspot-connection-box { min-width: 300px; }
}

@media (max-width: 820px) {
  .hubspot-overview,
  .hubspot-records-head { align-items: stretch; flex-direction: column; }
  .hubspot-connection-box { width: 100%; min-width: 0; }
  .hubspot-table-actions { align-items: stretch; flex-direction: column; }
  .hubspot-search,
  .hubspot-status-filter { width: 100%; min-width: 0; }
}

@media (max-width: 560px) {
  .hubspot-overview { padding: 15px; }
  .hubspot-brand-mark { width: 44px; height: 44px; border-radius: 12px; }
  .hubspot-overview-copy h3 { font-size: 18px; }
  .hubspot-refresh-btn span { display: none; }
  .hubspot-kpi-grid { grid-template-columns: 1fr; }
  .hubspot-kpi-card { min-height: 76px; }
  .hubspot-tabs { overflow-x: auto; }
  .hubspot-tab { flex: 0 0 auto; }
  .hubspot-table-footer { align-items: flex-start; flex-direction: column; }
}

/* HubSpot CRM v4: encabezado y pestañas unificados con Proyección */
.hubspot-v3.hubspot-workspace {
  width: 100%;
  max-width: 100%;
  padding: 0 14px 14px;
  overflow: hidden;
  border: 1px solid #dfe7dd;
  border-radius: 20px;
  background: #f8faf7;
  box-shadow: 0 18px 46px rgba(19, 46, 29, .09);
}

.hubspot-command-header {
  display: grid;
  min-width: 0;
  margin: 0 -14px;
  color: #fff;
  background: linear-gradient(118deg, #062f20, #00412b 60%, #063824);
}

.hubspot-command-row {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 18px 11px 22px;
}

.hubspot-command-brand {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 14px;
}

.hubspot-command-mark {
  width: 35px;
  height: 35px;
  flex: 0 0 35px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 10px;
  color: #fff;
  background: rgba(255, 122, 89, .92);
  box-shadow: 0 7px 18px rgba(0, 0, 0, .15);
}

.hubspot-command-mark svg { width: 20px; height: 20px; }
.hubspot-command-brand h1 {
  overflow: hidden;
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 1.8vw, 27px);
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hubspot-command-brand > strong {
  padding-left: 14px;
  border-left: 1px solid rgba(255, 255, 255, .25);
  color: #ff9a80;
  font-size: 14px;
  font-weight: 850;
  white-space: nowrap;
}

.hubspot-command-sync {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  color: #d4e3d8;
  white-space: nowrap;
}
.hubspot-command-sync > div { display: grid; gap: 1px; }
.hubspot-command-sync small {
  color: #a9c5b3;
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.hubspot-command-sync strong { color: #fff; font-size: 9px; }
.hubspot-command-sync > #hubspotSyncTime {
  max-width: 190px;
  overflow: hidden;
  color: #c7dbce;
  font-size: 8px;
  font-weight: 700;
  text-overflow: ellipsis;
}
.hubspot-command-sync .hubspot-connection-dot { border-color: rgba(255, 255, 255, .22); }
.hubspot-command-sync .hubspot-connection-dot.is-connected { border-color: rgba(170, 232, 204, .45); background: #51c891; }
.hubspot-command-sync .hubspot-refresh-btn {
  min-height: 34px;
  height: 34px;
  padding: 0 11px;
  border-color: rgba(255, 255, 255, .4);
  border-radius: 9px;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  font-size: 9px;
}
.hubspot-command-sync .hubspot-refresh-btn:hover { border-color: rgba(255, 255, 255, .7); background: rgba(255, 255, 255, .17); }

.hubspot-command-tabs {
  display: flex;
  min-width: 0;
  align-items: flex-end;
  justify-content: safe center;
  gap: 4px;
  padding: 0 12px;
  overflow-x: auto;
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
}
.hubspot-command-tab {
  position: relative;
  z-index: 1;
  width: clamp(150px, 15vw, 225px);
  min-width: 150px;
  min-height: 41px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 16px 10px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  border-bottom: 0;
  border-radius: 11px 11px 0 0;
  color: #dbe9df;
  background: rgba(255, 255, 255, .07);
  font: inherit;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.2;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}
.hubspot-command-tab > span { width: 15px; height: 15px; flex: 0 0 15px; display: grid; place-items: center; }
.hubspot-command-tab > span svg { width: 15px; height: 15px; }
.hubspot-command-tab > b {
  min-width: 23px;
  padding: 3px 6px;
  border-radius: 999px;
  color: #dcebe1;
  background: rgba(255, 255, 255, .1);
  font-size: 8px;
  font-weight: 850;
}
.hubspot-command-tab:hover { color: #fff; background: rgba(255, 255, 255, .14); }
.hubspot-command-tab.is-active {
  z-index: 2;
  border-color: rgba(210, 232, 216, .42);
  border-bottom: 3px solid #a8d45d;
  color: #fff;
  background: linear-gradient(145deg, #2d7553, #1c6042);
  box-shadow: 0 -4px 14px rgba(0, 0, 0, .12);
  font-weight: 800;
}
.hubspot-command-tab.is-active > b { color: #174d35; background: #dff1d4; }

.hubspot-v3 > .hubspot-notice,
.hubspot-v3 > .hubspot-analytics-card,
.hubspot-v3 > .hubspot-clients-card,
.hubspot-v3 > .hubspot-records-card { min-width: 0; }
.hubspot-v3 > .hubspot-records-card.hidden,
.hubspot-v3 > [data-hubspot-summary-section].hidden { display: none; }

@media (max-width: 1050px) {
  .hubspot-command-row { align-items: flex-start; flex-direction: column; gap: 10px; }
  .hubspot-command-sync { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
  .hubspot-command-tabs { justify-content: flex-start; padding-inline: 10px; }
}

@media (max-width: 680px) {
  .hubspot-v3.hubspot-workspace { padding: 0 9px 9px; border-radius: 14px; }
  .hubspot-command-header { margin-inline: -9px; }
  .hubspot-command-row { padding: 13px 14px 9px; }
  .hubspot-command-brand { gap: 9px; }
  .hubspot-command-mark { width: 31px; height: 31px; flex-basis: 31px; }
  .hubspot-command-brand h1 { font-size: 18px; }
  .hubspot-command-brand > strong { padding-left: 9px; font-size: 11px; }
  .hubspot-command-sync > #hubspotSyncTime { display: none; }
  .hubspot-command-tab { width: 148px; min-width: 148px; font-size: 9px; }
}

@media (max-width: 430px) {
  .hubspot-command-brand > strong { display: none; }
  .hubspot-command-sync > div { display: none; }
  .hubspot-command-sync .hubspot-refresh-btn { margin-left: auto; }
}

/* Ficha HubSpot centrada y compacta */
.hubspot-v3 .hubspot-client-drawer {
  position: fixed;
  inset: 68px 0 0;
  z-index: 1300;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  padding: 22px;
}
.hubspot-v3 .hubspot-client-drawer.hidden { display: none; }
.hubspot-v3 .hubspot-drawer-backdrop {
  position: absolute;
  inset: 0;
  display: block;
  border: 0;
  background: rgba(7, 26, 18, .58);
  backdrop-filter: blur(4px);
  cursor: pointer;
}
.hubspot-v3 .hubspot-client-panel {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100vw - 64px));
  height: min(790px, calc(100vh - 112px));
  overflow: auto;
  border: 1px solid rgba(215, 228, 220, .95);
  border-radius: 20px;
  background: #f5f8f6;
  box-shadow: 0 28px 90px rgba(4, 24, 15, .34);
  scrollbar-width: thin;
}
.hubspot-v3 .hubspot-client-panel-head {
  padding: 16px 19px;
  background: rgba(255, 255, 255, .97);
}
.hubspot-v3 .hubspot-record-avatar.is-large {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
  border-radius: 12px;
  font-size: 13px;
}
.hubspot-v3 .hubspot-client-panel-head h2 { font-size: 21px; }
.hubspot-v3 .hubspot-client-panel-body {
  gap: 12px;
  padding: 14px 18px 20px;
}
.hubspot-v3 .hubspot-client-summary { gap: 8px; }
.hubspot-v3 .hubspot-client-summary article { min-height: 82px; padding: 12px; }
.hubspot-v3 .hubspot-client-summary strong { font-size: 15px; }
.hubspot-v3 .hubspot-detail-section > header { padding: 12px 14px; }
.hubspot-v3 .hubspot-detail-table-wrap { max-height: 260px; }

@media (max-width: 1050px) {
  .hubspot-v3 .hubspot-client-drawer { padding: 14px; }
  .hubspot-v3 .hubspot-client-panel {
    width: min(900px, calc(100vw - 28px));
    height: calc(100vh - 96px);
  }
}

@media (max-width: 680px) {
  .hubspot-v3 .hubspot-client-drawer { inset: 60px 0 0; padding: 7px; }
  .hubspot-v3 .hubspot-client-panel {
    width: calc(100vw - 14px);
    height: calc(100vh - 74px);
    border-radius: 14px;
  }
  .hubspot-v3 .hubspot-client-panel-head { padding: 13px 14px; }
  .hubspot-v3 .hubspot-client-panel-body { padding: 11px; }
  .hubspot-v3 .hubspot-client-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
  .hubspot-v3 .hubspot-client-summary { grid-template-columns: 1fr; }
}

/* Aplicacion transversal del semaforo en indicadores comparables contra meta. */
.pedido-mini-kpi.performance-tone{border-left-color:var(--performance-tone)}
.pedido-mini-kpi.performance-tone > strong{color:#07130f}
.pedido-mini-kpi.performance-tone > small{color:var(--performance-tone-text);font-weight:750}

.dashboard-kpi-pro-card.performance-tone{border-top:3px solid var(--performance-tone)}
.dashboard-kpi-pro-card.performance-tone > strong{color:#07130f}
.dashboard-kpi-pro-card.performance-tone .dashboard-kpi-pro-track > span,
.dashboard-kpi-pro-card.performance-tone .dashboard-kpi-proof-bar > span{background:var(--performance-tone)!important}
.dashboard-kpi-pro-card.performance-tone .dashboard-kpi-pro-meta,
.dashboard-kpi-pro-card.performance-tone .dashboard-kpi-pro-delta{color:var(--performance-tone-text)}

.production-op-card.performance-tone{border-left-color:var(--performance-tone)}
.production-op-card.performance-tone .pedido-progress > i{background:var(--performance-tone)}
.production-op-card.performance-tone .production-op-progress-top > strong{color:#07130f}

.hubspot-metric.performance-tone{--tone:var(--performance-tone);--tone-soft:var(--performance-tone-bg)}
.hubspot-metric.performance-tone .hubspot-metric-copy > strong{color:#07130f}

.dashboard-subchannel-bar.performance-tone{background:linear-gradient(180deg,color-mix(in srgb,var(--performance-tone) 74%,white),var(--performance-tone))}
.dashboard-subchannel-bar.is-previous.performance-tone{opacity:.48}
.dashboard-evolution-summary div.performance-tone{border-top:3px solid var(--performance-tone)}
.dashboard-evolution-summary div.performance-tone strong{color:var(--performance-tone-text)}

.projection-month-column.performance-tone{background:linear-gradient(180deg,color-mix(in srgb,var(--performance-tone) 72%,white),var(--performance-tone));box-shadow:0 7px 16px color-mix(in srgb,var(--performance-tone) 22%,transparent)}
.projection-month-column.performance-tone::after{background:color-mix(in srgb,var(--performance-tone) 38%,transparent)}

.projection-hero-gauge.is-excellent{--gauge-color:var(--performance-excellent)}
.projection-trend-row.is-risk .projection-trend-track i,
.projection-rank-row.is-risk .projection-rank-track i{background:var(--performance-risk)}
.projection-trend-row.is-excellent .projection-trend-track i,
.projection-rank-row.is-excellent .projection-rank-track i{background:var(--performance-excellent)}
.projection-period-card.is-risk{border-top-color:var(--performance-risk)}
.projection-period-card.is-excellent{border-top-color:var(--performance-excellent)}
.projection-period-card.is-risk > header b{background:var(--performance-risk-bg);color:var(--performance-risk-text)}
.projection-period-card.is-excellent > header b{background:var(--performance-excellent-bg);color:var(--performance-excellent-text)}
.projection-advisor-card.is-risk{border-left-color:var(--performance-risk)}
.projection-advisor-card.is-warning{border-left-color:var(--performance-warning)}
.projection-advisor-card.is-good{border-left-color:var(--performance-good)}
.projection-advisor-card.is-excellent{border-left-color:var(--performance-excellent)}
.projection-advisor-card.is-risk .projection-advisor-status{color:var(--performance-risk-text)}
.projection-advisor-card.is-warning .projection-advisor-status{color:var(--performance-warning-text)}
.projection-advisor-card.is-good .projection-advisor-status{color:var(--performance-good-text)}
.projection-advisor-card.is-excellent .projection-advisor-status{color:var(--performance-excellent-text)}
.projection-advisor-card.is-risk .projection-advisor-progress i{background:var(--performance-risk)}
.projection-advisor-card.is-warning .projection-advisor-progress i{background:var(--performance-warning)}
.projection-advisor-card.is-good .projection-advisor-progress i{background:var(--performance-good)}
.projection-advisor-card.is-excellent .projection-advisor-progress i{background:var(--performance-excellent)}
/* Proyección — contexto enlazado desde el dashboard gerencial */
.projection-dashboard-context {
  --projection-context-tone:#87948c;
  display:grid;
  grid-template-columns:minmax(210px,1.05fr) minmax(390px,1.65fr) auto auto;
  align-items:center;
  gap:18px;
  margin:0 0 18px;
  padding:17px 18px;
  border:1px solid color-mix(in srgb,var(--projection-context-tone) 25%,#dbe5dc);
  border-left:5px solid var(--projection-context-tone);
  border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--projection-context-tone) 7%,#fff),rgba(255,255,255,.92));
  box-shadow:0 12px 28px rgba(20,50,29,.08),inset 0 1px #fff;
}

.projection-dashboard-context.is-excellent { --projection-context-tone:#07815f; }
.projection-dashboard-context.is-good { --projection-context-tone:#4a9138; }
.projection-dashboard-context.is-warning { --projection-context-tone:#d99808; }
.projection-dashboard-context.is-risk { --projection-context-tone:#d3323a; }

.projection-dashboard-context-copy { min-width:0; }
.projection-dashboard-context-copy > span { color:#639432;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase; }
.projection-dashboard-context-copy > h3 { margin:5px 0 0;color:#173322;font:800 19px/1.08 "Space Grotesk",Manrope,sans-serif;letter-spacing:-.025em; }
.projection-dashboard-context-copy > p { margin:6px 0 0;color:#718078;font-size:10px;line-height:1.4; }

.projection-dashboard-context > dl {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0;
}

.projection-dashboard-context > dl > div { min-width:0;padding:10px;border:1px solid rgba(43,78,51,.1);border-radius:12px;background:rgba(255,255,255,.7); }
.projection-dashboard-context dt { overflow:hidden;color:#78847c;font-size:7px;font-weight:850;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap; }
.projection-dashboard-context dd { margin:5px 0 0;overflow:hidden;color:#1d3a27;font:800 11px/1.2 "Space Grotesk",Manrope,sans-serif;text-overflow:ellipsis;white-space:nowrap; }

.projection-dashboard-context-state { display:flex;align-items:center;gap:8px;color:var(--projection-context-tone);font-size:9px;font-weight:900;text-transform:uppercase;white-space:nowrap; }
.projection-dashboard-context-state > i { width:9px;height:9px;border-radius:50%;background:var(--projection-context-tone);box-shadow:0 0 0 5px color-mix(in srgb,var(--projection-context-tone) 13%,transparent); }

.projection-dashboard-context > button {
  min-height:40px;
  padding:0 14px;
  border:1px solid color-mix(in srgb,var(--projection-context-tone) 28%,#dce5dc);
  border-radius:12px;
  background:#fff;
  color:var(--projection-context-tone);
  cursor:pointer;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}

.projection-dashboard-context > button:hover,
.projection-dashboard-context > button:focus-visible { border-color:var(--projection-context-tone);outline:none;box-shadow:0 7px 16px color-mix(in srgb,var(--projection-context-tone) 12%,transparent); }

@media(max-width:1350px) {
  .projection-dashboard-context { grid-template-columns:minmax(200px,1fr) minmax(370px,1.7fr) auto; }
  .projection-dashboard-context-state { grid-column:1; }
  .projection-dashboard-context > button { grid-column:3;grid-row:2; }
}

@media(max-width:900px) {
  .projection-dashboard-context { grid-template-columns:1fr; }
  .projection-dashboard-context > dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .projection-dashboard-context-state,
  .projection-dashboard-context > button { grid-column:1;grid-row:auto; }
}
