/* ── ADMINISTRACIÓN — minimal, mucho aire, tipografía chica ── */
#adminlegal-view{background:var(--bg);overflow-y:auto}
.al-wrap{max-width:1360px;margin:0;padding:40px 40px 40px}

/* ── Embebida dentro de ANTI RTX ──
   Toma las cajas de esa página (.cfx-panel) y solo ajusta lo propio, para que
   se lea como una sección más y no como un bloque pegado abajo. */
#adminlegal-host .al-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0}
#adminlegal-host .al-card{border-radius:var(--radius);padding:12px 14px 13px}
#adminlegal-host .al-card-v{font-size:18px}
#adminlegal-host .al-seg{margin:0}
#adminlegal-host .al-tabla-wrap{border:0;border-radius:0;background:none;margin-top:2px}
#adminlegal-host .al-tabla th{padding:10px 0}
#adminlegal-host .al-tabla td{padding:12px 0}
#adminlegal-host .al-tabla th:first-child,#adminlegal-host .al-tabla td:first-child{padding-left:2px}
#adminlegal-host .al-tabla th:last-child,#adminlegal-host .al-tabla td:last-child{padding-right:2px}
#adminlegal-host .al-row:hover{background:var(--surface2)}
#adminlegal-host .al-est-grid{gap:10px}
#adminlegal-host .al-est-f{border-radius:var(--radius);padding:11px 13px}
#adminlegal-host .al-brief-p{font-size:12.5px;color:var(--text-3);line-height:1.65}
#adminlegal-host .al-add{margin:0;align-self:flex-start}

.al-head{margin-bottom:26px}
.al-head h1{font-size:28px;font-weight:700;letter-spacing:-.7px;color:var(--text);margin:0 0 8px}
.al-head p{font-size:13px;line-height:1.6;color:var(--text-3);margin:0;max-width:640px}

/* Selector interno de empresa */
.al-seg{display:inline-flex;gap:2px;background:var(--surface2);border:1px solid var(--border);
  border-radius:var(--radius);padding:3px;margin-bottom:26px}
.al-seg button{border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--text-3);
  padding:7px 16px;border-radius:calc(var(--radius) - 3px);cursor:pointer;transition:background .12s,color .12s}
.al-seg button:hover{color:var(--text)}
.al-seg button.activo{background:var(--text);color:var(--surface)}
.al-seg button.proximamente{color:var(--text-4);cursor:default;opacity:.55}
.al-seg button.proximamente:hover{color:var(--text-4)}
.al-seg button .al-soon{margin-left:7px;font-size:9.5px;font-weight:600;letter-spacing:.4px;
  text-transform:uppercase;border:1px solid currentColor;border-radius:4px;padding:1px 4px;vertical-align:1px}

/* Tarjetas compactas */
.al-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px;margin-bottom:26px}
.al-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 16px}
.al-card--alerta{border-color:var(--red);background:var(--red-soft)}
.al-card-k{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);margin-bottom:9px}
.al-card-v{font-size:21px;font-weight:700;letter-spacing:-.5px;color:var(--text);line-height:1.15}
.al-card-v.chico{font-size:15px;display:flex;align-items:baseline;gap:6px}
.al-card-v.chica{font-size:14.5px;font-weight:600;letter-spacing:-.2px}
.al-card-mon{font-family:'Geist Mono',monospace;font-size:10px;font-weight:500;color:var(--text-4)}
.al-card-s{font-size:11.5px;color:var(--text-3);margin-top:4px}

/* Briefing */
.al-brief{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:16px 20px;margin-bottom:26px}
.al-brief-p{font-size:13.5px;line-height:1.72;color:var(--text-2);margin:0}

/* Tabla */
.al-tabla-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.al-tabla{width:100%;border-collapse:collapse}
.al-tabla th{text-align:left;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--text-3);padding:13px 18px;border-bottom:1px solid var(--border);white-space:nowrap}
.al-tabla td{padding:15px 18px;border-bottom:1px solid var(--border);font-size:13.5px;color:var(--text-2);vertical-align:middle}
.al-tabla tbody tr:last-child td{border-bottom:none}
.al-row{cursor:pointer;transition:background .1s}
/* Los gastos de drops se leen acá pero se editan en el drop: no invitan al clic. */
.al-row--ro{cursor:default}
/* Tabla de gastos de drops: sin Empresa, Doc. ni acciones, así el concepto
   respira y las columnas de la derecha no se pisan entre ellas. */
