:root{font-family:Segoe UI,Arial,sans-serif;color:#243c38;background:#f5f7f6;font-size:14px}*{box-sizing:border-box}body{margin:0}button,a,input,select,textarea{font:inherit}button,a{cursor:pointer}button{border:1px solid #dbe4df;background:white;padding:10px 15px;border-radius:7px;color:#304b43}button:hover{background:#edf4ef}button:focus-visible,a:focus-visible{outline:3px solid #cc9d60}a{color:#21614b}.primary{background:#245e49;color:white;border-color:#245e49}.primary:hover{background:#164732}.logo{font-size:30px;letter-spacing:-1.5px;font-weight:650;color:#255c47}.logo b{color:#b49464}.sidebar{width:235px;background:white;position:fixed;inset:0 auto 0 0;border-right:1px solid #e1e8e3;padding:35px 23px;display:flex;flex-direction:column}.sidebar small{font-size:10px;letter-spacing:2px;color:#83938b}.sidebar nav{margin-top:48px;display:grid;gap:9px}.sidebar button{text-align:left;border:0;background:transparent;padding:13px}.sidebar button.active{background:#eaf2ec;color:#205b43;font-weight:600}.sidebar .bottom{margin-top:auto;font-size:12px;line-height:1.7;color:#71827a}.workspace{margin-left:235px}header{height:79px;border-bottom:1px solid #e1e8e3;padding:0 38px;display:flex;align-items:center;justify-content:space-between;background:white}.identity{display:flex;align-items:center;gap:12px}.avatar{background:#e6eee8;color:#2f604b;border-radius:50%;width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}main{padding:38px;max-width:1600px;margin:auto}.eyebrow,small{font-size:11px;letter-spacing:1.4px;color:#839187}h1{font-size:32px;font-weight:600;letter-spacing:-1px;margin:10px 0}h2{font-size:23px;letter-spacing:-.5px}p{color:#78877e;line-height:1.7}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0 30px}.stat{background:white;border:1px solid #e0e7e2;border-radius:9px;padding:22px}.stat strong{display:block;font-size:30px;font-weight:550;margin:12px 0 5px}.stat span{color:#7c8981;font-size:12px}.panel{background:white;border:1px solid #e0e7e2;border-radius:10px;overflow:hidden}.toolbar{display:flex;gap:12px;padding:20px;border-bottom:1px solid #e7ece8;align-items:center}.toolbar input{max-width:400px;flex:1}.toolbar span{margin-left:auto;font-size:12px;color:#7a877f}input,select,textarea{border:1px solid #d9e2dc;border-radius:6px;padding:11px;background:white;color:#30463c;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #8bb49b}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{background:#fafbf9;font-size:10px;color:#819087;letter-spacing:1px;font-weight:600;padding:15px 20px}td{padding:15px 20px;border-top:1px solid #edf0ed}td strong{font-weight:600}td small{display:block;letter-spacing:0;font-size:12px;margin-top:4px}.person{display:flex;align-items:center;gap:12px}.badge{display:inline-block;background:#edf4ee;color:#397650;border-radius:20px;padding:5px 9px;font-size:11px}.badge.blocked{background:#fff2df;color:#9b7428}.badge.archived{background:#edf0f3;color:#74818b}.tablewrap{overflow:auto}.empty{padding:50px;text-align:center}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.intro{background:#244f3e;color:white;padding:8vw;display:flex;flex-direction:column;justify-content:center}.intro .logo{color:white}.intro h1{font-size:53px;line-height:1.15;margin-top:70px;max-width:500px}.intro p{color:#c0d2c5;max-width:420px;font-size:16px}.intro small{color:#c5d7ca;margin-top:55px}.signin{display:flex;align-items:center;justify-content:center;padding:45px}.signin article{max-width:390px}.signin h2{font-size:30px}.signin a.primary{display:block;text-decoration:none;text-align:center;padding:15px;border-radius:6px;margin:30px 0}.notice{background:#f2eee4;border:1px solid #e1d6bd;color:#7a693f;padding:15px;border-radius:7px;line-height:1.6}.signin small{letter-spacing:0;line-height:1.7;display:block}dialog{border:1px solid #dce5dd;border-radius:12px;width:min(850px,94vw);padding:28px;color:#243c38;box-shadow:0 20px 100px #173d3426}dialog::backdrop{background:#152e3c66}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{margin:8px 0 23px}.dialog-head button{font-size:22px;border:0;padding:0 10px}#tabs{display:flex;gap:6px;border-bottom:1px solid #dfe7e1;padding-bottom:12px;margin-bottom:24px}#tabs .active{background:#eaf2ec;color:#205b43}#fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-height:55vh;overflow:auto;padding:2px}label{display:grid;gap:7px;font-size:12px;color:#687e70}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e0e6df;padding-top:22px;margin-top:25px}footer span{color:#89958c;font-size:11px}#formerror{color:#b04538}.hint{font-size:12px;margin-top:20px}@media(max-width:900px){.sidebar{width:185px;padding:24px 15px}.workspace{margin-left:185px}main{padding:24px}.stats{grid-template-columns:1fr 1fr}header{padding:0 24px}.login{grid-template-columns:1fr}.intro{padding:45px}.intro h1{font-size:36px;margin-top:30px}.intro small{margin-top:20px}}@media(max-width:600px){.sidebar{position:static;width:100%;padding:18px}.sidebar nav{display:flex;margin-top:15px;overflow:auto}.sidebar .bottom,.sidebar>small{display:none}.workspace{margin:0}.title-row{align-items:start;gap:12px}h1{font-size:27px}.stats{gap:10px}.stat{padding:16px}main{padding:18px}header{height:65px;padding:0 18px}.identity>span{display:none}#fields{grid-template-columns:1fr}#tabs{overflow:auto}.toolbar{flex-wrap:wrap}.toolbar span{display:none}footer span{max-width:50%}}

/* Tema oscuro azul de Fertilab */
:root {
  color-scheme: dark;
  --page: #0c1424;
  --surface: #121e33;
  --surface-raised: #1a2a44;
  --border: #304767;
  --text: #e6eefb;
  --muted: #acbdd7;
  --accent: #80baff;
  color: var(--text);
  background: var(--page);
}
body { background: var(--page); }
button {
  color: var(--text);
  background: var(--surface-raised);
  border-color: var(--border);
}
button:hover { background: #263e60; }
button:focus-visible, a:focus-visible {
  outline: 3px solid #9ccaff;
  outline-offset: 3px;
}
a { color: var(--accent); }
.primary { background: #80baff; color: #0b2342; border-color: #80baff; font-weight: 600; }
.primary:hover { background: #a6cfff; }
.logo { color: #bfdaff; }
.logo b { color: #80baff; }
.sidebar, header, .stat, .panel { background: var(--surface); border-color: var(--border); }
.sidebar small, .sidebar .bottom, .eyebrow, small, p,
.stat span, .toolbar span, footer span, label { color: var(--muted); }
.sidebar button.active, #tabs .active { background: #203e65; color: #c4dfff; }
.avatar { background: #254267; color: #c4dfff; }
.toolbar, td, #tabs, footer { border-color: var(--border); }
input, select, textarea { background: #0d192c; color: var(--text); border-color: #45648a; }
input::placeholder, textarea::placeholder { color: #9fb5d2; opacity: 1; }
input:focus, select:focus, textarea:focus { outline: 2px solid #80baff; outline-offset: 1px; }
input:autofill { box-shadow: 0 0 0 1000px #0d192c inset; -webkit-text-fill-color: var(--text); }
th { background: #0f1b30; color: #b4c7e3; }
tbody tr:hover { background: #1a2d49; }
.badge { background: #1d3858; color: #acd4ff; }
.badge.blocked { background: #40351f; color: #efd092; }
.badge.archived { background: #303b43; color: #c2cfdb; }
.intro { background: #112b4d; color: var(--text); }
.intro .logo { color: #e6eefb; }
.intro p, .intro small { color: #b4cce9; }
.signin { background: var(--page); }
.notice { background: #352e1f; color: #ecd39d; border-color: #6b5730; }
dialog { background: var(--surface); color: var(--text); border-color: #45648a; box-shadow: 0 24px 100px #0009; }
dialog::backdrop { background: #020817bf; }
#formerror { color: #ffb2a5; }
button:disabled { opacity: .6; cursor: wait; }
::selection { background: #315f9a; color: #fff; }

/* Identidad simplificada */
.logo { font-size: 26px; letter-spacing: -1px; }
.login { grid-template-columns: 1fr; }
.signin article { width: min(100%, 390px); text-align: center; }
.signin h1 { margin: 0 0 30px; font-size: 38px; }
@media (min-width: 601px) and (max-width: 900px) {
  .sidebar .logo { font-size: 22px; }
}

/* Información completa del Excel de cuentas */
#tabs { overflow-x: auto; flex-shrink: 0; }
#tabs button { white-space: nowrap; }
.source-note, .source-wide { grid-column: 1 / -1; }
.source-note { margin: 0; font-size: 12px; }
#fields input[readonly], #fields textarea[readonly] { background: #142139; color: #ccd9ed; border-color: #304767; }
#fields textarea[readonly] { resize: vertical; min-height: 110px; line-height: 1.6; }

.phone-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; max-height: 58vh; overflow: auto; padding: 3px; }
.phone-fields label:last-child { grid-column: 1 / -1; }
.phone-fields textarea { resize: vertical; line-height: 1.6; }
#phone-details input[readonly], #phone-details textarea[readonly] { background: #142139; color: #e6eefb; }
@media (max-width: 600px) { .phone-fields { grid-template-columns: 1fr; } }
