/* EXERGÍA · Cotizador General — estilos compartidos. Azul #174C73 · Naranja #FF751F · Papel #F4F2EE */
:root{--bg:#F4F2EE;--surface:#fff;--surface2:#FBFAF7;--ink:#0E1116;--muted:#4A525C;--line:#DCD8D0;--accent:#174C73;--deep:#0D2438;--naranja:#FF751F;--naranja-soft:#FFE8D9;--ok:#2b7a31;--danger:#a12a2a;--r:12px;--sh:0 1px 2px rgba(14,17,22,.06),0 4px 14px rgba(14,17,22,.05);--f:'Inter',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}
:root[data-theme="dark"]{--bg:#0A121B;--surface:#122030;--surface2:#0F1B29;--ink:#E8EDF2;--muted:#A2AEBB;--line:#24384C;--accent:#6FA6D6;--naranja-soft:#3a2414}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0A121B;--surface:#122030;--surface2:#0F1B29;--ink:#E8EDF2;--muted:#A2AEBB;--line:#24384C;--accent:#6FA6D6;--naranja-soft:#3a2414}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--f);padding:14px 16px 60px;max-width:1500px;margin-inline:auto}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}
:focus-visible{outline:2px solid var(--naranja);outline-offset:2px}
a{color:var(--accent)}
.brand{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:4px 0 12px;margin-bottom:12px;border-bottom:3px solid var(--naranja)}
.brand img{height:50px;display:block}.brand .logo-d{display:none}
:root[data-theme="dark"] .brand .logo-l{display:none}:root[data-theme="dark"] .brand .logo-d{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand .logo-l{display:none}:root:not([data-theme="light"]) .brand .logo-d{display:block}}
.brand h1{text-align:center;font-size:clamp(1.1rem,2.2vw,1.9rem);letter-spacing:.08em;text-transform:uppercase;margin:0}
.bmeta{display:flex;align-items:center;gap:12px}.kick{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none}.kick:hover{color:var(--naranja)}
.thm{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:12.5px}
.crumb{font-size:12px;color:var(--muted);margin:0 0 12px}.crumb a{color:var(--muted)}
@media(max-width:760px){.brand{grid-template-columns:auto auto}.brand h1{grid-column:1/-1;order:3}.kick{display:none}.brand img{height:38px}}
.guide{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--naranja);border-radius:var(--r);padding:14px 16px;margin-bottom:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.guide h3{font-size:14px;margin:0 0 4px}.guide p,.guide ol,.guide ul{margin:0;color:var(--muted);font-size:13.5px}.guide ol,.guide ul{padding-left:18px}
.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 13px;font-weight:600;font-size:13px;box-shadow:var(--sh);text-decoration:none;color:var(--ink)}
.btn:hover{border-color:var(--naranja)}.btn.pri{background:var(--naranja);border-color:var(--naranja);color:#fff}.btn.sec{background:var(--accent);border-color:var(--accent);color:#fff}
.btn svg{width:16px;height:16px}.status{margin-left:auto;font-size:12.5px;color:var(--muted)}
.grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:1100px){.grid.two{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}}
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--sh)}
.box>h2{font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;color:var(--muted);display:flex;align-items:center;gap:8px}
.box>h2 .n{font-family:var(--mono);color:var(--naranja)}
.f{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.f:last-child{margin-bottom:0}
.f label{font-size:12px;font-weight:600;color:var(--muted)}.f small{font-size:11.5px;color:var(--muted)}
.f input,.f select,.f textarea,.cell{width:100%;border:1px solid var(--line);background:var(--surface2);border-radius:8px;padding:8px 10px}
.f textarea{min-height:74px;resize:vertical}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.r3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.r4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:640px){.r2,.r3,.r4{grid-template-columns:1fr}}
/* tabla de conceptos */
.tw{overflow-x:auto}
table.it{width:100%;border-collapse:collapse;min-width:680px}
table.it th{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:6px;border-bottom:2px solid var(--line)}
table.it td{padding:6px;border-bottom:1px solid var(--line);vertical-align:top}
table.it td.num,table.it th.num{text-align:right;font-family:var(--mono)}
table.it textarea.cell{min-height:54px;resize:vertical}
table.it input.cell{text-align:right;font-family:var(--mono)}
table.it .ix{font-family:var(--mono);color:var(--naranja);font-weight:600;padding-top:14px}
.mini{border:1px solid var(--line);background:var(--surface2);border-radius:7px;padding:4px 9px;font-size:12px}
.mini:hover{border-color:var(--naranja)}.mini.del{color:var(--danger)}
.tot{display:grid;grid-template-columns:auto auto;justify-content:end;gap:4px 24px;margin-top:12px;font-size:14px}
.tot span{color:var(--muted);text-align:right}.tot b{font-family:var(--mono);text-align:right}
.tot .g{font-size:18px;color:var(--ink)}.tot .g+b{font-size:18px;color:var(--naranja)}
.letra{margin-top:8px;text-align:right;font-size:12.5px;color:var(--muted);font-style:italic}
/* lista de documentos */
.mod{position:fixed;inset:0;z-index:30;background:rgba(10,14,20,.55);display:none;align-items:center;justify-content:center;padding:16px}.mod.on{display:flex}
.mbox{background:var(--surface);border-radius:16px;max-width:820px;width:100%;max-height:88vh;overflow:auto;padding:20px;box-shadow:0 20px 80px rgba(0,0,0,.3)}
.mbox h2{margin:0 0 6px;font-size:18px}.mbox p{color:var(--muted);margin:0 0 12px}
.dl{display:flex;flex-direction:column;gap:8px;margin:10px 0 16px}
.dli{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;flex-wrap:wrap}
.dli div{flex:1;min-width:200px}.dli b{display:block}.dli small{color:var(--muted)}
.dli .fo{font-family:var(--mono);color:var(--naranja);font-size:12px}
.empty{color:var(--muted);font-size:13px;padding:8px 0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:#0D2438;color:#fff;padding:10px 18px;border-radius:999px;font-weight:600;opacity:0;transition:.3s;z-index:40;pointer-events:none}.toast.on{opacity:1;transform:translateX(-50%)}
.warn{background:var(--naranja-soft);border:1px solid var(--naranja);border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:12px}
/* página de inicio del cotizador */
.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--c,var(--naranja));border-radius:16px;padding:24px;text-decoration:none;color:var(--ink);box-shadow:var(--sh);transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(14,17,22,.12)}
.card i{display:grid;place-items:center;width:58px;height:58px;border-radius:14px;background:var(--c,var(--naranja));color:#fff}.card i svg{width:30px;height:30px}
.card h2{margin:4px 0 0;font-size:1.3rem;letter-spacing:.04em;text-transform:uppercase}
.card p{margin:0;color:var(--muted)}.card ul{margin:0;padding-left:18px;color:var(--muted);font-size:13.5px}
.card .st{background:var(--surface2);border-radius:8px;padding:8px 10px;font-weight:600;font-size:13px}
.card .go{margin-top:auto;font-weight:700;color:var(--c,var(--naranja))}
/* secciones de la oferta */
.sec{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--naranja);border-radius:var(--r);box-shadow:var(--sh)}
.sec.off{opacity:.55;border-left-color:var(--line)}
.sh{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}
.sh .n{font-family:var(--mono);font-size:12px;color:var(--naranja);min-width:24px}.sh b{flex:1}
.sh label{font-size:12px;color:var(--muted);display:flex;gap:5px;align-items:center}
.sb{padding:0 14px 14px;display:none}.sec.open .sb{display:block}
.rows{display:flex;flex-direction:column;gap:8px}
.rowi{display:grid;gap:8px;align-items:start;background:var(--surface2);border:1px solid var(--line);border-radius:8px;padding:8px}
.rowi .ac{display:flex;gap:4px;justify-content:flex-end}
/* auditoría V3: columnas que no desbordan en celular y contraste en oscuro */
.grid > *, .r2 > *, .r3 > *, .r4 > *{ min-width:0; }
:root[data-theme="dark"] .card .go{ color:color-mix(in srgb, var(--c,#FF751F) 45%, #ffffff); }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .card .go{ color:color-mix(in srgb, var(--c,#FF751F) 45%, #ffffff); } }
