/* ==========================================================
   CRM Corporativo — complementos mínimos sobre nubi ui.
   Todo sale de los tokens de nubi (claro/oscuro gratis).
   ========================================================== */

/* ---------- base ---------- */
.ic{width:18px;height:18px;flex:none;vertical-align:-3px}
.ic.sm{width:15px;height:15px;vertical-align:-2px}
.ic.lg{width:22px;height:22px}
.lnk{color:var(--ink);font-weight:600;text-decoration:none}
.lnk:hover{color:var(--brand);text-decoration:underline}
.sub{display:block;font-size:12px;color:var(--mute);font-weight:400}
.hide-sm{display:inline}
.o-brand img{width:auto;height:26px;border-radius:0}
.o-brand .brand-name{font-weight:700;font-size:14px}
.screen>*{min-width:0}
.sec-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sec-h h3{font-size:15px;font-weight:700}
.t-right{text-align:right}
.num-r{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.empty p{max-width:46ch;margin:0 auto}
.muted-row{opacity:.55}

/* ---------- formulario modal ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.form-grid .span2{grid-column:1/-1}
.form-grid .field>label{font-size:12.5px}
.field .req{color:var(--crit)}
.fv{padding:7px 2px;border-bottom:1px solid var(--line)}
dialog.modal .modal-b{max-height:calc(100vh - 220px)}
@media (max-width:600px){.form-grid{grid-template-columns:1fr}}

/* ---------- entrada ---------- */
.login-card{width:min(440px,calc(100vw - 32px));padding:28px;display:grid;gap:18px;box-shadow:var(--sh-3)}
.login-logo{height:44px;width:auto;justify-self:start}
.user-pick{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r);padding:10px 12px;cursor:pointer;font:inherit;transition:border-color var(--t),box-shadow var(--t),transform var(--t)}
.user-pick:hover{border-color:var(--teal);box-shadow:var(--sh-2);transform:translateY(-1px)}
.user-pick .up-t{flex:1;min-width:0;display:grid}
.user-pick .up-t b{font-size:14px}.user-pick .up-t small{color:var(--mute);font-size:12px}

/* ---------- navegación ---------- */
.o-cp .cp-k{border:0;background:none;cursor:pointer;padding:0}
.views button{display:inline-flex;align-items:center;gap:5px}
@media (max-width:900px){.views .vl{display:none}.o-brand .brand-name{display:none}}
@media (max-width:767px){.hide-sm{display:none!important}.o-cp{grid-template-columns:1fr}.o-cp .o-search{max-width:none;justify-self:stretch}.o-cp .views{justify-self:start}}
.more-list{grid-template-columns:1fr 1fr}
.more-item{display:flex;align-items:center;gap:10px;padding:14px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);text-decoration:none;font:600 14px var(--f);cursor:pointer;text-align:left}
.more-item:hover{border-color:var(--teal);background:var(--brand-50)}
.bottom-nav a{text-decoration:none}
.dd-menu a{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--ink);text-decoration:none;font-size:13px;border-radius:var(--r-sm)}
.dd-menu a:hover{background:var(--brand-50);color:var(--brand)}
.dd-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}
.o-nav .dd.end .dd-menu{right:0;left:auto}

/* ---------- listas ---------- */
.o-list tbody tr[data-href],.o-list tbody tr.click{cursor:pointer}
.o-list td.acts{text-align:right;white-space:nowrap}
.o-list td.wrap{white-space:normal;min-width:200px;max-width:380px}
.act-ic{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand-50);color:var(--brand);margin-right:8px;vertical-align:middle}
.act-ic .ic{width:15px;height:15px;vertical-align:0}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.filters select,.filters input{width:auto;min-width:140px;max-width:100%}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pill-n{font:600 11px var(--f-mono);background:var(--line-2);color:var(--ink-2);padding:1px 7px;border-radius:99px;margin-left:6px}

/* ---------- Inicio ---------- */
.hello h2{font-size:22px}
.hello p{margin-top:2px}
.agenda-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line-2)}
.agenda-item:last-child{border-bottom:0}
.agenda-item b{font-size:13.5px}
.agenda-item .btn{white-space:nowrap}
.agenda-item.late{box-shadow:inset 3px 0 var(--crit)}
.agenda-item.today{box-shadow:inset 3px 0 var(--warn)}
.list-card .card-head{padding:12px 16px}

