/* Control de Liquidaciones · tema visual (navy #0b1020, violeta #6d28d9, turquesa #14b8a6). Hoja única: base de componentes + tema. */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/InterVariable-latin.woff2") format("woff2")}
:root{
  --hx-primary:#0b1020;--hx-accent:#6d28d9;--hx-teal:#14b8a6;
  --hx-accent-600:#5b21b6;--hx-accent-50:#f4f0ff;--hx-accent-100:#ebe4fe;--hx-teal-50:#ecfdf8;
  --hx-ink:#0f172a;--hx-muted:#64748b;--hx-line:#e6e8f0;--hx-line-strong:#d6d9e4;--hx-surface:#ffffff;--hx-canvas:#f5f6fb;
  --hx-ok:#0f9f6e;--hx-ok-50:#e9f9f2;--hx-warn:#b45309;--hx-warn-50:#fff6e6;--hx-err:#dc2626;--hx-err-50:#fef1f1;
  --hx-radius:14px;--hx-radius-lg:18px;--hx-shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px -12px rgba(15,23,42,.12);
  --hx-shadow-lg:0 24px 48px -20px rgba(11,16,32,.35);--hx-sidebar:268px;
  /* Alias usados por la capa base (nombres históricos) */
  --navy:var(--hx-primary);--blue:var(--hx-accent-50);--gold:var(--hx-accent);--ink:var(--hx-ink);--muted:var(--hx-muted);--line:var(--hx-line);--bg:var(--hx-canvas);--white:#fff;
}

