:root {
    --agave-color-primary: #245B55;
    --agave-color-primary-dark: #173F4B;
    --agave-color-secondary: #77A79A;
    --agave-color-accent: #D98A24;
    --agave-color-accent-soft: #FFF7E9;
    --agave-color-background: #F5F7F7;
    --agave-color-surface: #fff;
    --agave-color-surface-muted: #EEF3F2;
    --agave-color-text-primary: #1F2D32;
    --agave-color-text-secondary: #52666B;
    --agave-color-border: #DCE7E4;
    --agave-color-success: #2e7d32;
    --agave-color-warning: #b45309;
    --agave-color-error: #b42318;
    --agave-color-info: #0277a7;
    --agave-color-focus: #176b87;
    --agave-space-1: 4px;
    --agave-space-2: 8px;
    --agave-space-3: 12px;
    --agave-space-4: 16px;
    --agave-space-5: 20px;
    --agave-space-6: 24px;
    --agave-space-7: 32px;
    --agave-space-8: 40px;
    --agave-radius-sm: 8px;
    --agave-radius-md: 12px;
    --agave-radius-lg: 16px;
    --agave-shadow-1: 0 1px 3px rgb(23 63 75 / 6%);
    --agave-shadow-2: 0 10px 28px rgb(23 63 75 / 9%);
    color-scheme: light;
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-synthesis: none;
}

* { box-sizing: border-box; }
html, body, #app { min-height: 100%; margin: 0; }
body { background: var(--agave-color-background); color: var(--agave-color-text-primary); font-size: 1rem; line-height: 1.6; }
a { color: var(--agave-color-primary-dark); }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--agave-color-focus) 65%, white); outline-offset: 3px; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: var(--agave-space-3); font-size: clamp(2rem, 3vw, 2.5rem); line-height: 1.15; letter-spacing: -.025em; }
h2 { margin-bottom: var(--agave-space-2); font-size: 1.2rem; line-height: 1.35; }
p { color: var(--agave-color-text-secondary); }

