:root{
 --navy:#102a43;--navy2:#173f68;--blue:#1677ff;--blue2:#4da3ff;--cyan:#25b7d3;
 --ink:#182433;--muted:#718096;--bg:#f5f7fb;--card:#fff;--line:#e5eaf1;
 --green:#159a63;--orange:#e59a22;--red:#dc4b4b;--shadow:0 18px 45px rgba(25,49,79,.08);
}
*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--blue);text-decoration:none}img{max-width:100%}

/* APP CHROME */
.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:258px;background:linear-gradient(180deg,#0e2740 0%,#102f4d 55%,#0b2238 100%);color:#fff;padding:23px 16px;display:flex;flex-direction:column;z-index:100;box-shadow:14px 0 35px rgba(12,35,56,.12)}
.side-brand{display:flex;align-items:center;gap:11px;padding:3px 8px 24px}.logo-orb{width:44px;height:44px;border-radius:13px;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.15)}.logo-orb img{width:42px;height:42px;object-fit:contain}.brand{font-weight:900;font-size:18px;letter-spacing:.6px;color:#fff}.brand span{color:#7bc6ff}.side-brand small{display:block;color:#8ea9c2;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin-top:2px}
.company-pill{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);border-radius:14px;margin:0 2px 25px}.company-pill strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.company-pill small{display:block;color:#91a8bd;font-size:10px;margin-top:2px}.pulse{width:8px;height:8px;border-radius:50%;background:#42d392;box-shadow:0 0 0 5px rgba(66,211,146,.12)}
.side-label{font-size:9px;font-weight:800;letter-spacing:1.5px;color:#708ba4;padding:0 11px 8px}.side-nav{display:flex;flex-direction:column;gap:4px;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgba(126,166,202,.35) transparent}.side-nav a{display:flex;flex-shrink:0;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;color:#b8c9d8;font-size:13px;font-weight:650;transition:.18s}.side-nav a:hover{background:rgba(255,255,255,.07);color:#fff}.side-nav a.active{background:linear-gradient(90deg,rgba(39,139,255,.25),rgba(39,139,255,.08));color:#fff;box-shadow:inset 3px 0 0 #49a6ff}.nav-icon{width:22px;text-align:center;font-size:16px;color:#7fa8c8}.side-nav a.active .nav-icon{color:#64b6ff}.side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding:15px 3px 0}.user-mini{display:flex;gap:9px;align-items:center;padding:8px}.avatar{width:33px;height:33px;border-radius:10px;background:linear-gradient(135deg,#2d8cff,#57c3ff);display:grid;place-items:center;font-weight:900;font-size:13px}.user-mini strong{display:block;font-size:11px;color:#fff;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini small{display:block;color:#8099ad;font-size:9px;margin-top:2px}.logout-link{display:flex;gap:9px;align-items:center;color:#9eb2c4!important;font-size:11px!important;padding:9px 10px!important}.main-area{margin-left:258px;min-height:100vh}.topbar{height:82px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:sticky;top:0;z-index:50}.eyebrow{font-size:9px;font-weight:850;letter-spacing:1.8px;color:#93a1b1}.page-title{font-size:20px;font-weight:850;color:var(--navy);margin-top:2px}.top-actions{display:flex;align-items:center;gap:10px}.date-chip{background:#f1f4f8;color:#67758a;padding:8px 11px;border-radius:9px;font-size:11px;font-weight:700}.top-new{background:var(--blue);color:#fff!important;padding:10px 14px;border-radius:10px;font-size:12px;font-weight:800;box-shadow:0 8px 20px rgba(22,119,255,.2)}
.wrap{max-width:1450px;margin:0 auto;padding:30px 38px 50px}

/* COMPONENTS */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:21px;box-shadow:var(--shadow)}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:19px;flex-wrap:wrap}
h1{font-size:29px;line-height:1.1;margin:0 0 5px;color:var(--navy);letter-spacing:-.6px}h2{font-size:17px;margin:0 0 14px;color:var(--navy);letter-spacing:-.2px}.muted{color:var(--muted);font-size:12px}
.stat{position:relative;overflow:hidden;padding:20px 21px}.stat:before{content:"";position:absolute;right:-35px;top:-45px;width:125px;height:125px;border-radius:50%;background:linear-gradient(135deg,#edf6ff,#f8fbff)}.stat:after{content:"";position:absolute;right:18px;bottom:18px;width:38px;height:3px;border-radius:5px;background:#b9d9ff}.stat b{display:block;font-size:24px;line-height:1.15;margin:8px 0 5px;position:relative;z-index:1;color:var(--navy);letter-spacing:-.6px}.stat .muted{position:relative;z-index:1}
.btn{border:0;border-radius:10px;padding:10px 14px;background:var(--blue);color:#fff;text-decoration:none;display:inline-block;cursor:pointer;font-weight:750;font-size:12px;box-shadow:0 6px 16px rgba(22,119,255,.14);transition:.18s}.btn:hover{transform:translateY(-1px)}.btn.secondary{background:#eef3f8;color:#2d4056;box-shadow:none}.btn.danger{background:#ffebeb;color:#b52d2d;box-shadow:none}.btn.ok{background:#def7ea;color:#126d48;box-shadow:none}
input,select,textarea{width:100%;border:1px solid #d9e0e8;border-radius:10px;padding:10px 12px;background:#fff;font:inherit;color:var(--ink);outline:none;font-size:13px}input:focus,select:focus,textarea:focus{border-color:#6daeff;box-shadow:0 0 0 3px rgba(22,119,255,.08)}label{font-size:11px;font-weight:800;display:block;margin-bottom:6px;color:#4d5c70}.field{margin-bottom:13px}
table{width:100%;border-collapse:collapse;background:#fff}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:13px}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}th{background:#f8fafc;font-size:10px;text-transform:uppercase;color:#758297;letter-spacing:.55px;font-weight:850}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdff}
.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.3px}.pagada{background:#def7ea;color:#126d48}.pendiente{background:#ffedd8;color:#995708}.parcial{background:#e2efff;color:#185b9d}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.formgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.ordergrid{display:grid;grid-template-columns:1fr 390px;gap:18px}.product-row{display:grid;grid-template-columns:2.4fr .7fr 1fr 1fr auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.totals{font-size:17px}.totalbig{font-size:31px;font-weight:900;color:var(--navy)}
.notice{padding:12px 15px;border-radius:11px;background:#edf6ff;color:#1c5897;margin-bottom:16px;border:1px solid #d7e9fc}.error{background:#ffeded;color:#982b2b;border-color:#ffd2d2}

/* DASHBOARD */
.dashboard-hero{position:relative;overflow:hidden;border-radius:20px;padding:26px 28px;margin-bottom:18px;background:linear-gradient(115deg,#0f3150,#164b76 60%,#1a6594);color:#fff;box-shadow:0 20px 40px rgba(16,48,80,.16)}.dashboard-hero:after{content:"";position:absolute;width:250px;height:250px;border:35px solid rgba(255,255,255,.055);border-radius:50%;right:-75px;top:-90px}.dashboard-hero .muted{color:#b7cee2}.dashboard-hero h1{color:#fff;font-size:25px}.hero-kicker{font-size:9px;letter-spacing:1.6px;font-weight:850;color:#83c8ff;margin-bottom:7px;text-transform:uppercase}.quick-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.quick-actions a{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.13);color:#fff;padding:8px 11px;border-radius:9px;font-size:10px;font-weight:750}.dashboard-stat{min-height:125px}.metric-label{display:flex;justify-content:space-between;align-items:center}.metric-dot{width:8px;height:8px;border-radius:50%;background:#51b8ff}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}

/* INVOICE */
.invoice{max-width:920px;margin:auto;background:#fff}.invoice-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start}.invoice-logo{width:150px;height:105px;object-fit:contain}.invoice-title{font-size:30px;font-weight:900;color:var(--navy);text-align:right}.info-grid{display:grid;grid-template-columns:1fr 1fr;margin:20px 0;border:1px solid #cfd8e5}.info-box{padding:15px;border-right:1px solid #cfd8e5}.info-box:last-child{border-right:0}.invoice-table th{background:var(--navy);color:#fff}.invoice-total{width:370px;margin-left:auto;margin-top:18px}.invoice-total div{display:flex;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line)}.invoice-total .grand{background:#eaf2fb;font-size:19px;font-weight:900}.social-line{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;white-space:nowrap;margin-top:10px}.social-line span{display:flex;align-items:center;gap:5px;font-size:12px}.social-line img{width:18px;height:18px;object-fit:contain}.invoice-footer{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d6dee8;margin-top:28px}.invoice-footer>div{padding:15px;border-right:1px solid #d6dee8}.invoice-footer>div:last-child{border-right:0}
.product-picker{position:relative}.search-results{position:absolute;left:0;right:0;top:75px;background:#fff;border:1px solid #d7dfe9;border-radius:12px;box-shadow:0 16px 35px rgba(15,23,42,.16);z-index:200;max-height:350px;overflow:auto;display:none}.result-item{width:100%;border:0;background:#fff;text-align:left;padding:13px 14px;border-bottom:1px solid #eef1f5;cursor:pointer;color:var(--ink)}.result-item:hover{background:#edf4fd}.result-item span{display:block;color:#687386;font-size:12px;margin-top:4px}.selected-product{margin-top:5px}
.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 15% 20%,#dceeff 0,#f4f7fb 38%,#eef2f7 100%)}.login .card{width:min(430px,100%);padding:30px;border-radius:20px}.login .brand{color:var(--navy)}.center{text-align:center}
.action-card{display:flex;justify-content:space-between;align-items:center;gap:20px}.action-submit{min-width:280px}
@media(max-width:1050px){.sidebar{width:225px}.main-area{margin-left:225px}.topbar{padding:0 25px}.wrap{padding:25px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ordergrid{grid-template-columns:1fr}.formgrid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.side-nav{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.side-nav::-webkit-scrollbar{display:none}.sidebar{position:relative;width:100%;height:auto;min-height:0;padding:12px 13px}.side-brand{padding-bottom:12px}.company-pill,.side-label,.side-bottom{display:none}.side-nav{flex-direction:row;overflow-x:auto;padding-bottom:2px}.side-nav a{white-space:nowrap;padding:9px 11px}.main-area{margin-left:0}.topbar{height:68px;padding:0 15px}.top-actions .date-chip{display:none}.top-new{padding:9px 10px;font-size:10px}.wrap{padding:16px 13px 35px}.grid,.formgrid,.formgrid.three{grid-template-columns:1fr!important}.card{padding:16px;border-radius:15px}h1{font-size:23px}.toolbar{align-items:flex-start}.product-row{grid-template-columns:1fr 1fr!important;gap:9px;padding:14px 0}.product-row .product-picker{grid-column:1/-1}.product-row>div:nth-child(4){grid-column:1}.product-row>div:nth-child(5){grid-column:2;display:flex;align-items:flex-end}.product-row>div:nth-child(5) .btn{width:100%}.search-results{top:74px;max-height:300px}.action-card{flex-direction:column;align-items:stretch}.action-submit{width:100%;min-width:0;font-size:16px;padding:14px}.totalbig{font-size:27px}.tablewrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:720px}.invoice{padding:12px}.invoice-head{gap:10px;flex-direction:column}.invoice-title{text-align:left;font-size:23px}.info-grid,.invoice-footer{grid-template-columns:1fr}.info-box,.invoice-footer>div{border-right:0;border-bottom:1px solid #d6dee8}.social-line{overflow-x:auto;max-width:100%;gap:12px;padding-bottom:3px}.social-line span{font-size:10px}.social-line img{width:16px;height:16px}.dashboard-hero{padding:21px;border-radius:16px}}
@media print{.sidebar,.topbar,.toolbar,.no-print{display:none!important}.main-area{margin-left:0}.wrap{padding:0;max-width:none}.card{box-shadow:none;border:0}.invoice{max-width:none}a::after{content:none!important}a{color:inherit;text-decoration:none}}

/* V2.1 ECOSYSTEM */
.ecosystem-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.ecosystem-admin-grid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.5fr);gap:18px}.ecosystem-mini{font-size:8px;letter-spacing:1.2px;color:#68849b;padding:9px 10px 2px;font-weight:900}.module-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.module-rail>div{padding:16px;border:1px solid var(--line);background:#fbfdff;border-radius:13px}.module-rail b{display:block;font-size:11px;color:var(--navy)}.module-rail span{display:block;font-size:9px;color:var(--muted);margin-top:4px}.settings-grid{display:grid;grid-template-columns:330px 1fr;gap:18px}.company-brand-card{text-align:center}.company-logo-preview{width:120px;height:120px;border-radius:25px;border:1px solid var(--line);background:#f8fbff;margin:4px auto 18px;display:grid;place-items:center;overflow:hidden}.company-logo-preview img{width:100%;height:100%;object-fit:contain}.company-brand-card h2{margin-bottom:9px}.identity-list{text-align:left;margin-top:24px;border-top:1px solid var(--line)}.identity-list div{padding:11px 0;border-bottom:1px solid var(--line)}.identity-list b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#8592a3}.identity-list span{display:block;font-size:11px;color:#4d5c70;margin-top:3px;word-break:break-word}@media(max-width:1050px){.ecosystem-admin-grid,.settings-grid{grid-template-columns:1fr}.module-rail{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.ecosystem-stats{grid-template-columns:1fr 1fr}.module-rail{grid-template-columns:1fr 1fr}.ecosystem-admin-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}}
/* V3.1 — Reportes */
.report-chart{display:flex;flex-direction:column;gap:10px;margin-top:12px}.chart-row{display:grid;grid-template-columns:52px 1fr 110px;gap:10px;align-items:center}.chart-label,.chart-value{font-size:12px;color:var(--muted)}.chart-value{text-align:right}.chart-track,.rank-track{height:9px;background:var(--surface-2);border-radius:99px;overflow:hidden}.chart-bar,.rank-bar{height:100%;background:var(--accent);border-radius:99px}.mini-stat{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.mini-stat:last-of-type{border-bottom:0}.mini-stat b{font-size:18px}.rank-list{display:flex;flex-direction:column;gap:15px}.rank-top{display:flex;justify-content:space-between;margin-bottom:6px}.rank-item small{display:block;margin-top:5px}.status-list{display:flex;flex-direction:column;gap:10px}.status-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px}.status-row small{color:var(--muted)}.empty-state{padding:24px;text-align:center;color:var(--muted)}
@media(max-width:800px){.chart-row{grid-template-columns:42px 1fr}.chart-value{display:none}.status-row{grid-template-columns:1fr auto}.status-row small{grid-column:1/-1}.grid[style*="1.6fr"],.grid[style*="1fr 1fr"]{grid-template-columns:1fr!important}}

/* V3.2.7 — Reportes PRO visual redesign */
.report-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.report-kicker{font-size:9px;font-weight:900;letter-spacing:1.8px;color:#2b86d8;margin-bottom:6px}.report-header h1{margin:0 0 5px;font-size:28px;letter-spacing:-.7px}.report-filters{margin-bottom:20px;padding:17px 19px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.report-filter-form{display:grid;grid-template-columns:minmax(180px,230px) minmax(180px,230px) auto;gap:12px;align-items:end;flex:1}.report-filter-form .field{margin:0}.report-filter-btn{height:42px;white-space:nowrap}.report-period{font-size:10px;color:var(--muted);padding-bottom:11px;white-space:nowrap}.report-period b{color:var(--navy)}.report-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.report-kpis .stat{min-height:132px;padding:19px 20px}.report-kpis .stat b{font-size:23px}.report-layout{display:grid;gap:18px;margin-top:18px}.report-layout-main{grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr)}.report-layout-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.report-layout>.card{min-width:0}.report-table-card{margin-top:18px}.report-chart{gap:12px}.chart-row{grid-template-columns:58px minmax(0,1fr) 125px;gap:12px}.chart-track,.rank-track{background:#edf2f7;height:10px}.chart-bar,.rank-bar{background:linear-gradient(90deg,#1677ff,#55b7ff)}.mini-stat{padding:14px 0}.mini-stat b{color:var(--navy)}.status-row{background:#fbfcfe}.rank-list{gap:17px}.rank-top b{color:var(--navy)}.empty-state{border:1px dashed var(--line);border-radius:12px;background:#fafbfd}.report-table-card table{min-width:760px}.report-table-card th{background:#f7f9fc}.report-table-card .section-head{margin-bottom:12px}
@media(max-width:1100px){.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-layout-main,.report-layout-secondary{grid-template-columns:1fr}.report-filters{align-items:stretch}.report-period{padding:0;align-self:center}}
@media(max-width:760px){.report-header{align-items:flex-start;flex-direction:column}.report-header h1{font-size:23px}.report-header .btn{width:100%;text-align:center}.report-filters{display:block;padding:15px}.report-filter-form{grid-template-columns:1fr}.report-filter-btn{width:100%}.report-period{margin-top:11px}.report-kpis{grid-template-columns:1fr}.report-layout{grid-template-columns:1fr!important}.chart-row{grid-template-columns:48px minmax(0,1fr)}.chart-value{display:none}}