.al-tabla--drops .al-con{width:auto}
.al-tabla--drops .al-orig{color:var(--text-3);font-size:12px;white-space:nowrap}
.al-tabla--drops .al-imp{text-align:right;padding-right:22px}
.al-tabla--drops th:nth-child(3){text-align:right;padding-right:22px}
.al-tabla--drops .al-ven{padding-right:22px}
.al-tabla--drops th:nth-child(4){padding-right:22px}
.al-tabla--drops .al-est{white-space:nowrap}
#adminlegal-host .al-tabla--drops td,#adminlegal-host .al-tabla--drops th{padding-left:0;padding-right:18px}
#adminlegal-host .al-tabla--drops td:last-child,#adminlegal-host .al-tabla--drops th:last-child{padding-right:2px}
.al-row--ro:hover{background:transparent}
#adminlegal-host .al-row--ro:hover{background:transparent}
.al-row:hover{background:var(--surface2)}
.al-ent{color:var(--text-2);white-space:nowrap}
.al-pais{display:inline-block;margin-left:7px;font-family:'Geist Mono',monospace;font-size:10px;
  color:var(--text-4);border:1px solid var(--border);border-radius:4px;padding:1px 4px}
.al-con{color:var(--text);font-weight:550}
.al-per{display:block;font-size:11px;font-weight:400;color:var(--text-3);margin-top:3px}
.al-imp{font-family:'Geist Mono',monospace;font-size:13px;color:var(--text);white-space:nowrap}
.al-ven{white-space:nowrap;color:var(--text-2)}
.al-sin{color:var(--text-4)}
.al-doc{width:52px;text-align:center}
.al-docb{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-4);background:var(--surface)}
.al-docb svg{width:14px;height:14px}
a.al-docb.tiene{color:var(--green);border-color:var(--green);background:var(--green-soft)}
a.al-docb.tiene:hover{filter:brightness(.96)}
.al-vacio{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:44px;text-align:center;color:var(--text-3);font-size:13px}

/* Pills de estado — muy suaves */
.al-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;
  font-size:11.5px;font-weight:600;white-space:nowrap}
.al-pill::before{content:'';width:5px;height:5px;border-radius:50%;margin-right:6px;background:currentColor}
.al-pill--ok{background:var(--green-soft);color:var(--green)}
.al-pill--warn{background:var(--amber-soft);color:var(--amber)}
.al-pill--bad{background:var(--red-soft);color:var(--red)}
.al-pill--info{background:var(--chip-bg);color:var(--text-2)}
.al-pill--neutro{background:var(--surface2);color:var(--text-3);border:1px solid var(--border)}
.al-pill--apagado{background:none;color:var(--text-4);border:1px dashed var(--border2)}

/* Encuadre y estimaciones */
.al-est{margin-top:34px}
.al-est h2{font-size:15px;font-weight:650;letter-spacing:-.2px;color:var(--text);margin:0 0 5px}
.al-est-sub{font-size:12px;color:var(--text-3);margin:0 0 14px;max-width:640px}
.al-est-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.al-est-f{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}
.al-est-f label{display:block;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-3);margin-bottom:7px}
.al-est-f input{width:100%;font:inherit;font-size:14px;color:var(--text);background:none;border:0;
  border-bottom:1px solid transparent;padding:2px 0;outline:none}
.al-est-f input:hover{border-bottom-color:var(--border)}
.al-est-f input:focus{border-bottom-color:var(--text-4)}
.al-est-v{font-family:'Geist Mono',monospace;font-size:15px;font-weight:600;color:var(--text)}

/* Panel de detalle */
.al-drawer-bg{position:fixed;inset:0;background:rgba(24,24,27,.28);z-index:60;animation:al-fade .16s ease-out}
.al-drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);background:var(--surface);
  border-left:1px solid var(--border);z-index:61;display:flex;flex-direction:column;
  box-shadow:-12px 0 40px -18px rgba(0,0,0,.28);animation:al-slide .22s var(--ease-out,ease-out)}
@keyframes al-fade{from{opacity:0}to{opacity:1}}
@keyframes al-slide{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.al-drawer,.al-drawer-bg{animation:none}}
.al-d-head{display:flex;align-items:flex-start;gap:14px;padding:22px 24px 18px;border-bottom:1px solid var(--border)}
.al-d-head h3{font-size:17px;font-weight:650;letter-spacing:-.3px;color:var(--text);margin:0 0 4px}
.al-d-head p{font-size:12px;color:var(--text-3);margin:0}
.al-d-x{margin-left:auto;border:0;background:none;font-size:15px;color:var(--text-4);cursor:pointer;
  padding:4px 6px;border-radius:var(--radius-sm);line-height:1}
