:root{
  --bg:#071917;
  --panel:#0b2421;
  --panel-2:#102f2b;
  --card:#ffffff;
  --muted:#6d7a7a;
  --text:#172422;
  --teal:#00615b;
  --teal-2:#00a6ad;
  --mint:#5fd1cc;
  --line:#dfe8e7;
  --danger:#b42318;
  --warn:#b7791f;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);background:#f4f8f7} a{color:var(--teal);text-decoration:none} table{width:100%;border-collapse:collapse} th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px} th{color:#536361;font-weight:700;background:#f8fbfa} input,select,textarea{width:100%;padding:12px 13px;border:1px solid #cfdcda;border-radius:12px;background:#fff;font:inherit;color:var(--text)} textarea{min-height:90px} label{display:block;font-size:13px;font-weight:700;margin:12px 0 6px;color:#344541}.muted{color:var(--muted)}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#071917}.login-visual{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:60px;color:white;background:radial-gradient(circle at 40% 28%, rgba(0,166,173,.45), transparent 35%),linear-gradient(135deg,#071917 0%,#0d302b 56%,#04100f 100%)}.login-world{position:absolute;width:min(72vw,760px);left:3%;top:4%;opacity:.36;filter:drop-shadow(0 30px 80px rgba(0,0,0,.45))}.login-copy{position:relative;max-width:720px;z-index:1}.pill{display:inline-flex;padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);font-weight:700;font-size:13px}.login-copy h1{font-size:48px;line-height:1.02;margin:24px 0 14px}.login-copy p{font-size:18px;color:#c7e7e4;max-width:620px}.login-card-wrap{display:flex;align-items:center;justify-content:center;padding:42px;background:#f7fbfa}.login-card{width:min(440px,100%);background:#fff;border-radius:28px;padding:34px;box-shadow:0 26px 70px rgba(0,0,0,.18);border:1px solid #e5eeee}.login-logo{width:260px;max-width:100%;height:auto;object-fit:contain;margin-bottom:22px}.login-card h2{margin:0 0 6px;font-size:30px}.login-help{font-size:13px;color:var(--muted);margin-top:18px}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#071917,#0e302c);color:#fff;padding:24px 18px;position:sticky;top:0;height:100vh}.brand-box{padding:12px 12px 20px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:18px}.brand-logo-wide{display:block;width:210px;max-width:100%;height:auto;object-fit:contain}.brand-subtitle{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#bce7e4;margin-top:8px}.side-nav{display:flex;flex-direction:column;gap:6px}.side-nav a{color:#dff8f5;padding:11px 12px;border-radius:13px;font-weight:650}.side-nav a:hover{background:rgba(255,255,255,.09);color:white}.main{min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;background:#fff;border-bottom:1px solid var(--line)}.eyebrow{font-size:12px;color:var(--teal);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.topbar h1{margin:4px 0 0;font-size:28px}.user-chip{display:flex;align-items:center;gap:12px;background:#f2f7f6;border:1px solid #e1ecea;border-radius:16px;padding:10px 12px}.user-chip span{font-weight:800}.user-chip small{color:var(--muted)}.content{padding:28px 32px 60px}.grid{display:grid;gap:18px}.metrics{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:22px}.card{background:#fff;border:1px solid #e0eae8;border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(22,54,51,.07)}.card h3{margin:0 0 14px;font-size:19px}.metric span{display:block;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.metric strong{display:block;font-size:34px;margin-top:10px;color:var(--teal)}.sensitive{border-color:#b9d7d3;background:linear-gradient(180deg,#fff,#f5fbfa)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.detail-grid{grid-template-columns:1fr 1fr;margin-bottom:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;border-radius:13px;border:1px solid #c8dad7;background:#fff;color:var(--teal);font-weight:800;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--teal),var(--teal-2));border:0;color:#fff}.btn.danger{background:#fff5f5;border-color:#fed7d7;color:var(--danger)}.btn.small{padding:8px 11px;font-size:13px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#eef7f6;color:var(--teal);font-weight:800;font-size:12px;margin:2px}.badge.ok{background:#e8fff8}.form{max-width:980px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.compact{max-width:420px}.flash-stack{padding:0 32px;margin-top:18px}.flash{padding:11px 13px;border-radius:13px;margin:8px 0;background:#eef7f6;border:1px solid #d6e8e5;color:#163c38}.flash.danger{background:#fff5f5;border-color:#fed7d7;color:var(--danger)}.flash.warning{background:#fffaf0;border-color:#feebc8;color:var(--warn)}.flash.success{background:#effcf6;border-color:#c6f6d5}.flash.info{background:#eef7ff;border-color:#bee3f8}.qr{width:220px;border:1px solid var(--line);border-radius:18px;padding:10px;background:#fff}.setup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px;background:#071917}.setup-card{max-width:760px}.setup-card pre{white-space:pre-wrap;background:#081b19;color:#dff8f5;border-radius:14px;padding:14px;overflow:auto}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}.two-col,.detail-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.side-nav{display:grid;grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr}.login-visual{min-height:420px}.login-copy h1{font-size:36px}}
@media(max-width:640px){.content,.topbar{padding:20px}.metrics{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.user-chip{display:none}.side-nav{grid-template-columns:1fr}.login-card-wrap{padding:20px}.login-visual{padding:34px}.login-copy h1{font-size:30px}}
/* v0.4 visual modules */
.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.action-card{display:block;background:linear-gradient(135deg,#ffffff,#eefafa);border:1px solid #d9ece9;border-radius:20px;padding:18px;box-shadow:0 10px 24px rgba(22,54,51,.06)}.action-card strong{display:block;font-size:18px;color:var(--teal);margin-bottom:6px}.action-card span{display:block;color:var(--muted);font-size:13px;line-height:1.35}.chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.chart-card{background:#fff;border:1px solid #e0eae8;border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(22,54,51,.07);min-height:230px}.chart-title{font-size:15px;font-weight:900;color:#203633;margin-bottom:14px}.donut{width:154px;height:154px;border-radius:50%;margin:6px auto 18px;display:flex;align-items:center;justify-content:center;position:relative}.donut:before{content:"";position:absolute;inset:28px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #e9f1f0}.donut span{position:relative;z-index:1;font-size:28px;font-weight:900;color:var(--teal)}.legend{display:flex;flex-wrap:wrap;gap:8px}.legend span{font-size:12px;font-weight:750;color:#405350;background:#f4f9f8;border-radius:999px;padding:6px 8px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.c1{background:var(--chart-1)}.c2{background:var(--chart-2)}.c3{background:var(--chart-3)}.c4{background:var(--chart-4)}.c5{background:var(--chart-5)}.c6{background:var(--chart-6)}.bar-list{display:flex;flex-direction:column;gap:12px}.bar-row{display:grid;grid-template-columns:120px 1fr 42px;gap:10px;align-items:center;font-size:13px}.bar-row span{font-weight:800;color:#405350;overflow:hidden;text-overflow:ellipsis}.bar-row strong{text-align:right;color:var(--teal)}.bar-track{height:12px;background:#edf5f4;border-radius:999px;overflow:hidden}.bar-track i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-2));border-radius:999px}.bar-track.big{height:16px;margin:10px 0}.money-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:14px 0}.money-row span{font-weight:900;color:#3c514e}.money-row strong{font-size:24px;color:var(--teal)}.compact-finance{max-width:560px;margin:0 0 18px}.hero-card{border-radius:26px;padding:28px;border:1px solid #d5ebe7;box-shadow:0 14px 34px rgba(22,54,51,.08);margin-bottom:20px}.commercial-hero{display:grid;grid-template-columns:1.7fr .8fr;gap:26px;background:radial-gradient(circle at 15% 20%,rgba(0,166,173,.13),transparent 28%),linear-gradient(135deg,#ffffff,#effbfa)}.commercial-hero h2{font-size:34px;margin:10px 0;color:#103c38}.commercial-hero p{color:#58706d;max-width:700px}.pill-soft{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e6fbf9;color:var(--teal);font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.goal-box{background:#fff;border:1px solid #ddecab;border-radius:20px;padding:20px}.goal-box span{display:block;font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase}.goal-box strong{display:block;font-size:34px;color:var(--teal);margin-top:6px}.goal-box small{color:var(--muted)}.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.health-card{border:1px solid #ddebea;border-radius:18px;padding:16px;background:#fbfefe}.health-card.ok{border-color:#b8eadc}.health-card.warning{border-color:#f3d49b;background:#fffaf0}.health-card.pendiente{border-color:#cfe1e0;background:#f8fbfa}.health-card.danger{border-color:#ffc9c2;background:#fff5f5}.health-card strong{display:block;font-size:17px}.health-card span{display:block;color:var(--muted);font-size:12px;margin:3px 0 10px}.health-meter{display:grid;grid-template-columns:42px 1fr 40px;gap:8px;align-items:center;margin:8px 0}.health-meter label{margin:0;font-size:11px;color:#607572}.health-meter i{display:block;height:9px;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--teal-2))}.health-meter em{font-style:normal;font-size:11px;color:#607572;text-align:right}.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.config-card{display:block;border-radius:22px;background:#fff;border:1px solid #e0eae8;padding:22px;box-shadow:0 12px 30px rgba(22,54,51,.07)}.config-card strong{display:block;font-size:20px;color:var(--teal);margin-bottom:8px}.config-card span{display:block;color:#4d6561;line-height:1.4}.config-card em{display:inline-flex;margin-top:14px;border-radius:999px;background:#edf8f7;padding:6px 9px;font-style:normal;font-weight:900;font-size:12px;color:var(--teal)}code{background:#edf5f4;border-radius:8px;padding:2px 6px}.gantt{display:flex;flex-direction:column;gap:10px}.gantt-row{display:grid;grid-template-columns:250px 1fr 180px;gap:14px;align-items:center}.gantt-label strong{display:block}.gantt-label span,.gantt-date{color:var(--muted);font-size:12px}.gantt-line{height:18px;border-radius:999px;background:#eef6f5;overflow:hidden}.gantt-line i{display:block;height:100%;width:62%;background:linear-gradient(90deg,var(--teal),var(--teal-2));border-radius:999px}.gantt-line i.cerrada{width:100%}.gantt-line i.bloqueada{width:42%;background:linear-gradient(90deg,#b7791f,#f6ad55)}.gantt-line i.pendiente{width:28%}.note{border-top:1px solid var(--line);padding:12px 0}.note p{margin:0 0 6px}.note small{color:var(--muted)}.form-grid.two{grid-template-columns:repeat(2,1fr)}:root{--chart-1:#00615b;--chart-2:#00a6ad;--chart-3:#5fd1cc;--chart-4:#84c5d2;--chart-5:#0d3b39;--chart-6:#dbe8e6;}
@media(max-width:1100px){.chart-grid{grid-template-columns:1fr 1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}.health-grid{grid-template-columns:1fr 1fr}.commercial-hero{grid-template-columns:1fr}.gantt-row{grid-template-columns:1fr}}
@media(max-width:640px){.chart-grid,.quick-actions,.health-grid,.config-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:90px 1fr 34px}.commercial-hero h2{font-size:26px}}

/* v0.5: paleta más amplia, ventas con métricas comparativas y configuración de usuarios */
:root{
  --blue:#2563eb;
  --blue-2:#60a5fa;
  --violet:#7c3aed;
  --violet-2:#a78bfa;
  --amber:#d97706;
  --amber-2:#fbbf24;
  --coral:#e85d75;
  --coral-2:#fb7185;
  --slate:#334155;
  --slate-2:#64748b;
  --chart-1:#00615b;
  --chart-2:#2563eb;
  --chart-3:#7c3aed;
  --chart-4:#d97706;
  --chart-5:#e85d75;
  --chart-6:#00a6ad;
}
.btn.primary{background:linear-gradient(135deg,var(--teal),var(--blue));}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(18,40,38,.10)}
.metric strong{color:var(--blue)}
.side-nav a:nth-child(3n):hover{background:rgba(37,99,235,.16)}
.side-nav a:nth-child(3n+1):hover{background:rgba(0,166,173,.15)}
.side-nav a:nth-child(3n+2):hover{background:rgba(124,58,237,.14)}
.card-accent{position:relative;overflow:hidden}.card-accent:after{content:"";position:absolute;right:-80px;top:-100px;width:220px;height:220px;border-radius:50%;background:rgba(37,99,235,.12)}
.accent-blue{--accent:var(--blue);--accent2:var(--blue-2)}.accent-violet{--accent:var(--violet);--accent2:var(--violet-2)}.accent-amber{--accent:var(--amber);--accent2:var(--amber-2)}.accent-coral{--accent:var(--coral);--accent2:var(--coral-2)}.accent-teal{--accent:var(--teal);--accent2:var(--teal-2)}.accent-slate{--accent:var(--slate);--accent2:var(--slate-2)}
.pill-soft.alt{background:#eef2ff;color:var(--blue)}
.vivid-hero{background:radial-gradient(circle at 10% 10%,rgba(37,99,235,.13),transparent 26%),radial-gradient(circle at 55% 30%,rgba(124,58,237,.10),transparent 28%),linear-gradient(135deg,#fff,#f7fbff)}
.goal-box.accent-amber{border-color:#fde68a;background:linear-gradient(180deg,#fff,#fffbeb)}.goal-box.accent-amber strong{color:var(--amber)}.goal-box.accent-amber .bar-track i{background:linear-gradient(90deg,var(--amber),var(--amber-2))}
.delta-strip{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.delta-pill,.delta-inline{display:inline-flex;border-radius:999px;padding:6px 9px;font-weight:900;font-size:12px}.delta-pill.up,.delta-inline.up{background:#ecfdf5;color:#047857}.delta-pill.down,.delta-inline.down{background:#fff1f2;color:#be123c}
.commercial-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}.kpi-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e4e9f0;border-radius:20px;padding:18px;box-shadow:0 12px 30px rgba(22,54,51,.06)}.kpi-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--accent),var(--accent2))}.kpi-card span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#536361}.kpi-card strong{display:block;font-size:32px;margin:8px 0 2px;color:var(--accent)}.kpi-card em{font-style:normal;color:var(--muted);font-size:12px;font-weight:800}
.action-card.action-blue strong{color:var(--blue)}.action-card.action-blue{background:linear-gradient(135deg,#fff,#eff6ff);border-color:#bfdbfe}.action-card.action-violet strong{color:var(--violet)}.action-card.action-violet{background:linear-gradient(135deg,#fff,#f5f3ff);border-color:#ddd6fe}.action-card.action-amber strong{color:var(--amber)}.action-card.action-amber{background:linear-gradient(135deg,#fff,#fffbeb);border-color:#fde68a}.action-card.action-coral strong{color:var(--coral)}.action-card.action-coral{background:linear-gradient(135deg,#fff,#fff1f2);border-color:#fecdd3}.lively-actions .action-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(18,40,38,.10)}
.advice-card{background:linear-gradient(135deg,#fff,#f8fafc)}.advice-item{border-left:4px solid var(--blue);background:#eff6ff;border-radius:12px;padding:12px 13px;margin:10px 0;color:#1e3a8a;font-weight:750}
.settings-hero{display:grid;grid-template-columns:1.5fr .5fr;gap:18px;border-radius:26px;padding:28px;margin-bottom:20px;background:linear-gradient(135deg,#ffffff,#f8fafc);border:1px solid #e2e8f0}.settings-hero h2{font-size:30px;margin:10px 0;color:#172422}.settings-hero p{color:#536361}.settings-summary{align-self:center;border-radius:20px;background:#fff;border:1px solid #e2e8f0;padding:18px}.settings-summary strong,.settings-summary span,.settings-summary em{display:block}.settings-summary strong{font-size:18px}.settings-summary span{color:var(--muted);margin:4px 0 10px}.settings-summary em{font-style:normal;border-radius:999px;padding:6px 9px;background:#ecfdf5;color:#047857;font-weight:900;font-size:12px;width:max-content}
.config-card.tone-blue strong{color:var(--blue)}.config-card.tone-violet strong{color:var(--violet)}.config-card.tone-amber strong{color:var(--amber)}.config-card.tone-coral strong{color:var(--coral)}.config-card.tone-teal strong{color:var(--teal)}.config-card.tone-blue{border-color:#bfdbfe;background:linear-gradient(135deg,#fff,#eff6ff)}.config-card.tone-violet{border-color:#ddd6fe;background:linear-gradient(135deg,#fff,#f5f3ff)}.config-card.tone-amber{border-color:#fde68a;background:linear-gradient(135deg,#fff,#fffbeb)}.config-card.tone-coral{border-color:#fecdd3;background:linear-gradient(135deg,#fff,#fff1f2)}.config-card.tone-teal{border-color:#bdecea;background:linear-gradient(135deg,#fff,#effafa)}
.badge.tiny{font-size:11px;padding:4px 7px}.badge.danger-soft{background:#fff1f2;color:#be123c}.sensitive-pill{background:#fff7ed;color:#c2410c}.health-pill{background:#eff6ff;color:#1d4ed8}.role-admin{background:#fef3c7;color:#92400e}.role-tecnico{background:#eff6ff;color:#1d4ed8}.role-comercial{background:#f5f3ff;color:#6d28d9}.role-administracion{background:#fff7ed;color:#c2410c}.role-rrhh{background:#ecfdf5;color:#047857}.role-marketing{background:#fff1f2;color:#be123c}
.two-only{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-permission-card{min-height:0}.permission-chip{display:inline-flex;margin:3px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:800;padding:6px 8px}.wide-form{max-width:1180px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.check-line{display:flex;align-items:center;gap:10px;margin-top:32px}.check-line input{width:auto}.permission-editor{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.permission-group{border:1px solid #e2e8f0;border-radius:18px;margin:14px 0;padding:16px;background:#fbfdff}.permission-group h4{margin:0 0 12px}.permission-row{display:grid;grid-template-columns:1fr 180px;gap:14px;align-items:center;border-top:1px solid #edf2f7;padding:10px 0}.permission-row:first-of-type{border-top:0}.permission-row strong{display:block}.permission-row small{display:block;color:var(--muted);font-size:11px}.button-row{display:flex;gap:10px;margin-top:18px}
@media(max-width:1100px){.commercial-kpis{grid-template-columns:repeat(3,1fr)}.settings-hero{grid-template-columns:1fr}.two-only{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr}.permission-row{grid-template-columns:1fr}}
@media(max-width:640px){.commercial-kpis{grid-template-columns:1fr}.delta-strip{display:block}.delta-pill{margin:4px 0}.settings-hero h2{font-size:24px}}

/* v0.6: carga rápida, pipeline comercial, actividad transversal y Gantt con alertas */
.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto;margin-right:14px}.quick-hero{margin-bottom:18px}.quick-hero h2{font-size:32px;margin:8px 0 6px}.quick-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.quick-tab{border:1px solid #d7e3e8;background:#fff;border-radius:999px;padding:10px 13px;font-weight:900;color:#334155;cursor:pointer}.quick-tab.active{background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;border:0}.quick-panel{display:none}.quick-panel.active{display:block}.form-grid.four{grid-template-columns:repeat(4,1fr)}.inner-soft{box-shadow:none;background:#f8fafc;margin-top:18px;border-color:#e2e8f0}.mini-goals{font-size:11px;color:#64748b;font-weight:800;margin-top:8px;line-height:1.3}.pipeline-board{display:grid;grid-template-columns:repeat(7,minmax(230px,1fr));gap:14px;align-items:start;overflow-x:auto;padding-bottom:14px}.pipeline-column{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:12px;min-height:280px}.pipeline-column header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pipeline-column header strong{font-size:14px}.pipeline-column header span{background:#e2e8f0;border-radius:999px;padding:4px 8px;font-weight:900;font-size:12px}.pipeline-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:14px;margin-bottom:10px;box-shadow:0 10px 22px rgba(15,23,42,.06);border-top:5px solid var(--blue)}.pipeline-card.temp-caliente{border-top-color:var(--coral)}.pipeline-card.temp-tibio{border-top-color:var(--amber)}.pipeline-card.temp-frio{border-top-color:var(--blue)}.pipeline-title{font-weight:900;color:#0f172a}.pipeline-meta{font-size:12px;color:#64748b;margin:5px 0}.pipeline-badges{margin:6px 0}.pipeline-card p{font-size:13px;line-height:1.35;color:#334155}.pipeline-card small{display:block;color:#64748b;margin-bottom:8px}.pipeline-empty{border:1px dashed #cbd5e1;border-radius:16px;padding:18px;color:#64748b;text-align:center;background:#fff}.activity-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px;margin-bottom:18px}.activity-stream{background:linear-gradient(135deg,#fff,#fbfdff)}.activity-item{border-left:4px solid var(--blue);padding:10px 12px;margin:10px 0;background:#eff6ff;border-radius:12px}.activity-item strong{display:block;color:#1e3a8a}.activity-item p{margin:4px 0;color:#1f2937}.activity-item small{color:#64748b}.product-pulse{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.pulse-card{position:relative;overflow:hidden;border-radius:20px;background:#fff;border:1px solid #e2e8f0;padding:18px;box-shadow:0 12px 28px rgba(15,23,42,.06)}.pulse-card:before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--teal),var(--blue))}.pulse-card.accent-blue:before{background:linear-gradient(90deg,var(--blue),var(--blue-2))}.pulse-card.accent-amber:before{background:linear-gradient(90deg,var(--amber),var(--amber-2))}.pulse-card.accent-coral:before{background:linear-gradient(90deg,var(--coral),var(--coral-2))}.pulse-card span{display:block;font-size:12px;text-transform:uppercase;font-weight:900;color:#64748b;letter-spacing:.08em}.pulse-card strong{display:block;font-size:34px;margin:8px 0;color:#0f766e}.pulse-card small{color:#64748b}.gantt-alerts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.alert-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px}.alert-card strong{display:block;font-size:30px;color:#334155}.alert-card span{color:#64748b;font-weight:800}.alert-card.danger{background:#fff1f2;border-color:#fecdd3}.alert-card.danger strong{color:#be123c}.alert-card.warning{background:#fffbeb;border-color:#fde68a}.alert-card.warning strong{color:#b45309}.alert-card.info{background:#eff6ff;border-color:#bfdbfe}.alert-card.info strong{color:#1d4ed8}
@media(max-width:1100px){.pipeline-board{grid-template-columns:repeat(3,minmax(240px,1fr))}.product-pulse,.gantt-alerts,.form-grid.four{grid-template-columns:1fr 1fr}.activity-layout{grid-template-columns:1fr}}
@media(max-width:640px){.pipeline-board{grid-template-columns:1fr}.product-pulse,.gantt-alerts,.form-grid.four{grid-template-columns:1fr}.topbar-actions{display:none}}

/* v0.7 - alertas, aprobaciones y pre-facturación */
.page-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin:0 0 18px}
.grid.metrics.compact{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.alert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.alert-card{border-left:6px solid var(--teal,#15a389)}
.alert-card h3{margin:12px 0 8px;font-size:1.05rem}
.alert-card p{color:#52606d;line-height:1.45}
.severity-critica{border-left-color:#d64545;background:linear-gradient(180deg,#fff 0%,#fff5f5 100%)}
.severity-alta{border-left-color:#ff8a3d;background:linear-gradient(180deg,#fff 0%,#fff7ed 100%)}
.severity-media{border-left-color:#3b82f6;background:linear-gradient(180deg,#fff 0%,#eff6ff 100%)}
.severity-baja{border-left-color:#8b5cf6;background:linear-gradient(180deg,#fff 0%,#f5f3ff 100%)}
.status-pill{font-size:.75rem;font-weight:700;padding:6px 10px;border-radius:999px;background:#edf2f7;color:#27364a}
.badge-comercial{background:#eef2ff;color:#4338ca}.badge-tecnico{background:#e0f2fe;color:#0369a1}.badge-administracion,.badge-facturacion{background:#fff7ed;color:#c2410c}.badge-producto{background:#ecfdf5;color:#047857}.badge-operativa{background:#f5f3ff;color:#6d28d9}
.row-actions,.inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inline-actions input{min-width:180px}.card-head.tight{align-items:center}.soft-card{background:linear-gradient(135deg,#ffffff,#f7fbff)}
.btn.success{background:#10b981;color:#fff;border-color:#10b981}.btn.danger{background:#ef4444;color:#fff;border-color:#ef4444}.btn.ghost{background:#f8fafc;color:#334155;border-color:#cbd5e1}
.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-col.wide-left{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr)}
.mini-card{padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;margin-bottom:12px}.mini-card small{display:block;color:#64748b;margin:4px 0 10px}.timeline{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:10px;border-radius:14px;background:#f8fafc;border:1px solid #e5edf5}.timeline-dot{width:13px;height:13px;border-radius:50%;background:#20b596;margin:7px auto}.timeline-item strong{display:block}.timeline-item small{color:#64748b}.risk-strip{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.risk-strip .badge{font-weight:700}
@media(max-width:900px){.grid.metrics.compact,.two-col.wide-left,.form-grid.two{grid-template-columns:1fr}.page-actions{justify-content:flex-start}}
/* v0.8 - Gantt avanzado + agentes IA */
.gantt-hero,.agent-hero{background:radial-gradient(circle at 14% 18%,rgba(85,71,180,.13),transparent 28%),linear-gradient(135deg,#ffffff,#f2fbfb)}
.project-grid,.agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card,.agent-card{color:inherit}.mini-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.mini-metrics div{background:#f6faf9;border:1px solid #e0ecea;border-radius:16px;padding:12px}.mini-metrics strong{display:block;font-size:24px;color:var(--teal)}.mini-metrics span{font-size:11px;text-transform:uppercase;font-weight:900;color:var(--muted)}
.advanced-gantt-card{overflow:hidden}.gantt-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:800;margin:0 0 8px;padding-left:250px}.advanced-gantt{display:flex;flex-direction:column;gap:8px}.adv-row{display:grid;grid-template-columns:240px 1fr 180px;gap:12px;align-items:center;border:1px solid #e1ecea;border-radius:16px;padding:10px;background:#fbfefe}.adv-row.vencida{border-color:#fecaca;background:#fff7f7}.adv-row.bloqueada{border-color:#fde68a;background:#fffbeb}.adv-row.sin_fechas{border-color:#bfdbfe;background:#eff6ff}.adv-label strong{display:block;font-size:14px}.adv-label small{color:var(--muted);font-weight:750}.adv-track{position:relative;height:22px;background:#edf5f4;border-radius:999px;overflow:hidden}.adv-track i{position:absolute;top:3px;height:16px;border-radius:999px;background:linear-gradient(90deg,var(--chart-2),var(--chart-4));box-shadow:0 4px 12px rgba(0,0,0,.12)}.adv-track i.cerrada{background:linear-gradient(90deg,#0f766e,#14b8a6)}.adv-track i.bloqueada{background:linear-gradient(90deg,#f59e0b,#f97316)}.adv-dates{font-size:12px;color:#405350;font-weight:800}.task-edit-list{display:flex;flex-direction:column;gap:10px}.task-edit{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:8px;align-items:center}.agent-card{min-height:220px}.agent-signal{display:flex;align-items:baseline;gap:8px;margin:14px 0}.agent-signal strong{font-size:32px;color:var(--chart-4)}.agent-signal span{font-weight:900;color:var(--muted);font-size:12px;text-transform:uppercase}.agent-layout{align-items:start}.agent-console textarea{min-height:150px}.agent-answer{margin-top:18px;background:#071917;color:#dff8f5;border-radius:18px;padding:18px;overflow:auto}.agent-answer pre{white-space:pre-wrap;margin:0;font-family:inherit;line-height:1.45}.clean-list{padding-left:20px;color:#344541}.clean-list li{margin:9px 0}.form-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.project-grid,.agent-grid{grid-template-columns:1fr 1fr}.adv-row{grid-template-columns:1fr}.gantt-scale{padding-left:0}.task-edit{grid-template-columns:1fr 1fr}.adv-dates{text-align:left}}
@media(max-width:640px){.project-grid,.agent-grid,.mini-metrics{grid-template-columns:1fr}.task-edit{grid-template-columns:1fr}}

/* v0.9: reordenamiento de navegación por áreas */
.grouped-nav{gap:4px;overflow:auto;padding-bottom:18px}
.nav-section{margin:14px 10px 6px;padding:8px 10px 5px;border-top:1px solid rgba(255,255,255,.14);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.58)}
.nav-section.sensitive-label{color:#ffd7d7}
.grouped-nav a{margin:1px 8px;border-radius:12px}
.audit-hero{align-items:flex-start;margin-bottom:16px}
.audit-detail{max-width:520px;white-space:normal;font-size:12px;color:#475569}
.compact-filter{margin-bottom:16px}

/* v0.9.1: menú lateral colapsable y scroll vertical */
.sidebar{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.brand-box{
  flex:0 0 auto;
}
.grouped-nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:2px 2px 14px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.34) rgba(255,255,255,.07);
}
.grouped-nav::-webkit-scrollbar{width:8px}
.grouped-nav::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}
.grouped-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px}
.nav-direct,
.nav-group summary,
.nav-group-links a{
  display:flex;
  align-items:center;
  gap:10px;
}
.nav-direct{
  margin:0 8px 8px;
}
.nav-group{
  margin:7px 6px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:15px;
  background:rgba(255,255,255,.035);
  overflow:hidden;
}
.nav-group[open]{
  background:rgba(255,255,255,.065);
}
.nav-group summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  min-height:42px;
  padding:10px 12px;
  color:#eefcf9;
  font-weight:900;
  letter-spacing:.01em;
}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:hover{background:rgba(255,255,255,.08)}
.nav-title{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.nav-label{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nav-icon{
  width:20px;
  min-width:20px;
  display:inline-flex;
  justify-content:center;
  opacity:.95;
}
.nav-caret{
  margin-left:auto;
  transition:transform .18s ease;
  opacity:.7;
}
.nav-group[open] .nav-caret{transform:rotate(180deg)}
.nav-group-links{
  padding:4px 8px 10px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.nav-group-links a{
  margin:0;
  padding:9px 10px 9px 14px;
  color:#dff8f5;
  border-radius:12px;
  font-size:14px;
  border-left:2px solid rgba(255,255,255,.08);
}
.nav-group.sensitive summary{
  color:#ffe2e2;
}
.nav-group.sensitive{
  border-color:rgba(255,214,214,.20);
  background:rgba(255,120,120,.045);
}
.sidebar-tools{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:1fr 1fr 44px;
  gap:7px;
  padding:12px 8px 4px;
  border-top:1px solid rgba(255,255,255,.12);
}
.sidebar-tool{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.07);
  color:#dff8f5;
  border-radius:12px;
  padding:8px 9px;
  font-weight:850;
  cursor:pointer;
  font-size:12px;
}
.sidebar-tool:hover{background:rgba(255,255,255,.12);color:#fff}
.sidebar-tool.icon-only{font-size:16px;padding:6px 8px}
.app-shell.sidebar-compact{grid-template-columns:86px 1fr}
.app-shell.sidebar-compact .sidebar{padding-left:12px;padding-right:12px}
.app-shell.sidebar-compact .brand-logo-wide{width:48px;max-width:48px;object-fit:cover;object-position:left center}
.app-shell.sidebar-compact .brand-subtitle,
.app-shell.sidebar-compact .nav-label,
.app-shell.sidebar-compact .nav-caret,
.app-shell.sidebar-compact .sidebar-tool:not(.icon-only){display:none}
.app-shell.sidebar-compact .brand-box{padding-left:6px;padding-right:6px}
.app-shell.sidebar-compact .nav-group summary,
.app-shell.sidebar-compact .nav-direct,
.app-shell.sidebar-compact .nav-group-links a{justify-content:center;padding-left:10px;padding-right:10px}
.app-shell.sidebar-compact .nav-group-links{padding:4px 6px 8px}
.app-shell.sidebar-compact .nav-group{margin-left:0;margin-right:0}
.app-shell.sidebar-compact .sidebar-tools{grid-template-columns:1fr;padding-left:0;padding-right:0}
@media(max-width:1100px){
  .grouped-nav{max-height:none;overflow:visible}
  .sidebar-tools{grid-template-columns:1fr 1fr 44px}
  .app-shell.sidebar-compact{grid-template-columns:1fr}
}

/* v0.9.2: administración / contabilidad / facturas de proveedores */
.accounting-actions .tone-blue{background:linear-gradient(135deg,#ffffff,#eff6ff);border-color:#bfdbfe}.accounting-actions .tone-blue strong{color:#2563eb}
.accounting-actions .tone-violet{background:linear-gradient(135deg,#ffffff,#f5f3ff);border-color:#ddd6fe}.accounting-actions .tone-violet strong{color:#7c3aed}
.accounting-actions .tone-amber{background:linear-gradient(135deg,#ffffff,#fffbeb);border-color:#fde68a}.accounting-actions .tone-amber strong{color:#b45309}
.accounting-actions .tone-coral{background:linear-gradient(135deg,#ffffff,#fff1f2);border-color:#fecdd3}.accounting-actions .tone-coral strong{color:#be123c}
.upload-card input[type=file]{border:2px dashed #b7d9d5;background:#f8fffe;padding:24px}
.tag-cloud{display:flex;gap:9px;flex-wrap:wrap}.tag-cloud span{background:#eef7f6;color:#0f766e;border:1px solid #cde8e5;padding:8px 11px;border-radius:999px;font-weight:800;font-size:12px}
.table-card{overflow:auto}.wide-table{min-width:1180px}.wide-table small{color:#64748b}.filter-action{display:flex;align-items:flex-end}
.mini-total-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.mini-total-grid div{border:1px solid #e1ecea;background:#fbfffe;border-radius:16px;padding:13px}.mini-total-grid strong{display:block;color:#0f766e}.mini-total-grid span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.mini-total-grid b{display:block;font-size:20px;margin-top:6px}
.extracted-text{max-height:680px;overflow:auto;background:#071917;color:#dff8f5;border-radius:18px;padding:18px;white-space:pre-wrap;font-size:12px;line-height:1.45}
.three-col,.accounting-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.form-grid.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.three-col,.accounting-report-grid,.form-grid.four{grid-template-columns:1fr}.quick-actions.accounting-actions{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.quick-actions.accounting-actions{grid-template-columns:1fr}}

/* v0.9.3: bandeja inteligente de comprobantes */
.accounting-inbox-head{align-items:flex-start}.inline-form{display:inline-flex;margin:0}.row-actions.compact-actions{gap:6px;flex-wrap:nowrap}.compact-actions .btn{white-space:nowrap}.compact-head{align-items:flex-start}.filter-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(170px,.8fr) auto;gap:10px;align-items:end}.inbox-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.mail-list{display:flex;flex-direction:column;gap:10px}.mail-item{display:grid;grid-template-columns:14px 1fr;gap:10px;border:1px solid #e6eeed;background:#fbfffe;border-radius:16px;padding:12px}.mail-item strong{display:block;color:#172422}.mail-item small{display:block;color:#64748b;margin:3px 0}.mail-item p{margin:5px 0 0;color:#536361;font-size:13px}.mail-status{width:10px;height:10px;border-radius:50%;margin-top:6px;background:#64748b}.mail-status.procesado{background:#0f766e}.mail-status.requiere_revision{background:#b7791f}.mail-status.fallido{background:#b42318}.status-requiere_revision{background:#fff7ed;color:#c2410c}.status-pendiente_revision{background:#eff6ff;color:#1d4ed8}.status-procesado{background:#ecfdf5;color:#047857}.status-aprobado{background:#dcfce7;color:#166534}.status-fallido{background:#fee2e2;color:#991b1b}.status-exportado{background:#f3e8ff;color:#6b21a8}.full-form{max-width:none}.extracted-text.short{max-height:260px}.wide-left{grid-template-columns:1.7fr .8fr}.inbox-table th,.inbox-table td{vertical-align:top}.inbox-table .badge{white-space:nowrap}.accounting-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.inbox-metrics{grid-template-columns:repeat(2,1fr)}.filter-row{grid-template-columns:1fr}.wide-left,.accounting-report-grid{grid-template-columns:1fr}}

/* v0.9.4: rework visual profesional de Contabilidad */
.accounting-header-tight{align-items:flex-start;margin-bottom:14px}.accounting-header-tight h2{margin:0;font-size:30px;color:#102a43}.accounting-header-tight .muted{max-width:860px;line-height:1.45}
.accounting-strip-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 16px}.accounting-strip-compact{margin-bottom:18px}
.strip-kpi{background:#fff;border:1px solid #e6edf2;border-radius:16px;padding:14px 16px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.strip-kpi span{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#667085}.strip-kpi strong{display:block;margin-top:8px;font-size:24px;color:#16324f}
.accounting-main-layout{display:grid;grid-template-columns:minmax(0,1.65fr) 360px;gap:18px;align-items:start}.accounting-primary-card{min-height:100%}.accounting-side-stack,.side-stack{display:flex;flex-direction:column;gap:16px}.side-compact-card{padding:18px 18px 16px}.side-compact-card h3{font-size:17px;color:#172b4d;margin-bottom:12px}
.professional-table thead th{font-size:12px;font-weight:900;color:#5b6b7f;text-transform:uppercase;letter-spacing:.06em;background:#f8fafc}.professional-table td{padding-top:14px;padding-bottom:14px;vertical-align:middle}.professional-table td strong{display:block;color:#172b4d}.professional-table td small{display:block;color:#7b8794;margin-top:4px}.professional-table tbody tr:hover{background:#fafcff}
.badge[class*="status-"]{text-transform:capitalize}.status-pendiente{background:#eff6ff;color:#1d4ed8}.status-requiere_revision{background:#fff7ed;color:#c2410c}.status-pendiente_revision{background:#fefce8;color:#a16207}.status-fallido{background:#fef2f2;color:#b42318}.status-duplicado{background:#f5f3ff;color:#7c3aed}.status-aprobado{background:#ecfdf3;color:#027a48}.status-exportado{background:#eef2ff;color:#4338ca}.status-archivado{background:#f8fafc;color:#475467}.status-procesado{background:#ecfdf3;color:#027a48}
.mini-total-stack{display:flex;flex-direction:column;gap:12px}.mini-total-stack div{border:1px solid #eef2f6;background:#fbfdff;border-radius:14px;padding:12px 13px}.mini-total-stack span{display:block;color:#667085;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.mini-total-stack strong{display:block;margin-top:6px;font-size:20px;color:#16324f}
.compact-mail-list{gap:8px}.compact-mail-item{padding:10px 12px;border-radius:14px}.compact-mail-item p{display:none}.compact-mail-item strong{font-size:14px}
.compact-bars .bar-row{grid-template-columns:110px 1fr 34px}.compact-bars .bar-row span{font-weight:800;font-size:12px;color:#475467}.compact-bars .bar-row strong{font-size:12px;color:#172b4d}.compact-bars .bar-track{height:10px;background:#edf2f7}.compact-bars .bar-track i{background:linear-gradient(90deg,#274690,#5b7cfa)}
.chip-link,.mini-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid #dbe5ef;background:#fff;color:#274690;font-weight:800;font-size:12px}.chip-link:hover,.mini-chip:hover{background:#f8fbff}
.inbox-workspace{padding-top:18px}.professional-filter{grid-template-columns:minmax(280px,1.6fr) 220px auto}.inbox-quick-filters{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 16px}.accounting-detail-layout .card{border-radius:20px}.detail-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.muted-card{background:linear-gradient(180deg,#fff,#f8fafc)}
.upload-card-clean{max-width:880px}.upload-card-clean .muted{max-width:760px;line-height:1.45}.upload-card-clean input[type=file]{background:#fbfdff;border:2px dashed #cfd8e3}
.reports-strip{max-width:920px}.professional-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.professional-report-grid .card{padding:18px}.professional-report-grid table th,.professional-report-grid table td{font-size:13px}
.accounting-actions{margin-top:6px}.accounting-actions .action-card{border-radius:18px}
@media(max-width:1200px){.accounting-main-layout{grid-template-columns:1fr}.professional-filter{grid-template-columns:1fr}.accounting-strip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.accounting-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-summary-grid,.professional-report-grid{grid-template-columns:1fr}.strip-kpi strong{font-size:20px}}

.login-brand-mark{width:min(60vw,620px);left:4%;top:8%;opacity:.20;filter:drop-shadow(0 24px 68px rgba(0,0,0,.35));}
.attachment-card{overflow:hidden}
.attachment-actions{display:flex;justify-content:flex-start;margin-top:14px;margin-bottom:14px}
.attachment-preview-frame{margin-top:8px;border:1px solid #dce9e6;border-radius:18px;background:#f7fbfa;min-height:280px;overflow:hidden}
.attachment-preview-frame iframe{width:100%;height:420px;border:0;background:#fff}
.attachment-preview-frame img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:#fff}
.attachment-empty{padding:22px;color:var(--muted);font-size:14px;line-height:1.5}