.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 14px; border-radius: var(--agave-radius-sm); background: var(--agave-color-primary-dark); color: white; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.agave-shell { display: grid; grid-template-columns: 252px minmax(0, 1fr); min-height: 100vh; transition: grid-template-columns .22s ease; }
.agave-shell.sidebar-collapsed { grid-template-columns: 80px minmax(0, 1fr); }
.agave-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: var(--agave-space-5) var(--agave-space-3); border-right: 1px solid var(--agave-color-border); background: var(--agave-color-surface); box-shadow: 4px 0 18px rgb(23 63 75 / 3%); z-index: 20; transition: padding .22s ease; }
.agave-brand { display: grid; grid-template-columns: 52px 1fr; align-items: center; gap: var(--agave-space-3); min-height: 54px; padding: 0 var(--agave-space-2) var(--agave-space-6); }
.agave-brand img { display: block; width: 52px; height: 52px; object-fit: contain; }
.agave-brand div { display: flex; min-width: 0; flex-direction: column; }
.agave-brand-name { color: var(--agave-color-text-primary); font-size: 1.08rem; font-weight: 750; text-decoration: none; }
.agave-brand span { color: var(--agave-color-text-secondary); font-size: .82rem; }
.nav-toggle { display: none; border: 0; background: transparent; color: var(--agave-color-primary-dark); font-size: 1.35rem; min-width: 44px; min-height: 44px; }
.sidebar-collapse { position: absolute; top: 30px; right: -15px; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--agave-color-border); border-radius: 50%; background: white; color: var(--agave-color-primary-dark); box-shadow: var(--agave-shadow-1); font: inherit; font-size: 1.35rem; cursor: pointer; z-index: 2; }
.sidebar-collapse:hover { border-color: var(--agave-color-secondary); background: var(--agave-color-surface-muted); }
.agave-nav { display: flex; flex-direction: column; gap: var(--agave-space-1); }
.agave-nav a { position: relative; display: flex; align-items: center; gap: 14px; min-height: 50px; padding: 12px 14px; border-radius: 10px; color: var(--agave-color-text-primary); font-size: .96rem; font-weight: 620; text-decoration: none; transition: background-color .18s ease, color .18s ease; }
.agave-nav a .nav-icon { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; color: var(--agave-color-text-secondary); text-align: center; font-size: 1.05rem; }
.agave-nav a .nav-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agave-nav a:hover { background: var(--agave-color-surface-muted); }
.agave-nav a.active { background: color-mix(in srgb, var(--agave-color-primary) 11%, white); color: var(--agave-color-primary-dark); font-weight: 720; }
.agave-nav a.active::before { position: absolute; left: -12px; width: 4px; height: 26px; border-radius: 999px; background: var(--agave-color-primary); content: ""; }
.agave-nav a.active .nav-icon { color: var(--agave-color-primary); }
.agave-sidebar.is-collapsed { padding-right: 10px; padding-left: 10px; }
.agave-sidebar.is-collapsed .agave-brand { display: flex; justify-content: center; padding-right: 0; padding-left: 0; }
.agave-sidebar.is-collapsed .agave-brand img { width: 48px; height: 48px; }
.agave-sidebar.is-collapsed .agave-brand div, .agave-sidebar.is-collapsed .nav-label, .agave-sidebar.is-collapsed .sidebar-note { display: none; }
.agave-sidebar.is-collapsed .agave-nav a { justify-content: center; padding-right: 10px; padding-left: 10px; }
.agave-sidebar.is-collapsed .agave-nav a.active::before { left: -10px; }
.sidebar-note { display: flex; flex-direction: column; margin-top: auto; padding: var(--agave-space-4); border: 1px solid var(--agave-color-border); border-radius: var(--agave-radius-md); background: var(--agave-color-background); }
.sidebar-note span { color: var(--agave-color-text-secondary); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.sidebar-note strong { margin-top: 3px; font-size: .95rem; }
.agave-workspace { display: grid; grid-template-rows: 74px minmax(0, 1fr) 40px; min-width: 0; min-height: 100vh; }
.agave-topbar { position: sticky; top: 0; z-index: 15; display: flex; align-items: center; justify-content: space-between; gap: var(--agave-space-5); padding: 0 var(--agave-space-7); border-bottom: 1px solid var(--agave-color-border); background: rgb(255 255 255 / 96%); backdrop-filter: blur(12px); }
.context-summary { display: flex; align-items: center; gap: var(--agave-space-7); }
.context-summary span { display: flex; flex-direction: column; font-weight: 700; font-size: .92rem; }
.context-summary small { color: var(--agave-color-text-secondary); font-size: .74rem; font-weight: 650; text-transform: uppercase; letter-spacing: .05em; }
.agave-main { width: 100%; min-width: 0; max-width: 1500px; margin: 0 auto; padding: var(--agave-space-8); }
.agave-statusbar { display: flex; align-items: center; justify-content: space-between; padding: 0 var(--agave-space-7); border-top: 1px solid var(--agave-color-border); background: #fafafa; color: var(--agave-color-text-secondary); font-size: .84rem; }
.agave-statusbar strong { color: var(--agave-color-primary-dark); letter-spacing: .08em; }
.page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--agave-space-6); margin-bottom: var(--agave-space-7); padding-bottom: var(--agave-space-5); border-bottom: 1px solid var(--agave-color-border); }
.page-header > div:first-child { max-width: 78ch; }
.page-subtitle { margin-bottom: 0; }
.eyebrow { margin-bottom: var(--agave-space-2); color: var(--agave-color-primary-dark); font-size: .8rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--agave-space-4); margin-bottom: var(--agave-space-6); }
.summary-card, .agave-card { border: 1px solid var(--agave-color-border); border-radius: 14px; background: var(--agave-color-surface); box-shadow: var(--agave-shadow-1); }
.summary-card { min-height: 180px; padding: var(--agave-space-6); }
.summary-card-link { display: block; color: inherit; text-decoration: none; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.summary-card-link:hover { border-color: var(--agave-color-primary); box-shadow: var(--agave-shadow-2); transform: translateY(-2px); }
.summary-card-link:focus-visible { outline: 3px solid var(--agave-color-focus); outline-offset: 3px; }
.summary-card-top, .section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--agave-space-4); }
.summary-card h2 { margin-top: var(--agave-space-5); font-size: 1.18rem; }
.summary-card p { font-size: .96rem; line-height: 1.55; }
.summary-card p, .agave-card > p:last-child { margin-bottom: 0; }
.summary-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--agave-color-accent-soft); color: var(--agave-color-accent); font-size: 1.1rem; font-weight: 800; }
.agave-card { padding: var(--agave-space-6); }
.content-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: var(--agave-space-5); margin-bottom: var(--agave-space-5); }
.settings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--agave-space-5); }
.status-badge { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 6px 10px; border-radius: 999px; background: var(--agave-color-surface-muted); color: var(--agave-color-text-secondary); font-size: .8rem; font-weight: 700; white-space: nowrap; }
.status-badge span { font-size: .55rem; }
.status-success { background: #eaf5eb; color: var(--agave-color-success); }
.status-warning { background: #fff3e5; color: var(--agave-color-warning); }
.status-info { background: #e8f5fa; color: var(--agave-color-info); }
.api-status, .loading-indicator { display: inline-flex; align-items: center; gap: var(--agave-space-2); color: var(--agave-color-text-secondary); font-size: .9rem; font-weight: 550; }
.connection-dot, .loading-indicator > span { width: 9px; height: 9px; border-radius: 50%; background: var(--agave-color-warning); }
.state-available { background: var(--agave-color-success); }
.state-unavailable { background: var(--agave-color-error); }
.loading-indicator > span { animation: pulse 1.4s ease-in-out infinite; }
.empty-state { display: flex; align-items: center; justify-content: center; gap: var(--agave-space-4); min-height: 130px; padding: var(--agave-space-5); text-align: left; }
.empty-state h2, .empty-state p { margin-bottom: 3px; }
.empty-icon { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border: 1px solid var(--agave-color-border); border-radius: var(--agave-radius-md); background: var(--agave-color-background); color: var(--agave-color-primary); font-size: 1.25rem; }
.flow-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--agave-space-3); margin: var(--agave-space-6) 0 0; padding: 0; list-style: none; counter-reset: step; }
.flow-list li { display: flex; min-width: 0; flex-direction: column; padding-left: var(--agave-space-4); border-left: 2px solid var(--agave-color-accent); }
.flow-list strong { font-size: .98rem; }
.flow-list span { color: var(--agave-color-text-secondary); font-size: .88rem; }
.message { display: flex; flex-direction: column; gap: 2px; margin-top: var(--agave-space-5); padding: var(--agave-space-4); border-left: 4px solid var(--agave-color-info); border-radius: var(--agave-radius-sm); background: #eef8fb; }
.message span { color: var(--agave-color-text-secondary); }
.message-error { border-color: var(--agave-color-error); background: #fff1f0; }
.definition-list, .compact-list { display: grid; gap: var(--agave-space-3); margin-bottom: 0; }
.definition-list div, .compact-list div { display: grid; grid-template-columns: 120px 1fr; gap: var(--agave-space-3); padding-top: var(--agave-space-3); border-top: 1px solid var(--agave-color-border); }
dt { font-weight: 700; } dd { margin: 0; color: var(--agave-color-text-secondary); }
.table-card { min-width: 0; max-width: 100%; padding: 0; overflow: hidden; }
.table-scroll { min-width: 0; max-width: 100%; overflow-x: auto; }
table { width: 100%; min-width: 850px; border-collapse: collapse; }
th { padding: 14px 16px; background: #E8F0EE; color: var(--agave-color-primary-dark); font-size: .72rem; text-align: left; text-transform: uppercase; letter-spacing: .055em; }
td { padding: 16px; border-top: 1px solid var(--agave-color-border); }
tbody tr { transition: background-color .14s ease; }
tbody tr:hover { background: #F8FBFA; }
.table-empty td { padding: var(--agave-space-7); }
.credential-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--agave-space-5); align-items: start; }
.credential-form-card, .credential-result-card { min-height: 520px; }
.credential-form { display: grid; gap: var(--agave-space-2); margin-top: var(--agave-space-6); }
.field-label { margin-top: var(--agave-space-3); color: var(--agave-color-text-primary); font-weight: 700; }
.file-field, .text-field { width: 100%; min-height: 48px; border: 1px solid #B8CAC6; border-radius: var(--agave-radius-sm); background: #F3F7F6; color: var(--agave-color-text-primary); }
.file-field { display: flex; align-items: center; padding: 9px 12px; }
.file-field input { width: 100%; color: #17212b; font: inherit; }
.file-field input::file-selector-button { margin-right: 12px; padding: 7px 12px; border: 1px solid #aebcc0; border-radius: 6px; background: white; color: #17212b; font-weight: 650; cursor: pointer; }
.text-field { padding: 10px 12px; font: inherit; }
.file-field:focus-within, .text-field:focus { border-color: var(--agave-color-primary); outline: 3px solid color-mix(in srgb, var(--agave-color-primary) 20%, transparent); outline-offset: 1px; }
.file-summary { display: flex; justify-content: space-between; gap: var(--agave-space-3); color: var(--agave-color-text-secondary); font-size: .88rem; }
.file-summary strong { overflow: hidden; color: var(--agave-color-text-primary); text-overflow: ellipsis; white-space: nowrap; }
.form-actions { display: flex; flex-wrap: wrap; gap: var(--agave-space-3); margin-top: var(--agave-space-5); }
.button { min-height: 46px; padding: 10px 18px; border: 1px solid transparent; border-radius: var(--agave-radius-sm); font: inherit; font-weight: 700; cursor: pointer; }
.button:disabled { cursor: not-allowed; opacity: .5; }
.button-primary { background: var(--agave-color-primary-dark); color: white; box-shadow: 0 4px 10px rgb(23 63 75 / 14%); }
.button-primary:hover:not(:disabled) { background: var(--agave-color-primary); }
.button-secondary { border-color: #b8c4c8; background: white; color: var(--agave-color-text-primary); }
.validation-title { padding-bottom: var(--agave-space-4); border-bottom: 1px solid var(--agave-color-border); font-size: 1.45rem; }
.validation-valid { color: var(--agave-color-success); }
.validation-invalid { color: var(--agave-color-error); }
.validation-list { display: grid; gap: 0; margin: 0; }
.validation-list > div { display: grid; grid-template-columns: minmax(170px, .8fr) minmax(0, 1.2fr); gap: var(--agave-space-4); padding: 12px 0; border-bottom: 1px solid var(--agave-color-border); }
.validation-list dd { overflow-wrap: anywhere; color: #17212b; }
.vault-status-card { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: var(--agave-space-6); align-items: center; margin-bottom: var(--agave-space-5); border-left: 5px solid var(--agave-color-success); }
.vault-status-card h2, .vault-status-card p:last-child { margin-bottom: 0; }
.vault-summary { margin: 0; }
.vault-summary > div { display: grid; grid-template-columns: 90px 1fr; gap: var(--agave-space-3); padding: 6px 0; }
.vault-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--agave-space-3); padding-top: var(--agave-space-4); border-top: 1px solid var(--agave-color-border); }
.vault-actions span { color: var(--agave-color-error); font-weight: 650; }
.button-danger-outline { border-color: #d6a7a2; background: white; color: var(--agave-color-error); }
.button-danger { background: var(--agave-color-error); color: white; }
.request-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--agave-space-5); align-items: start; margin-bottom: var(--agave-space-5); }
.request-layout > .agave-card { min-height: 460px; }
.request-form { display: grid; gap: var(--agave-space-2); margin-top: var(--agave-space-5); }
.request-form .button { width: fit-content; margin-top: var(--agave-space-5); }
.field-help { color: var(--agave-color-text-secondary); font-size: .88rem; }
.cfdi-filter-card { margin-bottom: var(--agave-space-5); }
.cfdi-filter-heading { padding-bottom: var(--agave-space-5); border-bottom: 1px solid var(--agave-color-border); }
.cfdi-filter-heading h2 { margin-bottom: 3px; }
.cfdi-filter-heading .field-help { margin-bottom: 0; }
.cfdi-filter-grid { display: grid; grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(180px, 1fr)); gap: var(--agave-space-5); margin-top: var(--agave-space-6); }
.cfdi-filter-grid .field-group { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.cfdi-filter-grid label { color: var(--agave-color-text-primary); font-size: .9rem; font-weight: 750; }
.cfdi-filter-grid .text-field { background: #f5f7f7; }
.cfdi-filter-grid .text-field:hover { border-color: #91a7a4; background: white; }
.cfdi-filter-grid select.text-field { appearance: auto; cursor: pointer; }
.cfdi-filter-actions { align-items: center; padding-top: var(--agave-space-5); border-top: 1px solid var(--agave-color-border); }
.cfdi-filter-search{grid-column:span 2}.cfdi-grid{min-width:1500px}.cfdi-grid th button{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer}.cfdi-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--agave-space-3);padding:var(--agave-space-4) var(--agave-space-5);border-top:1px solid var(--agave-color-border);background:var(--agave-color-surface-muted)}.cfdi-page-summary{margin-right:auto;color:var(--agave-color-text-secondary);font-weight:650}.cfdi-pager label{font-size:.86rem;font-weight:700}.cfdi-page-size{width:76px;min-height:38px;padding:6px 9px}.cfdi-page-controls{display:flex;align-items:center;gap:var(--agave-space-2)}.cfdi-page-number{min-width:112px;text-align:center;white-space:nowrap}
.request-prerequisite { display: grid; justify-items: center; margin-bottom: var(--agave-space-5); text-align: center; }
.request-prerequisite .button { text-decoration: none; }
.request-history { margin-top: var(--agave-space-5); }
.request-history-heading { padding: var(--agave-space-5) var(--agave-space-6); }
.request-history-heading h2, .request-history-heading .eyebrow { margin-bottom: 0; }
.message-success { border-color: var(--agave-color-success); background: #edf7ee; }
.credential-save-confirmation { margin-top: var(--agave-space-5); }
.credential-save-confirmation strong { color: #1f6424; }
.request-id-field { font-family: Consolas, "Courier New", monospace; }
.request-status-table { min-width: 1080px; }
.request-status-table td { vertical-align: top; }
.request-status-table td > small, .request-status-table td > span, .request-status-table td > code { display: block; margin-top: 5px; }
.request-id-value, .package-id { overflow-wrap: anywhere; word-break: break-word; }
.request-id-value { display: block; max-width: 250px; }
.package-id { max-width: 280px; padding: 3px 6px; border-radius: 4px; background: var(--agave-color-surface-muted); color: var(--agave-color-text-primary); white-space: normal; }
.packages-ready { display: block; color: var(--agave-color-success); }
.inline-error { color: var(--agave-color-error); }
.button-compact { min-height: 38px; padding: 7px 12px; white-space: nowrap; }
.synchronization-settings-grid { align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.synchronization-card { display:flex;min-height:100%;flex-direction:column;gap:var(--agave-space-4);transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease }.synchronization-card:hover{border-color:#b8cac6;box-shadow:var(--agave-shadow-2)}.synchronization-card.is-loading{opacity:.72}.synchronization-card .section-heading{align-items:flex-start;padding-bottom:var(--agave-space-4);border-bottom:1px solid var(--agave-color-border)}.synchronization-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--agave-space-4)}.synchronization-card .field-group label,.form-card .field-group>label{color:var(--agave-color-text-primary);font-size:.9rem;font-weight:720}.settings-toggle{grid-column:1/-1}.settings-toggle label{display:flex;align-items:center;gap:var(--agave-space-3);min-height:48px;padding:10px 12px;border:1px solid var(--agave-color-border);border-radius:var(--agave-radius-sm);background:var(--agave-color-surface-muted);cursor:pointer}.settings-toggle input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--agave-color-primary)}.settings-toggle label:hover{border-color:var(--agave-color-secondary);background:white}.text-field:disabled,.settings-toggle input:disabled+span{cursor:not-allowed;opacity:.6}.synchronization-card .form-actions{margin-top:auto;padding-top:var(--agave-space-4);border-top:1px solid var(--agave-color-border)}
.synchronization-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--agave-space-3); margin-top: var(--agave-space-5); padding-top: var(--agave-space-4); border-top: 1px solid var(--agave-color-border); }
.synchronization-summary div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.synchronization-summary span { color: var(--agave-color-text-secondary); font-size: .78rem; }
.synchronization-summary strong { overflow-wrap: anywhere; color: var(--agave-color-text-primary); font-size: .9rem; }
.status-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--agave-space-3);margin-top:var(--agave-space-5);padding:var(--agave-space-4);border:1px solid var(--agave-color-border);border-radius:var(--agave-radius-sm);background:var(--agave-color-surface-muted) }.status-grid>div{display:flex;min-width:0;flex-direction:column;gap:3px}.status-grid span{color:var(--agave-color-text-secondary);font-size:.8rem}.status-grid strong{overflow-wrap:anywhere;color:var(--agave-color-text-primary);font-size:.95rem}
.home-onboarding { display: flex; justify-content: flex-end; margin: calc(var(--agave-space-4) * -1) 0 var(--agave-space-5); }
.home-onboarding .button, .setup-complete .button { text-decoration: none; }
.setup-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; margin: 0 0 var(--agave-space-6); padding: 0; list-style: none; }
.setup-steps li { position: relative; display: flex; align-items: center; gap: var(--agave-space-2); color: var(--agave-color-text-secondary); font-size: .86rem; }
.setup-steps li::after { position: absolute; right: 10px; left: 42px; height: 2px; background: var(--agave-color-border); content: ""; z-index: 0; }
.setup-steps li:last-child::after { display: none; }
.setup-steps li span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 2px solid var(--agave-color-border); border-radius: 50%; background: white; font-weight: 800; z-index: 1; }
.setup-steps li strong { padding-right: var(--agave-space-3); background: var(--agave-color-background); z-index: 1; }
.setup-steps li.current, .setup-steps li.complete { color: var(--agave-color-primary-dark); }
.setup-steps li.current span { border-color: var(--agave-color-primary); box-shadow: 0 0 0 4px color-mix(in srgb,var(--agave-color-primary) 12%,transparent); }
.setup-steps li.complete span { border-color: var(--agave-color-primary); background: var(--agave-color-primary); color: white; }
.setup-card { max-width: 980px; min-height: 480px; margin: 0 auto; padding: clamp(24px,4vw,48px); }
.setup-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--agave-space-4) var(--agave-space-5); margin-top: var(--agave-space-5); }
.field-group { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.setup-full { grid-column: 1/-1; }
.optional-label { color: var(--agave-color-text-secondary); font-size: .8rem; font-weight: 500; }
.choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--agave-space-4); margin-top: var(--agave-space-6); }
.choice-card { display: flex; min-height: 132px; gap: var(--agave-space-3); padding: var(--agave-space-5); border: 2px solid var(--agave-color-border); border-radius: var(--agave-radius-md); background: white; cursor: pointer; transition: border-color .16s ease,background-color .16s ease,box-shadow .16s ease; }
.choice-card:hover { border-color: var(--agave-color-secondary); }
.choice-card.selected { border-color: var(--agave-color-primary); background: color-mix(in srgb,var(--agave-color-primary) 5%,white); box-shadow: 0 0 0 3px color-mix(in srgb,var(--agave-color-primary) 10%,transparent); }
.choice-card input { width: 18px; height: 18px; flex: 0 0 18px; accent-color: var(--agave-color-primary); }
.choice-card span { display: flex; flex-direction: column; gap: 6px; }
.choice-card small { color: var(--agave-color-text-secondary); line-height: 1.45; }
.custom-period { margin-top: var(--agave-space-5); }
.period-preview { display: flex; flex-direction: column; gap: 3px; margin-top: var(--agave-space-5); padding: var(--agave-space-4); border-left: 4px solid var(--agave-color-accent); border-radius: var(--agave-radius-sm); background: var(--agave-color-accent-soft); }
.period-preview span,.period-preview small { color: var(--agave-color-text-secondary); }
.setup-summary { display: grid; gap: 0; margin: var(--agave-space-5) 0; }
.setup-summary>div { display: grid; grid-template-columns: 180px 1fr; gap: var(--agave-space-4); padding: 12px 0; border-bottom: 1px solid var(--agave-color-border); }
.setup-attention { max-width: 850px; margin: 0 auto; border-left: 5px solid var(--agave-color-warning); }
.setup-complete { max-width: 850px; margin: 0 auto; border-left: 5px solid var(--agave-color-success); }
.setup-progress-banner { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: var(--agave-space-4); align-items: center; margin-bottom: var(--agave-space-6); padding: var(--agave-space-5); border: 1px solid color-mix(in srgb,var(--agave-color-primary) 25%,var(--agave-color-border)); border-left: 5px solid var(--agave-color-primary); border-radius: var(--agave-radius-md); background: color-mix(in srgb,var(--agave-color-primary) 4%,white); box-shadow: var(--agave-shadow-1); }
.setup-progress-banner.complete { border-left-color: var(--agave-color-success); background: #f3faf4; }
.setup-progress-banner.attention { border-left-color: var(--agave-color-warning); background: #fff8ef; }
.setup-progress-icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--agave-color-primary); color: white; font-size: 1.2rem; font-weight: 800; }
.setup-progress-banner.complete .setup-progress-icon { background: var(--agave-color-success); }.setup-progress-banner.attention .setup-progress-icon { background: var(--agave-color-warning); }
.setup-progress-copy .eyebrow,.setup-progress-copy p { margin-bottom: 2px; }.setup-progress-copy>strong { display: block; font-size: 1.05rem; }
.setup-progress-meta { display: flex; flex-wrap: wrap; gap: var(--agave-space-4); margin-top: var(--agave-space-2); color: var(--agave-color-text-secondary); font-size: .82rem; }
.setup-progress-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--agave-space-2); }.setup-progress-actions .button { text-decoration: none; }

