@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/jakarta-400.ttf?v=159b12c7e16f96ee') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('./fonts/jakarta-500.ttf?v=159b12c7e16f96ee') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('./fonts/jakarta-600.ttf?v=159b12c7e16f96ee') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('./fonts/jakarta-700.ttf?v=159b12c7e16f96ee') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url('./fonts/jakarta-800.ttf?v=159b12c7e16f96ee') format('truetype')}
/* Edifar visual system. Legacy variables remain aliases for semantic status colors. */
:root {
 --bg:#f3f4f9;--surface:#fff;--surface2:#f7f8fc;--line:#eceef5;--border:var(--line);--border2:#c7cbdb;
 --text:#161a33;--text-2:#5b6180;--text2:var(--text-2);--muted:#707692;--text3:var(--muted);
 --primary:#5468ff;--primary-2:#7b6cff;--primary-text:#4253d8;--primary-bg:#eef0ff;
 --con:var(--primary);--sin:#f0527e;--in:#0d9488;--real:#8b90a8;--warn:#b7791f;
 --accent:var(--primary);--green:#0b8176;--green-bg:#e4f6f2;--green-text:#087267;
 --amber:#a76615;--amber-bg:#fff5df;--amber-text:#895210;
 --red:#cc315b;--red-bg:#fff0f5;--red-text:#bc2852;
 --blue:var(--primary);--blue-bg:var(--primary-bg);--blue-text:var(--primary-text);
 --purple:#7958cc;--purple-bg:#f2edff;--purple-text:#6843bb;
 --radius:18px;--radius-sm:10px;--field-radius:10px;
 --shadow:0 1px 2px rgba(22,26,51,.04),0 8px 24px rgba(22,26,51,.05);
 --shadow-overlay:0 24px 80px rgba(22,26,51,.2);
 --font-ui:'Plus Jakarta Sans','DM Sans',system-ui,sans-serif;
 --focus:0 0 0 3px rgba(84,104,255,.18);--overlay:rgba(15,17,32,.42);
 color-scheme:light;
}
:root[data-theme="dark"] {
 --bg:#0f1120;--surface:#171a2e;--surface2:#1d2138;--line:#2d324c;--border2:#49516f;
 --text:#eef0fb;--text-2:#b2b8d3;--muted:#9da5c5;
 --primary:#6f7ff5;--primary-2:#8f7ff7;--primary-text:#b8c0ff;--primary-bg:#272d52;
 --sin:#f16c94;--in:#27bcae;--real:#9da5c5;--warn:#e3b45c;
 --green:#36c7b6;--green-bg:#123a38;--green-text:#68e0d1;
 --amber:#e3b45c;--amber-bg:#392e1f;--amber-text:#f0c677;
 --red:#f7799e;--red-bg:#3e2338;--red-text:#ff9bb7;
 --purple:#b59af4;--purple-bg:#302643;--purple-text:#d0b8ff;
 --shadow:0 1px 2px #0003,0 8px 24px #0002;--overlay:#050711b0;
 color-scheme:dark;
}
@media(prefers-color-scheme:dark){
 :root:not([data-theme="light"]):not([data-theme="dark"]){
  --bg:#0f1120;--surface:#171a2e;--surface2:#1d2138;--line:#2d324c;--border2:#49516f;
  --text:#eef0fb;--text-2:#b2b8d3;--muted:#9da5c5;--primary:#6f7ff5;--primary-2:#8f7ff7;--primary-text:#b8c0ff;--primary-bg:#272d52;
  --sin:#f16c94;--in:#27bcae;--real:#9da5c5;--warn:#e3b45c;
  --green:#36c7b6;--green-bg:#123a38;--green-text:#68e0d1;--amber:#e3b45c;--amber-bg:#392e1f;--amber-text:#f0c677;
  --red:#f7799e;--red-bg:#3e2338;--red-text:#ff9bb7;--purple:#b59af4;--purple-bg:#302643;--purple-text:#d0b8ff;
  --shadow:0 1px 2px #0003,0 8px 24px #0002;--overlay:#050711b0;color-scheme:dark;
 }
}

