:root{--n:#071a2e;--b:#087ca7;--c:#12c7c9;--bg:#f4f7fb;--m:#66778c;--line:#dce7f0;--g:#15966b;--r:#c64e59}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:#10243c}button,input,select,textarea{font:inherit}.hide{display:none!important}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 20%,#12c7c955,transparent 30%),linear-gradient(125deg,#06182b,#0a4e70)}.loginbox{width:min(430px,92vw);background:#fff;border-radius:26px;padding:32px;box-shadow:0 28px 80px #00101f55}.logo{font-size:30px;font-weight:900;color:var(--n)}.logo span{color:var(--c)}.loginbox h1{margin:22px 0 6px}.muted{color:var(--m);font-size:13px;line-height:1.5}.field{margin:16px 0}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}.btn{border:0;background:var(--b);color:#fff;padding:12px 15px;border-radius:11px;font-weight:800;cursor:pointer}.btn.secondary{background:#eaf2f6;color:var(--n)}.btn.danger{background:var(--r)}.msg{margin-top:12px;font-size:13px}.ok{color:var(--g)}.err{color:var(--r)}aside{position:fixed;width:240px;inset:0 auto 0 0;background:linear-gradient(180deg,#06182b,#0a3e5b);color:#fff;padding:26px 18px}.brand{font-size:24px;font-weight:900}.brand span{color:var(--c)}.sub{font-size:11px;color:#9fc3d3;margin:4px 0 30px}nav a{display:block;color:#cfe0e8;padding:12px;border-radius:10px;margin:4px 0;font-weight:700;font-size:13px;cursor:pointer}nav a.active,nav a:hover{background:#ffffff13;color:#fff}main{margin-left:240px;padding:30px;max-width:1450px}.top{display:flex;justify-content:space-between;align-items:center}.top h1{margin:0}.topright{display:flex;gap:8px;align-items:center}.pill{background:#e7f7f1;color:var(--g);padding:8px 12px;border-radius:99px;font-weight:800;font-size:12px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 8px 28px #071a2e08}.label{font-size:11px;color:var(--m);font-weight:900;letter-spacing:.06em}.k{font-size:35px;font-weight:900;margin:8px 0}.board{display:grid;grid-template-columns:repeat(8,minmax(230px,1fr));gap:12px;overflow:auto}.col{background:#eaf0f5;border-radius:18px;padding:12px;min-width:220px}.col h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:4px 4px 12px}.lead{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:8px 0;cursor:pointer}.lead b{display:block}.lead small{color:var(--m)}.value{margin-top:8px;font-weight:900;color:var(--b)}.banner{background:linear-gradient(125deg,#071a2e,#087ca7);color:#fff;border-radius:22px;padding:24px;margin-top:24px}.banner p{color:#d7e8ef}.toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:22px 0}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid #e8eef3;text-align:left;font-size:13px}th{background:#eef4f7;font-size:11px}.modal{position:fixed;inset:0;background:#00101f88;display:grid;place-items:center;z-index:20}.modalbox{background:#fff;width:min(620px,94vw);max-height:90vh;overflow:auto;border-radius:22px;padding:24px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{grid-column:1/-1}.empty{padding:24px;color:var(--m);text-align:center}@media(max-width:850px){aside{position:relative;width:auto}main{margin:0}.grid{grid-template-columns:1fr 1fr}.board{grid-template-columns:repeat(8,230px)}}@media(max-width:500px){.grid,.formgrid{grid-template-columns:1fr}.top{align-items:flex-start;gap:10px;flex-direction:column}.full{grid-column:auto}}
.mt24{margin-top:24px}.formactions{display:flex;gap:8px;justify-content:flex-end}.btn:disabled{opacity:.6;cursor:default}.col h3 .n{color:var(--m);font-weight:700}.pill.viewer{background:#eef4f7;color:var(--m)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--b);outline-offset:2px}
nav a:focus-visible{outline-color:var(--c)}


.modalbox.wide{width:min(960px,96vw)}
.mhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}
.mhead h2{margin:0}
.iconbtn{border:0;background:#eaf2f6;color:var(--n);width:36px;height:36px;border-radius:10px;font-size:18px;cursor:pointer;flex:none}
.quick{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}
a.btn{display:inline-block;text-decoration:none;text-align:center}
.ficha{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;margin-top:10px}
fieldset.plain{border:0;padding:0;margin:0;min-width:0}
fieldset.plain:disabled input,fieldset.plain:disabled select,fieldset.plain:disabled textarea{background:#f4f7fb;color:#10243c}
.sidepanel{background:#f4f7fb;border:1px solid var(--line);border-radius:16px;padding:16px;align-self:start}
.sidepanel h3{margin:0 0 10px;font-size:13px}
.timeline{list-style:none;margin:0;padding:0;max-height:340px;overflow:auto}
.timeline li{padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.timeline li:last-child{border-bottom:0}
.timeline .tag{display:inline-block;background:#e4eef4;color:var(--n);border-radius:6px;padding:2px 7px;font-size:11px;font-weight:800;margin-right:6px}
.timeline small{display:block;color:var(--m);margin-top:3px}
.meta{font-size:12px;color:var(--m);line-height:1.7;margin-top:14px}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:0 0 16px}
.filters input,.filters select{border:1px solid var(--line);border-radius:11px;padding:11px;background:#fff;min-width:0}
.late{color:var(--r);font-weight:800}
tr[data-lead-id]{cursor:pointer}tr[data-lead-id]:hover{background:#f6fafc}
.lead .co{display:block}
.lead .follow{margin-top:6px;font-size:12px}
.formactions .spacer{margin-right:auto}
[tabindex]:focus-visible{outline:2px solid var(--b);outline-offset:2px}
@media(max-width:850px){.ficha{grid-template-columns:1fr}.filters{grid-template-columns:1fr}}

.badge{display:inline-block;min-width:20px;padding:1px 7px;margin-left:6px;border-radius:99px;background:var(--r);color:#fff;font-size:11px;font-weight:900;text-align:center;vertical-align:1px}
.fusec{margin:0 0 24px}
.fusec h3{margin:0 0 10px;font-size:13px}
.fusec h3 .n{color:var(--m);font-weight:700}
.fusec h3.late{color:var(--r)}
.fu{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:8px 0;cursor:pointer}
.fu:hover{background:#f6fafc}
.fu-main{flex:1;min-width:0;font-size:13px;line-height:1.55}
.fu-when{font-size:13px;white-space:nowrap}
.tag{display:inline-block;background:#e4eef4;color:var(--n);border-radius:6px;padding:2px 7px;font-size:11px;font-weight:800;margin-right:6px}
.btn.sm{padding:6px 11px;font-size:12px}
.actform{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.actform .field{margin:10px 0}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px}
.chip{border:1px solid var(--line);background:#fff;color:var(--n);border-radius:99px;padding:5px 11px;font-size:12px;font-weight:700;cursor:pointer}
.chip:hover{background:#eaf2f6}
.timeline li .btn{margin-top:7px}
.ficha.single{grid-template-columns:1fr}
.toast{position:fixed;right:24px;bottom:24px;z-index:40;background:var(--n);color:#fff;padding:12px 16px;border-radius:12px;font-size:13px;font-weight:700;box-shadow:0 12px 32px #00101f55;max-width:min(380px,90vw)}
.toast.err{background:var(--r)}
@media(max-width:500px){.fu{flex-wrap:wrap}}

.sidepanel{color:#10243c}
.actform input[type=datetime-local]{min-width:0;font-size:14px}
.ficha{align-items:start}

.lead[draggable=true]{cursor:grab}
.lead[draggable=true]:active{cursor:grabbing}
.lead.dragging{opacity:.45}
.col{transition:background .12s,outline-color .12s}
.col.drop-ok{outline:2px dashed var(--b);outline-offset:-2px;background:#dbe9f1}
#lossBox{width:min(460px,94vw)}
.lead{-webkit-user-select:none;user-select:none}
.board.compact{grid-template-columns:repeat(8,minmax(64px,1fr));gap:8px}
.board.compact .col{min-width:0;padding:8px}
.board.compact .col h3{font-size:10px;letter-spacing:0;text-transform:none;font-weight:800;overflow-wrap:normal}
.board.compact .col h3 .n{display:none}
.board.compact .lead{padding:8px;margin:6px 0}
.board.compact .lead b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.board.compact .lead small,.board.compact .lead .value,.board.compact .lead .follow{display:none}
.board.compact .empty{padding:10px 4px;font-size:11px}

/* Fases 7-10: propuestas, dashboard, ventas, marketing */
#propModal{z-index:30}
#propBox{width:min(620px,94vw)}
.num{text-align:right;font-variant-numeric:tabular-nums}
th.num{text-align:right}
.anbar{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px;align-items:flex-end}
.fl{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;color:var(--m);min-width:140px;flex:1 1 140px;max-width:220px}
.fl select{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff;font-size:13px;font-weight:600;color:#10243c}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin:0}
.card h2{margin:0 0 8px;font-size:16px}
.card .k{line-height:1.1}
.card .muted b{color:#10243c}
.tablewrap.flat{border:0;border-radius:0}
.card table td,.card table th{padding:9px 8px}
.frow{display:grid;grid-template-columns:110px 1fr;gap:4px 12px;align-items:center;margin:12px 0}
.frow .fname{font-size:13px;font-weight:800}
.frow .fval{grid-column:1/-1;font-size:13px;margin-top:-2px}
svg.bar{width:100%;height:10px;border-radius:5px;overflow:hidden;display:block}
svg.bar .bg{fill:#e4eef4}svg.bar .fg{fill:var(--b)}
svg.chart{width:100%;height:auto;display:block}
svg.chart .ax{stroke:var(--line);stroke-width:1}
svg.chart .b1{fill:var(--b)}svg.chart .b2{fill:var(--c)}
svg.chart .tx{font-size:11px;fill:var(--m)}
.legend{display:flex;gap:16px;font-size:12px;color:var(--m);margin-top:6px}
.legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.legend .l1::before{background:var(--b)}.legend .l2::before{background:var(--c)}
.alertbox{background:#fff6e5;border:1px solid #f0d9a8;color:#6b4a07;border-radius:14px;padding:14px 16px;margin:14px 0;font-size:13px;line-height:1.6}
.tag.lnk{cursor:pointer;margin-top:6px}
.filters.two{grid-template-columns:2fr 1fr}
.st{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:800;background:#eaf2f6;color:var(--n)}
.st-sent{background:#e1f0fa;color:#075a7b}.st-accepted{background:#e7f7f1;color:var(--g)}.st-rejected,.st-expired{background:#fbeaec;color:var(--r)}
.fprops{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.pitem{cursor:pointer}.pitem:hover{background:#eaf2f6}
@media(max-width:850px){.grid2{grid-template-columns:1fr}.filters.two{grid-template-columns:1fr}}