.report-settings{display:grid;gap:var(--agave-space-5);margin-top:var(--agave-space-5)}.report-settings>.field-group{max-width:420px}.report-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-field{display:grid;grid-template-columns:minmax(0,1fr) auto 38px 38px;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--agave-color-border);border-radius:var(--agave-radius-sm);background:var(--agave-color-surface-muted)}.report-field label{display:flex;align-items:center;gap:10px;min-width:0;font-weight:650}.report-field input{width:18px;height:18px;accent-color:var(--agave-color-primary)}.report-field small{color:var(--agave-color-text-secondary);font-weight:500}.report-sheet{padding:3px 7px;border-radius:999px;background:white;color:var(--agave-color-text-secondary);font-size:.75rem}.report-preview{display:flex;flex-direction:column;gap:6px;padding:var(--agave-space-4);border-left:4px solid var(--agave-color-primary);background:var(--agave-color-surface-muted)}.report-preview span,.export-profile span{color:var(--agave-color-text-secondary);font-size:.8rem;font-weight:700}.export-profile{display:flex;align-items:center;gap:8px}.export-profile .text-field{min-width:190px}
@keyframes pulse { 50% { opacity: .45; transform: scale(.85); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto; transition-duration: .01ms; animation-duration: .01ms; animation-iteration-count: 1; } }
@media (max-width: 1100px) { .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cfdi-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
    .agave-shell, .agave-shell.sidebar-collapsed { display: block; }
    .agave-sidebar { position: sticky; height: auto; padding: var(--agave-space-2) var(--agave-space-4); border-right: 0; border-bottom: 1px solid var(--agave-color-border); }
    .agave-brand { grid-template-columns: 42px 1fr 44px; padding: 0; }
    .agave-brand img { width: 42px; height: 42px; }
    .nav-toggle { display: block; }
    .sidebar-collapse { display: none; }
    .agave-sidebar.is-collapsed .agave-brand { display: grid; grid-template-columns: 42px 1fr 44px; justify-content: initial; padding: 0; }
    .agave-sidebar.is-collapsed .agave-brand div, .agave-sidebar.is-collapsed .nav-label { display: initial; }
    .agave-sidebar.is-collapsed .agave-brand img { width: 42px; height: 42px; }
    .agave-sidebar.is-collapsed .agave-nav a { justify-content: flex-start; padding: 12px 14px; }
    .agave-nav, .sidebar-note { display: none; }
    .agave-sidebar.is-open .agave-nav { display: flex; padding: var(--agave-space-3) 0; }
    .agave-sidebar.is-open .sidebar-note { display: flex; margin-top: var(--agave-space-2); }
    .agave-nav a.active::before { left: -4px; }
    .agave-workspace { width: 100%; min-width: 0; grid-template-rows: auto minmax(0, 1fr) auto; min-height: calc(100vh - 59px); }
    .agave-topbar { position: static; width: 100%; min-width: 0; padding: var(--agave-space-3) var(--agave-space-4); }
    .context-summary { gap: var(--agave-space-4); overflow-x: auto; }
    .context-summary span:nth-child(2) { display: none; }
    .agave-main { width: 100%; min-width: 0; padding: var(--agave-space-5) var(--agave-space-4); }
    .agave-statusbar { width: 100%; min-width: 0; flex-wrap: wrap; gap: var(--agave-space-2); min-height: 42px; padding: var(--agave-space-2) var(--agave-space-4); }
    .agave-statusbar > span:nth-child(2) { display: none; }
    .summary-grid, .settings-grid, .content-grid, .credential-layout, .vault-status-card, .request-layout, .cfdi-filter-grid, .synchronization-settings-grid, .setup-form-grid, .choice-grid, .setup-progress-banner { min-width: 0; grid-template-columns: minmax(0, 1fr); }
    .setup-steps { grid-template-columns: repeat(5,34px); justify-content: space-between; }
    .setup-steps li strong,.setup-steps li::after { display: none; }
    .setup-full { grid-column: auto; }.setup-card { min-height: 0; padding: var(--agave-space-5); }
    .setup-summary>div { grid-template-columns: 1fr; gap: 2px; }.setup-progress-actions { justify-content: flex-start; }
    .synchronization-summary,.synchronization-card .form-grid,.status-grid,.report-fields { grid-template-columns: minmax(0, 1fr); }.cfdi-pager{align-items:stretch;justify-content:flex-start}.cfdi-page-summary{width:100%;margin-right:0}.cfdi-page-controls{width:100%;flex-wrap:wrap}.cfdi-page-number{order:-1;width:100%;text-align:left}.report-field{grid-template-columns:minmax(0,1fr) 34px 34px}.report-sheet{grid-column:1/-1;grid-row:2}.export-profile{width:100%;align-items:stretch;flex-direction:column}.export-profile .text-field{width:100%}
    .request-layout > .agave-card { min-height: auto; }
    .vault-actions { grid-column: auto; }
    .credential-form-card, .credential-result-card { min-height: auto; }
    .validation-list > div { grid-template-columns: 1fr; gap: 2px; }
    .summary-card-top { flex-wrap: wrap; }
    .page-header { align-items: flex-start; flex-direction: column; }
    .flow-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 420px) { .summary-grid { grid-template-columns: 1fr; } .flow-list { grid-template-columns: 1fr; } .context-summary span:nth-child(3) { display: none; } }