/* =====================================================================
   1. BASE · estructura de componentes (antes static/styles.css, depurada
      y con la paleta antigua sustituida por variables HELIX)
   ===================================================================== */
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(135deg,#fafbfe,var(--hx-canvas));color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}
.shell{width:min(1180px,calc(100% - 40px));margin:28px auto 60px}
.topbar{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.topbar h1{margin:0;font-size:24px}
.topbar p{margin:5px 0 0;color:var(--muted)}
.local{margin-left:auto;background:#fff;border:1px solid var(--line);padding:10px 16px;border-radius:999px;font-size:13px;font-weight:700}
.local i{display:inline-block;width:8px;height:8px;background:var(--hx-ok);border-radius:50%;margin-right:8px}
.workspace{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 18px 45px rgba(15,23,42,.05)}
.workspace section+section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}
.heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.heading>span{background:var(--blue);color:var(--navy);font-weight:800;padding:9px 11px;border-radius:10px}
.heading h2{font-size:18px;margin:5px 0}
.heading p{margin:0;color:var(--muted);font-size:14px}
.companies{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.company{position:relative;border:2px solid var(--line);border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;cursor:pointer;min-height:88px}
.company.selected{border-color:var(--gold);background:var(--hx-accent-50)}
.company input{position:absolute;opacity:0}
.company img{width:130px;height:46px;object-fit:contain}
.company b{margin-left:auto;color:var(--navy)}
.drop,.mini-drop{border:1.5px dashed var(--hx-line-strong);border-radius:16px;min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;cursor:pointer;background:#fafbfe;padding:20px}
.drop:hover,.mini-drop:hover{border-color:var(--navy);background:var(--hx-accent-50)}
.drop input,.mini-drop input{position:absolute;opacity:0}
.drop strong{font-size:18px;color:var(--navy)}
.drop small,.mini-drop small{color:var(--muted);margin-top:8px;max-width:760px}
.optional-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}
textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:15px;font:14px/1.5 ui-monospace,Consolas,monospace;resize:vertical}
.mini-drop{min-height:130px}
.outputs{display:flex;align-items:center;gap:12px;margin:24px 0 18px;padding:14px 18px;background:var(--blue);border-radius:14px}
.outputs span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:13px}
button{width:100%;border:0;background:var(--navy);color:#fff;border-radius:14px;padding:17px;font-size:16px;font-weight:800;cursor:pointer}
button:hover{filter:brightness(1.08)}
button:disabled{opacity:.6;cursor:wait}
.status{margin:18px 0;padding:16px 20px;border-radius:14px}
.status.loading{background:var(--hx-accent-50);color:var(--hx-accent-600)}
.status.error{background:var(--hx-err-50);color:var(--hx-err);border:1px solid #fbcaca}
.hidden{display:none!important}
#results{margin-top:20px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.metrics div{background:var(--hx-canvas);border:1px solid var(--line);border-radius:14px;padding:18px}
.metrics b{display:block;font-size:24px;color:var(--navy)}
.metrics span{font-size:13px;color:var(--muted)}
.download-group{margin:20px 0}
.download-group h3{font-size:15px}
.downloads{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.download{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:13px;color:var(--ink);text-decoration:none}
.download span{font-size:11px;font-weight:800;background:var(--blue);color:var(--navy);padding:7px;border-radius:7px}
.download b{font-size:13px;overflow:hidden;text-overflow:ellipsis}
.download em{font-size:12px;color:var(--navy);font-style:normal}
.notice{padding:13px 16px;border-radius:12px;background:var(--hx-ok-50);color:var(--hx-ok);margin:10px 0}
.notice.warn{background:var(--hx-warn-50);color:var(--hx-warn)}
.table-wrap{overflow:auto;margin-top:22px;border:1px solid var(--line);border-radius:14px}
table{width:100%;border-collapse:collapse;font-size:13px}
th{background:var(--navy);color:#fff;text-align:left;padding:12px}
td{padding:11px 12px;border-bottom:1px solid var(--line)}
tbody tr:nth-child(even){background:#fafbfe}
.secondary{width:auto;margin-top:20px;background:#eef0f6;color:var(--navy)}
@media (max-width:800px){
  .companies,.metrics,.downloads,.optional-grid{grid-template-columns:1fr}
  .company b{display:none}
  .outputs{align-items:flex-start;flex-direction:column}
  .local{display:none}
  .shell{width:min(100% - 20px,1180px)}
}
.outlook-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr .75fr .75fr;gap:12px;align-items:end}
.outlook-grid label span{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 7px}
.outlook-grid input{width:100%;height:44px;border:1px solid var(--line);border-radius:10px;padding:0 11px;font:14px inherit}
.outlook-button{height:44px;padding:0 14px;font-size:13px}
.outlook-status{margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--blue);color:var(--navy);font-size:13px}
.outlook-status.error{background:var(--hx-err-50);color:var(--hx-err)}
.outlook-results{margin-top:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.mail-card{padding:14px 16px;border-bottom:1px solid var(--line)}
.mail-card:last-child{border-bottom:0}
.mail-head{display:flex;gap:12px;justify-content:space-between}
.mail-head b{font-size:14px}
.mail-head small{color:var(--muted)}
.mail-meta{color:var(--muted);font-size:12px;margin:5px 0 10px}
.attachment-row{display:flex;align-items:center;gap:10px;background:var(--hx-canvas);border-radius:9px;padding:9px 11px;margin-top:6px}
.attachment-row input{width:17px;height:17px}
.attachment-row span{font-size:13px}
.attachment-row small{margin-left:auto;color:var(--muted)}
@media (max-width:1000px){
  .outlook-grid{grid-template-columns:1fr 1fr}
  .outlook-button{grid-column:1/-1}
}
@media (max-width:800px){
  .outlook-grid{grid-template-columns:1fr}
}
.source-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.source-card{position:relative;border:2px solid var(--line);border-radius:15px;padding:17px;cursor:pointer;background:#fff}
.source-card.selected{border-color:var(--gold);background:var(--hx-accent-50)}
.source-card input{position:absolute;opacity:0}
.source-card strong,.source-card small{display:block}
.source-card strong{color:var(--navy);font-size:15px}
.source-card small{color:var(--muted);margin-top:5px}
@media (max-width:800px){
  .source-options{grid-template-columns:1fr}
}
.stage-area{min-width:0}
.wizard-nav{position:sticky;top:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 18px 45px rgba(15,23,42,.05)}
.wizard-nav>p{margin:4px 10px 10px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em}
.wizard-step{width:100%;display:flex;align-items:center;gap:11px;text-align:left;background:transparent;color:var(--muted);padding:12px;border-radius:12px;font-size:14px}
.wizard-step:hover{filter:none;background:var(--hx-canvas)}
.wizard-step:disabled{opacity:.45;cursor:not-allowed}
.wizard-step>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:#eef0f6;color:var(--muted);font-weight:800}
.wizard-step div{display:flex;flex-direction:column;gap:2px}
.wizard-step small{font-size:11px;font-weight:400}
.wizard-step.active{background:var(--navy);color:#fff}
.wizard-step.active>span{background:#fff;color:var(--navy)}
.wizard-step.done:not(.active){color:var(--navy)}
.wizard-step.done>span{background:var(--hx-ok-50);color:var(--hx-ok)}
.screen-title{margin:-4px 0 26px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.screen-title>span{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--gold)}
.screen-title h2{margin:7px 0 4px;font-size:25px}
.screen-title p{margin:0;color:var(--muted)}
.nav-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}
.nav-actions.end{justify-content:flex-end}
.nav-actions button{width:auto;min-width:190px}
.generation-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.generation-summary div{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fafbfe}
.generation-summary b{display:block;color:var(--navy);font-size:24px}
.generation-summary span{color:var(--muted);font-size:12px}
.generation-summary .wide{grid-column:1/-1}
.generation-summary .wide b{font-size:15px}
.generation-summary .changed-up{background:var(--hx-accent-50);border-color:var(--hx-accent-100)}
.generation-summary .changed-down{background:var(--hx-warn-50);border-color:#f3dcb0}
.confirm-box{border:1px solid #f3dcb0;background:var(--hx-accent-50);border-radius:14px;padding:18px;margin-top:18px}
.confirm-box p{margin:6px 0 0;color:var(--muted)}
.output-options{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.output-card{position:relative;display:flex;align-items:center;gap:12px;border:2px solid var(--line);border-radius:15px;padding:17px;cursor:pointer;background:#fff}
.output-card input{position:absolute;opacity:0}
.output-card>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eef0f6;color:transparent;font-weight:900}
.output-card strong,.output-card small{display:block}
.output-card strong{color:var(--navy)}
.output-card small{margin-top:4px;color:var(--muted)}
.output-card.selected{border-color:var(--gold);background:var(--hx-accent-50)}
.output-card.selected>span{background:var(--navy);color:#fff}
.history-note{margin:11px 2px 0;color:var(--muted);font-size:12px}
@media (max-width:950px){
  .wizard-nav{position:static;display:grid;grid-template-columns:repeat(4,1fr)}
  .wizard-nav>p{display:none}
  .wizard-step small{display:none}
  .generation-summary{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:800px){
  .output-options{grid-template-columns:1fr}
}
@media (max-width:650px){
  .wizard-nav{grid-template-columns:repeat(2,1fr)}
  .nav-actions{flex-direction:column-reverse}
  .nav-actions button{width:100%}
  .generation-summary{grid-template-columns:1fr}
  .generation-summary .wide{grid-column:auto}
}
.preview-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;background:var(--hx-canvas);border:1px solid var(--line);border-radius:13px;margin-bottom:14px}
.preview-actions div{display:flex;flex-direction:column;gap:4px}
.preview-actions small{color:var(--muted)}
button.danger,.row-delete,.source-remove{width:auto;background:var(--hx-err-50);color:var(--hx-err);border:1px solid #fbcaca;padding:10px 13px;font-size:13px}
.source-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.source-remove{display:inline-flex;align-items:center;gap:7px;border-radius:999px}
.source-remove b{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.edit-table{min-width:1120px}
.edit-table input{width:92px;border:1px solid var(--line);border-radius:8px;padding:8px;text-align:right;font:13px inherit}
.edit-table td:first-child{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.edit-table tr.changed-up{background:var(--hx-accent-50)}
.edit-table tr.changed-down{background:var(--hx-warn-50)}
.edit-table tr.changed-up:nth-child(even){background:var(--hx-accent-50)}
.edit-table tr.changed-down:nth-child(even){background:var(--hx-warn-50)}
.row-delete{padding:7px 10px}
.preview-legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;color:var(--muted);font-size:12px;margin:12px 0 18px}
.preview-legend span{display:flex;align-items:center;gap:6px}
.preview-legend i{width:13px;height:13px;border-radius:3px}
.preview-legend .up{background:var(--hx-accent-100)}
.preview-legend .down{background:var(--hx-warn-50)}
@media (max-width:800px){
  .preview-actions{align-items:flex-start;flex-direction:column}
  .preview-actions .danger{width:100%}
}
.history-filters{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:12px}
.history-filters label span{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:7px}
.history-filters input,.history-filters select{width:100%;height:44px;border:1px solid var(--line);border-radius:10px;padding:0 11px;background:#fff;font:14px inherit}
.history-actions{justify-content:flex-start}
.history-actions .secondary{margin-top:0}
.button-link{display:inline-flex;align-items:center;justify-content:center;min-width:170px;background:var(--gold);color:#fff;text-decoration:none;border-radius:14px;padding:15px;font-weight:800}
.history-metrics{grid-template-columns:repeat(3,1fr);margin-top:22px}
.history-metrics:empty{display:none}
#history .table-wrap td:nth-child(5){max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#history tr.changed-up{background:var(--hx-accent-50)}
#history tr.changed-down{background:var(--hx-warn-50)}
@media (max-width:900px){
  .history-filters{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .history-filters{grid-template-columns:1fr}
  .history-actions{flex-direction:column}
  .history-actions>*{width:100%}
}
.history-output-panel{display:grid;grid-template-columns:1fr 180px 220px;align-items:end;gap:14px;padding:18px;margin-bottom:22px;border:1px solid var(--hx-accent-100);border-radius:14px;background:var(--hx-accent-50)}
.history-output-panel b{font-size:16px;color:var(--navy)}
.history-output-panel p{margin:5px 0 0;color:var(--muted);font-size:13px}
.history-output-panel label span{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:7px}
.history-output-panel input{width:100%;height:48px;border:1px solid var(--line);border-radius:10px;padding:0 11px;background:#fff;font:14px inherit}
.history-output-panel button{height:48px;padding:0 15px;font-size:14px}
@media (max-width:800px){
  .history-output-panel{grid-template-columns:1fr}
  .history-output-panel button{width:100%}
}
.history-docs{display:flex;gap:6px;min-width:180px}
.history-docs a{display:inline-block;padding:7px 9px;border-radius:8px;background:var(--navy);color:#fff;text-decoration:none;font-size:11px;font-weight:800}
.history-docs a:last-child{background:var(--gold);color:#fff}
.revision-button{width:auto;padding:7px 11px;border-radius:8px;font-size:12px}
.module-switch{width:100%;display:flex;align-items:center;gap:11px;text-align:left;background:var(--hx-canvas);color:var(--navy);padding:13px;border-radius:12px;font-size:14px;margin-bottom:7px}
.module-switch>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:#e8eaf2;font-weight:800}
.module-switch div{display:flex;flex-direction:column;gap:2px}
.module-switch small{font-size:11px;font-weight:400;color:var(--muted)}
.module-switch.active{background:var(--navy);color:#fff}
.module-switch.active>span{background:#fff;color:var(--navy)}
.module-switch.active small{color:#e8eaf2}
.process-nav{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.process-nav>p{margin:4px 10px 8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em}
.process-nav .wizard-step{padding:9px 11px}
.process-nav .wizard-step>span{flex-basis:26px;height:26px}
.module-switch:hover{filter:none;background:#eef0f6}
.module-switch.active:hover{background:var(--navy)}
@media (max-width:950px){
  .wizard-nav{grid-template-columns:1fr 1fr}
  .process-nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
  .process-nav>p{display:none}
  .module-switch{margin-bottom:0}
}
@media (max-width:650px){
  .process-nav{grid-template-columns:1fr 1fr}
  .module-switch small{display:none}
}
.detail-unavailable{display:block;min-width:125px;color:var(--muted);font-size:11px}
.history-selection{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;margin:18px 0 0;border:1px solid var(--line);border-radius:13px;background:var(--hx-canvas)}
.history-selection .selection-copy{display:flex;flex-direction:column;gap:4px}
.history-selection small{color:var(--muted)}
.history-selection .selection-buttons{display:flex;flex-direction:row;gap:8px}
.history-selection button{width:auto;padding:12px 16px;font-size:13px}
.history-selection #download-selected-productions{background:var(--gold);color:#fff}
.select-column{width:44px;text-align:center}
.select-column input{width:18px;height:18px;accent-color:var(--navy)}
@media (max-width:700px){
  .history-selection{align-items:stretch;flex-direction:column}
  .history-selection .selection-buttons{flex-direction:column}
  .history-selection button{width:100%}
}
.email-safe-note{display:flex;align-items:center;gap:12px;padding:15px 18px;margin-bottom:22px;border:1px solid var(--hx-accent-100);border-radius:14px;background:var(--hx-accent-50);color:var(--navy)}
.email-safe-note span{color:var(--muted);font-size:13px}
.email-settings{display:grid;gap:14px}
.email-setting-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fafbfe}
.email-setting-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.email-setting-head b{color:var(--navy);font-size:16px}
.credential-state{font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px;background:var(--hx-err-50);color:var(--hx-err)}
.credential-state.ok{background:var(--hx-ok-50);color:var(--hx-ok)}
.email-setting-grid{display:grid;grid-template-columns:1.4fr 1.2fr .5fr 1fr;gap:10px}
.email-setting-grid label span,.contact-form label span,.contact-import label span{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
.email-setting-grid input,.email-setting-grid select,.contact-form input,.contact-form select,.contact-import input{width:100%;height:42px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;font:13px inherit}
.email-setting-grid .subject-field{grid-column:1/-1}
.email-setting-grid .body-field{grid-column:1/-1}
.email-setting-grid textarea{min-height:130px;background:#fff;font-family:Inter,Segoe UI,Arial,sans-serif}
.email-setting-card button{width:auto;margin-top:12px;padding:12px 16px;font-size:13px}
.template-help{font-size:12px;color:var(--muted)}
.template-help code{padding:2px 5px;border-radius:5px;background:#eef0f6}
.contact-form{display:grid;grid-template-columns:.9fr .8fr 1.2fr 1.5fr auto;gap:10px;align-items:end}
.contact-form button{height:42px;padding:0 15px;font-size:13px}
.contact-import{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-top:14px}
.contact-import .mini-drop{min-height:92px}
.contact-import>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.contact-import .secondary{margin:0;height:42px;padding:0 14px;font-size:13px}
.email-query-actions{justify-content:flex-start}
.email-query-actions button{min-width:220px}
.email-query-actions #create-email-drafts{background:var(--gold);color:#fff}
.email-candidate-table{min-width:1050px}
.email-status{display:inline-block;padding:6px 9px;border-radius:999px;background:var(--hx-ok-50);color:var(--hx-ok);font-size:11px;font-weight:800}
.email-status.problem{background:var(--hx-err-50);color:var(--hx-err)}
.email-status.repeat{background:var(--hx-warn-50);color:var(--hx-warn);margin-left:4px}
#contact-body button{width:auto;padding:7px 10px;font-size:11px;background:var(--hx-err-50);color:var(--hx-err);border:1px solid #fbcaca}
#email-log-body .error-text{color:var(--hx-err);font-weight:700}
#email-log-body .ok-text{color:var(--hx-ok);font-weight:700}
@media (max-width:1050px){
  .email-setting-grid{grid-template-columns:1fr 1fr}
  .contact-form{grid-template-columns:1fr 1fr}
  .contact-form button{grid-column:1/-1}
  .contact-import{grid-template-columns:1fr}
}
@media (max-width:650px){
  .email-safe-note{align-items:flex-start;flex-direction:column}
  .email-setting-grid,.contact-form{grid-template-columns:1fr}
  .email-setting-grid .subject-field,.email-setting-grid .body-field,.contact-form button{grid-column:auto}
  .contact-import>div{grid-template-columns:1fr}
  .email-query-actions{flex-direction:column}
  .email-query-actions button{width:100%}
}
.email-screen-title,.processing-screen-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.email-screen-title>div,.processing-screen-title>div{min-width:0}
.email-screen-title>div>span,.processing-screen-title>div>span{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--gold)}
.settings-button{width:auto;flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:11px 16px}
.settings-button span{font-size:17px}
.modal-open{overflow:hidden}
.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(11,16,32,.6);backdrop-filter:blur(3px)}
.modal-backdrop.hidden{display:none}
.modal-panel{width:min(1120px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.28);overflow:hidden}
.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line)}
.modal-header>div>span{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--gold)}
.modal-header h2{margin:5px 0 4px;color:var(--navy)}
.modal-header p{margin:0;color:var(--muted);font-size:13px}
.modal-close{width:40px;height:40px;flex:0 0 40px;padding:0;border-radius:10px;background:#eef0f6;color:var(--navy);font-size:25px;line-height:1}
.modal-content{padding:22px 24px;overflow:auto}
.modal-footer{display:flex;justify-content:flex-end;padding:15px 24px;border-top:1px solid var(--line);background:#f8fafc}
.modal-footer button{width:auto;min-width:180px}
.email-settings-panel .template-help{margin:14px 2px 0}
.incoming-safe-note{margin:0 0 18px}
@media (max-width:650px){
  .email-screen-title,.processing-screen-title{align-items:stretch;flex-direction:column}
  .settings-button{width:100%;justify-content:center}
  .modal-backdrop{padding:0}
  .modal-panel{height:100vh;max-height:100vh;border-radius:0}
  .modal-header,.modal-content,.modal-footer{padding-left:16px;padding-right:16px}
  .modal-footer button{width:100%}
}
.draft-send-bar{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--hx-canvas)}
.draft-send-bar>div{display:flex;flex:1;flex-direction:column;gap:3px}
.draft-send-bar small{color:var(--muted)}
.draft-send-bar button{width:auto;margin:0;padding:12px 16px;font-size:13px}
.draft-send-bar .secondary{background:#eef0f6;color:var(--navy)}
.draft-send-bar .danger{background:var(--hx-err);color:#fff}
.draft-send-bar #send-selected-drafts{background:var(--hx-ok)}
.prepared-drafts-table{min-width:1150px}
.prepared-drafts-table td:nth-child(7){max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prepared-drafts-table tr.already-sent{background:var(--hx-warn-50)}
.prepared-drafts-table tr.already-sent:nth-child(even){background:var(--hx-warn-50)}
@media (max-width:800px){
  .draft-send-bar{align-items:stretch;flex-direction:column}
  .draft-send-bar button{width:100%}
}
.contact-list-launch{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
.contact-list-launch b{color:var(--navy)}
.contact-list-launch small{color:var(--muted)}
.contact-list-launch button{width:auto;margin-top:5px}
.contact-list-backdrop{z-index:1050}
.contact-list-panel{width:min(1000px,100%)}
.contact-list-filters{display:grid;grid-template-columns:.8fr 1.5fr auto;gap:10px;align-items:end;margin-bottom:14px}
.contact-list-filters label span{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
.contact-list-filters input,.contact-list-filters select{width:100%;height:42px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;font:13px inherit}
.contact-list-filters button{height:42px;width:auto}
.contact-import-backdrop{z-index:1100}
.contact-import-panel{width:min(1240px,100%)}
.import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.import-summary>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.import-summary b{display:block;color:var(--navy);font-size:22px}
.import-summary span{color:var(--muted);font-size:12px}
.import-summary .new{background:var(--hx-ok-50)}
.import-summary .update{background:var(--hx-warn-50)}
.import-summary .error{background:var(--hx-err-50)}
.import-choice{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:15px;padding:13px 15px;border:1px solid var(--line);border-radius:12px}
.import-choice label{display:flex;align-items:center;gap:7px;font-size:13px}
.contact-preview-table{min-width:920px}
.modal-footer{gap:10px}
@media (max-width:650px){
  .contact-list-filters{grid-template-columns:1fr}
  .contact-list-filters button{width:100%}
  .import-summary{grid-template-columns:1fr 1fr}
  .import-choice{align-items:flex-start;flex-direction:column;gap:10px}
}
.draft-document-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.draft-document-option{position:relative;display:flex;align-items:center;min-height:76px;padding:14px 16px;border:2px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}
.draft-document-option input{position:absolute;opacity:0}
.draft-document-option span{display:flex;flex-direction:column;gap:4px}
.draft-document-option b{color:var(--navy)}
.draft-document-option small{color:var(--muted);line-height:1.3}
.draft-document-option.selected{border-color:var(--gold);background:var(--hx-accent-50);box-shadow:0 0 0 1px rgba(109,40,217,.12)}
.draft-document-option.selected:after{content:"✓";position:absolute;top:10px;right:12px;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--navy);color:#fff;font-weight:900}
@media (max-width:750px){
  .draft-document-selector{grid-template-columns:1fr}
}
.email-driver-selection{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin:15px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
.driver-selection-copy{grid-column:1/-1;display:flex;flex-direction:column;gap:4px}
.driver-selection-copy b{color:var(--navy)}
.driver-selection-copy small{color:var(--muted)}
.driver-manual span{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
.driver-manual textarea{width:100%;min-height:112px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;font:13px Inter,Segoe UI,Arial,sans-serif;resize:vertical}
.driver-file{min-height:112px;background:#fff}
.driver-selection-status{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}
.driver-selection-status b{color:var(--navy)}
.driver-selection-status button{width:auto;padding:9px 13px;font-size:12px}
@media (max-width:750px){
  .email-driver-selection{grid-template-columns:1fr}
  .driver-selection-copy,.driver-selection-status{grid-column:auto}
  .driver-selection-status{align-items:stretch;flex-direction:column}
  .driver-selection-status button{width:100%}
}
.activity-scroll{max-height:326px;overflow-y:auto}
.activity-scroll table{margin:0}
.activity-scroll thead{position:sticky;top:0;z-index:2}
.activity-scroll tbody tr{height:54px}
.activity-scroll tbody td{vertical-align:middle}
#history .history-scroll{max-height:390px;overflow:auto}
#history .history-scroll thead{position:sticky;top:0;z-index:2}
#history .history-scroll tbody tr{height:68px}
.email-recipient-once{width:245px;max-width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.email-recipient-once:disabled{background:#eef0f6}
.email-one-time-panel{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) auto;align-items:end;gap:10px;margin:16px 0;padding:16px;border:1px solid var(--hx-accent-100);border-radius:14px;background:var(--hx-accent-50)}
.email-one-time-panel>div{grid-column:1/-1;display:flex;flex-direction:column;gap:5px}
.email-one-time-panel b{color:var(--navy);font-size:16px}
.email-one-time-panel small{color:var(--muted);line-height:1.4}
.email-one-time-panel label{font-size:13px;font-weight:700;color:var(--navy);align-self:center}
.email-one-time-panel input{width:100%;min-width:0;height:43px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}
.email-one-time-panel button{width:auto;min-height:43px;padding:9px 14px}
@media (max-width:750px){
  .email-one-time-panel{grid-template-columns:1fr}
  .email-one-time-panel>div{grid-column:auto}
  .email-one-time-panel button{width:100%}
}
.email-template-divider{grid-column:1/-1;padding:12px 0 3px;border-top:1px solid var(--line);color:var(--navy);font-weight:800;font-size:13px}
#pf-assignments-list{overflow:auto;scrollbar-gutter:stable}
#pf-assignments-list thead{position:sticky;top:0;z-index:2}
#pf-assignments-list thead th{background:var(--navy)}
#pf-grid{overflow:auto;scrollbar-gutter:stable}
#pf-grid thead{position:sticky;top:0;z-index:2}
#pf-grid thead th{background:var(--navy)}
#pf-grid .pf-matrix{width:max-content;min-width:100%}
#pf-grid .pf-matrix th:first-child{position:sticky;left:0;z-index:3;min-width:118px;background:var(--navy)}
#pf-grid .pf-matrix thead th:first-child{z-index:4}
#pf-grid .pf-matrix tbody th:first-child{font-weight:800;color:#fff}
#pf-saved,#pf-draft-list,#pf-invoice-saved,#pf-invoice-draft-list{overflow:auto;scrollbar-gutter:stable}
#pf-saved thead,#pf-draft-list thead,#pf-invoice-saved thead,#pf-invoice-draft-list thead{position:sticky;top:0;z-index:2}
.pf-sortable{cursor:pointer;user-select:none}
.pf-sortable:hover{background:var(--hx-accent-600)}
.pf-sortable[aria-sort=ascending]::after{content:" ↑"}
.pf-sortable[aria-sort=descending]::after{content:" ↓"}
.pf-result-panel{width:min(500px,100%)}
.pf-result-panel .modal-content{white-space:pre-wrap;line-height:1.5}
.pf-result-error .modal-header{background:var(--hx-err-50)}
.pf-result-error .modal-header h2{color:var(--hx-err)}
.pf-pdf-panel{width:min(1050px,100%);height:min(900px,calc(100vh - 48px))}
.pf-pdf-panel iframe{width:100%;min-height:0;flex:1;border:0;background:var(--hx-canvas)}
.pf-pdf-panel #pf-pdf-error{margin:16px}
.pf-pdf-panel .modal-footer .button-link{min-width:160px}
.pf-pdf-panel .modal-footer button{width:auto}
@media (max-width:650px){
  .pf-pdf-panel{height:100vh}
  .pf-pdf-panel .modal-footer{display:flex;gap:8px}
  .pf-pdf-panel .modal-footer>*{flex:1;min-width:0!important}
}
.pf-grid-actions{display:flex;justify-content:flex-end;margin:12px 0}
.pf-grid-actions button{width:auto}
.pf-route-management{width:90px;max-width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;text-align:right}
.pf-daily-grid-scroll{max-width:100%;overflow:auto;margin:12px 0 18px;border:1px solid var(--line);border-radius:10px}
.pf-daily-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
.pf-daily-grid th,.pf-daily-grid td{min-width:145px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;white-space:nowrap}
.pf-daily-grid th:first-child{position:sticky;left:0;z-index:2;min-width:115px;background:var(--navy);color:#fff}
.pf-daily-grid thead th{position:sticky;top:0;z-index:3;background:var(--navy);color:#fff}
.pf-daily-grid thead th:first-child{z-index:4}
.pf-daily-grid tbody th:first-child{background:var(--hx-accent-50);color:var(--navy)}
.pf-daily-grid tfoot th:first-child{background:var(--navy)}
.pf-daily-grid tfoot td,.pf-daily-total{font-weight:700;background:var(--hx-accent-50);text-align:right}
.pf-daily-grid td small{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}
.pf-daily-grid .pf-amount{width:110px;max-width:100%;padding:6px;border:1px solid var(--line);border-radius:6px;text-align:right}
.pf-daily-grid .pf-daily-empty{text-align:center;color:var(--muted)}
.pf-payment-status{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-weight:700;cursor:pointer}
.pf-payment-status.paid{background:var(--hx-ok-50);color:var(--hx-ok)}
.pf-payment-status.pending{background:var(--hx-warn-50);color:var(--hx-warn)}
.sidebar-settings{margin-bottom:14px;border:1px solid var(--hx-line-strong);background:var(--hx-canvas);color:var(--navy)}
.sidebar-settings>span{font-size:20px}
.sidebar-settings.active{border-color:var(--navy);background:var(--navy);color:#fff}
.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.settings-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:174px;width:100%;padding:22px;border:1px solid var(--line);border-radius:16px;background:#f8fafc;color:var(--navy);text-decoration:none;text-align:left;cursor:pointer;font:inherit}
.settings-card:hover,.settings-card:focus-visible{border-color:var(--gold);background:var(--hx-accent-50);box-shadow:0 4px 16px rgba(109,40,217,.08)}
.settings-card>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#eef0f6;font-size:23px}
.settings-card b{font-size:17px}
.settings-card small{color:var(--muted);font-size:13px;line-height:1.45}
@media (max-width:800px){
  .settings-grid{grid-template-columns:1fr}
  .settings-card{min-height:135px}
}
.prefactura-filters,.pf-assignment-form,.pf-invoice-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));align-items:end;gap:12px;margin:18px 0}
.pf-assignment-form label,.pf-invoice-controls label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:700}
.pf-assignment-form input,.pf-assignment-form select,.pf-invoice-controls input,.pf-invoice-controls select,.prefactura-filters input,.prefactura-filters select{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff;color:var(--ink)}
.pf-legend{display:flex;gap:18px;color:var(--muted);font-size:12px;margin:12px 0}
.pf-legend i{display:inline-block;width:12px;height:12px;border:1px solid var(--line);background:white;vertical-align:-2px;margin-right:5px}
.pf-legend i.used,.pf-used{background:#e6fbf6!important}
.pf-matrix{min-width:600px}
.pf-matrix td{text-align:center;min-width:76px}
.pf-amount{width:130px;max-width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;text-align:right}
.pf-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:16px 0}
.pf-totals>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.pf-totals span,.pf-totals b{display:block}
.pf-totals span{font-size:12px;color:var(--muted)}
.pf-totals b{margin-top:5px;color:var(--navy)}
.pf-totals .pf-payable{background:var(--hx-accent-50);border-color:#c4b5fd}
.pf-totals .pf-payable b{font-size:20px}
.pf-totals .pf-margin{background:var(--hx-warn-50);border-color:#f3dcb0}
.pf-saved{margin-top:14px}
.pf-legend i.locked,.pf-locked{background:var(--hx-accent-50)!important}
.pf-locked{font-weight:800;color:var(--navy)}
.pf-row-actions{display:flex;align-items:center;gap:6px;min-width:280px}
.pf-row-actions a,.pf-row-actions button{width:auto;white-space:nowrap;padding:8px 10px;border-radius:8px;font-size:12px;text-decoration:none}
.pf-row-actions a{background:var(--navy);color:#fff;font-weight:800}
.pf-row-actions .danger{background:var(--hx-err-50);color:var(--hx-err);border:1px solid #fbcaca}
@media (max-width:650px){
  .prefactura-filters,.pf-assignment-form,.pf-invoice-controls{grid-template-columns:1fr 1fr}
  .pf-invoice-controls button,.pf-assignment-form button,.prefactura-filters button{grid-column:1/-1}
}
.pf-archive{margin:18px 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.pf-archive summary{cursor:pointer;font-weight:800;color:var(--navy)}
.pf-archive table{margin-top:14px}
.pf-reset-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:16px;border:1px solid #f3dcb0;border-radius:12px;background:var(--hx-accent-50)}
.pf-reset-panel div{display:flex;flex-direction:column;gap:5px}
.pf-reset-panel small{color:var(--muted)}
.pf-reset-panel button{width:auto;white-space:nowrap}
@media (max-width:650px){
  .pf-reset-panel{align-items:stretch;flex-direction:column}
  .pf-reset-panel button{width:100%}
}
.pf-reset-panel .pf-reset-actions{display:flex;flex-direction:row;gap:8px}
@media (max-width:650px){
  .pf-reset-panel .pf-reset-actions{flex-direction:column}
}
.pf-billing-panel{margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fafbfe}
.pf-billing-panel b{display:block;color:var(--navy);font-size:18px}
.pf-billing-panel small{display:block;margin:6px 0 14px;color:var(--muted)}
.pf-billing-panel .pf-assignment-form{margin:12px 0}
.pf-billing-panel input,.pf-billing-panel textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff;color:var(--ink)}
.pf-billing-panel textarea{font:14px/1.4 Inter,Segoe UI,Arial,sans-serif}
.pf-billing-panel button{width:auto}
@media (max-width:650px){
  .pf-billing-panel button{width:100%}
}
.dv-adjust-inputs{display:grid;grid-template-columns:minmax(110px,1fr) 115px minmax(150px,1.5fr) auto;gap:6px;min-width:530px;align-items:center}
.dv-adjust-inputs input{min-width:0;width:100%;padding:8px;border:1px solid var(--line);border-radius:8px}
.dv-adjust-inputs button,.dv-saved-adjustments button{width:auto;white-space:nowrap;padding:8px}
.dv-saved-adjustments>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.dv-saved-adjustments small{overflow-wrap:anywhere}
.dv-provider{min-width:175px}
.dv-fixed-cell{display:flex;align-items:center;gap:6px;white-space:nowrap}
.dv-fixed-cell input{width:125px;padding:8px;border:1px solid var(--line);border-radius:8px}
.dv-fixed-cell button{width:auto;padding:8px}

/* =====================================================================
   2. TEMA · capa visual
   ===================================================================== */
html{-webkit-text-size-adjust:100%}
body.hx{margin:0;background:var(--hx-canvas);color:var(--hx-ink);font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.5;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}
.hx-ico{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.hx :focus-visible{outline:2px solid var(--hx-accent);outline-offset:2px}

/* ---------- Layout ---------- */
.hx-app{display:grid;grid-template-columns:var(--hx-sidebar) minmax(0,1fr);min-height:100vh}
.hx-sidebar.wizard-nav{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin:0;border:0;border-radius:0;box-shadow:none;padding:20px 14px 14px;
  background:radial-gradient(120% 60% at 0% 0%,rgba(109,40,217,.28),transparent 60%),radial-gradient(100% 50% at 100% 100%,rgba(20,184,166,.14),transparent 60%),var(--hx-primary);color:#c9cde0;scrollbar-width:thin;scrollbar-color:#2a3150 transparent}
.hx-brand{display:flex;flex-direction:column;gap:6px;padding:4px 10px 18px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.07)}
.hx-brand img{display:block;height:36px;width:auto}
.hx-brand small{color:#8c93b3;font-size:11.5px;line-height:1.35}
.hx-sidebar>p{margin:16px 12px 6px;color:#6f7699;font-size:10.5px;font-weight:700;letter-spacing:.14em}
.hx-sidebar .module-switch{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:9px 10px;border-radius:11px;background:transparent;color:#cfd3e6;font-size:13.5px;font-weight:600;text-align:left;transition:background .15s,color .15s}
.hx-sidebar .module-switch>span{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:9px;background:rgba(255,255,255,.05);color:#a9b0cf;transition:inherit}
.hx-sidebar .module-switch small{color:#7d84a6;font-size:11px;font-weight:400}
.hx-sidebar .module-switch b{font-weight:600}
.hx-sidebar .module-switch:hover{background:rgba(255,255,255,.06);color:#fff;filter:none}
.hx-sidebar .module-switch.active{background:linear-gradient(90deg,rgba(109,40,217,.42),rgba(109,40,217,.12));color:#fff;box-shadow:inset 3px 0 0 var(--hx-teal)}
.hx-sidebar .module-switch.active>span{background:var(--hx-accent);color:#fff;box-shadow:0 6px 16px -6px rgba(109,40,217,.9)}
.hx-sidebar .module-switch.active small{color:#c8bdf5}
.hx-sidebar .module-switch.active:hover{background:linear-gradient(90deg,rgba(109,40,217,.5),rgba(109,40,217,.16))}
.hx-sidebar .process-nav{margin:2px 0 6px 22px;padding:4px 0 4px 12px;border-top:0;border-left:1px solid rgba(255,255,255,.09)}
.hx-sidebar .process-nav>p{display:none}
.hx-sidebar .wizard-step{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;margin:0;border-radius:9px;background:transparent;color:#8d94b5;font-size:12.5px;font-weight:600;text-align:left}
.hx-sidebar .wizard-step>span{flex:0 0 22px;height:22px;border-radius:7px;background:rgba(255,255,255,.06);color:#8d94b5;font-size:11px;display:grid;place-items:center}
.hx-sidebar .wizard-step small{display:none}
.hx-sidebar .wizard-step:hover:not(:disabled){background:rgba(255,255,255,.05);color:#fff}
.hx-sidebar .wizard-step.active{background:transparent;color:#fff}
.hx-sidebar .wizard-step.active>span{background:var(--hx-teal);color:var(--hx-primary)}
.hx-sidebar .wizard-step.done>span{background:rgba(20,184,166,.18);color:#5eead4}
.hx-sidebar-foot{margin-top:auto;padding:14px 6px 2px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:10px}
.hx-user{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.hx-user div{display:flex;flex-direction:column;min-width:0}
.hx-user b{color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-user small{color:#7d84a6;font-size:11px}
.hx-avatar{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--hx-accent),var(--hx-teal));color:#fff;font-weight:700}
.hx .hx-icon-button,.hx-icon-button{display:grid;place-items:center;width:36px;height:36px;padding:0;margin:0;border-radius:10px;background:rgba(255,255,255,.06);color:#cfd3e6}
.hx .hx-icon-button:hover{background:rgba(255,255,255,.12);color:#fff;filter:none}
.hx-main{min-width:0;display:flex;flex-direction:column}
.hx-topbar.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;margin:0;padding:14px 32px;background:rgba(245,246,251,.82);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--hx-line)}
.hx-crumbs{display:flex;flex-direction:column;min-width:0}
.hx-crumbs span{font-size:11.5px;color:var(--hx-muted);font-weight:600;letter-spacing:.02em}
.hx-crumbs h1{margin:0;font-size:20px;font-weight:700;letter-spacing:-.015em;color:var(--hx-ink)}
.hx-topbar .cloud-nav{margin-left:auto;display:flex;align-items:center;gap:8px}
.hx-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#fff;border:1px solid var(--hx-line);color:var(--hx-muted);font-size:12px;font-weight:600;white-space:nowrap}
.hx-badge .hx-ico{width:15px;height:15px}
.hx-topbar .local.hx-badge{margin:0;color:var(--hx-ok)}
.hx-topbar .local.hx-badge i{display:none}
.hx-badge-demo{background:var(--hx-accent-50);border-color:var(--hx-accent-100);color:var(--hx-accent)}
.hx .hx-menu{display:none;background:#fff;border:1px solid var(--hx-line);color:var(--hx-ink)}
.hx .stage-area{padding:26px 32px 56px;max-width:1360px;width:100%;box-sizing:border-box}

/* ---------- Superficies ---------- */
.hx .workspace{background:var(--hx-surface);border:1px solid var(--hx-line);border-radius:var(--hx-radius-lg);padding:28px;box-shadow:var(--hx-shadow)}
.hx .workspace section+section{border-top:1px solid var(--hx-line)}
.hx .screen-title{margin:-2px 0 24px;padding-bottom:20px;border-bottom:1px solid var(--hx-line)}
.hx .screen-title span,.hx .screen-title>div>span{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--hx-accent)}
.hx .screen-title h2{margin:6px 0 4px;font-size:24px;font-weight:700;letter-spacing:-.02em}
.hx .screen-title p{color:var(--hx-muted);max-width:820px}
.hx .heading>span{display:grid;place-items:center;min-width:32px;height:32px;padding:0;border-radius:10px;background:var(--hx-accent-50);color:var(--hx-accent);font-weight:700;font-size:13px}
.hx .heading h2{font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.hx h3{letter-spacing:-.01em}

/* ---------- Botones ---------- */
.hx button{font-family:inherit;border-radius:11px;font-size:14px;font-weight:600;padding:12px 18px;background:var(--hx-accent);color:#fff;transition:background .15s,box-shadow .15s,transform .05s}
.hx button:not(.module-switch):not(.wizard-step):not(.hx-icon-button):not(.hx-link):not(.hx-quick-item):not(.modal-close):not(.secondary):not(.danger):not(.revision-button):not(.settings-card){box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 6px 14px -8px rgba(109,40,217,.8)}
.hx button:hover{filter:none;background:var(--hx-accent-600)}
.hx button:active{transform:translateY(1px)}
.hx button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important}
.hx button.secondary,.hx .secondary{background:#fff;color:var(--hx-ink);border:1px solid var(--hx-line-strong);box-shadow:0 1px 2px rgba(15,23,42,.04)}
.hx button.secondary:hover{background:#f7f7fb;border-color:#c5c9d8}
.hx button.danger,.hx .danger{background:#fff;color:var(--hx-err);border:1px solid #f5c2c2}
.hx button.danger:hover{background:var(--hx-err-50)}
.hx .button-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;font-weight:600;background:#fff;color:var(--hx-ink);border:1px solid var(--hx-line-strong);text-decoration:none}
.hx-link{width:auto!important;padding:0!important;margin:0;background:none!important;color:var(--hx-accent)!important;font-size:13px!important;font-weight:600;box-shadow:none!important}
.hx-link:hover{text-decoration:underline}
.hx .nav-actions button,.hx .nav-actions .button-link{width:auto}
.hx .modal-close{background:transparent;color:var(--hx-muted)}
.hx .modal-close:hover{background:#f1f2f7}

/* ---------- Formularios ---------- */
.hx input:not([type=checkbox]):not([type=radio]):not([type=file]),.hx select,.hx textarea{font-family:inherit;font-size:14px;color:var(--hx-ink);background:#fff;border:1px solid var(--hx-line-strong);border-radius:10px;transition:border-color .15s,box-shadow .15s}
.hx input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,.hx select:focus,.hx textarea:focus{outline:none;border-color:var(--hx-accent);box-shadow:0 0 0 3px rgba(109,40,217,.15)}
.hx input[readonly]{background:#f8f9fc;color:var(--hx-muted)}
.hx label>span{color:var(--hx-muted);font-weight:600;font-size:12px}
.hx input[type=checkbox],.hx input[type=radio]{accent-color:var(--hx-accent)}
.hx .drop,.hx .mini-drop{border:1.5px dashed #c9c3e6;background:linear-gradient(180deg,#fbfaff,#f6f4fe);border-radius:var(--hx-radius)}
.hx .drop:hover,.hx .mini-drop:hover{border-color:var(--hx-accent);background:var(--hx-accent-50)}
.hx .drop strong{color:var(--hx-ink);font-weight:700}
.hx .drop::before{content:"";width:48px;height:48px;margin-bottom:12px;border-radius:14px;background:var(--hx-accent) center/24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15V4'/%3E%3Cpath d='m7.5 8.5 4.5-4.5 4.5 4.5'/%3E%3Cpath d='M4 15v3a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-3'/%3E%3C/svg%3E");box-shadow:0 10px 22px -10px rgba(109,40,217,.9)}
.hx .company{border:1.5px solid var(--hx-line);border-radius:var(--hx-radius);background:#fff;transition:border-color .15s,box-shadow .15s}
.hx .company:hover{border-color:#cfc6f3}
.hx .company.selected{border-color:var(--hx-accent);background:var(--hx-accent-50);box-shadow:0 0 0 3px rgba(109,40,217,.12)}
.hx .company b{color:var(--hx-ink);font-size:13px;text-align:right}
.hx .company.dark img{background:transparent}
.hx .source-card,.hx .output-card,.hx .draft-document-option{border-radius:var(--hx-radius)!important;border-color:var(--hx-line)!important}
.hx .source-card.selected,.hx .output-card.selected,.hx .draft-document-option.selected{border-color:var(--hx-accent)!important;background:var(--hx-accent-50)!important}
.hx .output-card span{background:var(--hx-accent)!important;color:#fff!important}

/* ---------- Tablas ---------- */
.hx .table-wrap{border:1px solid var(--hx-line);border-radius:var(--hx-radius);background:#fff}
.hx table{font-size:13px;font-variant-numeric:tabular-nums}
.hx th{position:sticky;top:0;z-index:1;background:#f7f7fb;color:var(--hx-muted);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--hx-line);padding:11px 12px}
.hx td{border-bottom:1px solid #eef0f5;padding:10px 12px}
.hx tbody tr:nth-child(even){background:#fbfbfd}
.hx tbody tr:hover{background:var(--hx-accent-50)}
.hx tbody tr:last-child td{border-bottom:0}
.hx td a,.hx .pf-row-actions a,.hx .history-docs a{color:var(--hx-accent);font-weight:600;text-decoration:none}
.hx td a:hover{text-decoration:underline}
.hx .pf-row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hx .pf-row-actions button{width:auto;margin:0;padding:6px 10px;font-size:12.5px}
.hx .revision-button{width:auto;padding:4px 10px;background:var(--hx-accent-50);color:var(--hx-accent);font-size:12px;border-radius:999px}
.hx .revision-button:hover{background:var(--hx-accent-100)}
.hx-pill{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:#eef0f5;color:var(--hx-muted)}
.hx-pill.ok{background:var(--hx-ok-50);color:var(--hx-ok)}
.hx-pill.pending{background:var(--hx-warn-50);color:var(--hx-warn)}

/* ---------- Avisos ---------- */
.hx .notice{border-radius:12px;border:1px solid #c9eedc;background:var(--hx-ok-50);color:#0b7a55}
.hx .notice.warn{border-color:#f7dfb0;background:var(--hx-warn-50);color:#92400e}
.hx .status{border-radius:12px}
.hx .status.loading{background:var(--hx-accent-50);color:var(--hx-accent-600);border:1px solid var(--hx-accent-100)}
.hx .status.error{background:var(--hx-err-50);color:#b91c1c;border:1px solid #fbcaca}
.hx .metrics div{background:#fff;border:1px solid var(--hx-line);border-radius:var(--hx-radius);box-shadow:var(--hx-shadow)}
.hx .metrics b{color:var(--hx-ink);font-weight:700;letter-spacing:-.02em}
.hx .email-safe-note{border-radius:12px}
.hx .modal-backdrop{background:rgba(11,16,32,.55);backdrop-filter:blur(3px)}
.hx .modal-panel{border-radius:var(--hx-radius-lg);box-shadow:var(--hx-shadow-lg);border:1px solid var(--hx-line)}
.hx-toasts{position:fixed;right:22px;bottom:22px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:min(420px,calc(100vw - 44px))}
.hx-toast{display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;border-radius:12px;background:var(--hx-primary);color:#e7e9f5;box-shadow:var(--hx-shadow-lg);opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;font-size:13.5px}
.hx-toast.visible{opacity:1;transform:none}.hx-toast.leaving{opacity:0;transform:translateY(8px)}
.hx-toast>.hx-ico{color:var(--hx-teal);margin-top:1px}.hx-toast.error>.hx-ico{color:#f87171}
.hx-toast span{flex:1}
.hx-toast button{width:26px!important;height:26px;padding:0!important;display:grid;place-items:center;background:transparent!important;color:#9aa0bf!important;box-shadow:none!important}
.hx-toast button .hx-ico{width:16px;height:16px}

/* ---------- Estados vacíos ---------- */
.hx-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:34px 16px;color:var(--hx-muted)}
.hx-empty .hx-ico{width:42px;height:42px;padding:10px;margin-bottom:8px;border-radius:14px;background:var(--hx-accent-50);color:var(--hx-accent);box-sizing:border-box}
.hx-empty b{color:var(--hx-ink);font-size:14px}.hx-empty small{max-width:340px}
.hx-empty.compact{padding:18px 10px}
.hx #pf-saved>p,.hx #pf-invoice-saved>p,.hx #pf-draft-list>p,.hx #pf-invoice-draft-list>p,.hx #gls-saved>p,.hx #gls-found>p:only-child{margin:0;padding:30px 16px;text-align:center;color:var(--hx-muted);border:1px dashed var(--hx-line-strong);border-radius:var(--hx-radius);background:#fbfbfd}

/* ---------- Panel principal ---------- */
.hx .hx-dashboard.workspace{background:transparent;border:0;box-shadow:none;padding:0}
.hx-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:26px 28px;margin-bottom:18px;border-radius:var(--hx-radius-lg);color:#fff;overflow:hidden;position:relative;
  background:radial-gradient(90% 140% at 100% 0%,rgba(20,184,166,.35),transparent 55%),radial-gradient(80% 120% at 0% 100%,rgba(109,40,217,.55),transparent 60%),var(--hx-primary)}
.hx-hero::after{content:"";position:absolute;right:-40px;top:-60px;width:260px;height:260px;border-radius:50%;border:38px solid rgba(255,255,255,.04)}
.hx-hero h2{margin:6px 0 4px;font-size:28px;font-weight:700;letter-spacing:-.025em}
.hx-hero p{margin:0;color:#c3c8e0}.hx-hero p b{color:#fff}
.hx-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;color:#9fe7dc}.hx-kicker b{color:#fff}
.hx-month{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px}
.hx-month span{color:#aab0cf!important}
.hx-hero .hx-month input{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important;height:40px;padding:0 12px;color-scheme:dark}
.hx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.hx-kpi{position:relative;display:flex;flex-direction:column;gap:2px;padding:18px 18px 16px;background:#fff;border:1px solid var(--hx-line);border-radius:var(--hx-radius-lg);box-shadow:var(--hx-shadow)}
.hx-kpi small{color:var(--hx-muted);font-weight:600;font-size:12.5px}
.hx-kpi b{font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.2;font-variant-numeric:tabular-nums}
.hx-kpi em{font-style:normal;color:var(--hx-muted);font-size:12.5px}
.hx-kpi-ico{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--hx-accent-50);color:var(--hx-accent)}
.hx-kpi-ico.teal{background:var(--hx-teal-50);color:#0d9488}.hx-kpi-ico.warn{background:var(--hx-warn-50);color:var(--hx-warn)}
.hx-kpi.ok .hx-kpi-ico.warn{background:var(--hx-ok-50);color:var(--hx-ok)}
.hx-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px}
.hx-card{background:#fff;border:1px solid var(--hx-line);border-radius:var(--hx-radius-lg);box-shadow:var(--hx-shadow);padding:18px 20px}
.hx-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.hx-card h3{margin:0;font-size:15px;font-weight:700}.hx-card header small{color:var(--hx-muted)}
.hx-chart svg{display:block;width:100%;height:230px}
.hx-chart text{font-size:10.5px;fill:#94a3b8;font-family:inherit}
.hx-chart .g{stroke:#eef0f5;stroke-width:1}
.hx-chart .b{fill:url(#hxbar)}.hx-chart g:hover .b{opacity:.85}
.hx-bars{display:flex;flex-direction:column;gap:16px;padding-top:4px}
.hx-bar-head{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.hx-bar-head span{font-weight:700;font-variant-numeric:tabular-nums}
.hx-bar-track{height:9px;margin:7px 0 5px;border-radius:999px;background:#f1f2f7;overflow:hidden}
.hx-bar-track i{display:block;height:100%;border-radius:inherit}
.hx-bar small{color:var(--hx-muted);font-size:12px}
.hx-mini-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.hx-mini-kpis div{padding:12px 14px;border-radius:12px;background:#f8f8fc;border:1px solid #eef0f5}
.hx-mini-kpis b{display:block;font-size:22px;font-weight:700;letter-spacing:-.02em}.hx-mini-kpis small{color:var(--hx-muted);font-size:12px}
.hx-list{display:flex;flex-direction:column}
.hx-list-item{display:flex;align-items:center;gap:12px;padding:10px 2px;border-top:1px solid #f0f1f6}
.hx-list-item>div{display:flex;flex-direction:column;min-width:0}
.hx-list-item small{color:var(--hx-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-list-item .hx-right{margin-left:auto;align-items:flex-end;gap:3px;font-variant-numeric:tabular-nums}
.hx-doc{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;background:var(--hx-accent-50);color:var(--hx-accent)}
.hx-quick{display:flex;flex-direction:column}
.hx-quick-item{display:flex!important;align-items:center;gap:12px;width:100%;margin:0 0 8px;padding:11px 12px!important;border-radius:12px;background:#fafafd!important;border:1px solid #eef0f5!important;color:var(--hx-ink)!important;text-align:left;box-shadow:none!important}
.hx-quick-item:hover{border-color:var(--hx-accent-100)!important;background:var(--hx-accent-50)!important}
.hx-quick-item>.hx-ico{width:36px;height:36px;padding:8px;border-radius:10px;background:#fff;color:var(--hx-accent);border:1px solid var(--hx-line);box-sizing:border-box}
.hx-quick-item span{display:flex;flex-direction:column}.hx-quick-item b{font-size:13.5px}.hx-quick-item small{color:var(--hx-muted);font-weight:400;font-size:12px}

/* ---------- Responsive ---------- */
@media (max-width:1180px){.hx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hx-grid{grid-template-columns:1fr}}
@media (max-width:960px){
  .hx-app{grid-template-columns:1fr}
  .hx-sidebar.wizard-nav{position:fixed;inset:0 auto 0 0;z-index:60;width:min(300px,86vw);height:100vh;display:flex;grid-template-columns:none;transform:translateX(-102%);transition:transform .22s ease;box-shadow:var(--hx-shadow-lg)}
  .hx-sidebar.wizard-nav>p{display:block}.hx-sidebar .module-switch small{display:block}
  .hx-sidebar .process-nav{display:block;grid-template-columns:none}
  body.hx-nav-open .hx-sidebar{transform:none}
  body.hx-nav-open::after{content:"";position:fixed;inset:0;z-index:55;background:rgba(11,16,32,.5)}
  .hx .hx-menu{display:grid}
  .hx-topbar.topbar{padding:12px 16px}
  .hx .stage-area{padding:18px 14px 40px}
  .hx .workspace{padding:20px 16px}
  .hx-topbar .local.hx-badge{display:none}
}
@media (max-width:620px){.hx-kpis{grid-template-columns:1fr}.hx-hero{flex-direction:column;align-items:flex-start}.hx-badge-demo{display:none}.hx-crumbs h1{font-size:18px}}
@media print{.hx-sidebar,.hx-topbar,.hx-toasts{display:none!important}.hx-app{display:block}}

.hx-sidebar .module-switch.sidebar-settings{border:0;box-shadow:none}
.hx-sidebar .module-switch.sidebar-settings:not(.active){background:transparent}
.hx td select{padding:7px 30px 7px 10px;border-radius:9px;font-size:13px;max-width:240px}
.hx #dv-table td button{width:auto;padding:7px 12px;font-size:12.5px}
.hx .dv-driver-number{color:var(--hx-ink)}
.hx .pf-legend i{border-radius:4px}
.hx .history-docs{display:flex;gap:6px}
.hx .history-docs a,.hx .history-docs a:last-child,.hx .pf-row-actions a{display:inline-flex;align-items:center;padding:6px 10px;border-radius:9px;background:var(--hx-accent-50);color:var(--hx-accent);border:1px solid var(--hx-accent-100);font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}
.hx .history-docs a:last-child{background:var(--hx-teal-50);color:#0f766e;border-color:#c5f1e8}
.hx .history-docs a:hover,.hx .pf-row-actions a:hover{background:var(--hx-accent-100);text-decoration:none}
.hx .table-wrap>h3{margin:0;padding:14px 16px;font-size:14px;border-bottom:1px solid var(--hx-line)}
.hx .table-wrap>h3+table th{top:0}
.hx-nowrap{white-space:nowrap}
.hx td .hx-pill{margin-right:4px}
.hx-provider-note{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:12px;background:#f8f8fc;border:1px solid var(--hx-line);color:var(--hx-muted);font-size:13px}
.hx-provider-note .hx-ico{color:var(--hx-accent)}
.hx-provider-note b{color:var(--hx-ink)}
.hx-sidebar .wizard-step.done:not(.active){color:#cfd3e6}
.hx .source-filters button{width:auto;margin:0;padding:6px 10px;border-radius:999px;background:#fff;color:var(--hx-ink);border:1px solid var(--hx-line-strong);font-size:12.5px;font-weight:600;box-shadow:none!important}
.hx .source-filters button:hover{background:var(--hx-accent-50)}
.hx .pf-daily-grid-scroll{border-color:var(--hx-line);border-radius:var(--hx-radius)}
.hx .pf-daily-grid thead th,.hx .pf-daily-grid tfoot th:first-child{background:#f7f7fb;color:var(--hx-muted);text-transform:none;letter-spacing:0;font-size:12px}
.hx .pf-daily-grid tbody th:first-child{background:#fff;color:var(--hx-ink);font-variant-numeric:tabular-nums}
.hx .pf-daily-grid th,.hx .pf-daily-grid td{border-color:#eef0f5}
.hx .pf-daily-grid tfoot td,.hx .pf-daily-total{background:var(--hx-accent-50);color:var(--hx-accent-600)}
.hx .pf-daily-grid td{font-size:12px;font-weight:600}
.hx .pf-legend i.used,.hx .pf-used{background:#e6fbf6!important;color:#0f766e}
.hx .pf-legend i.locked,.hx .pf-locked{background:var(--hx-accent-50)!important;color:var(--hx-accent-600)}
.hx .settings-button{display:inline-flex;align-items:center;gap:8px}
.hx .settings-button .hx-ico{width:17px;height:17px;color:var(--hx-accent)}
.hx .settings-card{border-radius:var(--hx-radius-lg);border:1px solid var(--hx-line);background:#fff;box-shadow:var(--hx-shadow);color:var(--hx-ink)}
.hx .settings-card:hover{border-color:var(--hx-accent-100);background:var(--hx-accent-50)}
.hx .settings-card>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--hx-accent-50);color:var(--hx-accent)}
.hx .email-safe-note{background:var(--hx-accent-50);border:1px solid var(--hx-accent-100);color:var(--hx-accent-600)}

/* ---------- Modo demostración ---------- */
.hx-demo-banner{position:relative;z-index:40;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;padding:8px 16px;background:linear-gradient(90deg,var(--hx-accent),#4c1d95 60%,#0f766e);color:#fff;font-size:12.5px;line-height:1.4;text-align:center}
.hx-demo-banner .hx-ico{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.hx-demo-banner b{font-weight:700;letter-spacing:.02em}
.hx-demo-banner span{color:#e9e3ff}
.hx-main>.hx-demo-banner{position:sticky;top:0}
.hx-main>.hx-demo-banner+.hx-topbar.topbar{top:36px}
.hx-auth-demo code{padding:1px 6px;border-radius:6px;background:#fff;border:1px solid var(--hx-accent-100);font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--hx-accent-600)}
@media(max-width:700px){.hx-demo-banner{font-size:11.5px;padding:7px 12px}.hx-demo-banner span{display:none}.hx-main>.hx-demo-banner+.hx-topbar.topbar{top:33px}}
