﻿:root{--vino:#7d1919;--negro:#000;--carbon:#171717;--gris:#c0c0c0;--soft:#f7f5f3;--line:#e5dfdc;--text:#181818;--muted:#6f6864;--ok:#0f7a4f;--warn:#9a6a00;--shadow:0 22px 60px rgba(0,0,0,.12)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--soft);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.login{min-height:100vh;display:grid;grid-template-columns:minmax(420px,.92fr) 1.08fr;background:#000}.login-panel{padding:52px;display:flex;flex-direction:column;justify-content:space-between}.logo{width:188px}.login-card{max-width:460px;color:#fff}.eyebrow{margin:0 0 14px;color:var(--gris);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.login h1,.page h2{font-family:Georgia,Times New Roman,serif;letter-spacing:0}.login h1{font-size:clamp(44px,6vw,76px);line-height:.92;margin:0}.login p{color:#d8d3d0;line-height:1.75}.hero-photo{background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.08)),url('./assets/magna-bari-hero-consultoria.webp') center/cover}.field{display:grid;gap:8px;margin:0 0 14px}.field span{font-size:13px;font-weight:850}.field input,.field select,.field textarea{width:100%;border:1px solid #ded8d4;border-radius:8px;background:#fff;color:#111;padding:13px 14px}.login .field input{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}.btn{border:0;border-radius:8px;padding:13px 16px;font-weight:900}.btn.primary{background:var(--vino);color:#fff;box-shadow:0 14px 28px rgba(125,25,25,.24)}.btn.secondary{background:#fff;color:#000;border:1px solid var(--line)}.shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--carbon);padding:28px 22px;color:#fff;display:flex;flex-direction:column;gap:28px}.sidebar .logo{width:164px}.nav{display:grid;gap:8px}.nav button{border:0;background:transparent;color:#d4cfcb;border-radius:8px;padding:12px;text-align:left;font-weight:850}.nav button.active,.nav button:hover{background:rgba(255,255,255,.08);color:#fff}.quote{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;color:#b8b1ad;line-height:1.55;font-size:13px}.topbar{position:sticky;top:0;z-index:3;height:74px;background:rgba(247,245,243,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.search{width:min(460px,42vw);border:1px solid #ddd8d4;border-radius:8px;background:#fff;padding:12px 14px}.user{display:flex;gap:12px;align-items:center;font-weight:850}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--vino);color:#fff}.page{padding:34px}.head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:28px}.page h2{font-size:clamp(34px,4vw,54px);line-height:.96;margin:0 0 10px}.sub{margin:0;color:var(--muted);line-height:1.65}.actions{display:flex;gap:10px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-bottom:28px}.kpi,.panel{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.05)}.kpi{padding:18px}.kpi span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.kpi strong{display:block;margin-top:10px;font-size:24px}.grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.panel{padding:22px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-title h3{margin:0}.pipeline{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px;overflow-x:auto}.stage{background:#f1eeeb;border:1px solid var(--line);border-radius:8px;padding:12px;min-height:360px}.stage-head{display:flex;justify-content:space-between;font-size:13px;font-weight:900;margin-bottom:12px}.deal{background:#fff;border:1px solid var(--line);border-left:4px solid var(--vino);border-radius:8px;padding:13px;margin-bottom:10px;transition:.2s}.deal:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.deal h4{margin:0 0 7px}.deal p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.deal-meta{display:flex;justify-content:space-between;margin-top:12px;font-size:12px;font-weight:900}.alta{color:var(--vino)}.media{color:var(--warn)}.baja{color:var(--ok)}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:13px 12px;border-bottom:1px solid #ebe6e3;text-align:left;font-size:14px}th{color:var(--vino);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.table-wrap{overflow-x:auto}.tag{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;background:#ece8e6}.tag.vino{background:#efe1e1;color:var(--vino)}.tag.ok{background:#def1e8;color:var(--ok)}.task{display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid #ebe6e3}.task strong{display:block}.task span{color:var(--muted);font-size:13px}.modal{position:fixed;inset:0;z-index:10;display:none;place-items:center;background:rgba(0,0,0,.48);padding:20px}.modal.open{display:grid}.modal-card{width:min(850px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:8px;box-shadow:var(--shadow)}.modal-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:18px 20px}.form-grid{padding:20px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.wide{grid-column:1/-1}.modal-actions{padding:0 20px 20px;display:flex;justify-content:flex-end;gap:10px}.empty{padding:24px;color:var(--muted);text-align:center}@media(max-width:1100px){.login,.shell{grid-template-columns:1fr}.hero-photo,.quote{display:none}.sidebar{position:static;height:auto}.nav{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.login-panel,.page{padding:22px}.topbar{height:auto;padding:16px 22px;align-items:stretch;flex-direction:column;gap:12px}.search{width:100%}.head{flex-direction:column}.kpis,.form-grid{grid-template-columns:1fr}.nav{grid-template-columns:1fr 1fr}}

/* Full viewport refinement */
html, body { width: 100%; min-height: 100%; overflow-x: hidden; }
#app { min-height: 100vh; overflow-x: hidden; }
.content, .page, .panel { min-width: 0; }
.topbar { gap: 18px; }
.user { flex-shrink: 0; }
.today { color: var(--muted); font-size: 13px; font-weight: 800; white-space: nowrap; }
.page { max-width: 100%; overflow-x: hidden; }
.head { align-items: center; }
.head > div:first-child { min-width: 0; }
.actions { flex-shrink: 0; justify-content: flex-end; }
.annual-total{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 14px;min-width:210px;box-shadow:0 12px 32px rgba(0,0,0,.05)}
.annual-total span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.annual-total strong{display:block;margin-top:4px;font-size:22px;line-height:1;color:var(--vino)}
.annual-total small{display:block;margin-top:6px;color:var(--muted);font-size:11px;font-weight:800}
.kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.grid { grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); align-items: start; }
.pipeline { grid-template-columns: repeat(5, minmax(145px, 1fr)); min-width: 0; }
.pipeline-panel { width: 100%; }
.stage { min-width: 0; }
.stage-head { gap: 10px; align-items: flex-start; }
.stage-head span:last-child, .deal-meta span:first-child { white-space: nowrap; }
.deal-meta { gap: 8px; align-items: flex-end; }
.deal { overflow-wrap: anywhere; }
.table-wrap { max-width: 100%; }
@media (max-width: 1400px) {
  .shell { grid-template-columns: 240px minmax(0, 1fr); }
  .sidebar { padding: 24px 18px; }
  .sidebar .logo { width: 145px; }
  .page { padding: 28px; }
  .kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pipeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .pipeline { grid-template-columns: 1fr; }
  .actions { width: 100%; }
  .actions .btn { flex: 1; }
  .annual-total { width: 100%; }
  .today { white-space: normal; }
}

.mini-edit{border:1px solid var(--line);background:#fff;color:var(--vino);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;white-space:nowrap}.mini-edit:hover{background:#efe1e1;border-color:#d8c2c2}

.lost-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.tag:has(+ *){}

.closed-kpis,.lost-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