#blazor-error-ui { display: none; position: fixed; right: 16px; bottom: 16px; left: 16px; z-index: 1000; padding: 14px; border-radius: var(--agave-radius-sm); background: #fff1f0; color: var(--agave-color-error); box-shadow: var(--agave-shadow-2); }
.loading-progress { position: absolute; top: 25vh; left: calc(50% - 36px); width: 72px; height: 72px; }
.loading-progress circle { fill: none; stroke: var(--agave-color-border); stroke-width: .5rem; transform-origin: 50% 50%; transform: rotate(-90deg); }
.loading-progress circle:last-child { stroke: var(--agave-color-primary); stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * .8), 500%; }
.loading-progress-text { position: absolute; top: calc(25vh + 82px); width: 100%; color: var(--agave-color-text-secondary); text-align: center; }
.loading-progress-text::after { content: var(--blazor-load-percentage-text, "Cargando"); }
h1:focus {
    outline: none;
}
.company-selector{position:relative;display:flex;flex-direction:column}.company-selector-button{position:relative;z-index:51;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;cursor:pointer;text-align:left}.company-menu-backdrop{position:fixed;z-index:49;inset:0;border:0;background:transparent;cursor:default}.company-menu{position:absolute;z-index:50;top:3rem;left:0;min-width:19rem;padding:.5rem;background:var(--surface,#fff);border:1px solid var(--border,#d7dde5);border-radius:.75rem;box-shadow:0 12px 30px #10203822}.company-menu button,.company-menu a{display:flex;width:100%;flex-direction:column;gap:.2rem;padding:.65rem .75rem;border:0;border-radius:.5rem;background:transparent;color:inherit;text-align:left;text-decoration:none;cursor:pointer}.company-menu button:hover,.company-menu button.selected,.company-menu a:hover{background:#eef5f2}.company-menu small{opacity:.7}.notice.warning{margin:1rem;padding:1rem;border-radius:.65rem;background:#fff5d8;color:#694d00}
.home-activity{margin-bottom:var(--agave-space-7)}
.activity-heading,.activity-chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}
.activity-heading{margin:0 0 20px}.activity-heading h2{font-size:clamp(1.5rem,2.5vw,2rem);letter-spacing:-.025em;margin-bottom:8px}.activity-heading .eyebrow{margin-bottom:8px}
.activity-period{margin-bottom:0}.activity-updated{color:var(--agave-color-text-secondary);font-size:.85rem;text-align:right}.activity-updated small{display:block}
.activity-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.activity-metric{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:22px;text-decoration:none;overflow:hidden;transition:box-shadow .18s,transform .18s}
.activity-metric:hover{box-shadow:var(--agave-shadow-2);transform:translateY(-2px)}.activity-metric::before{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--metric-color);content:''}
.metric-issued{--metric-color:var(--agave-color-primary)}.metric-received{--metric-color:var(--agave-color-info)}.metric-cancelled{--metric-color:var(--agave-color-accent)}.metric-efos{--metric-color:var(--agave-color-secondary)}.metric-alert{--metric-color:var(--agave-color-error);background:#fff8f6}
.activity-metric-label{display:flex;align-items:center;gap:8px;color:var(--agave-color-text-secondary);font-weight:650;font-size:.9rem}.activity-metric>strong{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--agave-color-text-primary)}.activity-metric small{color:var(--agave-color-text-secondary);font-size:.8rem}.activity-metric small>span{float:right}
.activity-dot,.activity-legend i{display:inline-block;flex:0 0 auto;width:9px;height:9px;border-radius:3px}.issued-dot{background:var(--agave-color-primary)}.received-dot{background:var(--agave-color-info)}.cancelled-dot{background:var(--agave-color-accent)}.efos-dot{background:var(--metric-color,var(--agave-color-secondary))}
.activity-chart-card,.activity-efos-panel{padding:26px;margin-bottom:24px}.activity-chart-heading h2{font-size:1.3rem}.activity-chart-heading p{margin-bottom:8px}.activity-chart-heading .eyebrow{font-size:.75rem;margin-bottom:6px}.activity-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--agave-color-text-secondary)}.activity-legend>span{display:flex;align-items:center;gap:7px}
.activity-chart-scroll{overflow-x:auto;margin:16px -8px 0;overscroll-behavior-x:contain}.activity-chart{display:block;width:100%;min-width:720px}.activity-grid line{stroke:var(--agave-color-border);stroke-dasharray:3 5}.activity-grid text,.activity-axis-date{fill:var(--agave-color-text-secondary);font-size:12px;font-family:inherit}.bar-issued{fill:var(--agave-color-primary)}.bar-received{fill:var(--agave-color-info)}.bar-cancelled{fill:var(--agave-color-accent)}.activity-chart a:hover .activity-bar,.activity-chart a:focus .activity-bar{opacity:.72;stroke:var(--agave-color-primary-dark);stroke-width:1}.activity-chart a{cursor:pointer}
.activity-footnote{display:flex;gap:8px 20px;flex-wrap:wrap;color:var(--agave-color-text-secondary);font-size:.8rem;margin-top:12px}.activity-pending{color:var(--agave-color-warning)}.activity-small{font-size:.82rem;margin:8px 0 0}.activity-empty{padding:48px 20px;text-align:center;background:var(--agave-color-background);border-radius:var(--agave-radius-md);margin:20px 0}.activity-empty strong{color:var(--agave-color-text-primary)}.activity-empty p{margin:8px 0 0}.activity-daily-details{margin-top:16px;border-top:1px solid var(--agave-color-border);padding-top:14px}.activity-daily-details summary{cursor:pointer;color:var(--agave-color-primary);font-weight:650;font-size:.85rem}.activity-daily-details table{margin-top:12px}.activity-efos-panel.has-detections{border-left:4px solid var(--agave-color-accent)}.activity-efos-list{margin-top:16px}.activity-efos-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--agave-color-border);text-decoration:none}.activity-efos-row:hover strong{text-decoration:underline}.activity-efos-row>div{display:flex;flex-direction:column;min-width:0}.activity-efos-row>div:last-child{text-align:right;flex-shrink:0}.activity-efos-row span,.activity-efos-row small{color:var(--agave-color-text-secondary)}.activity-efos-row span{font-size:.9rem;overflow-wrap:anywhere}.activity-efos-row small{font-size:.8rem}.activity-loading{padding:32px}
@media(max-width:1100px){.activity-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.activity-heading{gap:12px}.activity-updated{text-align:left}.activity-metrics{gap:10px}.activity-metric{padding:16px;gap:10px}.activity-metric-label{font-size:.8rem}.activity-metric small{font-size:.75rem}.activity-chart-card,.activity-efos-panel{padding:18px}.activity-chart-heading{gap:12px}.activity-legend{gap:10px}.activity-efos-row{flex-direction:column;gap:8px}.activity-efos-row>div:last-child{text-align:left}.activity-period span{display:block}.activity-metric>strong{font-size:1.85rem}}
@media(prefers-reduced-motion:reduce){.activity-metric{transition:none}.activity-metric:hover{transform:none}}
.activity-mobile-hint{display:none}
@media(max-width:600px){.activity-chart{min-width:1100px}.activity-mobile-hint{display:block;font-size:.8rem;margin:16px 0 0;color:var(--agave-color-text-secondary)}}
/* Daily trends lead the selected company's home page. */
.home-main{padding-top:24px}.home-activity>.activity-chart-card{min-width:0;max-width:100%}.activity-hero-heading{align-items:center;margin-bottom:8px}.activity-hero-heading .eyebrow{font-size:.72rem;margin-bottom:6px}.activity-title{font-size:clamp(1.4rem,2vw,1.8rem);margin:0 0 6px;line-height:1.2}.activity-hero-heading .activity-period{font-size:.85rem}.activity-hero-context{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.activity-hero-context .activity-updated{font-size:.72rem}.activity-efos-pill{border:1px solid #edcfab;background:var(--agave-color-accent-soft);border-radius:999px;padding:3px 10px;color:#87440b;font-size:.78rem;font-weight:650;text-decoration:none}.activity-point-detail{display:flex;gap:6px 16px;flex-wrap:wrap;align-items:center;min-height:30px;color:var(--agave-color-text-secondary);font-size:.8rem;margin:6px 0 4px}.activity-point-issued{color:var(--agave-color-primary);font-weight:650}.activity-point-received{color:var(--agave-color-info);font-weight:650}.activity-point-chart{display:block;width:100%;min-width:0;height:auto;overflow:visible}.point-chart-compact{display:none}.activity-series{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.series-issued{stroke:var(--agave-color-primary)}.series-received{stroke:var(--agave-color-info)}.activity-series-area{pointer-events:none}.activity-day-point{stroke:#fff;stroke-width:1.5;cursor:pointer;transition:stroke-width .12s}.issued-point{fill:var(--agave-color-primary)}.received-point{fill:var(--agave-color-info)}.activity-day-link:hover .activity-day-point,.activity-day-link:focus .activity-day-point{stroke:var(--agave-color-accent);stroke-width:3}.activity-day-link:focus{outline:none}.home-main .activity-chart-card{padding:22px 26px}.home-main .activity-footnote{margin-top:6px}.home-main .activity-daily-details{margin-top:10px;padding-top:10px}
@media(max-width:900px){.activity-hero-context{align-items:flex-start}.activity-hero-heading{gap:10px}.home-main{padding-top:18px}.home-main .activity-chart-card{padding:18px}}
@media(max-width:600px){.point-chart-wide{display:none}.point-chart-compact{display:block}.activity-hero-context .activity-updated{display:none}.activity-hero-context{width:100%;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 16px}.activity-point-detail{font-size:.76rem}.activity-title{font-size:1.4rem}.activity-hero-heading .activity-period{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.activity-day-point{transition:none}}
@media(max-width:1100px){.agave-workspace{grid-template-rows:minmax(74px,auto) minmax(0,1fr) 40px}.agave-topbar{min-width:0;gap:12px;padding:10px 20px}.context-summary{min-width:0;max-width:100%;flex-wrap:wrap;gap:8px 16px}.context-summary>span{font-size:.82rem}}

/* Account company directory */
.company-current-name{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.company-change-link{display:inline-block;font-size:.82rem;color:var(--color-primary,#245e59);text-decoration:underline;margin-top:3px}
.company-directory>.section-heading{align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.company-directory h1{margin:4px 0 8px}
.company-search-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.company-search-form .field{flex:1;min-width:220px}.company-search-form label{display:block;margin-bottom:8px;font-weight:600}
.company-search-form input{width:100%}.company-grid-wrap{overflow-x:auto}.company-grid{width:100%;border-collapse:collapse;text-align:left}
.company-grid th{background:var(--color-surface-muted,#e8efee);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.company-grid th,.company-grid td{padding:16px;border-bottom:1px solid var(--color-border,#d8e3e2)}
.company-grid td:first-child{min-width:220px}.company-grid td small{display:block;margin-top:5px;color:var(--color-text-muted,#526b76)}
.company-grid td:nth-child(2){white-space:nowrap}.company-selected{background:#f0f6f5}
.company-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px}
.company-pagination>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.company-pagination label{display:flex;align-items:center;gap:8px}.company-pagination select{width:auto}
@media(max-width:600px){.company-directory>.section-heading>.button{width:100%;text-align:center}.company-search-form .field{flex-basis:100%}.company-search-form>.button{flex:1}.company-grid th,.company-grid td{padding:12px}.company-pagination>div{width:100%}.company-current-name{max-width:210px}}

.efos-browser .field-help{margin:12px 0 20px}.efos-related{margin-top:24px}.efos-related>.section-heading{gap:16px;flex-wrap:wrap}.efos-related>.section-heading p{overflow-wrap:anywhere}.efos-origin{max-width:340px;margin-bottom:16px}.efos-review-history{margin:16px 0 28px}.efos-review-history>summary{cursor:pointer;font-weight:700;color:var(--agave-color-primary);padding:14px 0}.efos-catalog-grid td:nth-child(2){min-width:220px;white-space:normal;max-width:480px;overflow-wrap:anywhere}.efos-documents-grid td{white-space:nowrap}.efos-documents-grid td:first-child{min-width:310px;font-size:.85rem}.efos-browser>.section-heading{gap:16px;flex-wrap:wrap}
@media(max-width:600px){.efos-browser>.section-heading>.button,.efos-related>.section-heading>.button{width:100%;text-align:center}.efos-browser .company-grid td,.efos-related .company-grid td{padding:12px}.efos-related>.section-heading h2{font-size:1.4rem}}
@media(max-width:600px){.efos-catalog-grid,.efos-catalog-grid tbody,.efos-catalog-grid tr,.efos-catalog-grid td{display:block;width:100%}.efos-catalog-grid thead{display:none}.efos-catalog-grid tr{padding:14px 10px;border-bottom:1px solid var(--agave-color-border);box-sizing:border-box}.efos-browser .efos-catalog-grid td{padding:5px 0;border:0;min-width:0;max-width:none;white-space:normal}.efos-catalog-grid td .button{width:100%;margin-top:5px}.efos-catalog-grid td .status-badge{white-space:normal}}
@media(max-width:600px){.efos-browser .table-scroll .efos-catalog-grid{min-width:0}.efos-catalog-grid tbody,.efos-catalog-grid tr,.efos-catalog-grid td{box-sizing:border-box}.efos-related .table-scroll .efos-documents-grid{min-width:0;width:100%;display:block}.efos-documents-grid thead{display:none}.efos-documents-grid tbody{display:block}.efos-documents-grid tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 0;border-bottom:1px solid var(--agave-color-border)}.efos-related .efos-documents-grid td{display:flex;flex-direction:column;gap:4px;border:0;padding:7px;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:.83rem}.efos-documents-grid td::before{content:attr(data-label);font-size:.7rem;font-weight:700;color:var(--agave-color-text-secondary)}.efos-related .efos-documents-grid td:first-child{min-width:0;grid-column:1/-1}}
.company-directory input[type="file"] { max-width:100%; min-width:0; }
.company-directory input[type="file"]::file-selector-button { font:inherit; font-weight:600; color:var(--agave-color-primary-dark); background:var(--agave-color-surface); border:1px solid var(--agave-color-border); border-radius:var(--agave-radius-sm); padding:var(--agave-space-2) var(--agave-space-3); margin-right:var(--agave-space-3); cursor:pointer; }
.company-directory .field { margin-block:var(--agave-space-4); }

.xml-import-progress progress {display:block;width:100%;height:12px;border:0;border-radius:var(--agave-radius-sm);overflow:hidden;background:var(--agave-color-surface-muted);accent-color:var(--agave-color-primary);}
.xml-import-progress progress::-webkit-progress-bar {background:var(--agave-color-surface-muted);border-radius:var(--agave-radius-sm);}
.xml-import-progress progress::-webkit-progress-value {background:var(--agave-color-primary);border-radius:var(--agave-radius-sm);}
.xml-import-progress progress::-moz-progress-bar {background:var(--agave-color-primary);border-radius:var(--agave-radius-sm);}
.xml-import-progress {margin-bottom:var(--agave-space-6);}

/* Account-wide notifications appear only on Inicio. */
.home-notifications { display:grid; gap:var(--agave-space-6); margin-block:var(--agave-space-6); min-width:0; }
.home-notifications .agave-card { min-width:0; }
.notification-list { list-style:none; padding:0; margin:16px 0 0; }
.notification-item { display:flex; gap:20px; justify-content:space-between; align-items:center; padding:18px 0; border-top:1px solid var(--agave-color-border); }
.notification-item > div { min-width:0; overflow-wrap:anywhere; }
.notification-item p { margin:6px 0; }
.notification-item .button { flex-shrink:0; }
.notification-company { font-size:.9rem; }
.notification-list-general { max-height:440px; overflow-y:auto; }
.credential-expiry-warning, .credential-expiry-warning p, .credential-expiry-warning strong { color:var(--agave-color-error); }
@media (max-width:600px) { .notification-item { align-items:stretch; flex-direction:column; gap:12px; } .notification-item .button { align-self:flex-start; } }


.fiscal-document-settings .company-grid input[type=email]{min-width:240px}.fiscal-document-settings .company-grid input[type=text]{min-width:160px}.fiscal-document-settings .company-grid label{display:block;white-space:nowrap}.fiscal-cycle{padding:var(--agave-space-4) 0;border-top:1px solid var(--agave-color-border)}.fiscal-cycle summary{cursor:pointer;font-weight:600}.fiscal-document-settings .form-actions{flex-wrap:wrap}

.company-directory .company-search-form{align-items:center}
.company-directory .company-search-form>.button{align-self:flex-end;margin-bottom:0}
.company-directory .company-search-form .field{margin-bottom:0}
.company-directory .company-grid td.company-select-column{min-width:52px;width:52px;text-align:center}
.company-selection-check{width:22px;height:22px;accent-color:var(--agave-color-primary,#205b58);cursor:pointer}
.company-directory .company-grid td:nth-child(2){white-space:normal;min-width:230px}
.company-directory .company-grid td:nth-child(3){white-space:nowrap}
.company-document-actions{display:flex;gap:8px;flex-wrap:nowrap}
.company-icon-button{width:46px;height:48px;padding:8px;display:inline-flex;align-items:center;justify-content:center;position:relative}
.company-icon-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.company-pdf-button{height:54px;padding-bottom:18px}
.company-pdf-label{position:absolute;bottom:4px;font-size:9px;font-weight:700;letter-spacing:.02em;line-height:11px}
.company-directory .company-grid .company-pdf-label{margin:0;color:inherit}
.company-document-tooltip{display:inline-flex}
@media(max-width:600px){.company-document-actions{gap:5px}.company-icon-button{width:42px}.company-directory .company-search-form>.button{flex:0 0 auto}.company-directory .company-grid td:nth-child(2){min-width:190px}}

.cfdi-filter-grid .cfdi-filter-search{grid-column:auto}

/* Agave workspace header: one company context, account tools and a grouped inbox. */
/* ConectaPLD ADL tokens, scoped to the new workspace header and its menus.
   Source: ADL/Tokens/AgaveColors.cs, _spacing.css, _radius.css, _shadow.css. */
.workspace-header {
 --agave-color-header:#3A6B66;
 --agave-color-primary:#3A6B66;
 --agave-color-primary-dark:#2E5753;
 --agave-color-secondary:#5D8C84;
 --agave-color-background:#F7F8FA;
 --agave-color-surface:#FFFFFF;
 --agave-color-text-primary:#263238;
 --agave-color-text-secondary:#607D8B;
 --agave-color-border:#E0E0E0;
 --agave-color-success:#2E7D32;
 --agave-color-warning:#ED6C02;
 --agave-color-error:#D32F2F;
 --agave-color-info:#0288D1;
 --agave-shadow-popover:0 8px 24px rgba(0,0,0,.08);
 font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.agave-workspace{grid-template-rows:auto minmax(0,1fr) auto}
.workspace-header.agave-topbar{position:relative;z-index:50;display:flex;align-items:center;justify-content:flex-start;gap:24px;min-height:64px;padding:10px 32px;background:var(--agave-color-header);border:0;color:#fff}
.workspace-company{display:flex;flex-direction:column;min-width:0;max-width:42%;gap:0;line-height:1.3}
.workspace-company strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:650}
.workspace-company-label{font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(255 255 255 / 74%);margin-bottom:4px}
.agave-icon{display:block;width:22px;height:22px;flex-shrink:0}
.header-company-change{display:inline-flex;align-items:center;gap:8px;color:white;text-decoration:none;font-size:.78rem;font-weight:650;white-space:nowrap;min-height:44px}
.header-company-change:hover{color:white;text-decoration:underline;text-underline-offset:5px}
.header-company-change .agave-icon{width:18px;height:18px}
.workspace-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.header-icon-button,.header-avatar{position:relative;display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;padding:0;border:0;border-radius:50%;background:transparent;color:white;font:inherit;text-decoration:none;cursor:pointer}
.header-icon-button:hover,.header-icon-button[aria-expanded=true]{background:rgb(255 255 255 / 13%);color:white}
.header-avatar{width:40px;height:40px;margin:0 4px;background:#E5ECEA;color:var(--agave-color-primary-dark);font-size:.95rem;letter-spacing:.015em;font-weight:550}
.header-avatar:hover{background:#fff}
.header-account,.notification-center{position:relative}
.header-menu-scrim{position:fixed;inset:0;z-index:80;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:default}
.header-account-menu{position:absolute;top:calc(100% + 18px);right:0;z-index:100;width:280px;padding:24px;border:1px solid var(--agave-color-border);border-radius:var(--agave-radius-md);box-shadow:var(--agave-shadow-popover);background:var(--agave-color-surface);color:var(--agave-color-text-primary)}
.header-account-menu .eyebrow{font-size:.67rem;margin:0 0 8px}.header-account-menu>strong{display:block;font-size:1rem;overflow-wrap:anywhere}.header-account-menu>p:not(.eyebrow){font-size:.85rem;margin:4px 0 16px;overflow-wrap:anywhere}
.header-license{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid var(--agave-color-border);font-size:.82rem}.header-account-menu>a{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid var(--agave-color-border);font-size:.85rem;text-decoration:none;font-weight:600}.header-account-menu>a .agave-icon{width:16px}
.notification-counter{position:absolute;top:1px;right:0;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border:2px solid var(--agave-color-header);border-radius:999px;background:var(--agave-color-accent);color:#fff;font-size:.6rem;font-weight:800;line-height:1}
.notification-panel{position:absolute;top:calc(100% + 14px);right:-52px;z-index:100;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 112px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--agave-color-border);border-radius:var(--agave-radius-lg);background:var(--agave-color-surface);box-shadow:var(--agave-shadow-popover);color:var(--agave-color-text-primary);text-align:left}
.notification-panel-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;gap:16px}.notification-panel-heading .eyebrow{font-size:.62rem;letter-spacing:.12em;margin:0 0 6px;color:var(--agave-color-text-secondary)}.notification-panel-heading h2{font-size:1.2rem;letter-spacing:-.02em;margin:0}
.notification-close{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;padding:0;border:0;border-radius:50%;background:var(--agave-color-surface-muted);color:var(--agave-color-text-secondary);cursor:pointer}.notification-close:hover{background:var(--agave-color-border)}.notification-close .agave-icon{width:18px}
.notification-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:0 24px;border-bottom:1px solid var(--agave-color-border)}.notification-tabs>button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 6px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--agave-color-text-secondary);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.notification-tabs>button.is-selected{color:var(--agave-color-primary);border-bottom-color:var(--agave-color-primary)}.notification-tabs>button>span{min-width:22px;border-radius:6px;padding:1px 5px;background:var(--agave-color-surface-muted);font-size:.68rem}.notification-tabs>button.is-selected>span{background:#E6EFEC}
.notification-panel-body{min-height:160px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.notification-groups{list-style:none;padding:0;margin:0}.notification-groups>li+li{border-top:1px solid var(--agave-color-border)}
.notification-group{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:12px;align-items:start;width:100%;padding:18px 24px;border:0;background:var(--agave-color-surface);font:inherit;color:var(--agave-color-text-primary);text-align:left;cursor:pointer}.notification-group:hover{background:#F6F9F8}.notification-group:disabled{opacity:.65;cursor:wait}.notification-group>.agave-icon{width:15px;height:15px;align-self:center;color:#78918D}.notification-group-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#EDF3F1;color:var(--agave-color-primary)}.notification-group-icon.needs-attention{background:var(--agave-color-accent-soft);color:var(--agave-color-warning)}.notification-group-icon .agave-icon{width:18px;height:18px}
.notification-group-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.notification-group-heading{display:flex;align-items:start;justify-content:space-between;gap:8px;line-height:1.35}.notification-group-heading strong{font-size:.82rem;font-weight:700}.notification-group-count{flex-shrink:0;border-radius:6px;padding:2px 6px;font-size:.65rem;font-weight:700;background:var(--agave-color-surface-muted);color:var(--agave-color-primary-dark)}.notification-group-company{font-size:.78rem;font-weight:600;overflow-wrap:anywhere}.notification-group-message{font-size:.75rem;line-height:1.5;color:var(--agave-color-text-secondary)}.notification-group-meta{display:block;margin-top:3px;font-size:.62rem;line-height:1.5;color:var(--agave-color-text-secondary)}
.notification-empty{display:flex;flex-direction:column;align-items:center;padding:38px 24px;text-align:center;gap:10px}.notification-empty>.agave-icon{width:32px;height:32px;padding:6px;box-sizing:content-box;border-radius:50%;background:var(--agave-color-surface-muted);color:var(--agave-color-primary)}.notification-empty>strong{font-size:.9rem}.notification-empty>p{font-size:.8rem;margin:0;max-width:30ch}.notification-panel-footer{padding:13px 24px;border-top:1px solid var(--agave-color-border);background:#FAFCFB;font-size:.65rem;color:var(--agave-color-text-secondary)}
.notification-load-error{padding:12px 24px;background:var(--agave-color-accent-soft);color:var(--agave-color-warning);font-size:.75rem}.notification-load-error>button{margin-left:4px;padding:3px;border:0;background:transparent;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}
@media(max-width:1100px){.workspace-header.agave-topbar{gap:16px;padding:12px 24px}.workspace-company{max-width:38%}.workspace-actions{gap:4px}}
@media(max-width:720px){.workspace-header.agave-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:2px 10px;padding:12px 16px;min-height:82px}.workspace-company{grid-column:1;grid-row:1;max-width:none;align-self:end}.workspace-company strong{font-size:.86rem}.workspace-company-label{display:none}.header-company-change{grid-column:1;grid-row:2;align-self:start;min-height:24px;font-size:.66rem;gap:5px}.header-company-change .agave-icon{width:14px;height:14px}.workspace-actions{grid-column:2;grid-row:1/3;gap:0}.header-avatar{margin:0 2px;width:38px;height:38px}.notification-panel{position:absolute;top:calc(100% + 22px);right:-90px;left:auto;width:calc(100vw - 24px);max-height:calc(100dvh - 190px)}.notification-panel-heading{padding:18px 20px 14px}.notification-tabs{padding:0 20px}.notification-group{padding:16px 20px}.header-account-menu{position:absolute;top:calc(100% + 22px);right:-44px;width:min(300px,calc(100vw - 32px))}}


.company-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.company-delete-button{color:var(--agave-color-error)}
.company-contact-panel{margin-bottom:24px}
.company-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.company-contact-success{color:var(--agave-color-primary);padding:12px 16px;border-left:3px solid currentColor}
@media(max-width:600px){.company-contact-fields{grid-template-columns:1fr;gap:16px}.company-row-actions{gap:6px}.company-contact-panel .form-actions{flex-wrap:wrap}}

/* The brand and its toggle share a reserved row; neither overlaps the navigation. */
.agave-tax-brand{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:8px;min-height:72px;padding:0 0 16px 4px;flex-shrink:0}
.tax-brand-link{display:flex;align-items:center;min-width:0;text-decoration:none}
.agave-tax-brand .tax-brand-full{display:block;width:100%;height:auto;max-width:220px;object-fit:contain}
.agave-tax-brand .tax-brand-symbol{display:none}
.agave-tax-brand .sidebar-collapse{position:static;width:36px;height:36px;min-width:36px;padding:0;justify-self:end;flex-shrink:0}
.agave-tax-brand .sidebar-collapse span{font-size:1.3rem;line-height:1}
.agave-sidebar .agave-nav{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding:3px}
.agave-sidebar .agave-nav a.active::before,.agave-sidebar.is-collapsed .agave-nav a.active::before{left:0}
.agave-sidebar .sidebar-note{flex-shrink:0}
@media(min-width:761px){
 .agave-sidebar{height:100dvh}
 .agave-sidebar .agave-nav{flex:1}
 .agave-sidebar.is-collapsed .agave-tax-brand{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;min-height:104px;padding:0 0 16px}
 .agave-sidebar.is-collapsed .agave-tax-brand .tax-brand-full{display:none}
 .agave-sidebar.is-collapsed .agave-tax-brand .tax-brand-symbol{display:block;width:48px;height:48px}
 .agave-sidebar.is-collapsed .agave-nav a{padding-right:8px;padding-left:8px}
}
@media(max-width:760px){
 .agave-sidebar{max-height:100dvh}
 .agave-tax-brand,.agave-sidebar.is-collapsed .agave-tax-brand{display:grid;grid-template-columns:minmax(0,1fr) 44px;min-height:64px;padding:0;gap:12px}
 .agave-tax-brand .tax-brand-full,.agave-sidebar.is-collapsed .agave-tax-brand .tax-brand-full{display:block;width:min(190px,100%);height:auto}
 .agave-sidebar.is-collapsed .agave-tax-brand .tax-brand-symbol{display:none}
 .agave-tax-brand .sidebar-collapse{display:none}
}
.contabot-launcher{position:fixed;right:24px;bottom:24px;z-index:81;width:68px;height:68px;display:grid;place-items:center;padding:3px;border:1px solid var(--agave-color-border);border-radius:50%;background:var(--agave-color-surface);box-shadow:var(--agave-shadow-2);cursor:pointer}
.contabot-launcher img{width:56px;height:56px;object-fit:contain;border-radius:50%}.contabot-launcher:hover{border-color:var(--agave-color-primary)}.contabot-launcher:focus-visible,.contabot-icon:focus-visible{outline:3px solid var(--agave-color-focus);outline-offset:3px}
.contabot-panel{position:fixed;z-index:80;right:24px;bottom:104px;width:min(410px,calc(100vw - 32px));height:min(600px,calc(100dvh - 128px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--agave-color-border);border-radius:var(--agave-radius-lg);background:var(--agave-color-surface);box-shadow:var(--agave-shadow-2)}
.contabot-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--agave-color-border)}.contabot-header>img{object-fit:contain;border-radius:12px}.contabot-header>div{flex:1;min-width:0}.contabot-header h2{font-size:1.1rem;margin:0;color:var(--agave-color-primary-dark)}.contabot-header span{font-size:.78rem;color:var(--agave-color-text-secondary)}
.contabot-icon{width:36px;height:36px;display:grid;place-items:center;background:transparent;border:0;border-radius:8px;cursor:pointer;color:var(--agave-color-text-secondary)}.contabot-icon:hover{background:var(--agave-color-surface-muted)}.contabot-icon svg,.contabot-send svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contabot-conversation{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--agave-color-background)}.contabot-welcome{text-align:center;margin:auto 0;color:var(--agave-color-text-secondary)}.contabot-welcome img{object-fit:contain;border-radius:16px}.contabot-welcome h3{margin:10px 0 6px;font-size:1.05rem;color:var(--agave-color-primary-dark)}.contabot-welcome p{margin:0;font-size:.9rem}
.contabot-bubble{max-width:92%;padding:12px;border:1px solid var(--agave-color-border);border-radius:12px;overflow-wrap:anywhere}.contabot-bubble>span{font-size:.73rem;font-weight:750}.contabot-bubble p{margin:4px 0 0;white-space:pre-wrap;font-size:.9rem;line-height:1.55}.contabot-user{align-self:flex-end;background:var(--agave-color-primary);color:white;border-color:var(--agave-color-primary)}.contabot-answer{align-self:flex-start;background:white;color:var(--agave-color-text-primary)}.contabot-answer>span{color:var(--agave-color-primary)}.contabot-delivery{font-size:.8rem;color:var(--agave-color-text-secondary);margin:0}
.contabot-composer{padding:12px 16px;border-top:1px solid var(--agave-color-border)}.contabot-input-label{font-size:.8rem;font-weight:700}.contabot-input-row{display:flex;gap:8px;align-items:flex-end;margin-top:6px}.contabot-input-row textarea{width:100%;min-width:0;resize:none;min-height:74px;max-height:140px;font:inherit;font-size:.88rem}.contabot-send{width:44px;min-width:44px;height:44px;padding:10px;border-radius:12px}.contabot-composer small{display:block;margin-top:6px;font-size:.68rem;color:var(--agave-color-text-secondary)}.contabot-composer .inline-error{font-size:.8rem;margin:0 0 8px}
@media(max-width:600px){.contabot-launcher{right:16px;bottom:16px;width:60px;height:60px}.contabot-launcher img{width:50px;height:50px}.contabot-panel{right:12px;bottom:88px;width:calc(100vw - 24px);height:min(580px,calc(100dvh - 112px))}.contabot-header{padding:10px 12px}.contabot-composer{padding:10px 12px}}
.contabot-user p{color:inherit}

/* ADL help labels: solid contrast, readable weight and no clipped table/sidebar bubbles. */
.agave-tooltip{position:fixed;z-index:10000;width:max-content;max-width:min(320px,calc(100vw - 24px));padding:9px 13px;border:1px solid var(--agave-color-primary);border-radius:var(--agave-radius-sm);background:var(--agave-color-primary-dark);color:#fff;font-family:var(--agave-font-family,inherit);font-size:.82rem;font-weight:650;line-height:1.4;overflow-wrap:anywhere;box-shadow:var(--agave-shadow-popover);text-align:left}
.agave-tooltip[hidden]{display:none}