@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#16231b;font-synthesis:none;--green:#087e40;--dark:#0c2d1b;--muted:#718078;background:#f3f6f3;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 80% -10%,#dff1e5 0,#0000 28%),#f3f6f3;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#ffffffeb;border-bottom:1px solid #e2e8e3;justify-content:space-between;align-items:center;height:92px;padding:0 max(24px,50vw - 740px);display:flex;position:sticky;top:0}.brand,.header-actions,.file-status,.kpi-top,.legend-row,.pagination,.pagination div{align-items:center;display:flex}.brand img{object-fit:contain;width:196px;height:58px}.header-actions{gap:20px}.file-status{gap:10px;max-width:250px}.status-dot{background:#20b65c;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #ddf5e6}.file-status.inactive .status-dot{background:#9aa49e;box-shadow:0 0 0 5px #edf0ee}.file-status div{min-width:0;display:grid}.file-status small{color:#859088;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.file-status strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.file-name-button{color:#17261d;text-overflow:ellipsis;white-space:nowrap;text-align:left;background:0 0;border:0;max-width:220px;padding:0;font-size:12px;font-weight:800;overflow:hidden}.file-status.clickable{cursor:pointer;border-radius:10px;margin:-7px -9px;padding:7px 9px;transition:all .15s}.file-status.clickable:hover{background:#edf6f0}.file-status.clickable:hover .file-name-button{color:#087e40}.upload-button{background:var(--dark);color:#fff;border:0;border-radius:12px;align-items:center;gap:9px;padding:13px 18px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 8px 22px #0c2d1b2e}.upload-button:hover{background:#0b793f;transform:translateY(-2px)}main{max-width:1480px;margin:auto;padding:44px 24px 58px}.hero{justify-content:space-between;align-items:flex-end;margin-bottom:32px;display:flex}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.13em;align-items:center;gap:7px;margin-bottom:12px;font-size:11px;font-weight:800;display:flex}.hero h1{letter-spacing:-.045em;color:#102219;margin:0;font-family:Manrope;font-size:clamp(35px,4vw,55px);line-height:1.04}.hero h1 em{color:var(--green);font-style:normal}.hero p{color:var(--muted);margin:15px 0 0;font-size:15px}.hero-summary{text-align:right;gap:5px;padding-bottom:5px;display:grid}.hero-summary span{color:#89938d;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:700}.hero-summary strong{font-family:Manrope;font-size:15px}.hero-summary small{color:var(--muted)}.filter-panel{background:#fff;border:1px solid #e0e7e1;border-radius:18px;grid-template-columns:minmax(260px,1.6fr) 1fr 1fr .65fr auto;gap:9px;margin-bottom:22px;padding:12px;display:grid;box-shadow:0 8px 30px #1941270f}.search-box,.select-filter{color:#6f7d74;background:#f6f8f6;border:1px solid #e6ebe7;border-radius:11px;align-items:center;gap:10px;min-width:0;height:48px;padding:0 13px;display:flex}.search-box:focus-within,.select-filter:focus-within{background:#fff;border-color:#70b98e;box-shadow:0 0 0 3px #e1f2e7}.search-box input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.search-box button{color:#758178;background:0 0;border:0;padding:2px}.select-filter select{appearance:none;color:#26362c;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.clear-button{color:#909a93;white-space:nowrap;background:#fff;border:1px solid #e5eae6;border-radius:11px;align-items:center;gap:8px;padding:0 14px;font-size:12px;display:flex}.clear-button.active{color:#922f2f;background:#fff8f7;border-color:#f0d8d4}.clear-button:disabled{cursor:default}.error-banner{color:#8a3527;background:#fff4f0;border:1px solid #f1d7cf;border-radius:14px;align-items:center;gap:12px;margin-bottom:20px;padding:15px 18px;display:flex}.error-banner span{flex:1}.error-banner button{color:#8a3527;background:0 0;border:0;font-weight:700}.empty-upload-banner{color:#1d3527;text-align:left;background:linear-gradient(100deg,#f7fbf8,#eef8f1);border:1px dashed #a9cbb6;border-radius:15px;align-items:center;gap:13px;width:100%;margin-bottom:16px;padding:14px 17px;transition:all .2s;display:flex}.empty-upload-banner:hover{border-color:#238451;transform:translateY(-1px);box-shadow:0 8px 22px #155b3214}.empty-upload-icon{width:38px;height:38px;color:var(--green);background:#dff2e5;border-radius:11px;flex:0 0 38px;place-items:center;display:grid}.empty-upload-banner>span:nth-child(2){flex:1;gap:2px;display:grid}.empty-upload-banner strong{font:700 13px Manrope}.empty-upload-banner small{color:#738078;font-size:11px}.empty-upload-action{color:#08733d;white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:800;display:flex}.kpi-grid{grid-template-columns:1.32fr repeat(4,1fr);gap:13px;margin-bottom:14px;display:grid}.kpi-card{background:#fff;border:1px solid #e2e8e3;border-radius:17px;min-width:0;padding:21px;overflow:hidden;box-shadow:0 7px 24px #1941270b}.kpi-card.featured{color:#fff;background:linear-gradient(135deg,#0b733c,#074829);border:0;position:relative}.kpi-card.featured:after{content:"";background:#ffffff12;border-radius:50%;width:140px;height:140px;position:absolute;bottom:-75px;right:-54px}.kpi-top{color:#6f7e74;text-transform:uppercase;letter-spacing:.07em;gap:9px;font-size:11px;font-weight:700}.featured .kpi-top{color:#c5e7d1}.kpi-icon{width:30px;height:30px;color:var(--green);background:#eaf5ee;border-radius:9px;place-items:center;display:grid}.kpi-icon svg{width:16px;height:16px}.featured .kpi-icon{color:#fff;background:#ffffff21}.kpi-card>strong{letter-spacing:-.04em;white-space:nowrap;text-overflow:ellipsis;margin:17px 0 6px;font:800 clamp(20px,1.8vw,28px) Manrope;display:block;overflow:hidden}.kpi-card>small{color:#8a958e;align-items:center;gap:3px;font-size:11px;display:flex}.featured>small{color:#c7e4d1}.kpi-card>small.positive{color:#24a75a}.kpi-card>small.negative{color:#d55852}.featured>small.positive,.featured>small.negative{color:#d5f4df}.dashboard-grid{grid-template-columns:1.15fr 1.15fr .9fr;gap:14px;display:grid}.card{background:#fff;border:1px solid #e1e7e2;border-radius:18px;min-width:0;padding:23px;overflow:hidden;box-shadow:0 8px 28px #1941270b}.card.wide{grid-column:span 2}.card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.card-header span,.insight-card>span{color:var(--green);text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:800}.card-header h2{letter-spacing:-.025em;margin:5px 0 4px;font:800 19px Manrope}.card-header p{color:#849087;margin:0;font-size:11px}.card-header>small{color:#257447;background:#edf6f0;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:700}.chart-wrap{width:100%;position:relative}.chart-wrap.large{height:285px}.chart-wrap.medium{height:330px}.chart-tooltip{color:#fff;background:#10251a;border-radius:11px;gap:3px;padding:10px 13px;display:grid;box-shadow:0 8px 22px #193c2970}.chart-tooltip span{color:#b5c7bb;text-transform:capitalize;font-size:10px}.chart-tooltip strong{font-size:12px}.donut-center{text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.donut-center small{color:#879289;font-size:10px}.donut-center strong{letter-spacing:-.05em;font:800 22px Manrope}.legend-row{justify-content:center;gap:18px}.legend-row div{grid-template-columns:7px auto;align-items:center;gap:1px 6px;display:grid}.legend-row div>span{border-radius:50%;grid-row:span 2;width:7px;height:7px}.legend-row b{font-size:11px}.legend-row small{color:#829087;font-size:10px}.client-table{display:grid}.table-head,.client-row{grid-template-columns:40px minmax(230px,1.5fr) minmax(145px,.8fr) .48fr .7fr;align-items:center;gap:10px;display:grid}.table-head{color:#919a94;text-transform:uppercase;letter-spacing:.09em;padding:0 8px 9px;font-size:9px}.table-head span:nth-child(n+3){text-align:right}.client-row{text-align:left;color:#24342a;background:0 0;border:0;border-top:1px solid #edf1ed;padding:10px 8px;transition:all .15s}.client-row:hover{background:#f5faf6;border-radius:10px}.client-row>span:nth-child(n+3),.client-row>strong{text-align:right;font-size:11px}.client-row>strong{font:700 12px Manrope}.rank{color:#95a198;font:700 10px Manrope}.client-name{align-items:center;gap:9px;min-width:0;display:flex}.client-name>span:last-child{gap:2px;min-width:0;display:grid}.client-name b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.client-name small{color:#96a098;font-size:9px}.avatar{color:#157543;background:#e8f5ec;border-radius:9px;flex:0 0 32px;place-items:center;height:32px;font:800 10px Manrope;display:grid}.share{color:#67756c;justify-content:flex-end;align-items:center;gap:8px;display:flex}.share>span{background:#e8eee9;border-radius:9px;width:70px;height:5px;overflow:hidden}.share i,.product-copy i{border-radius:inherit;background:linear-gradient(90deg,#0b7f42,#42bd75);height:100%;display:block}.pagination{color:#89948c;border-top:1px solid #edf1ed;justify-content:space-between;margin-top:5px;padding-top:14px;font-size:10px}.pagination div{gap:9px}.pagination button{color:#46705a;background:#fff;border:1px solid #dde5df;border-radius:8px;width:27px;height:27px}.pagination button:disabled{opacity:.35;cursor:default}.product-list{gap:4px;display:grid}.product-list button{text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:26px 1fr auto;align-items:center;gap:9px;padding:9px 5px;display:grid}.product-list button:hover{background:#f4f8f5}.product-index{color:#60816d;background:#eff5f1;border-radius:7px;place-items:center;width:24px;height:24px;font:700 9px Manrope;display:grid}.product-copy{gap:6px;min-width:0;display:grid}.product-copy b{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.product-copy>span{background:#edf1ee;border-radius:5px;height:4px;overflow:hidden}.product-list button>strong{color:#304238;font:700 11px Manrope}.units-card{grid-column:span 3}.loading{color:#758179;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:450px;display:flex}.loading svg{color:var(--green);width:34px;height:34px;margin-bottom:10px}.loading strong{color:#27382d;font:700 17px Manrope}.loading span{font-size:12px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.data-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#061c10a3;place-items:center;padding:28px;animation:.18s ease-out overlay-in;display:grid;position:fixed;inset:0}.data-panel{background:#f8faf8;border-radius:21px;grid-template-rows:auto 1fr auto;width:min(1540px,100%);height:min(850px,100vh - 56px);display:grid;overflow:hidden;box-shadow:0 30px 90px #00140a4d}.data-panel-header{background:#fff;border-bottom:1px solid #dfe7e1;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.data-panel-title{align-items:center;gap:13px;min-width:0;display:flex}.data-panel-title>span{color:#087e40;background:#e4f3e9;border-radius:12px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.data-panel-title>div{min-width:0}.data-panel-title small{color:#16834b;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:800}.data-panel-title h2{text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font:800 17px Manrope;overflow:hidden}.data-panel-title p{color:#78857d;margin:0;font-size:10px}.data-close{color:#526159;background:#fff;border:1px solid #dfe6e1;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.data-close:hover{color:#8d2f2f;background:#fff5f3;border-color:#eed6d2}.data-table-wrap{background:#f7f9f7;overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1550px;font-size:11px}.data-table thead{z-index:2;position:sticky;top:0}.data-table th{color:#68766e;text-align:left;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;background:#edf3ef;border-bottom:1px solid #dce5de;padding:12px 13px;font-size:9px}.data-table td{color:#34443a;white-space:nowrap;background:#fff;border-bottom:1px solid #edf1ee;padding:11px 13px}.data-table tbody tr:hover td{background:#f1f8f3}.data-table .number-cell{text-align:right}.client-table-name{text-overflow:ellipsis;max-width:260px;font-weight:700;overflow:hidden}.product-table-name{text-overflow:ellipsis;max-width:360px;overflow:hidden}.data-table .total-cell{color:#08733d;font-weight:800}.data-empty{color:#8a968e;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:350px;display:flex}.data-empty svg{color:#4e956b}.data-empty strong{color:#33443a;font:700 15px Manrope}.data-empty span{font-size:11px}.data-panel-footer{color:#78857d;background:#fff;border-top:1px solid #dfe7e1;justify-content:space-between;align-items:center;min-height:64px;padding:12px 22px;font-size:10px;display:flex}.data-panel-footer>div{align-items:center;gap:12px;display:flex}.data-panel-footer strong{color:#415047;font-size:10px}.data-panel-footer button{color:#276c47;background:#fff;border:1px solid #dce5de;border-radius:9px;padding:8px 11px;font-size:10px;font-weight:700}.data-panel-footer button:hover:not(:disabled){background:#edf7f0}.data-panel-footer button:disabled{opacity:.35;cursor:default}@keyframes overlay-in{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}footer{color:#89958d;border-top:1px solid #dee5df;justify-content:space-between;align-items:center;max-width:1480px;height:66px;margin:auto;padding:0 24px;font-size:10px;display:flex}footer a{color:#087e40;font-weight:800;text-decoration:none}footer a:hover{text-decoration:underline}@media (width<=1180px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.card.wide,.units-card{grid-column:span 2}.year-card,.products-card,.insight-card{grid-column:span 1}.filter-panel{grid-template-columns:1.5fr 1fr 1fr}.clear-button{height:48px}.hero-summary{display:none}}@media (width<=760px){.topbar{height:78px;padding:0 16px}.brand img{border:0;width:145px;padding:0}.brand-copy,.file-status,.upload-button{display:none}.header-actions:after{content:"Cargar"}.header-actions{color:#fff;background:var(--dark);cursor:pointer;border-radius:9px;padding:9px 12px;font-size:11px}.hero{margin-bottom:24px}.hero h1 br{display:none}main{padding:28px 14px 40px}.filter-panel{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-card.featured{grid-column:span 2}.dashboard-grid{grid-template-columns:1fr}.card,.card.wide,.units-card,.year-card,.products-card,.insight-card{grid-column:span 1}.client-table{overflow-x:auto}.table-head,.client-row{min-width:720px}.chart-wrap.large{height:245px}.units-card{display:none}footer{padding:0 14px}footer span:last-child,.empty-upload-action{display:none}.data-overlay{padding:0}.data-panel{border-radius:0;width:100%;height:100vh}.data-panel-footer{padding:10px 14px}.data-panel-footer>span{display:none}.data-panel-footer>div{justify-content:space-between;width:100%}}@media (width<=440px){.kpi-grid{grid-template-columns:1fr}.kpi-card.featured{grid-column:span 1}.hero h1{font-size:34px}.card{padding:18px}}