/* ---------- Ficha de cliente (hoja) ---------- */
.sheet .fg .fld{grid-template-columns:130px 1fr}
.sheet .fg .fld .inp{min-width:0}
.sheet-title{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;flex-wrap:wrap}
.sheet .title{font-size:24px;line-height:1.15}
.smart b{white-space:nowrap}
.chatter{max-height:none}
.tl{display:grid;gap:14px}
.tl-item{display:grid;grid-template-columns:30px 1fr;gap:10px;font-size:13px}
.tl-item .act-ic{margin:0}
.tl-item small{color:var(--mute)}
.tl-item p{margin:2px 0 0;color:var(--ink-2)}
.tl-item .tl-v{font:600 12px var(--f-mono);color:var(--teal)}
@media (max-width:1100px){.form-wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.sheet{padding:16px}.sheet .fg{grid-template-columns:1fr}.sheet .fg .fld{grid-template-columns:110px 1fr}.smart{flex-wrap:wrap}}

/* ---------- Kanban de clientes ---------- */
.kb{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;align-items:flex-start}
.kb .col{flex:0 0 268px;display:flex;flex-direction:column;gap:0;background:var(--line-2);border:1px solid var(--line);border-radius:var(--r-lg);min-height:140px}
.kb .col.over{background:var(--brand-50);outline:1px dashed var(--brand)}
.kb .col-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:700;border-bottom:1px solid var(--line)}
.kb .col-head small{display:block;font:500 11.5px var(--f-mono);color:var(--mute)}
.kb .col-cards{padding:10px;display:grid;gap:8px;align-content:start;min-height:90px}
.kb .kc{padding:10px 12px;display:grid;gap:5px;cursor:grab;border-left:3px solid var(--c,var(--line));text-decoration:none;color:var(--ink)}
.kb .kc:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}
.kb .kc.dragging{opacity:.45}
.kb .kc h5{font-size:13px;font-weight:700;margin:0}
.kb .kc .meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--mute);gap:8px}
.kb .col-sum{font:600 12px var(--f-mono);color:var(--teal)}

