:root{--bg:#090b0d;--panel:#111418;--panel2:#171b20;--line:#272c32;--text:#f6f7f8;--muted:#8f969f;--orange:#ff6900;--green:#65cf48;--blue:#4c91ff;--red:#ff5b4d}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 82% 0,#211006 0,transparent 25%),var(--bg);color:var(--text);font:14px Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
aside{position:fixed;left:0;top:0;bottom:0;width:220px;background:#080a0c;border-right:1px solid var(--line);padding:24px 14px;display:flex;flex-direction:column}.sidebrand{text-align:center;margin-bottom:24px}.sidebrand img{width:165px;height:58px;object-fit:contain;display:block;margin:auto}.sidebrand b,.hub-word{color:var(--orange);font-size:22px;letter-spacing:6px}
nav{display:grid;gap:5px}nav a{color:#c6cbd0;text-decoration:none;padding:11px 13px;border-radius:8px;display:flex;gap:12px;align-items:center}nav a:hover,nav a.active{background:#1a120d;color:#fff;outline:1px solid #743100}nav a.active{color:#ff8a32}.sidefoot{margin-top:auto;border-top:1px solid var(--line);padding:15px 8px;display:grid;gap:4px}.sidefoot small{color:var(--orange)}.sidefoot a{color:var(--muted);font-size:12px;margin-top:8px}
.content{margin-left:220px;padding:28px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h1{margin:0;font-size:25px}header p,.muted{color:var(--muted);margin:5px 0}.avatar{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}
.cards{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px}.card,.panel,.metric{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid #1f2429;border-radius:10px}.card{padding:22px}.card small{display:block;color:#cbd0d5}.card strong{display:block;font-size:27px;margin-top:8px}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.panel{padding:20px;overflow:auto}.panel h2,.panel h3{margin-top:0}.activity{padding:12px 0;border-bottom:1px solid var(--line)}.activity small,td small{display:block;color:var(--muted);margin-top:4px}
table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:12px;font-weight:600}td,th{padding:13px 10px;border-bottom:1px solid var(--line)}.clickrow{cursor:pointer}.clickrow:hover{background:#171b20}.pill{background:#25180f;border:1px solid #6f330d;color:#ff9b52;border-radius:6px;padding:4px 8px;font-size:12px}
.toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}button,.buttonlink{background:var(--orange);border:0;color:white;padding:11px 16px;border-radius:7px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.success{background:#208234}.wa{background:#168f43;margin-top:14px}.ghost{background:#252a30;margin-left:8px}
input,select,textarea{width:100%;background:#0d1013;color:#fff;border:1px solid #343a41;border-radius:7px;padding:11px;margin-top:6px}textarea{min-height:90px}label{display:block;color:#cfd3d7;margin:11px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.inline select{margin:0;padding:7px}
dialog{background:#111418;color:#fff;border:1px solid #393f46;border-radius:12px;width:min(760px,92vw);padding:24px}dialog::backdrop{background:#000b}.empty{text-align:center;padding:70px 20px}.bigicon{font-size:50px;color:var(--orange)}
.auth{display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 85%,#4a1b00 0,transparent 32%),#07090b}.login-card,.install-card{width:min(520px,94vw);background:#101317;border:1px solid #5d2b0c;border-radius:16px;padding:34px;box-shadow:0 30px 100px #000}.install-card{width:min(760px,94vw)}.brand-logo{display:block;width:260px;height:90px;object-fit:contain;margin:0 auto}.login-card .hub-word,.install-card .hub-word{text-align:center;margin-top:-12px;margin-bottom:25px}.auth h1{text-align:center}.auth button{width:100%;margin-top:12px}.alert{background:#381313;border:1px solid #7e2828;padding:10px;border-radius:7px;margin:12px 0}.successbox{background:#12331a;border:1px solid #286d38;padding:14px;border-radius:8px;margin:16px 0}hr{border:0;border-top:1px solid var(--line);margin:22px 0}
.leadmetrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.metric{padding:16px;text-decoration:none;color:#fff}.metric small{color:var(--muted);display:block}.metric strong{font-size:24px;display:block;margin-top:5px}.metric:hover{border-color:#7b370c}
.filters{display:grid;grid-template-columns:minmax(240px,1fr) 180px 180px auto auto;gap:8px;margin-bottom:12px}.filters input,.filters select{margin:0}.leadhead{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:14px}.leadhead h2{font-size:28px;margin:8px 0 3px}.leadhead p{color:var(--muted);margin:0}.backlink{color:#ff9b52;text-decoration:none}.leadbadges{display:flex;gap:8px;align-items:center}.temp{padding:4px 8px;border-radius:6px;border:1px solid var(--line);font-size:12px;white-space:nowrap}.temp.caliente{color:#ff846e;border-color:#813b30;background:#2a1512}.temp.tibio{color:#ffba55;border-color:#74501d;background:#241b0d}.temp.frio{color:#82afff;border-color:#345080;background:#111b2b}
.leadgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.span2{grid-column:1/-1}.details{display:grid;grid-template-columns:150px 1fr;gap:9px 12px}.details dt{color:var(--muted)}.details dd{margin:0}.noteform{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.noteform textarea{margin:0}.note{padding:12px 0;border-bottom:1px solid var(--line)}.note small{color:var(--muted);margin-left:8px}.note p{margin:7px 0 0}.timeline{display:grid;gap:0}.timelineitem{display:grid;grid-template-columns:20px 1fr;gap:10px;padding:8px 0}.timelineitem i{width:10px;height:10px;background:var(--orange);border-radius:50%;margin-top:4px;box-shadow:0 0 0 4px #2b170c}.timelineitem small{display:block;color:var(--muted);margin-top:3px}
.followup-picker{display:grid;grid-template-columns:minmax(180px,1fr) 150px;gap:10px}.followup-picker label{margin:0}.quickdates{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 12px}.quickdate{background:#252a30;color:#d9dde1;padding:7px 10px;font-size:12px;border:1px solid #343a41}.quickdate:hover{border-color:#7b370c;color:#fff}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.split,.leadgrid{grid-template-columns:1fr}.span2{grid-column:auto}.filters{grid-template-columns:1fr 1fr}.leadmetrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){aside{position:static;width:auto}.content{margin-left:0;padding:15px}.sidebrand img{width:140px}nav{grid-template-columns:1fr 1fr}.sidefoot{display:none}.cards,.leadmetrics{grid-template-columns:1fr}.grid2,.filters,.followup-picker{grid-template-columns:1fr}.leadhead{align-items:flex-start;flex-direction:column}.noteform{grid-template-columns:1fr}.details{grid-template-columns:110px 1fr}}

/* V1.1.2 */
.newlead-followup{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,1fr) 150px;gap:10px;align-items:end}
.newlead-followup label{margin:0}
.newlead-quick{grid-column:1/-1;margin-top:0}
input[type="date"],input[type="time"]{cursor:pointer;color-scheme:dark}
.sidefoot{gap:10px}
.userfoot{display:grid;gap:4px}
.logoutbtn{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:7px;color:#aeb4ba!important;text-decoration:none;font-weight:650}
.logoutbtn span{font-size:18px}
.logoutbtn:hover{background:#2b1111;color:#ff6b63!important;outline:1px solid #6b2929}
@media(max-width:720px){.newlead-followup{grid-template-columns:1fr}.logoutbtn{margin-top:6px}}

/* V1.1.3 — Sidebar responsive con scroll propio */
aside{
  height:100vh;
  overflow:hidden;
}
aside nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:#6f330d #0b0d0f;
}
aside nav::-webkit-scrollbar{width:6px}
aside nav::-webkit-scrollbar-track{background:#0b0d0f;border-radius:8px}
aside nav::-webkit-scrollbar-thumb{background:#6f330d;border-radius:8px}
aside nav::-webkit-scrollbar-thumb:hover{background:#a64a0b}
.sidebrand,.sidefoot{flex-shrink:0}
.sidefoot{
  background:#080a0c;
  padding-bottom:6px;
}
@media(max-height:760px){
  aside{padding-top:14px;padding-bottom:10px}
  .sidebrand{margin-bottom:12px}
  .sidebrand img{height:46px}
  nav a{padding:9px 12px}
}
@media(max-width:720px){
  aside{height:auto;overflow:visible}
  aside nav{overflow:visible;padding-right:0}
}

/* V1.2.0 — Seguimientos Pro */
.followmetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.followmetric{display:block;text-decoration:none;color:#fff;background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:10px;padding:17px;position:relative;overflow:hidden}
.followmetric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#555}
.followmetric.danger:before{background:#ff5b4d}.followmetric.orange:before{background:var(--orange)}.followmetric.blue:before{background:#4c91ff}.followmetric.green:before{background:#65cf48}
.followmetric small{display:block;color:var(--muted)}.followmetric strong{font-size:27px;display:block;margin-top:4px}.followmetric.active{border-color:#6f330d;background:linear-gradient(145deg,#20150f,#131416)}
.followtoolbar{display:flex;justify-content:space-between;align-items:end;margin:8px 0 12px}.followtoolbar h2{margin:0}.followtoolbar p{margin:4px 0 0;color:var(--muted)}.ghostlink{background:#252a30}
.followlist{display:grid;gap:10px}.followcard{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:10px;padding:16px;position:relative}.followcard.overdue{border-left:4px solid #ff5b4d}.followcard.today{border-left:4px solid var(--orange)}.followcard.tomorrow{border-left:4px solid #4c91ff}.followcard.upcoming{border-left:4px solid #65cf48}
.followtime{display:flex;justify-content:space-between;align-items:center;padding-bottom:11px;border-bottom:1px solid var(--line)}.followstatus{padding:4px 8px;border-radius:6px;font-size:11px;border:1px solid var(--line)}.followstatus.overdue{color:#ff7468;background:#2b1412;border-color:#6c2d28}.followstatus.today{color:#ff9b52;background:#25180f;border-color:#6f330d}.followstatus.tomorrow{color:#82afff;background:#111b2b;border-color:#345080}.followstatus.upcoming{color:#83e56a;background:#132715;border-color:#315c33}
.followmain{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 0}.followidentity{display:flex;gap:12px;align-items:center}.followavatar{width:42px;height:42px;border-radius:50%;background:#23160f;border:1px solid #6f330d;display:grid;place-items:center;color:#ff9b52;font-weight:800}.followidentity h3{margin:0 0 3px}.followidentity h3 a{color:#fff;text-decoration:none}.followidentity p{margin:0;color:#cfd3d7}.followidentity small{display:block;color:var(--muted);margin-top:4px}
.followcontact{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.iconaction{border:1px solid #343a41;border-radius:7px;padding:8px 10px;color:#d9dde1;text-decoration:none;font-size:12px;background:#0d1013}.iconaction:hover{border-color:#6f330d;color:#fff}.waaction{border-color:#22633a;color:#7fe79e}
.followactions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:11px;border-top:1px solid var(--line)}.followactions form{margin:0}.resched{position:relative}.resched summary{list-style:none;cursor:pointer;background:#252a30;border-radius:7px;padding:10px 12px;font-weight:650}.resched summary::-webkit-details-marker{display:none}.resched[open]{width:min(520px,100%)}.resched[open] summary{margin-bottom:8px}.mini-picker{display:grid;grid-template-columns:1fr 120px auto;gap:7px}.mini-picker input{margin:0}.quickdates.compact{margin:7px 0 0}.note-inline{display:grid;grid-template-columns:1fr auto;gap:7px}.note-inline input{margin:0}.followempty{text-align:center;padding:50px}.bigcheck{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#12331a;color:#65cf48;margin:0 auto 12px;font-size:28px}
@media(max-width:900px){.followmetrics{grid-template-columns:repeat(2,1fr)}.followmain{align-items:flex-start;flex-direction:column}.followcontact{justify-content:flex-start}.mini-picker{grid-template-columns:1fr 1fr}.mini-picker button{grid-column:1/-1}.note-inline{grid-template-columns:1fr}}@media(max-width:520px){.followmetrics{grid-template-columns:1fr}.followtime{align-items:flex-start;gap:8px}.followactions{align-items:stretch}.resched,.resched[open],.completeform{width:100%}.resched summary,.completeform button{width:100%}}

/* V1.3 Propuestas Pro */
.proposalhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.proposalhead h2{margin:0;font-size:26px}.proposalhead p{margin:5px 0 0;color:var(--muted)}
.proposalmetrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.proposalmetric{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:10px;padding:16px}.proposalmetric small{display:block;color:var(--muted)}.proposalmetric strong{font-size:25px;display:block;margin-top:4px}
.proposalempty{text-align:center;padding:60px}.proposalstatus{padding:5px 8px;border-radius:6px;border:1px solid var(--line);font-size:12px}.proposalstatus.sent{color:#82afff;border-color:#345080}.proposalstatus.accepted{color:#83e56a;border-color:#315c33}.proposalstatus.rejected{color:#ff7468;border-color:#6c2d28}.proposalstatus.expired{color:#ffba55;border-color:#74501d}.dialogactions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
@media(max-width:1000px){.proposalmetrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.proposalhead{flex-direction:column;align-items:stretch;gap:10px}.proposalmetrics{grid-template-columns:1fr}}

/* V1.4.0 — Clientes Pro */
.clienttop,.clientmetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.clienttop article,.clientmetrics article{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:10px;padding:16px}
.clienttop small,.clientmetrics small{display:block;color:var(--muted)}.clienttop strong,.clientmetrics strong{display:block;font-size:25px;margin-top:4px}
.clienttoolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.clientfilters{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:8px;flex:1}.clientfilters input,.clientfilters select{margin:0}
.clientstatus{display:inline-block;padding:5px 9px;border-radius:6px;border:1px solid var(--line);font-size:12px}.clientstatus.activo{color:#83e56a;border-color:#315c33;background:#132715}.clientstatus.pausado{color:#ffba55;border-color:#74501d;background:#241b0d}.clientstatus.baja{color:#ff7468;border-color:#6c2d28;background:#2b1412}
.clienthead{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:14px}.clienthead h2{font-size:29px;margin:8px 0 3px}.clienthead p{margin:0;color:var(--muted)}.clientbadges{display:flex;align-items:center;gap:8px}
.clientgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:10px}.sectionhead h3{margin:0}.smallbtn{padding:8px 10px;font-size:12px}
@media(max-width:1000px){.clienttop,.clientmetrics{grid-template-columns:repeat(2,1fr)}.clientgrid{grid-template-columns:1fr}.clientgrid .span2{grid-column:auto}.clienttoolbar{align-items:stretch;flex-direction:column}.clientfilters{grid-template-columns:1fr 180px auto}}
@media(max-width:650px){.clienttop,.clientmetrics,.clientfilters{grid-template-columns:1fr}.clienthead{align-items:flex-start;flex-direction:column}.clientbadges{width:100%;justify-content:space-between}}

/* V1.5.0 — Servicios Pro */
.servicemetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.servicemetrics article{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:10px;padding:16px}
.servicemetrics small{display:block;color:var(--muted)}.servicemetrics strong{display:block;font-size:25px;margin-top:4px}
.servicehead{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:12px}.servicehead h2{margin:0;font-size:26px}.servicehead p{margin:5px 0 0;color:var(--muted)}
.servicefilters{display:grid;grid-template-columns:minmax(220px,1fr) 220px 170px 170px auto;gap:8px;margin-bottom:12px}.servicefilters input,.servicefilters select{margin:0}
.servicestatus{display:inline-block;padding:5px 9px;border-radius:6px;border:1px solid var(--line);font-size:12px}.servicestatus.activo{color:#83e56a;border-color:#315c33;background:#132715}.servicestatus.pausado{color:#ffba55;border-color:#74501d;background:#241b0d}.servicestatus.finalizado{color:#c3c8ce;border-color:#4a5057;background:#191c20}
.tablelink{color:#fff;text-decoration:none;font-weight:700}.tablelink:hover{color:#ff9b52}.serviceeditbtn{background:#252a30;padding:8px 10px;font-size:12px}.serviceempty{text-align:center;padding:60px 20px}
.checkline{display:flex;align-items:center;gap:9px;background:#0d1013;border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:12px}.checkline input{width:auto;margin:0}
@media(max-width:1150px){.servicemetrics{grid-template-columns:repeat(2,1fr)}.servicefilters{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.servicemetrics,.servicefilters{grid-template-columns:1fr}.servicehead{flex-direction:column;align-items:stretch}.servicehead button{width:100%}}

/* V1.6.0 — Facturación Pro */
.invoiceMetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.invoiceMetrics article{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:10px;padding:16px}
.invoiceMetrics small{display:block;color:var(--muted)}.invoiceMetrics strong{display:block;font-size:24px;margin-top:4px}
.invoiceHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.invoiceHead h2{margin:0;font-size:26px}.invoiceHead p{margin:5px 0 0;color:var(--muted)}
.invoiceFilters{display:grid;grid-template-columns:minmax(280px,1fr) 220px auto;gap:8px;margin-bottom:12px}.invoiceFilters input,.invoiceFilters select{margin:0}
.invoiceStatus{display:inline-block;padding:5px 9px;border-radius:6px;border:1px solid var(--line);font-size:12px;margin-bottom:3px}.invoiceStatus.issued{color:#83e56a;border-color:#315c33;background:#132715}.invoiceStatus.pending{color:#ffba55;border-color:#74501d;background:#241b0d}.invoiceStatus.ask{color:#82afff;border-color:#345080;background:#111b2b}.invoiceStatus.no{color:#c3c8ce;border-color:#4a5057;background:#191c20}
.invoiceWarn{color:#ffba55;font-size:12px}.invoiceActions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.invoiceActions form{margin:0}.dangerbtn{background:#8b2c24}.invoiceEmpty{text-align:center;padding:60px 20px}
@media(max-width:1000px){.invoiceMetrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.invoiceMetrics,.invoiceFilters{grid-template-columns:1fr}}