:root{--secondary:var(--primary-2)}
body{font-family:var(--font-ui)}.content{padding:28px 30px 40px;max-width:1900px}.sidebar{width:242px}.sidebar nav{overflow-y:auto;min-height:0;padding:14px 12px}.nav-item{color:var(--text-2);font-size:11px;letter-spacing:.015em;align-items:center}.nav-item svg{width:16px;height:16px;flex-shrink:0}.nav-item.active{color:var(--primary-text)}.topbar{padding:0 30px}.topbar>span{font-size:15px;letter-spacing:-.4px}.brand-mark{box-shadow:0 7px 17px #5468ff30}.card{padding:22px}.metric{position:relative;overflow:hidden;min-width:0}.metric:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--primary)}.metric span{color:var(--text-2);font-size:11px}.metric strong{font-size:28px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}.btn.primary{box-shadow:0 5px 15px #5468ff24}.btn.primary:hover{background:linear-gradient(135deg,var(--primary-2),var(--primary))}.field{color:var(--text-2)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:var(--focus)}th{color:var(--text-2)}.badge.good{color:var(--green-text)}.badge.bad,.form-error,.money-out{color:var(--red-text)}.badge.warn,.notice{color:var(--amber-text)}.money-in{color:var(--in)}dialog::backdrop{background:var(--overlay)}dialog{box-shadow:var(--shadow-overlay)}.account-card{min-width:0;box-shadow:var(--shadow)}.account-card strong{overflow-wrap:anywhere}.page-head{flex-wrap:wrap}.two-col>.card{min-width:0}.topbar [data-action=theme]{border-radius:99px;background:var(--surface2);border-color:var(--line);font-size:10px;color:var(--text-2)}
@media(max-width:1100px){.sidebar{width:216px}.content{padding:24px}.topbar{padding:0 24px}}
@media(max-width:768px){#app{display:block}.sidebar{position:static;width:100%;height:auto}.sidebar nav{display:flex;overflow-x:auto;padding:10px;gap:5px}.nav-item{white-space:nowrap;flex-shrink:0}.nav-label,.side-foot{display:none}.sidebar nav details{flex-shrink:0}.sidebar nav details[open]{display:flex}.sidebar nav details[open] summary{white-space:nowrap}.brand{padding:16px 20px}.topbar{height:auto;min-height:62px;padding:12px 14px;flex-wrap:wrap}.topbar>span{font-size:13px}.content{padding:18px 14px 28px}.card,.metric{padding:18px}.metric strong{font-size:24px}.toolbar input{min-width:0}.toolbar .field{min-width:130px;flex:1}.two-col{grid-template-columns:1fr}}
@media(max-width:430px){.metrics{grid-template-columns:1fr}.topbar .btn{font-size:10px;min-height:38px}.topbar>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}

/* Resumen del dashboard: ventas agrupadas y resultado del período. */
.dashboard-metrics{grid-template-columns:minmax(270px,1.8fr) repeat(4,minmax(150px,1fr));gap:14px}
.dashboard-metrics .metric{padding:20px 16px}
.dashboard-metrics .sales-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.sales-summary>div+div{border-left:1px solid var(--line);padding-left:12px}
.dashboard-metrics .metric strong{font-size:clamp(20px,1.6vw,28px);overflow-wrap:normal}
.dashboard-metrics .metric small{font-size:10px;line-height:1.5}
.profit-summary{background:linear-gradient(135deg,#0f766e,#115e59);border-color:#0f766e;color:#fff}
.dashboard-metrics .profit-summary span,.dashboard-metrics .profit-summary small{color:#e0f7f1}
.dashboard-metrics .profit-summary strong{color:#fff}
.dashboard-metrics .profit-summary strong.money-out{color:#ffd5df}
.profit-summary:after{background:#5eead4}
.commission-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.commission-metrics{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1250px){.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-metrics .sales-summary{grid-column:1/-1}.dashboard-metrics .metric strong{font-size:24px}}
@media(max-width:850px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.dashboard-metrics{grid-template-columns:minmax(0,1fr)}.dashboard-metrics .sales-summary{gap:8px}.sales-summary>div+div{padding-left:8px}}