/* ---------- Calendario ---------- */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-dow{text-align:center;font:600 11px var(--f);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);padding:6px 0}
.cal-day{min-height:84px;border:1px solid var(--line);border-radius:var(--r-sm);padding:5px 6px;background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--ink);display:grid;align-content:start;gap:3px}
.cal-day:hover{border-color:var(--teal)}
.cal-day.other{background:var(--line-2);opacity:.55}
.cal-day.today{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.cal-day.sel{background:var(--brand-50);border-color:var(--brand)}
.cal-day b{font-size:12.5px}
.cal-dot{display:block;font-size:10.5px;line-height:1.25;padding:1px 5px;border-radius:99px;background:var(--brand-50);color:var(--brand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-dot.done{background:var(--ok-bg);color:var(--ok-ink)}
.cal-dot.late{background:var(--crit-bg);color:var(--crit-ink)}
@media (max-width:767px){.cal-day{min-height:52px;padding:3px}.cal-dot{font-size:0;height:6px;width:6px;padding:0;display:inline-block;margin-right:2px}}

/* ---------- Editor de proforma ---------- */
.pf-lines table{width:100%;border-collapse:collapse;font-size:13px}
.pf-lines th{text-align:left;font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.pf-lines td{padding:5px 6px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.pf-lines input,.pf-lines select{width:100%;min-width:0}
.pf-lines .c-q{width:84px}.pf-lines .c-p{width:112px}.pf-lines .c-s{width:110px;text-align:right}.pf-lines .c-x{width:36px}
.pf-tot{display:grid;gap:6px;justify-self:end;min-width:280px;font-size:13.5px}
.pf-tot div{display:flex;justify-content:space-between;gap:24px}
.pf-tot .total{font-size:17px;font-weight:800;border-top:1px solid var(--line);padding-top:8px;color:var(--brand)}
.pf-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:1250px){.pf-split{grid-template-columns:minmax(0,1fr)}}

/* ---------- Documento (proforma / informe) — siempre en claro ---------- */
.paper{--ink:#1f2937;--ink-2:#4b5563;--mute:#6b7280;--line:#e5e7eb;--line-2:#f3f4f6;--surface:#fff;--brand:#714B67;--brand-50:#f4eef3;--teal:#017E84;--ok-ink:#1e7a34;--crit-ink:#b83a36;--warn-ink:#b07b05;--ok-bg:#e8f6ec;--crit-bg:#fbeaea;--warn-bg:#fdf4e1;--info-bg:#e8f1fa;--info-ink:#2a6199;
  --brand-100:#e9dde6;--c1:#714B67;--c2:#017E84;--c3:#e8a317;--c4:#3b82c4;--c5:#2e9d6a;--c6:#d9534f;--c7:#5b5fc7;--c8:#8a8f98;font-size:13px;line-height:1.45}
.paper .p-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:26px 32px 18px;border-bottom:3px solid var(--paper-brand)}
.paper .p-head img{height:48px;width:auto;max-width:200px;object-fit:contain}
.paper .p-doc{text-align:right}
.paper .p-doc .p-kind{font:700 11px var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--paper-brand)}
.paper .p-doc .p-num{font:800 22px var(--f-mono);color:var(--paper-ink)}
.paper .p-body{padding:20px 32px 26px;display:grid;gap:18px}
.paper .p-parties{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.paper .p-box{border:1px solid var(--paper-line);border-radius:8px;padding:10px 14px;background:#fafafa}
.paper .p-box h6{font:700 10px var(--f);letter-spacing:.12em;text-transform:uppercase;color:#6b7280;margin:0 0 4px}
.paper .p-box b{font-size:14px}
.paper .p-box p{margin:1px 0;color:#4b5563;font-size:12px}
.paper table.p-tbl{width:100%;border-collapse:collapse}
.paper table.p-tbl th{background:#374151;color:#fff;font:600 11px var(--f);text-align:left;padding:8px 10px;letter-spacing:.03em}
.paper table.p-tbl th.r,.paper table.p-tbl td.r{text-align:right}
.paper table.p-tbl td{padding:7px 10px;border-bottom:1px solid var(--paper-line);font-size:12.5px;vertical-align:top}
.paper table.p-tbl tbody tr:nth-child(even) td{background:#fafafa}
.paper .p-tot{justify-self:end;min-width:270px;display:grid;gap:5px;font-size:13px}
.paper .p-tot div{display:flex;justify-content:space-between;gap:24px}
.paper .p-tot .dsc{color:#b83a36}
.paper .p-tot .grand{font-size:17px;font-weight:800;color:var(--paper-brand);border-top:2px solid var(--paper-brand);padding-top:7px}
.paper .p-terms{font-size:11.5px;color:#4b5563;white-space:pre-line;border-top:1px solid var(--paper-line);padding-top:12px}
.paper .p-terms h6{font:700 10px var(--f);letter-spacing:.12em;text-transform:uppercase;color:#6b7280;margin:0 0 4px}
.paper .p-sign{display:flex;justify-content:space-between;gap:30px;margin-top:18px;font-size:12px}
.paper .p-sign div{flex:1;border-top:1px solid #9ca3af;padding-top:6px;color:#4b5563;max-width:280px}
.paper .p-foot{text-align:center;font-size:10.5px;color:#9ca3af;padding:10px 32px 18px}
.paper h3,.paper h4{color:var(--ink)}
.paper .chart text{fill:#6b7280}
.paper .gridl{stroke:#e5e7eb}
@media (max-width:640px){.paper .p-head{flex-direction:column;padding:18px}.paper .p-body{padding:14px 18px 20px}.paper .p-parties{grid-template-columns:1fr}.paper table.p-tbl{font-size:11.5px}}

/* ---------- Informe de gerencia ---------- */
.rep-sec{display:grid;gap:10px}
.rep-sec>h4{font:700 11px var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-brand);border-bottom:1px solid var(--paper-line);padding-bottom:4px}
.rep-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rep-kpi{border:1px solid var(--paper-line);border-radius:8px;padding:10px 12px;display:grid;gap:2px;background:#fff}
.rep-kpi small{font-size:11px;color:#6b7280}
.rep-kpi b{font:700 20px var(--f-mono);color:var(--paper-ink)}
.rep-kpi .d{font:600 11px var(--f-mono)}
.rep-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:760px){.rep-2{grid-template-columns:1fr}}

/* ---------- Presupuesto ---------- */
.grid-scroll{overflow:auto}
.pg{border-collapse:collapse;width:100%;font-size:12.5px}
.pg th,.pg td{padding:6px 8px;border-bottom:1px solid var(--line-2);white-space:nowrap}
.pg th{font-weight:600;color:var(--ink-2);text-align:right;position:sticky;top:0;background:var(--surface)}
.pg th:first-child,.pg td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);z-index:1;min-width:150px}
.pg td{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.pg td.lbl{font-family:var(--f);color:var(--mute);font-size:12px}
.pg tr.exec td{background:var(--line-2);font-weight:700;font-family:var(--f)}
.pg input.meta-in{width:84px;text-align:right;padding:4px 6px;font:12.5px var(--f-mono)}
.pg td.cur,.pg th.cur{background:var(--brand-50)}

/* ---------- Gestión / semáforos ---------- */
.week-nav{display:flex;align-items:center;gap:6px}
.semaforo.info{color:var(--info-ink)}

/* ---------- impresión ---------- */
@media print{
  .o-nav,.o-cp,.bottom-nav,.noprint,.toasts,#nubi-toasts{display:none!important}
  html,body,.o-app.fill,.o-app.fill>.o-body{height:auto!important;overflow:visible!important;background:#fff!important}
  .o-app.fill>.o-body{padding:0!important}
  .paper-stage{padding:0!important;background:#fff!important}
  .paper{box-shadow:none!important;border-radius:0!important;max-width:none!important}
  .screen{display:block!important}
  tr,.rep-kpi,.p-box{break-inside:avoid}
  @page{size:A4;margin:12mm}
}
@media print{.pf-split{display:block!important}}
@media (max-width:767px){.kpis{grid-template-columns:1fr 1fr}.kpis .kpi.big{grid-column:1/-1}.kpis .kpi b{font-size:clamp(16px,9cqi,22px)}}
.paper .p-body>*,.rep-sec>*,.rep-2>*{min-width:0}
.rep-sec ul{overflow-wrap:anywhere}
.paper .p-body{min-width:0}
@media (max-width:640px){.paper .rep-2 table.p-tbl,.paper .rep-sec>table.p-tbl{display:block;overflow-x:auto}}
.pf-fg{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.pf-fg>*{min-width:0}
.pf-fg select,.pf-fg input{min-width:0}
@media (max-width:767px){
 .pf-fg{grid-template-columns:1fr}
 .pf-lines .o-list{overflow:visible}
 .pf-lines thead{display:none}
 .pf-lines table,.pf-lines tbody{display:block}
 .pf-lines tbody tr{display:grid;grid-template-columns:84px 1fr auto auto;gap:6px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
 .pf-lines tbody td{display:block;padding:0;border:0;width:auto!important}
 .pf-lines tbody td:first-child{grid-column:1/-1}
 .pf-tot{min-width:0;width:100%}
}

/* gráficos compactos */
.chart svg{max-height:190px;width:100%}
.chart svg[viewBox="0 0 180 180"]{max-width:150px!important;max-height:150px}
.stack-bar{height:40px}
.card.pnl{padding:16px}

/* tarjetas del kanban */
.kb-sum{display:flex;gap:10px;flex-wrap:wrap}
.kb-sum span{display:grid;gap:1px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 14px;min-width:120px}
.kb-sum small{font-size:11.5px;color:var(--mute)}.kb-sum b{font-size:17px}
.kb .col-head{border-bottom:0;padding-bottom:2px}
.kb .col-tot{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:0 12px 8px;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--mute)}
.kb .col-tot b{font-size:14px;color:var(--ink)}
.kb .kc{gap:6px}
.kc-val{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.kc-val b{font-size:15px;color:var(--ink)}
.kc-chip{display:inline-flex;align-items:center;gap:5px;font:500 11.5px var(--f);color:var(--ink-2);background:var(--line-2);border-radius:99px;padding:2px 8px;justify-self:start}
.kc-chip.warn{background:var(--warn-bg);color:var(--warn-ink)}.kc-chip.crit{background:var(--crit-bg);color:var(--crit-ink)}.kc-chip.ok{background:var(--ok-bg);color:var(--ok-ink)}
.kc-next{display:inline-flex;align-items:center;gap:5px;font:500 11.5px var(--f);color:var(--ink-2)}
.kc-next.warn{color:var(--warn-ink)}.kc-next.crit{color:var(--crit-ink)}
.kb .col{flex-basis:280px}

/* acciones rápidas: llamar / WhatsApp / correo */
.qa-row{display:inline-flex;gap:6px;align-items:center}
.qa{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);text-decoration:none;flex:none;transition:background var(--t),color var(--t),border-color var(--t)}
.qa .ic{width:16px;height:16px;vertical-align:0}
.qa-call:hover{background:var(--teal-50);color:var(--teal);border-color:var(--teal)}
.qa-wa{color:#1f9d55}.qa-wa:hover{background:var(--ok-bg);border-color:var(--ok)}
.qa-mail:hover{background:var(--brand-50);color:var(--brand);border-color:var(--brand)}
.qa-lg{width:auto;height:40px;border-radius:var(--r);padding:0 16px;display:inline-flex;gap:8px;align-items:center;font:600 13.5px var(--f)}
.qa-lg .ic{width:18px;height:18px}
.qa-lg.qa-call{background:var(--teal);color:#fff;border-color:var(--teal)}.qa-lg.qa-call:hover{background:var(--teal-600);color:#fff}
.qa-lg.qa-wa{background:#25D366;color:#073b1c;border-color:#25D366}.qa-lg.qa-wa:hover{background:#1ebe5b}
.kc-qa{display:flex;justify-content:flex-end;border-top:1px solid var(--line-2);padding-top:6px;margin-top:2px}
.kb .kc{cursor:pointer}
.o-list td .qa-row{white-space:nowrap}
@media (max-width:767px){
  .qa{width:40px;height:40px}.qa .ic{width:19px;height:19px}
  .qa-lg{flex:1;justify-content:center;height:46px}
  .kc-qa{justify-content:space-between}
  .kc-qa .qa-row{width:100%}.kc-qa .qa{flex:1;border-radius:var(--r)}
  .agenda-item{grid-template-columns:auto 1fr}.agenda-item>.row{grid-column:1/-1;justify-content:flex-end}
}
.qa-row:has(.qa-lg){display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:767px){.qa-row:has(.qa-lg){width:100%}.qa-lg{min-width:0;padding:0 10px}}

/* subpestañas del Dashboard */
.subnav{margin-bottom:-4px;overflow-x:auto;scrollbar-width:none}
.subnav::-webkit-scrollbar{display:none}
.subnav button{white-space:nowrap}

/* mapas */
.map-box{height:340px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--line-2);z-index:0}
.map-box.sm{height:230px}
.map-empty{display:grid;place-items:center;height:100%;min-height:60px;padding:14px;color:var(--mute);font-size:13px;text-align:center}
.map-search{display:flex;gap:8px}.map-search input{flex:1;min-width:0}
.map-results{display:grid;border:1px solid var(--line);border-radius:var(--r);max-height:190px;overflow:auto}
.map-res{display:grid;gap:1px;text-align:left;border:0;border-bottom:1px solid var(--line-2);background:var(--surface);color:var(--ink);padding:8px 12px;cursor:pointer;font:inherit}
.map-res:hover{background:var(--brand-50)}.map-res b{font-size:13px}.map-res small{color:var(--mute);font-size:12px}
.map-modal{width:min(720px,calc(100vw - 32px))}
.leaflet-container{font:inherit;z-index:0}
:root[data-theme="dark"] .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.9)}
@media (max-width:767px){.map-box{height:300px}}

/* actividades: eventos en calendario y lugar en tarjeta */
.cal-dot.evt{background:var(--teal-50);color:var(--teal);font-weight:600}
.kc-where{display:grid;gap:2px;font:500 11.5px var(--f);color:var(--ink-2)}
.kc-where span{display:inline-flex;align-items:center;gap:5px}

/* ---------- Ingreso con Supabase (selector "¿Quién eres?", como el SGS) ---------- */
.login-wrap{width:min(440px,100%)}
.login-head{text-align:center;margin-bottom:20px}
.login-head h1{font-size:22px;font-weight:800;margin:0 0 4px}.login-head p{margin:0;font-size:14px;color:var(--mute)}
.login-app-logo{width:84px;height:84px;display:block;margin:0 auto 8px;object-fit:contain;animation:float 4s ease-in-out infinite;filter:drop-shadow(0 8px 14px rgba(16,24,40,.18))}
.login-wrap .login-card{width:100%;overflow:visible;margin-bottom:12px}
.lg-loading{display:flex;justify-content:center;padding:12px}
.lg-fail{color:var(--crit-ink,#b42318);font-size:13px;text-align:center;margin:0}
.lg-combo{position:relative;text-align:left}
.lg-field{position:relative;display:flex;align-items:center}
.lg-field input{padding-right:36px}
.lg-field.sel input{border-color:var(--teal);background:var(--teal-50);font-weight:600}
.lg-clear{position:absolute;right:5px;width:28px;height:28px;border:0;border-radius:50%;background:none;color:var(--mute);cursor:pointer;display:grid;place-items:center}
.lg-clear:hover{background:var(--line-2);color:var(--ink)}
.lg-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:264px;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);padding:4px}
.lg-group{font:600 11px var(--f);text-transform:uppercase;letter-spacing:.06em;color:var(--mute);padding:8px 10px 3px}
.lg-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;text-align:left;padding:7px 10px;border-radius:var(--r-sm);cursor:pointer;font:inherit;color:var(--ink)}
.lg-item .avatar{width:30px;height:30px;font-size:11px;flex:none}
.lg-item .lg-n{display:grid;min-width:0}.lg-item .lg-n b{font-size:13px}.lg-item .lg-n small{font-size:11.5px;color:var(--mute);font-weight:400}
.lg-item:hover,.lg-item.on{background:var(--brand-50);color:var(--brand)}
.lg-empty{padding:14px 10px;text-align:center;color:var(--mute);font-size:13px}
.lg-pass{display:flex;gap:6px}.lg-pass .inp-box{flex:1}
.lg-sel{font-size:13px;font-weight:600;color:var(--brand);text-align:center;min-height:18px}
.login-foot{margin-top:18px;text-align:center}.login-foot p{font-size:12px;margin:0;line-height:1.5;color:var(--mute)}
.login-wrap [hidden]{display:none!important}
.lg-combo .lbl{display:block;margin-bottom:6px}
.lg-field .inp-box{padding-left:12px;padding-right:36px}
.lg-field.sel .inp-box{border-color:var(--teal);background:var(--teal-50);font-weight:600}
.lg-pass .btn{flex:none}

/* ---------- Importador del Fénix ---------- */
.fx-drop{display:grid;gap:4px;justify-items:center;text-align:center;border:2px dashed var(--line);border-radius:var(--r-lg,12px);padding:34px 16px;cursor:pointer;color:var(--ink);transition:border-color var(--t),background var(--t)}
.fx-drop span{color:var(--mute);font-size:13px}
.fx-drop:hover,.fx-drop.on{border-color:var(--brand);background:var(--brand-50)}

/* ---------- Importador del Fénix ---------- */
.fx-drop{display:grid;gap:4px;justify-items:center;text-align:center;border:2px dashed var(--line);border-radius:var(--r-lg,12px);padding:34px 16px;cursor:pointer;color:var(--ink);transition:border-color var(--t),background var(--t)}
.fx-drop span{color:var(--mute);font-size:13px}
.fx-drop:hover,.fx-drop.on{border-color:var(--brand);background:var(--brand-50)}