.al-d-x:hover{color:var(--text);background:var(--surface2)}
.al-d-body{flex:1;overflow-y:auto;padding:20px 24px 32px}
.al-d-pill{margin-bottom:20px}
.al-d-f{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}
.al-d-f.col{flex-direction:column;align-items:stretch;gap:7px}
.al-d-f>label{flex:0 0 118px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.al-d-f.col>label{flex:none}
.al-d-f input,.al-d-f select,.al-d-f textarea{flex:1;min-width:0;font:inherit;font-size:13.5px;color:var(--text);
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 9px;outline:none}
.al-d-f input:focus,.al-d-f select:focus,.al-d-f textarea:focus{border-color:var(--text-4)}
.al-d-f textarea{resize:vertical;line-height:1.55}
.al-d-mon{font-family:'Geist Mono',monospace;font-size:11px;color:var(--text-4)}
.al-d-ro{flex:1;font-size:13.5px;color:var(--text-2)}
.al-d-acciones{display:flex;gap:9px;margin-top:22px;flex-wrap:wrap}
.al-btn{font:inherit;font-size:12.5px;font-weight:600;color:var(--text-2);background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius);padding:9px 14px;cursor:pointer}
.al-btn:hover{border-color:var(--border2);color:var(--text)}
.al-btn--ok{background:var(--text);color:var(--surface);border-color:var(--text)}
.al-btn--ok:hover{background:var(--text-2);border-color:var(--text-2);color:var(--surface)}
.al-btn--peligro{color:var(--red);border-color:transparent}
.al-btn--peligro:hover{background:var(--red-soft);border-color:var(--red-soft)}
.al-d-hist{margin-top:30px;padding-top:18px;border-top:1px solid var(--border)}
.al-d-hist h4{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);margin:0 0 12px}
.al-d-hist ul{list-style:none;margin:0;padding:0}
.al-d-hist li{font-size:12.5px;color:var(--text-2);padding:7px 0;border-bottom:1px solid var(--border);line-height:1.5}
.al-d-hist li:last-child{border-bottom:none}
.al-h-f{display:block;font-family:'Geist Mono',monospace;font-size:10.5px;color:var(--text-4);margin-bottom:2px}

@media(max-width:820px){
  .al-wrap{padding:28px 20px 20px}
  .al-tabla th:nth-child(1),.al-tabla td:nth-child(1){display:none}
  .al-drawer{width:100vw}
}

/* ── Alta, menús y diálogos ── */
.al-tabla-head{display:flex;align-items:baseline;gap:14px;margin:34px 0 12px}
.al-tabla-head h2{font-size:15px;font-weight:650;letter-spacing:-.2px;color:var(--text);margin:0}
.al-add{margin-left:auto;font:inherit;font-size:12.5px;font-weight:600;color:var(--text-3);
  background:none;border:1px dashed var(--border2);border-radius:var(--radius);padding:7px 13px;cursor:pointer}
.al-add:hover{color:var(--text);border-color:var(--text-4);background:var(--surface2)}

.al-acc{width:44px;text-align:right;position:relative}
.al-mas{font:inherit;font-size:15px;line-height:1;color:var(--text-4);background:none;border:0;cursor:pointer;
  padding:4px 7px;border-radius:var(--radius-sm);opacity:.45;transition:opacity .12s}
.al-row:hover .al-mas,.al-mas:focus-visible{opacity:1}
.al-mas:hover{color:var(--text);background:var(--surface2)}
.al-menu{position:absolute;right:8px;top:34px;z-index:30;min-width:190px;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius);padding:5px;
  box-shadow:0 10px 30px -12px rgba(0,0,0,.22);text-align:left}
.al-menu button{display:block;width:100%;text-align:left;font:inherit;font-size:12.5px;color:var(--text-2);
  background:none;border:0;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}
.al-menu button:hover{background:var(--surface2);color:var(--text)}
.al-menu button.peligro{color:var(--red)}
.al-menu button.peligro:hover{background:var(--red-soft)}

.al-modal-bg{position:fixed;inset:0;background:rgba(24,24,27,.3);z-index:70;animation:al-fade .16s ease-out}
.al-modal{position:fixed;z-index:71;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,92vw);
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 26px;
  box-shadow:0 24px 60px -24px rgba(0,0,0,.34);animation:al-pop .2s var(--ease-out,ease-out)}
@keyframes al-pop{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.al-modal,.al-modal-bg{animation:none}}
.al-modal h3{font-size:16px;font-weight:650;letter-spacing:-.3px;color:var(--text);margin:0 0 8px;line-height:1.35}
.al-modal p{font-size:13px;line-height:1.6;color:var(--text-3);margin:0 0 20px}
.al-modal-acc{display:flex;gap:8px;flex-wrap:wrap}
.al-btn--ghost{border-color:transparent;color:var(--text-4)}
.al-btn--ghost:hover{color:var(--text-2);border-color:var(--border)}

/* Dos columnas: el resumen ocupa el ancho completo y debajo quedan los cuadros
   comparables de a pares (operativos | fijos, encuadre | estimaciones). */
#adminlegal-host{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;margin-top:14px}
#adminlegal-host > .cfx-panel:first-child{grid-column:1/-1}
@media(max-width:1000px){#adminlegal-host{grid-template-columns:1fr}}
