:root{--ink:#1a1a1a;--accent:#c2183a;--line:#e3e3e6;--muted:#6a6a70;--bg:#f6f6f7;--head:#203864}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
header{display:flex;align-items:center;gap:18px;background:#fff;border-bottom:1px solid var(--line);padding:10px 20px;position:sticky;top:0;z-index:5}
.brand{font-weight:800;color:var(--ink);font-size:18px}.brand span{color:var(--accent);font-weight:600;margin-left:4px}
nav{display:flex;align-items:center;gap:16px;flex:1}
nav a{color:var(--ink);font-weight:600;padding:4px 2px;border-bottom:2px solid transparent}
nav a.on{color:var(--accent);border-color:var(--accent)}
nav .spacer{flex:1}.who{color:var(--muted);font-size:13px}.ghost{color:var(--muted)!important;font-weight:600}
main{max-width:1200px;margin:22px auto;padding:0 20px}
h1{font-size:22px;margin:0 0 4px}h3{margin:0 0 10px}
.head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}
.muted{color:var(--muted)}.ok{color:#137333;font-weight:600}.err{background:#fdecef;color:#a01029;padding:8px 12px;border-radius:6px;margin:10px 0}
button,.primary{font:inherit;cursor:pointer}
button.primary,.primary{background:var(--accent);color:#fff;border:0;padding:9px 16px;border-radius:7px;font-weight:700}
button.primary:hover{background:#a3132f}
.ghost{border:1px solid var(--line);background:#fff;padding:8px 14px;border-radius:7px}
button.link{background:none;border:0;color:var(--accent);padding:0;font-weight:600}
button.link.danger{color:#a01029}
form.inline{display:inline}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}
.card.narrow{max-width:360px;margin:8vh auto}
.card.narrow h1{color:var(--accent)}
label{display:block;margin:8px 0;font-size:13px;color:#333;font-weight:600}
input,select{width:100%;font:inherit;padding:8px 9px;border:1px solid #cfcfd4;border-radius:6px;margin-top:3px;background:#fff}
input.n{text-align:right}
table{border-collapse:collapse;width:100%;background:#fff}
table.list{border:1px solid var(--line);border-radius:10px;overflow:hidden}
table.list th{background:#f0f1f4;text-align:left;padding:10px;font-size:12px;color:#555}
table.list td{padding:9px 10px;border-top:1px solid var(--line);vertical-align:top}
.r{text-align:right}.sub{color:var(--muted);font-size:12px}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:#777}
.tag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px;white-space:nowrap}
.t-talento{background:#e7f0ff;color:#1b50a3}.t-promotor{background:#fff0e2;color:#9a4a12}.t-tercero{background:#eef7ee;color:#2a6a2a}
.acts a,.acts button{margin-right:10px;font-size:13px}
.empty{background:#fff;border:1px dashed var(--line);padding:40px;text-align:center;color:var(--muted);border-radius:10px}
.grid.cfg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin-top:8px;background:#fff}
table.grid-t{min-width:1000px;font-size:13px}
table.grid-t th{background:#f0f1f4;position:sticky;top:0;padding:8px 8px;font-size:11px;color:#555;text-align:right;white-space:nowrap}
table.grid-t th:nth-child(1),table.grid-t th:nth-child(2),table.grid-t th:nth-child(3){text-align:left}
table.grid-t td{padding:4px 8px;border-top:1px solid #eee}
table.grid-t tr.on{background:#fbfcff}
table.grid-t .pname strong{font-weight:600}
table.grid-t input,table.grid-t select{padding:5px 6px;margin:0;font-size:13px}
table.grid-t input.n{width:78px}
td.chk,th:first-child{text-align:center;width:44px}
td.chk input{width:auto}
.gir input{width:56px}
.gir.active{background:#fff6da}
.out-ing,.out-cost,.out-gir{color:#333;font-variant-numeric:tabular-nums}
.out-gir{font-weight:700}
table.grid-t tfoot td{background:#eef1f8;font-weight:700;padding:9px 8px;border-top:2px solid #cdd6ea}
.totbar{position:sticky;bottom:0;display:flex;gap:0;background:#fff;border:1px solid var(--line);border-top:2px solid var(--head);border-radius:0 0 10px 10px;margin-top:-1px;flex-wrap:wrap}
.totbar>div{flex:1;min-width:120px;padding:10px 14px;border-right:1px solid var(--line)}
.totbar span{display:block;font-size:11px;color:var(--muted)}
.totbar strong{font-size:17px;font-variant-numeric:tabular-nums}
.totbar .hi{background:#e2efda}.totbar .hi strong{color:#1e6b2f}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
table.kv td,table.kv th{padding:7px 8px;border-top:1px solid var(--line);text-align:left}
table.kv th{color:#555;font-size:12px;border-top:0}
table.kv.res tr.hi td{background:#e2efda;font-weight:700;font-size:15px}
table.kv tr.hi2 td{font-weight:700;border-top:2px solid #ccc}
@media(max-width:820px){.grid.cfg{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}}
@media print{header,.head a,.totbar,button{display:none}main{margin:0}}
/* v2 */
.brandimg{height:26px;vertical-align:middle}
.brand span{color:var(--muted);font-weight:600;margin-left:6px;font-size:13px}
.help{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#e8e8ee;color:#555;font-size:10px;font-weight:700;cursor:help;vertical-align:1px}
.catrow td{background:#eef1f8!important;border-top:2px solid #cdd6ea;padding:8px 10px!important;font-size:13px}
.capbox{margin-left:14px;color:#333;font-weight:400}
.capbox input{width:70px}
.moneyin{display:flex;align-items:center;gap:4px}
.moneyin input{flex:1}
td .moneyin input{width:86px}
.small{font-size:11px}
.center{text-align:center}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-weight:700;color:var(--ink);background:#fff;margin:14px 0 4px;text-decoration:none}
.gbtn:hover{background:#f6f6f7;text-decoration:none}
.t-cerrada{background:#ececec;color:#555}
.bom{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px 18px;margin:8px 0 12px}
.bomgroup em{display:block;color:var(--muted);font-size:12px;margin:6px 0 2px;font-style:normal;font-weight:700}
.bomitem{display:flex;align-items:center;gap:6px;font-weight:400;margin:2px 0}
.bomitem select{width:110px;padding:3px 4px;margin:0;font-size:12px}
details.prod{padding:10px 16px}
details.prod summary{cursor:pointer;font-size:14px}
details.prod h4{margin:10px 0 2px}
textarea{width:100%;font:inherit;padding:8px;border:1px solid #cfcfd4;border-radius:6px}
input:disabled{background:#f2f2f4;color:#aaa}
/* v3 UX */
.pop{position:absolute;z-index:50;max-width:320px;background:#203864;color:#fff;padding:10px 12px;border-radius:8px;font-size:12.5px;line-height:1.45;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.help{cursor:pointer}
.howto{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 16px;margin:10px 0}
.howto summary{cursor:pointer;font-weight:700;color:var(--head)}
.howto ol{margin:8px 0 4px 18px;padding:0}
.howto li{margin:4px 0}
.legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chip{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;border:1px solid var(--line)}
.chip.fill{background:#fff6da;border-color:#e8d9a0}
.chip.calcchip{background:#f2f2f4;color:#666}
#advbtn{padding:5px 10px;font-size:12px;cursor:pointer}
td.calc{background:#f7f7f9;color:#444;font-variant-numeric:tabular-nums}
tr.on td.calc{background:#f1f4fb}
#gridt .adv{display:none}
#gridt.showadv .adv{display:table-cell}
.sumshare{font-weight:700}
.sumshare.okz{color:#1e6b2f}
.sumshare.warnz{color:#a01029}
.out-vol{font-weight:600}
input.ro{background:#f2f2f4;color:#999}

.hidden{display:none!important}
.mkwrap{display:flex;align-items:center;gap:4px;font-size:12px}
.mkin{width:54px}
.out-price{font-weight:600;color:#333;white-space:nowrap}
.pricecell{min-width:150px}

.btwrap{display:flex;align-items:center;gap:4px;font-size:12px}
.btfac{width:50px}
/* v7 venues-salas */
/* v8 foco: lo seleccionado en negro, lo no seleccionado en gris */
#gridt tbody tr:not(.on):not(.catrow):not(.costrow) td:not(.chk){opacity:.42}
#gridt tbody tr:not(.on):not(.catrow):not(.costrow):hover td{opacity:1}
.bomitem.offx{color:#a9a9b0}
.bomitem.offx select{color:#999}
tr.unused td{color:#a9a9b0}
tr.unused input{color:#999}
tr.unused .mono{color:#c3c3c9}
/* v9: documento de oferta + autosave */
.doc{max-width:860px;margin:0 auto;padding:38px 48px;line-height:1.55}
.dochead{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--accent);padding-bottom:10px;margin-bottom:22px}
.doclogo{height:30px}
.doctitle{font-size:26px;color:var(--head);margin:0 0 4px}
.docsub{color:var(--muted);margin:0 0 18px;font-size:14px}
.doc h2{font-size:16px;color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:4px;margin:26px 0 8px}
.doc h3{font-size:14px;color:var(--head);margin:14px 0 4px}
.doc ul{margin:6px 0 10px 20px;padding:0}
.doc li{margin:4px 0}
.docpot{background:#e2efda;border:1px solid #bcd9ac;border-radius:8px;padding:14px 18px;margin:14px 0;font-size:16px}
.docecon{width:100%;margin:8px 0}
.docecon tfoot td{background:#eef1f8;font-weight:700}
.docfoot{border-top:1px solid var(--line);margin-top:28px;padding-top:10px;text-align:center}
#savestat{margin-right:8px}
@media print{.noprint,nav,header{display:none!important}.doc{box-shadow:none;border:0;padding:0;max-width:100%}.card{border:0}}
/* v10 banda: perfil del cliente + similares */
#bandbtn{white-space:nowrap;padding:6px 10px;font-size:12px}
.docband{color:var(--head);font-weight:600;margin:-10px 0 14px;font-size:14px}
.simbox{background:#fffbea;border-color:#e8d9a0}
.simrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-top:1px solid #eee2b8;flex-wrap:wrap}
.docpnl{font-size:12.5px}
.docpnl th,.docpnl td{padding:5px 6px}
/* v11: tarjeta de costo en la oferta */
tr.costrow>td{background:#fbfaf5!important;border-top:0!important;padding:0 8px 10px 44px!important}
.costpanel{border:1px solid #e8d9a0;border-radius:8px;background:#fffdf4;padding:10px 14px;max-width:760px}
.cph{margin-bottom:8px}
.cpcols{display:grid;grid-template-columns:1fr 1fr;gap:4px 26px}
.cpcols h5{margin:4px 0 4px;color:var(--head);font-size:12px}
.costline{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:2px 0;font-size:12.5px}
.costline em{color:var(--muted);font-style:normal;font-size:11px}
.costline .moneyin{gap:2px}
.costline input.costq{width:84px;padding:3px 6px;margin:0;font-size:12.5px}
.costline.tot{border-top:1px solid #e8d9a0;font-weight:700;margin-top:4px;padding-top:4px}
.costline.gran{border-top:2px solid #e8d9a0;font-weight:700;margin-top:8px;padding-top:6px}
.costbtn{font-size:11.5px;white-space:nowrap}
@media(max-width:820px){.cpcols{grid-template-columns:1fr}}
@media print{tr.costrow{display:none}}
/* v11.2 split en tarjeta */
.cpsplit{border-top:2px solid #e8d9a0;margin-top:8px;padding-top:6px}
.cpsplit h5{margin:2px 0 4px;color:var(--head);font-size:12px}
.cpsplit input.splitq{width:58px;padding:3px 6px;margin:0;font-size:12.5px}
.cp-splitok.okz{color:#1e6b2f}
.cp-splitok.warnz{color:#a01029}
