:root {
    --blue: #1267b1;
    --blue-dark: #0c477c;
    --blue-soft: #eaf3fb;
    --ink: #172033;
    --muted: #667085;
    --line: #e3e8ef;
    --canvas: #f4f7fb;
    --white: #fff;
    --green: #087443;
    --amber: #a76505;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
}
[hidden] { display: none !important; }

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--canvas); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.login-body { background: linear-gradient(135deg, #eef5fb 0%, #f7f9fc 55%, #e5f0f9 100%); padding: 28px; display: grid; place-items: center; }
.login-shell { width: min(1080px, 100%); min-height: 650px; display: grid; grid-template-columns: 1.08fr .92fr; background: white; border-radius: 24px; box-shadow: 0 24px 80px #18334f22; overflow: hidden; }
.login-brand { position: relative; padding: 70px; background: linear-gradient(145deg, #0b477d, #1267b1 58%, #1f7fc5); color: white; overflow: hidden; }
.login-brand::after { content: ""; position: absolute; width: 420px; height: 420px; right: -190px; bottom: -210px; border: 70px solid #ffffff12; border-radius: 50%; }
.brand-mark { width: 62px; height: 62px; border-radius: 18px; display: grid; place-items: center; background: white; color: var(--blue); font-size: 34px; font-weight: 900; box-shadow: 0 12px 30px #072f5555; margin-bottom: 58px; }
.brand-mark.compact { width: 48px; height: 48px; border-radius: 13px; margin: 0 0 20px; background: var(--blue); color: white; font-size: 25px; box-shadow: none; }
.eyebrow { margin: 0 0 9px; font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.login-brand .eyebrow { color: #c9e4f9; }
.login-brand h1 { margin: 0; font-size: clamp(40px, 5vw, 64px); letter-spacing: -.045em; line-height: 1; }
.login-brand h1 span { font-weight: 300; }
.brand-copy { max-width: 500px; margin: 22px 0 44px; color: #dcecf9; font-size: 18px; line-height: 1.55; }
.brand-points { display: grid; gap: 18px; }
.brand-points div { display: grid; gap: 3px; padding-left: 18px; border-left: 3px solid #72c2fa; }
.brand-points span { color: #c9e4f9; font-size: 14px; }
.login-panel { padding: 70px 64px 42px; display: flex; flex-direction: column; justify-content: center; }
.preview-badge { align-self: flex-start; background: #fff3d8; color: #8a5b00; padding: 7px 11px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.login-panel h2 { font-size: 34px; margin: 24px 0 4px; letter-spacing: -.03em; }
.muted { color: var(--muted); margin: 0 0 28px; }
.field-demo { border: 1px solid var(--line); border-radius: 11px; padding: 12px 14px; display: grid; gap: 4px; margin-bottom: 13px; background: #fafbfd; }
.field-demo span { font-size: 12px; color: var(--muted); }
.field-demo strong { font-size: 14px; color: #7a8494; font-weight: 500; }
.login-field { display: grid; gap: 7px; margin-top: 14px; color: #344054; font-size: 13px; font-weight: 750; }
.login-field input { width: 100%; border: 1px solid #ccd5e0; border-radius: 10px; padding: 12px 13px; color: var(--ink); background: white; outline: none; }
.login-field input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #1267b118; }
.login-error { border: 1px solid #f0c1bd; background: #fff0ef; color: #9a2d24; padding: 11px 12px; border-radius: 9px; font-size: 12px; line-height: 1.45; margin-bottom: 12px; }
.primary-button { border: 0; width: 100%; color: white; background: var(--blue); padding: 14px 18px; border-radius: 10px; font-weight: 800; cursor: pointer; margin-top: 12px; }
.primary-button:hover { background: var(--blue-dark); }
.security-note { text-align: center; color: var(--muted); font-size: 12px; margin: 17px 0; }
.login-panel footer { margin-top: auto; text-align: center; color: #98a1b1; font-size: 12px; }

.app-body { overflow-x: hidden; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 245px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; background: #102b46; color: white; padding: 20px 14px 16px; display: flex; flex-direction: column; z-index: 10; }
.sidebar-brand { height: 50px; display: flex; align-items: center; gap: 10px; padding: 0 10px 18px; border-bottom: 1px solid #ffffff18; margin-bottom: 12px; }
.sidebar-brand strong { font-size: 19px; letter-spacing: -.02em; }
.sidebar-brand em { color: #77c3fa; font-style: normal; font-weight: 400; }
.app-version { margin-left: auto; padding: 3px 7px; border: 1px solid #ffffff25; border-radius: 999px; color: #b8ddf7; background: #ffffff0d; font-size: 10px; font-weight: 800; letter-spacing: .05em; }
.danger-button,.danger-link { border: 1px solid #efb4b0; background: #fff5f4; color: #ad2b23; border-radius: 10px; padding: 10px 14px; font: inherit; font-weight: 800; cursor: pointer; }
.danger-link { padding: 7px 10px; }
.outline-link.compact { padding: 7px 10px; }
.filter-auto-note { align-self: center; color: var(--muted); font-size: 12px; }
.purchase-list-filter { display:grid; grid-template-columns:minmax(320px,1fr) minmax(190px,260px) auto; gap:12px; align-items:center; margin-bottom:16px; padding:16px; }
.purchase-list-filter input,.purchase-list-filter select { width:100%; }
@media (max-width:760px){.purchase-list-filter{grid-template-columns:1fr}.purchase-list-filter .filter-auto-note{display:none}}
.payment-distribution-toolbar{display:grid;grid-template-columns:minmax(220px,320px) auto 1fr;gap:12px;align-items:end;margin:0 0 18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fbfe}.payment-distribution-toolbar label{display:grid;gap:6px;font-weight:700}.payment-distribution-toolbar small{align-self:center;color:var(--muted)}.payment-distribution-toolbar small.success{color:#08783e;font-weight:700}@media(max-width:760px){.payment-distribution-toolbar{grid-template-columns:1fr}.payment-distribution-toolbar .outline-button{width:100%}}
.purchase-list-table .purchase-payment-column{width:58px;min-width:58px;padding-left:14px;padding-right:8px;text-align:center}.purchase-document-cell{display:flex;align-items:baseline;min-width:190px}.purchase-document-cell small{margin-left:0}.quick-payment-link{display:inline-grid;place-items:center;width:34px;height:34px;margin:auto;border:1px solid #9ac9ee;border-radius:9px;background:#eef7ff;color:#0869ad;text-decoration:none}.quick-payment-link>span{display:grid;place-items:center;width:21px;height:21px;border-radius:6px;background:#1675bb;color:#fff;font-size:14px;font-weight:900}.quick-payment-link:hover{background:#dcefff;border-color:#1675bb;transform:translateY(-1px)}.quick-payment-link:focus-visible{outline:3px solid #8bc8f5;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.document-actions-column{width:72px;min-width:72px;text-align:center}.document-actions{position:relative;display:inline-block}.document-actions>summary{display:grid;place-items:center;width:36px;height:36px;margin:auto;border:1px solid #9ac9ee;border-radius:9px;background:#eef7ff;color:#0869ad;font-size:23px;font-weight:900;line-height:1;cursor:pointer;list-style:none}.document-actions>summary::-webkit-details-marker{display:none}.document-actions>summary:hover,.document-actions[open]>summary{background:#dcefff;border-color:#1675bb}.document-actions-menu{position:fixed;z-index:1000;display:grid;min-width:190px;padding:7px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 12px 30px rgba(15,35,65,.18);text-align:left}.document-actions-menu a{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:7px;color:var(--ink);text-decoration:none;white-space:nowrap}.document-actions-menu a:hover{background:var(--blue-soft);color:var(--blue)}.document-actions-menu a b{display:inline-grid;width:22px;text-align:center;color:var(--blue)}
.due-date { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-weight: 800; white-space: nowrap; }
.due-overdue { color: #a92f28; background: #fde9e7; }
.due-current { color: #08733c; background: #e3f5ea; }
.payables-table th,.payables-table td { white-space: nowrap; }
.payables-table th:nth-child(2),.payables-table td:nth-child(2) { white-space: normal; min-width: 220px; }
.mini-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: white; color: var(--blue); font-weight: 900; }
.sidebar nav { display: grid; gap: 3px; overflow-y: auto; padding-right: 2px; }
.nav-item { display: grid; grid-template-columns: 25px 1fr auto; align-items: center; min-height: 40px; padding: 8px 10px; border-radius: 8px; color: #d8e4ef; text-decoration: none; font-size: 13px; }
.nav-item span { color: #9cccf0; font-size: 17px; }
.nav-item:hover, .nav-item.active { color: white; background: #ffffff13; }
.nav-item.active { box-shadow: inset 3px 0 #53b2f1; }
.nav-item small { font-size: 9px; padding: 3px 5px; background: #ffffff12; border-radius: 4px; color: #aebed0; }
.nav-group { position: relative; }
.nav-group-toggle { width: 100%; border: 0; background: transparent; font-family: inherit; cursor: pointer; text-align: left; }
.nav-group-toggle b { justify-self: end; font-size: 12px; transition: transform .18s ease; }
.nav-group.active > .nav-group-toggle { color: white; background: #ffffff13; box-shadow: inset 3px 0 #53b2f1; }
.nav-submenu { display: none; margin: 3px 0 5px 25px; padding: 5px; border-left: 1px solid #ffffff22; }
.nav-group:hover .nav-submenu, .nav-group:focus-within .nav-submenu, .nav-group.open .nav-submenu { display: grid; gap: 2px; }
.nav-group:hover .nav-group-toggle b, .nav-group:focus-within .nav-group-toggle b, .nav-group.open .nav-group-toggle b { transform: rotate(180deg); }
.nav-submenu a { padding: 8px 10px; border-radius: 7px; color: #bdcfde; text-decoration: none; font-size: 12px; }
.nav-submenu a:hover, .nav-submenu a.active { color: white; background: #ffffff12; }
.sidebar-footer { margin-top: auto; padding: 14px 10px 0; border-top: 1px solid #ffffff18; color: #aebed0; font-size: 11px; }
.status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #37c77f; margin-right: 6px; }
.workspace { min-width: 0; }
.topbar { height: 72px; position: sticky; top: 0; z-index: 8; background: white; border-bottom: 1px solid var(--line); padding: 0 24px; display: flex; align-items: center; gap: 20px; }
.menu-toggle { display: none; border: 0; background: transparent; font-size: 22px; }
.context { display: flex; gap: 28px; }
.context div { display: grid; gap: 2px; }
.context span, .user-chip small { color: var(--muted); font-size: 10px; }
.context strong { font-size: 13px; }
.company-switch-form { margin: 0; }.company-switch-form label { display: grid; gap: 2px; }.company-switch-form select { max-width: 240px; border: 0; background: transparent; color: var(--ink); font-size: 13px; font-weight: 800; padding: 0 20px 0 0; cursor: pointer; }
.pos-button { margin-left: auto; background: #e96d20; color: white; text-decoration: none; border-radius: 9px; padding: 11px 16px; font-size: 13px; font-weight: 850; box-shadow: 0 7px 18px #e96d2033; }
.pos-button:hover { background: #cc5917; }
.user-chip { display: flex; align-items: center; gap: 9px; }
.user-chip > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-size: 12px; font-weight: 850; }
.user-chip div { display: grid; }
.user-chip strong { font-size: 12px; }
.profile-link { color: var(--blue); font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.logout-form { margin: 0; }
.logout { color: var(--muted); text-decoration: none; font-size: 12px; border: 0; background: transparent; cursor: pointer; padding: 6px; }
.content { padding: 24px 28px 40px; max-width: 1500px; margin: auto; }
.notice { background: #fff6df; border: 1px solid #f0dca5; color: #775400; border-radius: 9px; padding: 10px 13px; font-size: 12px; margin-bottom: 24px; }
.page-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.heading-actions { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; }
.primary-link { display: inline-flex; align-items: center; justify-content: center; padding: 10px 14px; border-radius: 9px; background: var(--blue); color: white; text-decoration: none; font-size: 12px; font-weight: 800; }
.person-name-link { color: var(--ink); font-weight: 800; text-decoration: none; }
.person-name-link:hover { color: var(--blue); text-decoration: underline; }
.party-layout.party-list-only { grid-template-columns: 1fr; }
.page-heading .eyebrow { color: var(--blue); }
.page-heading h1 { margin: 0; font-size: 30px; letter-spacing: -.035em; }
.page-heading p:last-child { color: var(--muted); margin: 6px 0 0; font-size: 14px; }
.outline-button { border: 1px solid #cfd7e2; background: white; padding: 10px 13px; border-radius: 8px; color: #344054; font-size: 12px; font-weight: 700; }
.outline-link { border: 1px solid #cfd7e2; background: white; padding: 10px 13px; border-radius: 8px; color: #344054; font-size: 12px; font-weight: 700; text-decoration: none; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.metrics article { background: white; border: 1px solid var(--line); border-radius: 13px; padding: 18px; display: flex; gap: 13px; align-items: start; }
.metric-icon { width: 39px; height: 39px; flex: 0 0 39px; display: grid; place-items: center; border-radius: 10px; font-weight: 900; }
.metric-icon.blue { color: #156cb4; background: #eaf3fb; }
.metric-icon.green { color: #087443; background: #e7f7ef; }
.metric-icon.amber { color: #a76505; background: #fff2dc; }
.metric-icon.violet { color: #6950b6; background: #f0ecff; }
.metrics article div { display: grid; gap: 3px; }
.metrics small { color: var(--muted); font-size: 11px; }
.metrics strong { font-size: 21px; }
.metrics em { font-style: normal; color: #8a94a5; font-size: 10px; }
.dashboard-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 17px; margin-top: 17px; }
.card { background: white; border: 1px solid var(--line); border-radius: 13px; padding: 20px; }
.card-heading { display: flex; justify-content: space-between; gap: 16px; align-items: start; margin-bottom: 18px; }
.card-heading h2 { font-size: 17px; margin: 0 0 4px; }
.card-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.card-heading button { background: transparent; border: 0; color: var(--blue); font-size: 11px; font-weight: 750; }
.quick-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.quick-actions button, .quick-actions a { border: 1px solid var(--line); background: #fbfcfe; border-radius: 10px; padding: 14px; display: flex; align-items: center; text-align: left; gap: 12px; cursor: pointer; color: var(--ink); text-decoration: none; }
.quick-actions button:hover, .quick-actions a:hover { border-color: #9fc6e6; background: #f3f8fc; }
.quick-actions b { width: 34px; height: 34px; display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); border-radius: 9px; }
.quick-actions span { display: grid; gap: 2px; }
.quick-actions strong { font-size: 12px; }
.quick-actions small { color: var(--muted); font-size: 10px; }
.activity-card ul { list-style: none; margin: 0; padding: 0; display: grid; }
.activity-card li { display: grid; grid-template-columns: 9px 1fr auto; gap: 10px; align-items: start; padding: 12px 0; border-top: 1px solid var(--line); }
.activity-card li:first-child { border-top: 0; }
.activity-dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; }
.activity-dot.green { background: #20a663; }.activity-dot.blue { background: #3189ca; }.activity-dot.amber { background: #e3a02c; }
.activity-card li div { display: grid; gap: 3px; }
.activity-card li strong { font-size: 11px; }.activity-card li small, .activity-card time { color: var(--muted); font-size: 10px; }
.audit-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 17px; }
.audit-summary article { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 17px; display: grid; gap: 5px; }
.audit-summary small { color: var(--muted); font-size: 11px; }.audit-summary strong { font-size: 18px; }
.audit-card { margin-top: 17px; padding: 0; overflow: hidden; }
.audit-card .card-heading { padding: 19px 20px 0; }
.table-wrap { overflow-x: auto; }
.audit-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.audit-table th { background: #f8fafc; color: var(--muted); text-align: left; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.audit-table th, .audit-table td { border-top: 1px solid var(--line); padding: 12px 16px; white-space: nowrap; }
.event-badge { background: var(--blue-soft); color: var(--blue-dark); border-radius: 999px; padding: 4px 8px; font-size: 10px; font-weight: 750; }
.result-badge { border-radius: 999px; padding: 4px 8px; font-size: 10px; font-weight: 800; }
.result-badge.success { background: #e5f7ed; color: #087443; }.result-badge.failed { background: #fff0ef; color: #a03229; }
.result-badge.pending { background: #fff3d8; color: #8a5b00; }
.section-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin: -6px 0 18px; }
.section-tabs a { color: var(--muted); text-decoration: none; padding: 10px 13px; border-bottom: 2px solid transparent; font-size: 12px; font-weight: 750; }
.section-tabs a.active { color: var(--blue); border-bottom-color: var(--blue); }
.flash { padding: 11px 13px; border-radius: 9px; margin-bottom: 15px; font-size: 12px; }
.flash.success { background: #e5f7ed; color: #087443; border: 1px solid #bfe7d0; }.flash.error { background: #fff0ef; color: #a03229; border: 1px solid #f0c1bd; }
.users-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .7fr); gap: 17px; align-items: start; }
.user-list-card { padding: 0; overflow: hidden; }.user-list-card .card-heading { padding: 19px 20px 0; }
.user-table td:first-child { display: grid; gap: 3px; }.user-table td:first-child small { color: var(--muted); }
.inline-form { margin: 0; }.text-button { border: 0; background: transparent; color: var(--blue); padding: 4px; cursor: pointer; font-size: 11px; font-weight: 750; }
.self-label { color: var(--muted); font-size: 10px; }
.admin-form { display: grid; gap: 13px; }.admin-form label { display: grid; gap: 6px; color: #344054; font-size: 12px; font-weight: 750; }
.admin-form input, .admin-form select, .admin-form textarea { width: 100%; padding: 10px 11px; border: 1px solid #ccd5e0; border-radius: 8px; background: white; color: var(--ink); font: inherit; }
.admin-form label small { color: var(--muted); font-size: 10px; font-weight: 400; line-height: 1.4; }
.create-user-card .primary-button { margin-top: 2px; }
.invitation-note { background: var(--blue-soft); color: var(--blue-dark); border-radius: 8px; padding: 11px; font-size: 11px; line-height: 1.5; }
.company-layout { display: grid; grid-template-columns: minmax(260px, .55fr) minmax(540px, 1.45fr); gap: 17px; align-items: start; }
.company-list-card { padding: 0; overflow: hidden; }.company-list-card .card-heading { padding: 19px 20px 0; }
.company-list { display: grid; }.company-row { display: grid; grid-template-columns: 38px 1fr auto; gap: 11px; align-items: center; padding: 13px 18px; border-top: 1px solid var(--line); }
.company-avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--blue-soft); color: var(--blue); font-weight: 900; }
.company-row div { display: grid; gap: 3px; min-width: 0; }.company-row strong { font-size: 12px; overflow: hidden; text-overflow: ellipsis; }.company-row small { color: var(--muted); font-size: 10px; }
.company-row .company-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }.company-row-actions a { color: var(--blue); font-size: 11px; font-weight: 800; text-decoration: none; }
.company-edit-form { display: grid; gap: 16px; }.company-edit-form .card { padding: 22px; }.company-edit-form input[readonly] { background: #f1f4f7; color: #667085; cursor: not-allowed; }.operation-checks { margin-top: 15px; }.company-save-bar { position: sticky; bottom: 12px; z-index: 4; display: flex; justify-content: flex-end; align-items: center; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: #ffffffee; box-shadow: 0 10px 30px #17203318; backdrop-filter: blur(6px); }.company-save-bar .primary-button { width: auto; min-width: 160px; }
.profile-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(270px, .6fr); gap: 17px; align-items: start; }.profile-grid input[readonly] { background: #f1f4f7; color: #667085; }.profile-save { margin-top: 16px; width: auto; min-width: 180px; }.profile-security dl { display: grid; margin: 0 0 20px; }.profile-security dl div { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); }.profile-security dt { color: var(--muted); }.profile-security dd { margin: 0; font-weight: 800; }.security-help { color: var(--muted); font-size: 11px; line-height: 1.5; margin-top: 18px; }
.wizard-progress { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; margin: 0 0 22px; }
.wizard-progress li { position: relative; display: grid; justify-items: center; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 750; }
.wizard-progress li::before { content: ''; position: absolute; top: 13px; right: 50%; width: 100%; height: 2px; background: var(--line); z-index: 0; }.wizard-progress li:first-child::before { display: none; }
.wizard-progress b { z-index: 1; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #eef2f6; color: var(--muted); }
.wizard-progress .active b, .wizard-progress .done b { background: var(--blue); color: white; }.wizard-progress .active, .wizard-progress .done { color: var(--blue); }.wizard-progress .done::before, .wizard-progress .active::before { background: var(--blue); }
.wizard-step { display: none; }.wizard-step.active { display: block; }.wizard-step h3 { margin: 0 0 16px; font-size: 16px; }
.field-grid { display: grid; gap: 13px; }.field-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }.field-grid .full { grid-column: 1 / -1; }
.check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-bottom: 15px; }
.admin-form .check-grid label, .admin-form label.switch-line { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; justify-content: start; gap: 9px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fbfcfe; font-weight: 650; line-height: 1.35; }
.admin-form .check-grid input[type="checkbox"], .admin-form label.switch-line input[type="checkbox"] { appearance: auto; width: 16px !important; height: 16px; min-width: 16px; margin: 0; padding: 0; justify-self: start; accent-color: var(--blue); }.switch-line { margin: 15px 0; }
.nested-fields { padding: 14px; border-radius: 10px; background: #f7f9fc; border: 1px solid var(--line); }
.safe-copy-note { background: #eef8f3; color: #236143; padding: 12px; border-radius: 9px; font-size: 11px; line-height: 1.5; }
.step-copy { color: var(--muted); font-size: 12px; margin: -7px 0 16px; }.wizard-summary { display: grid; gap: 6px; margin-top: 16px; padding: 14px; border-radius: 9px; background: var(--blue-soft); font-size: 12px; }.wizard-summary span { color: var(--muted); }
.wizard-actions { display: flex; justify-content: flex-end; gap: 9px; border-top: 1px solid var(--line); margin-top: 22px; padding-top: 17px; }.wizard-actions .primary-button { width: auto; min-width: 120px; }
.password-change-card { width: min(520px, 100%); margin: 50px auto; padding: 30px; }
.password-change-card h1 { margin: 4px 0 7px; font-size: 25px; }.password-change-card > p:not(.eyebrow) { color: var(--muted); margin: 0 0 20px; }
.password-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; background: var(--blue-soft); margin-bottom: 18px; }
.verification-card { width: min(520px, 100%); background: white; border-radius: 18px; padding: 32px; box-shadow: 0 18px 60px #18334f20; }
.verification-card h1 { margin: 6px 0 9px; font-size: 28px; }.verification-card > p:not(.eyebrow) { color: var(--muted); line-height: 1.55; }
.primary-link { display: block; background: var(--blue); color: white; text-decoration: none; text-align: center; padding: 13px; border-radius: 9px; font-weight: 800; margin-top: 18px; }
dialog { border: 0; border-radius: 16px; width: min(410px, calc(100% - 32px)); padding: 28px; text-align: center; box-shadow: 0 24px 70px #17203344; }
dialog::backdrop { background: #0c223880; backdrop-filter: blur(2px); }
.dialog-close { position: absolute; right: 12px; top: 9px; border: 0; background: transparent; font-size: 25px; color: var(--muted); }
.dialog-icon { margin: auto; width: 45px; height: 45px; display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); border-radius: 50%; font-weight: 900; }
dialog h2 { margin: 14px 0 7px; } dialog p { color: var(--muted); font-size: 14px; }

.access-editor { max-width: 850px; }.access-editor h3 { margin: 20px 0 5px; }.permission-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }.admin-form .permission-grid label { display: grid; grid-template-columns: 18px 1fr; align-items: center; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fbfcfe; }.permission-grid input[type="checkbox"] { width: 16px; height: 16px; margin: 0; }.access-save { width: auto; min-width: 210px; margin-top: 18px; }

.party-layout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(420px,.85fr); gap: 17px; align-items: start; }.party-list-card { padding: 0; overflow: hidden; }.party-list-card .card-heading { padding: 19px 20px 0; }.party-search { display: flex; gap: 8px; padding: 0 20px 16px; }.party-search input { flex: 1; min-width: 0; padding: 10px 11px; border: 1px solid #ccd5e0; border-radius: 8px; }.party-list-card td:first-child { display: grid; gap: 3px; }.party-list-card td:first-child small { color: var(--muted); }.role-selector { border: 0; padding: 0; margin: 5px 0 0; }.role-selector legend { font-size: 12px; font-weight: 800; margin-bottom: 9px; }
.compact-switch { min-height: 48px; align-self: end; transform: translateY(19px); }.identity-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }.lookup-result { color: var(--muted); font-size: 13px; line-height: 1.4; }.lookup-success { color: #087443; }.lookup-warning { color: #856000; }.lookup-error { color: #a03229; }.required-note { color: #a03229; font-size: 11px; font-weight: 800; margin-left: 5px; }
.table-action { color: var(--blue); font-size: 11px; font-weight: 800; text-decoration: none; }.customer-layout { display: grid; grid-template-columns: minmax(270px,.58fr) minmax(520px,1.42fr); gap: 17px; align-items: start; }.customer-summary dl { display: grid; margin: 0; }.customer-summary dl div { padding: 11px 0; border-top: 1px solid var(--line); display: grid; gap: 4px; }.customer-summary dt { color: var(--muted); font-size: 10px; text-transform: uppercase; font-weight: 800; }.customer-summary dd { margin: 0; font-size: 12px; font-weight: 750; line-height: 1.45; }.edition-badge { display: inline-block; width: max-content; border-radius: 999px; padding: 4px 9px; font-size: 10px; font-weight: 900; }.edition-badge.lite { background: #eef2f6; color: #475467; }.edition-badge.full { background: #e5f7ed; color: #087443; }.accounting-reserve { margin-top: 5px; border-radius: 9px; padding: 13px; border: 1px solid var(--line); }.accounting-reserve strong { font-size: 12px; }.accounting-reserve p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }.accounting-reserve.full { background: #eef8f3; border-color: #cce8d8; }.accounting-reserve.lite { background: #f7f9fc; }.customer-save { width: auto; min-width: 230px; }.future-movements { margin-top: 17px; }
.customer-related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; margin-top: 17px; align-items: start; }.related-list { display: grid; border-top: 1px solid var(--line); }.related-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }.related-list span { display: grid; gap: 4px; }.related-list strong { font-size: 12px; }.related-list small,.empty-copy { color: var(--muted); font-size: 10px; line-height: 1.45; }.compact-related-form { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }.compact-related-form .outline-button { width: max-content; cursor: pointer; }

@media (max-width: 1050px) {
    .metrics { grid-template-columns: repeat(2, 1fr); }
    .dashboard-grid { grid-template-columns: 1fr; }
    .user-chip div { display: none; }
}
@media (max-width: 780px) {
    .login-body { padding: 0; }
    .login-shell { min-height: 100vh; border-radius: 0; grid-template-columns: 1fr; }
    .login-brand { display: none; }
    .login-panel { padding: 48px 28px 28px; }
    .app-shell { grid-template-columns: 1fr; }
    .sidebar { position: fixed; transform: translateX(-105%); transition: transform .2s ease; width: 245px; box-shadow: 10px 0 35px #102b4655; }
    .sidebar.open { transform: translateX(0); }
    .menu-toggle { display: block; }
    .topbar { padding: 0 14px; gap: 12px; }
    .context div:nth-child(2), .logout { display: none; }
    .pos-button { padding: 10px 11px; font-size: 11px; }
    .content { padding: 18px 14px 32px; }
    .page-heading { align-items: start; flex-direction: column; }
    .metrics { grid-template-columns: 1fr; }
    .quick-actions { grid-template-columns: 1fr; }
    .audit-summary { grid-template-columns: 1fr; }
    .users-grid { grid-template-columns: 1fr; }
    .company-layout { grid-template-columns: 1fr; }
    .profile-grid { grid-template-columns: 1fr; }
    .permission-grid { grid-template-columns: 1fr; }
    .party-layout { grid-template-columns: 1fr; }
    .customer-layout { grid-template-columns: 1fr; }
    .customer-related-grid { grid-template-columns: 1fr; }
    .field-grid.two, .check-grid { grid-template-columns: 1fr; }
}
.related-toggle {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin: 14px 0;
    padding: 13px 15px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #f8fafc;
    cursor: pointer;
    font-weight: 700;
}

.related-toggle input {
    width: 16px;
    height: 16px;
    margin: 0;
}

.sales-setup-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.sales-module-actions { margin: 20px 0; }
.admin-catalog-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); gap: 20px; align-items: start; }
.profile-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: 0; }
.profile-details div { padding: 13px 0; border-bottom: 1px solid var(--line); }
.profile-details dt { color: var(--muted); font-size: 11px; font-weight: 700; }
.profile-details dd { margin: 4px 0 0; font-size: 13px; }
.role-launch-card { display: grid; gap: 12px; justify-items: start; }
.product-view-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.product-editor { display: grid; gap: 18px; }
.warehouse-choice-list { display: grid; gap: 10px; }
.warehouse-choice { display: grid; grid-template-columns: minmax(240px,1fr) minmax(220px,.7fr); align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fbfdff; }
.warehouse-choice > span { display: flex; align-items: center; gap: 8px; }
.warehouse-choice > span input { width: 16px; height: 16px; }
.component-row { display: grid; grid-template-columns: minmax(220px,1fr) 130px auto; gap: 10px; align-items: center; margin-bottom: 10px; }
.cash-tabs { scroll-margin-top: 16px; }
.inventory-tabs { overflow-x: auto; }
.inventory-tabs a { white-space: nowrap; }
.inventory-filter { display: grid; grid-template-columns: minmax(300px,1fr) auto auto; gap: 10px; align-items: start; margin-bottom: 18px; }
.inventory-filter .invoice-product-picker { min-width: 0; }
.cash-config-layout { align-items: start; }
.cash-assignment-form { align-items: end; grid-template-columns: minmax(180px,1fr) minmax(220px,1.4fr) repeat(3,auto) auto; }
.cash-operation-grid { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(420px,1.25fr); gap: 20px; margin: 20px 0; align-items: start; }
.open-cash-card { border: 1px solid #dbe4ee; border-radius: 14px; padding: 16px; margin: 12px 0; background: #fbfdff; }
.open-cash-card > div { display: grid; gap: 4px; }
.open-cash-card small { color: #68758c; }
.open-cash-card details { border-top: 1px solid #e3eaf2; margin-top: 12px; padding-top: 10px; }
.open-cash-card summary { cursor: pointer; color: #1267ad; font-weight: 700; }
.invoice-editor { display: grid; gap: 18px; }
.invoice-action-bar { position: sticky; top: 84px; z-index: 20; display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 0 0 18px; padding: 13px 16px; border: 1px solid #b9d8f0; border-radius: 13px; background: rgba(255,255,255,.97); box-shadow: 0 8px 24px rgba(17,61,98,.14); backdrop-filter: blur(9px); }
.invoice-action-bar > div:first-child { display: grid; gap: 3px; min-width: 0; }
.invoice-action-bar small { color: var(--muted); }
.invoice-action-buttons { display: flex; align-items: stretch; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.invoice-action-buttons form { margin: 0; }
.invoice-action-buttons .primary-button, .invoice-action-buttons .outline-button, .invoice-action-buttons .primary-link, .invoice-action-buttons .outline-link { display: inline-flex; align-items: center; justify-content: center; width: 180px; min-width: 180px; height: 42px; min-height: 42px; margin: 0; padding: 0 15px; box-sizing: border-box; line-height: 1.1; text-align: center; white-space: nowrap; }
.invoice-view-grid .invoice-total-card form { display: none; }
.sri-process-actions > form { display: none; }
.sri-process-actions .sri-signature-retry form { display: block; }
.invoice-sri-progress[hidden] { display: none; }
.invoice-sri-progress { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; background: rgba(9,27,49,.56); backdrop-filter: blur(4px); }
.invoice-sri-progress-card { width: min(560px,100%); padding: 28px; border-radius: 18px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.28); text-align: center; }
.invoice-sri-progress-card h2 { margin: 13px 0 6px; }
.invoice-sri-progress-card p { margin: 0 0 18px; color: #155f9f; font-weight: 800; }
.invoice-sri-progress-card small { display: block; margin-top: 18px; color: var(--muted); line-height: 1.45; }
.invoice-sri-spinner { display: inline-block; width: 38px; height: 38px; border: 4px solid #d9eafb; border-top-color: var(--primary); border-radius: 50%; animation: invoice-sri-spin .8s linear infinite; }
.invoice-sri-progress-steps { display: grid; grid-template-columns: repeat(5,1fr); gap: 6px; }
.invoice-sri-progress-steps span { padding: 7px 4px; border-radius: 8px; background: #edf5fb; color: #46627a; font-size: 10px; font-weight: 800; }
.invoice-email-dialog { width: min(540px,calc(100% - 30px)); padding: 22px; border: 0; border-radius: 16px; color: var(--ink); box-shadow: 0 24px 75px rgba(0,0,0,.3); }
.invoice-email-dialog::backdrop { background: rgba(9,27,49,.56); backdrop-filter: blur(4px); }
.invoice-email-dialog form { display: grid; gap: 15px; }
.invoice-email-dialog .dialog-heading { position: static; margin: -22px -22px 0; }
.invoice-email-dialog .dialog-heading h2, .invoice-email-dialog .dialog-heading p { margin: 0; }
.invoice-email-dialog .dialog-heading p { margin-top: 4px; color: var(--muted); font-size: 12px; }
.invoice-email-dialog label { display: grid; gap: 7px; font-size: 12px; font-weight: 800; }
.invoice-email-dialog input { width: 100%; padding: 11px 12px; border: 1px solid #cbd6e2; border-radius: 9px; box-sizing: border-box; font: inherit; }
.invoice-email-dialog > form > small { color: var(--muted); line-height: 1.45; }
.invoice-email-actions { display: flex; justify-content: flex-end; gap: 9px; }
.invoice-email-actions button { width: 160px; min-height: 42px; }
@keyframes invoice-sri-spin { to { transform: rotate(360deg); } }
.invoice-editor label { display: grid; gap: 6px; color: #344054; font-size: 12px; font-weight: 750; }
.invoice-editor input, .invoice-editor select, .invoice-editor textarea { width: 100%; box-sizing: border-box; padding: 10px 11px; border: 1px solid #ccd5e0; border-radius: 8px; background: white; color: var(--ink); font: inherit; }
.invoice-table-wrap { overflow: visible; }
.invoice-product-picker { position: relative; min-width: 300px; }
.invoice-product-search { width: 100%; }
.invoice-customer-field { display: grid; gap: 7px; min-width: 0; }
.invoice-customer-controls { display: grid; grid-template-columns: minmax(0,1fr) 44px 44px; gap: 8px; align-items: start; }
.invoice-customer-controls .invoice-product-picker { min-width: 0; }
.invoice-customer-icon { display: grid; place-items: center; width: 44px; height: 42px; box-sizing: border-box; border: 1px solid #9bcdf5; border-radius: 9px; background: #eef7ff; color: #0874c9; font-size: 19px; font-weight: 900; text-decoration: none; }
.invoice-customer-icon:hover, .invoice-customer-icon:focus { background: #dcefff; outline: 2px solid rgba(8,116,201,.16); }
.invoice-customer-icon[hidden] { display: none; }
.invoice-customer-field > small { min-height: 17px; color: var(--muted); }
.final-consumer-notice { display: grid; gap: 3px; margin-top: 3px; padding: 10px 12px; border: 1px solid #f2ca73; border-radius: 9px; background: #fff8e6; color: #76520b; }
.final-consumer-notice[hidden] { display: none; }
.final-consumer-notice strong { color: #5d3f05; }
.final-consumer-notice span { line-height: 1.4; }
.final-consumer-notice.is-error { border-color: #ef9b93; background: #fff0ef; color: #9d281e; }
.final-consumer-notice.is-error strong { color: #8f1d14; }
.invoice-product-results { position: absolute; z-index: 30; top: calc(100% + 5px); left: 0; right: 0; max-height: 280px; overflow-y: auto; background: #fff; border: 1px solid #c9d6e5; border-radius: 10px; box-shadow: 0 14px 32px rgba(17,45,78,.18); }
.invoice-product-option { display: flex; width: 100%; padding: 11px 13px; border: 0; border-bottom: 1px solid #edf1f6; background: #fff; color: #15233b; text-align: left; cursor: pointer; flex-direction: column; gap: 3px; }
.invoice-product-option:last-child { border-bottom: 0; }
.invoice-product-option:hover, .invoice-product-option:focus { background: #eef6ff; outline: none; }
.invoice-product-option small, .invoice-search-state { color: #66758b; font-size: .8rem; }
.invoice-search-state { display: block; padding: 13px; }
.invoice-view-grid, .invoice-payment-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,.6fr); gap: 20px; margin: 18px 0; align-items: start; }
.invoice-lines-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.invoice-lines-table th, .invoice-lines-table td { padding: 10px 8px; border-bottom: 1px solid var(--line); text-align: left; }
.invoice-lines-table th { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.invoice-lines-table select { min-width: 290px; }
.invoice-lines-table input { min-width: 105px; }
.invoice-line-total { white-space: nowrap; font-weight: 800; }
.invoice-vat-indicator { display: inline-block; min-width: 112px; white-space: nowrap; color: #087443; font-weight: 800; }
.invoice-payment-grid { align-items: start; }
.invoice-payment-card { align-self: start; min-width: 0; }
@media(max-width:720px){.invoice-action-bar{top:76px;align-items:stretch;flex-direction:column}.invoice-action-buttons{display:grid;grid-template-columns:1fr;justify-content:stretch}.invoice-action-buttons>*{width:100%}.invoice-action-buttons .primary-button,.invoice-action-buttons .outline-button,.invoice-action-buttons .primary-link,.invoice-action-buttons .outline-link{width:100%;min-width:0;text-align:center}.invoice-sri-progress-steps{grid-template-columns:1fr}.invoice-sri-progress-steps span{padding:5px}}
.invoice-payment-card > label { display: grid; gap: 7px; margin-top: 12px; }
.invoice-observations { width: 100%; min-width: 0; }
.invoice-observations textarea { display: block; width: 100%; min-height: 118px; box-sizing: border-box; resize: none; overflow-y: auto; }
.table-wrap:has(#purchase-line-rows) { min-height: 0; max-height: none; overflow: visible; }
.table-wrap:has(#purchase-line-rows) .invoice-lines-table { min-width: 1240px; }
.table-wrap:has(#purchase-line-rows) .invoice-lines-table th:first-child,
.table-wrap:has(#purchase-line-rows) .invoice-lines-table td:first-child { width: 42%; min-width: 460px; }
.table-wrap:has(#purchase-line-rows) .invoice-product-picker { min-width: 440px; }
.table-wrap:has(#purchase-line-rows) .invoice-product-results { max-height: 320px; z-index: 50; }
.table-wrap:has(#purchase-line-rows) + #add-purchase-line { margin-top: 12px; }
.purchase-entry-tabs { margin: 18px 0 0; }
.purchase-entry-tabs button { appearance: none; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); padding: 12px 16px; font: inherit; font-weight: 750; cursor: pointer; }
.purchase-entry-tabs button.active { color: var(--blue); border-bottom-color: var(--blue); }
.purchase-tab-panel[hidden] { display: none; }
.purchase-mode-selector { display: grid; grid-template-columns: minmax(280px,1fr) minmax(320px,.8fr); gap: 24px; align-items: end; margin-top: 18px; padding: 16px 20px; }
.purchase-mode-selector > div { display: grid; gap: 5px; }
.purchase-mode-selector > div strong { color: var(--blue-dark); font-size: 16px; }
.purchase-mode-selector > div small { color: var(--muted); line-height: 1.45; }
.purchase-warehouse-field { margin: 0; }
.purchase-header-grid { grid-template-columns: repeat(4,minmax(160px,1fr)); align-items: end; }
.purchase-header-grid > .full { grid-column: 1 / -1; }
.purchase-header-grid > label { display: grid; gap: 7px; min-width: 0; }
.purchase-header-grid > label > input,.purchase-header-grid > label > select { width: 100%; min-width: 0; }
.purchase-import-bar { display: grid; grid-template-columns: minmax(300px,1fr) auto; gap: 10px 18px; align-items: center; margin: -2px 0 20px; padding: 14px 16px; border: 1px solid #cbd8e6; border-radius: 12px; background: #f8fbff; }
.purchase-import-bar > div:first-child { display: grid; gap: 4px; }
.purchase-import-bar small { color: var(--muted); }
.purchase-import-actions { display: flex; justify-content: flex-end; }
.purchase-xml-status { grid-column: 1 / -1; padding-top: 9px; border-top: 1px solid #dce5ef; font-size: 12px; font-weight: 750; }
.purchase-xml-status.success { color: #067647; }.purchase-xml-status.warning { color: #985f0d; }.purchase-xml-status.error { color: #b42318; }.purchase-xml-status.pending { color: var(--blue); }
.purchase-supplier-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: end; width: 100%; }
.purchase-supplier-controls .invoice-product-picker,.purchase-supplier-controls .invoice-product-search,.purchase-supplier-controls #purchase-supplier-search { width: 100%; min-width: 0; }
.purchase-new-supplier { min-height: 44px; white-space: nowrap; }
.purchase-credit-field { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 15px; border: 1px solid #cbd8e6; border-radius: 11px; background: #f8fbff; }
.purchase-credit-check { display: flex; align-items: center; gap: 9px; color: var(--blue-dark); }
.purchase-credit-check input { width: 18px; height: 18px; margin: 0; }
.purchase-credit-field small { color: var(--muted); text-align: right; }
.purchase-credit-field b { color: var(--blue); font-size: 15px; }
.purchase-number-grid { display: grid; grid-template-columns: minmax(260px,.75fr) minmax(420px,1.25fr); gap: 18px; margin-top: 15px; align-items: end; }
.purchase-number-grid label,.purchase-number-grid input { width: 100%; min-width: 0; }
.purchase-document-field { display: grid; gap: 6px; }
.purchase-document-field input { font-family: ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing: .04em; }
.purchase-document-field small { color: var(--muted); }
.purchase-authorization-field { display: grid; gap: 6px; width: 100%; margin: 0; }
.purchase-authorization-field input { width: 100%; max-width: none; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing: .025em; }
.purchase-provider-pending .purchase-header-grid > label:not(.full),.purchase-provider-pending .purchase-number-grid,.purchase-provider-pending .purchase-authorization-field,.purchase-provider-pending .purchase-credit-field { opacity: .58; }
.purchase-provider-pending .purchase-header-grid::after { content: 'Selecciona un proveedor registrado para habilitar la cabecera.'; grid-column: 1 / -1; color: #985f0d; font-size: 12px; font-weight: 750; }
@media (max-width: 760px) { .purchase-mode-selector { grid-template-columns: 1fr; } }
@media (max-width: 1000px) { .purchase-header-grid { grid-template-columns: repeat(2,minmax(160px,1fr)); }.purchase-number-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .purchase-header-grid,.purchase-number-grid,.purchase-import-bar,.purchase-supplier-controls { grid-template-columns: 1fr; } .purchase-import-actions { justify-content: stretch; }.purchase-import-actions button,.purchase-new-supplier { width: 100%; }.purchase-credit-field { align-items: flex-start; flex-direction: column; } .purchase-credit-field small { text-align: left; } }
.purchase-stage-note { display: flex; flex-direction: column; gap: 7px; min-height: 130px; justify-content: center; padding: 24px; border: 1px dashed #b8c8db; border-radius: 12px; background: #f8fbff; color: var(--muted); }
.purchase-stage-note strong { color: var(--blue-dark); font-size: 16px; }
.purchase-tax-value { white-space: nowrap; font-weight: 750; }
.purchase-tax-value small { display: block; margin-top: 3px; color: var(--muted); font-weight: 600; }
.purchase-tax-summary { display: grid; gap: 7px; margin-bottom: 12px; }
.purchase-tax-summary div { display: flex; justify-content: space-between; gap: 20px; }
.purchase-tax-summary span { color: var(--muted); }
.purchase-generic-table { min-width: 850px; }
.purchase-generic-table th:first-child,.purchase-generic-table td:first-child { min-width: 420px; }
.purchase-generic-table select,.purchase-generic-table input { width: 100%; min-width: 120px; }
.purchase-account-picker { min-width: 380px; }
.purchase-account-search { width: 100%; }
.purchase-tab-panel { overflow: visible; }
.purchase-tab-panel .table-wrap:has(.purchase-generic-table) { overflow: visible; }
.purchase-generic-table tbody tr { position: relative; }
.purchase-generic-table tbody tr:focus-within { z-index: 80; }
.purchase-account-picker:focus-within { z-index: 90; }
.purchase-account-results { z-index: 100; max-height: 300px; }
.purchase-add-generic { position: relative; z-index: 1; margin-top: 12px; }
.purchase-payment-validation { display: grid; gap: 8px; margin-top: 18px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.purchase-payment-validation div { display: flex; justify-content: space-between; gap: 20px; }
.purchase-payment-validation p { margin: 4px 0 0; font-weight: 700; }
.purchase-payment-validation.success { border-color: #b9e4cc; background: #edf9f2; color: #087443; }
.purchase-payment-validation.error { border-color: #f0c1bd; background: #fff0ef; color: #a03229; }
.payment-tabs{display:flex;gap:6px;margin:0 0 14px;padding:0 12px;border-bottom:1px solid var(--line)}.payment-tabs button{padding:13px 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.payment-tabs button.active{border-bottom-color:var(--blue);color:var(--blue)}.payment-tab-panel[hidden]{display:none}.payment-balance-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px}.payment-balance-summary>div{display:grid;gap:5px}.payment-balance-summary span{color:var(--muted)}.payment-balance-summary strong{font-size:18px}.payment-balance-summary .payment-balance-difference{padding-left:14px;border-left:1px solid var(--line)}.payment-balance-summary.success .payment-balance-difference strong{color:#087443}@media(max-width:760px){.payment-tabs{overflow-x:auto}.payment-tabs button{white-space:nowrap}.payment-balance-summary{grid-template-columns:1fr 1fr}.payment-balance-summary .payment-balance-difference{padding-left:0;border-left:0}}
.purchase-save-errors { position: sticky; z-index: 12; top: 82px; margin-bottom: 16px; box-shadow: 0 8px 24px rgba(126,35,26,.14); }
.purchase-concept-card textarea { display: block; width: 100%; min-height: 160px; resize: vertical; }
.purchase-concept-help { margin: 6px 0 16px; color: var(--muted); }
.invoice-total-card { display: grid; gap: 14px; align-content: start; }
.invoice-total-card > strong { font-size: clamp(28px,4vw,44px); color: #1267ad; }
.invoice-total-card dl { margin: 0; }
.invoice-total-card dl div { display: flex; justify-content: space-between; gap: 15px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.invoice-total-card dt, .invoice-total-card dd { margin: 0; }

.sales-settings-card,
.sales-points-card {
    grid-column: 1 / -1;
}

.sales-checks {
    margin: 18px 0;
}

.sales-checks small {
    display: block;
    grid-column: 2;
    color: var(--muted);
    font-weight: 400;
}

.sales-point-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.sales-point-list > div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fbfdff;
}

.sales-point-list strong,
.sales-point-list small {
    display: block;
}

.sales-point-list small {
    margin-top: 4px;
    color: var(--muted);
}

@media (max-width: 900px) {
    .sales-setup-grid { grid-template-columns: 1fr; }
    .sales-settings-card, .sales-points-card { grid-column: auto; }
    .admin-catalog-layout { grid-template-columns: 1fr; }
    .product-view-grid { grid-template-columns: 1fr; }
    .warehouse-choice, .component-row { grid-template-columns: 1fr; }
    .cash-assignment-form, .cash-operation-grid { grid-template-columns: 1fr; }
    .invoice-view-grid, .invoice-payment-grid { grid-template-columns: 1fr; }
    .invoice-product-picker { min-width: 230px; }
    .invoice-customer-controls .invoice-product-picker { min-width: 0; }
    .inventory-filter { grid-template-columns: 1fr; }
}
.chart-toolbar { display:flex; justify-content:space-between; gap:14px; align-items:center; margin-bottom:16px; padding:14px; }
.chart-search { display:grid; grid-template-columns:minmax(260px,1fr) 140px auto; gap:9px; flex:1; }
.chart-search input,.chart-search select { min-height:42px; border:1px solid var(--line); border-radius:9px; padding:0 12px; background:#fff; color:var(--ink); }
.chart-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr); gap:17px; align-items:start; }
.chart-editor { position:sticky; top:18px; }
.chart-layout:not(:has(.chart-editor input[name="account_id"])) { grid-template-columns:1fr; }
.chart-editor:not(:has(input[name="account_id"])) { display:none; }
.chart-table td { vertical-align:middle; }
.chart-table td:nth-child(1) { white-space:nowrap; }
.chart-table small { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
.chart-group td { background:#f7f9fc; font-weight:700; }
.chart-indent { display:block; padding-left:calc(var(--chart-level) * 13px); }
.chart-indent.chart-name-add { color:var(--primary); cursor:pointer; text-decoration:none; }
.chart-indent.chart-name-add:hover { text-decoration:underline; }
.chart-indent.chart-name-add:focus-visible { outline:2px solid var(--primary); outline-offset:3px; border-radius:3px; }
.chart-balance-table th:first-child,.chart-balance-table td:first-child { width:48px; text-align:center; }
.chart-balance-table th:nth-child(3),.chart-balance-table td:nth-child(3) { width:120px; }
.chart-balance-table th:last-child,.chart-balance-table td:last-child { width:190px; text-align:right; }
.chart-account-main { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.chart-account-main > div:first-child { min-width:0; flex:1; }
.chart-account-main .chart-indent { display:inline-block; }
.chart-balance strong { display:block; font-size:15px; font-variant-numeric:tabular-nums; }
.chart-balance small { display:block; margin-top:4px; color:var(--muted); font-weight:400; }
.chart-table .chart-root-asset.chart-level-1 td { background:#e7f8f6; }
.chart-table .chart-root-liability.chart-level-1 td { background:#fff0ee; }
.chart-table .chart-root-equity.chart-level-1 td { background:#f1edff; }
.chart-table .chart-root-income.chart-level-1 td { background:#eaf4ff; }
.chart-table .chart-root-cost.chart-level-1 td { background:#fff4e6; }
.chart-table .chart-root-asset td:first-child { box-shadow:inset 5px 0 #1f9d8b; }
.chart-table .chart-root-liability td:first-child { box-shadow:inset 5px 0 #d06156; }
.chart-table .chart-root-equity td:first-child { box-shadow:inset 5px 0 #7657c8; }
.chart-table .chart-root-income td:first-child { box-shadow:inset 5px 0 #287dcc; }
.chart-table .chart-root-cost td:first-child { box-shadow:inset 5px 0 #df8525; }
.chart-table tr:not(.chart-level-1).chart-root-asset td:first-child { box-shadow:inset 3px 0 rgba(31,157,139,.45); }
.chart-table tr:not(.chart-level-1).chart-root-liability td:first-child { box-shadow:inset 3px 0 rgba(208,97,86,.45); }
.chart-table tr:not(.chart-level-1).chart-root-equity td:first-child { box-shadow:inset 3px 0 rgba(118,87,200,.45); }
.chart-table tr:not(.chart-level-1).chart-root-income td:first-child { box-shadow:inset 3px 0 rgba(40,125,204,.45); }
.chart-table tr:not(.chart-level-1).chart-root-cost td:first-child { box-shadow:inset 3px 0 rgba(223,133,37,.45); }
.chart-row-hidden { display:none; }
.chart-code-cell { display:flex; align-items:center; gap:7px; }
.chart-toggle { width:24px; height:24px; border:1px solid #b9cce4; border-radius:6px; background:#fff; color:var(--primary); font-weight:800; cursor:pointer; line-height:1; }
.chart-toggle-spacer { width:24px; height:24px; display:inline-block; }
.chart-actions { position:relative; display:inline-block; width:0; }
.chart-actions-toggle { display:none; }
.chart-actions-menu { display:none; position:fixed; z-index:70; min-width:205px; padding:6px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 12px 28px rgba(14,42,72,.22); font-weight:500; }
.chart-actions.open .chart-actions-menu { display:grid; }
.chart-actions-menu a,.chart-actions-menu button,.chart-actions-menu span { display:block; width:100%; padding:9px 11px; border:0; border-radius:7px; background:transparent; color:var(--ink); text-align:left; text-decoration:none; font:inherit; cursor:pointer; }
.chart-actions-menu a:hover,.chart-actions-menu button:hover { background:#edf6ff; color:var(--primary); }
.chart-actions-menu span { color:var(--muted); cursor:default; }
.chart-actions-menu form { margin:0; }
.chart-actions-menu button:disabled { color:#9aa7b5; cursor:not-allowed; background:transparent; }
.chart-actions-menu .chart-delete-account { color:#b3261e; }
.chart-account-dialog { width:min(720px,calc(100% - 28px)); max-height:90vh; padding:0; border:0; border-radius:14px; color:var(--ink); box-shadow:0 24px 70px rgba(8,28,49,.34); }
.chart-account-dialog::backdrop { background:rgba(9,25,42,.58); }
.chart-account-dialog form { max-height:90vh; padding:0 22px 22px; overflow:auto; }
.chart-account-dialog label:has(select[name="account_type"]),.chart-editor label:has(select[name="account_type"]) { display:none; }
.chart-editor:has(input[name="account_id"]) { position:fixed; z-index:61; left:50%; top:50%; transform:translate(-50%,-50%); width:min(720px,calc(100% - 28px)); max-height:90vh; overflow:auto; margin:0; box-shadow:0 24px 70px rgba(8,28,49,.34); }
body:has(.chart-editor input[name="account_id"])::before { content:""; position:fixed; z-index:60; inset:0; background:rgba(9,25,42,.58); }
.chart-editor input[readonly],.chart-editor select:disabled { background:#eef2f6; color:#596778; cursor:not-allowed; }
.dialog-heading { position:sticky; z-index:3; top:0; display:flex; justify-content:space-between; gap:16px; align-items:center; margin:0 -22px 16px; padding:18px 22px; border-bottom:1px solid var(--line); background:#fff; }
.dialog-heading h2,.dialog-heading p { margin:0; }
.dialog-heading p { margin-top:5px; color:var(--muted); }
.chart-dialog-close { border:0; background:transparent; color:var(--primary); font-size:28px; cursor:pointer; }
.dialog-heading > .chart-dialog-close { display:none; }
.chart-parent-summary { display:grid; gap:4px; margin:16px 0; padding:14px; border-radius:10px; background:#f3f8fd; }
.chart-parent-summary span { font-size:17px; }
.chart-parent-summary small { color:var(--muted); }
.dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin:0 0 0 auto; }
.chart-editor .card-heading { position:sticky; z-index:3; top:0; align-items:center; margin:-22px -22px 18px; padding:18px 22px; background:#fff; border-bottom:1px solid var(--line); }
.chart-editor .card-heading .chart-top-save { margin-left:8px; white-space:nowrap; }
.chart-import-card,.chart-preview-card { margin-top:17px; }
.chart-template-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.chart-template { display:flex; flex-direction:column; gap:6px; min-height:108px; padding:16px; border:1px solid var(--line); border-radius:12px; color:var(--ink); text-decoration:none; background:#f8fbff; }
.chart-template:hover { border-color:var(--primary); box-shadow:0 5px 16px rgba(20,76,130,.08); }
.chart-template span { color:var(--primary); font-weight:700; }
.chart-template small { color:var(--muted); font-weight:400; }
.chart-upload-form { display:grid; grid-template-columns:minmax(260px,1fr) auto; gap:12px; align-items:end; margin-top:18px; }
.chart-upload-form label { display:grid; gap:7px; font-weight:700; }
.chart-upload-form input { min-height:44px; padding:8px; border:1px solid var(--line); border-radius:9px; background:#fff; }
.import-errors { margin:14px 0; padding:14px 18px; color:#9d281e; background:#fff0ef; border:1px solid #f3bbb5; border-radius:10px; }
.import-errors ul { margin:8px 0 0; padding-left:20px; }
.chart-confirm-form { display:flex; justify-content:flex-end; margin-top:15px; }
.chart-import-dialog { width:min(1080px,calc(100% - 28px)); max-height:92vh; padding:0; border:0; border-radius:16px; color:var(--ink); box-shadow:0 24px 70px rgba(8,28,49,.34); }
.chart-import-dialog::backdrop { background:rgba(9,25,42,.62); }
.chart-import-dialog-body { max-height:92vh; padding:0 22px 22px; overflow:auto; }
.chart-import-close { border:0; background:transparent; color:var(--primary); font-size:30px; cursor:pointer; }
.chart-import-requirements { margin-bottom:16px; padding:15px 17px; border:1px solid #b9d5ef; border-radius:12px; background:#eef7ff; }
.chart-import-requirements p { margin:6px 0 0; color:var(--muted); }
.chart-import-dialog .chart-preview-card { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
@media (max-width:1050px){.chart-layout{grid-template-columns:1fr}.chart-editor{position:static}.chart-toolbar{align-items:stretch;flex-direction:column}.chart-search{grid-template-columns:1fr 140px auto}}
@media (max-width:800px){.chart-template-grid{grid-template-columns:1fr}.chart-upload-form{grid-template-columns:1fr}}
@media (max-width:650px){.chart-search{grid-template-columns:1fr}.chart-toolbar form:last-child .outline-button{width:100%}.chart-balance-table th:nth-child(3),.chart-balance-table td:nth-child(3){display:none}.chart-balance-table th:last-child,.chart-balance-table td:last-child{width:130px}.chart-account-main{gap:6px}.dialog-heading,.chart-editor .card-heading{gap:7px;padding:13px 14px}.dialog-heading h2,.chart-editor .card-heading h2{font-size:19px}.dialog-heading p,.chart-editor .card-heading p{display:none}.dialog-actions .outline-button,.dialog-actions .primary-button,.chart-top-save{padding:9px 11px;font-size:13px}}

/* Configuración contable operativa */
.accounting-readiness{display:grid;grid-template-columns:minmax(250px,.8fr) 1.2fr;gap:22px;align-items:center;margin-bottom:17px;padding:18px 20px;border:1px solid;border-radius:13px}.accounting-readiness.ready{color:#08733e;background:#eaf8f0;border-color:#b8e2c9}.accounting-readiness.pending{color:#805b00;background:#fff8e7;border-color:#ecd79d}.accounting-readiness div{display:grid;gap:4px}.accounting-readiness strong{font-size:18px}.accounting-readiness span{font-weight:700}.accounting-readiness p{margin:0;color:var(--ink)}
.accounting-settings-form{display:block}.accounting-savebar{position:sticky;z-index:9;top:0;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:17px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 7px 20px rgba(18,57,93,.08);backdrop-filter:blur(8px)}.accounting-savebar div{display:grid;gap:3px}.accounting-savebar small{color:var(--muted)}
.accounting-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.accounting-settings-card{margin:0}.accounting-settings-card:first-child{grid-column:1/-1}.accounting-settings-card .card-heading{margin-bottom:16px}.accounting-settings-card .card-heading>div{display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center}.accounting-settings-card .card-heading h2,.accounting-settings-card .card-heading p{grid-column:2}.accounting-card-number{grid-column:1!important;grid-row:1/3;display:grid!important;place-items:center;width:32px;height:32px;margin:0!important;border-radius:9px;background:#e8f3ff;color:var(--primary)!important;font-size:15px!important;font-weight:800}.accounting-settings-card label{display:grid;gap:7px;font-weight:700}.accounting-settings-card input{width:100%}
.warehouse-account-list{display:grid;gap:10px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.warehouse-account-list h3{margin:0 0 3px}.warehouse-account-list>label{grid-template-columns:minmax(150px,.7fr) minmax(230px,1.3fr);align-items:center;padding:11px 0;border-bottom:1px solid #e8edf3}.warehouse-account-list>label>span{display:grid;gap:3px}.warehouse-account-list small{color:var(--muted);font-weight:500}.accounting-scope-note{margin-top:17px}.accounting-bottom-save{display:flex;justify-content:flex-end;margin-top:17px}
@media(max-width:900px){.accounting-settings-grid{grid-template-columns:1fr}.accounting-settings-card:first-child{grid-column:auto}.accounting-readiness{grid-template-columns:1fr}.warehouse-account-list>label{grid-template-columns:1fr}.accounting-savebar{top:6px}}
@media(max-width:600px){.accounting-savebar{align-items:stretch;flex-direction:column}.accounting-savebar .primary-button,.accounting-bottom-save .primary-button{width:100%}.accounting-bottom-save{display:block}}

@media print{.sidebar,.topbar,.page-heading .heading-actions,.no-print{display:none!important}.app-shell{display:block!important}.main-content{margin:0!important;padding:0!important;width:100%!important}.card{box-shadow:none!important;break-inside:avoid}body{background:#fff!important}}

.payment-history-filter{display:flex;align-items:center;gap:16px}.payment-history-filter input[type="search"]{flex:1 1 620px;min-width:320px;width:100%;max-width:900px}.payment-history-filter .filter-auto-note{white-space:nowrap}@media(max-width:720px){.payment-history-filter{align-items:stretch;flex-direction:column}.payment-history-filter input[type="search"]{flex:auto;min-width:0;max-width:none}.payment-history-filter .filter-auto-note{white-space:normal}}

/* Control de documentos electrónicos emitidos */
.electronic-summary{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;margin-bottom:17px}.electronic-summary>div{display:grid;gap:4px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#fff}.electronic-summary span{color:var(--muted);font-size:11px;font-weight:700}.electronic-summary strong{font-size:24px}.electronic-summary .success{border-color:#b9e1ca;background:#f1fbf5}.electronic-summary .success strong{color:#087443}.electronic-summary .pending{border-color:#ead69c;background:#fff9ea}.electronic-summary .pending strong{color:#806000}.electronic-summary .failed{border-color:#efb4b0;background:#fff3f2}.electronic-summary .failed strong{color:#a52b23}.electronic-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:17px}.electronic-toolbar form{display:grid;grid-template-columns:minmax(300px,1fr) 230px auto;gap:10px;align-items:center}.electronic-toolbar input,.electronic-toolbar select{display:block!important;width:100%;min-height:42px;padding:9px 11px;border:1px solid #cbd6e2;border-radius:9px;background:#fff;color:var(--ink);font:inherit}.electronic-toolbar form>span{display:block!important;color:var(--muted);font-size:11px}.electronic-direction-tabs{display:flex!important;gap:5px;padding:4px;border-radius:10px;background:#eef3f8}.electronic-direction-tabs button{min-height:36px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:800}.electronic-direction-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px rgba(17,49,82,.1)}.electronic-documents-table{min-width:1180px}.electronic-documents-table td{vertical-align:top}.electronic-documents-table td small{display:block;margin-top:5px;color:var(--muted);font-size:10px;max-width:280px;overflow-wrap:anywhere}.electronic-access-key{display:block;max-width:270px;overflow-wrap:anywhere;white-space:normal;font-size:10px;line-height:1.45}.document-actions-menu form{margin:0}.document-actions-menu form button{display:flex;align-items:center;gap:9px;width:100%;padding:10px 12px;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.document-actions-menu form button:hover{background:#edf6ff;color:var(--primary)}.document-actions-menu form button b{min-width:16px;color:var(--primary)}

/* Venta adaptable a monitor, tableta y celular */
@media(max-width:1100px){.electronic-summary{grid-template-columns:repeat(3,minmax(130px,1fr))}.electronic-toolbar{grid-template-columns:1fr}.electronic-toolbar form{grid-template-columns:minmax(240px,1fr) 220px}.electronic-toolbar form>span{grid-column:1/-1}.invoice-action-bar{align-items:flex-start}.invoice-action-buttons{justify-content:flex-start}.invoice-action-buttons .primary-button,.invoice-action-buttons .outline-button,.invoice-action-buttons .primary-link,.invoice-action-buttons .outline-link{width:auto;min-width:150px}}
@media(max-width:780px){.content{min-width:0;overflow-x:hidden}.page-heading,.page-heading>div{width:100%;min-width:0}.heading-actions{display:grid;grid-template-columns:1fr;width:100%}.heading-actions .primary-link,.heading-actions .outline-link{width:100%;box-sizing:border-box;text-align:center}.invoice-editor>.card{min-width:0;padding:16px}.invoice-customer-controls{grid-template-columns:minmax(0,1fr) 42px 42px}.invoice-product-picker{min-width:0}.invoice-action-bar{position:static;top:auto;margin-bottom:0}.invoice-lines-table{min-width:0}.invoice-editor .invoice-table-wrap{overflow:visible}.invoice-editor .invoice-lines-table,.invoice-editor .invoice-lines-table tbody,.invoice-editor .invoice-lines-table tr,.invoice-editor .invoice-lines-table td{display:block;width:100%;box-sizing:border-box}.invoice-editor .invoice-lines-table thead{display:none}.invoice-editor .invoice-lines-table tr{margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.invoice-editor .invoice-lines-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:9px;align-items:center;padding:8px 0;border:0}.invoice-editor .invoice-lines-table td::before{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.invoice-editor .invoice-lines-table td:nth-child(1)::before{content:"Producto"}.invoice-editor .invoice-lines-table td:nth-child(2)::before{content:"Cantidad"}.invoice-editor .invoice-lines-table td:nth-child(3)::before{content:"Precio"}.invoice-editor .invoice-lines-table td:nth-child(4)::before{content:"Descuento"}.invoice-editor .invoice-lines-table td:nth-child(5)::before{content:"IVA"}.invoice-editor .invoice-lines-table td:nth-child(6)::before{content:"Total"}.invoice-editor .invoice-lines-table td:nth-child(7){display:flex;justify-content:flex-end}.invoice-editor .invoice-lines-table td:nth-child(7)::before{content:none}.invoice-editor .invoice-lines-table input,.invoice-editor .invoice-lines-table select{min-width:0;width:100%}.invoice-editor .invoice-vat-indicator{min-width:0;white-space:normal}.invoice-payment-grid,.invoice-view-grid{grid-template-columns:1fr}.electronic-summary{grid-template-columns:1fr 1fr}.electronic-toolbar form{grid-template-columns:1fr}.electronic-toolbar form>span{grid-column:auto}.electronic-direction-tabs{overflow-x:auto}.electronic-direction-tabs button{white-space:nowrap}.electronic-documents-wrap{overflow:visible}.electronic-documents-table{min-width:0}.electronic-documents-table,.electronic-documents-table tbody,.electronic-documents-table tr,.electronic-documents-table td{display:block;width:100%;box-sizing:border-box}.electronic-documents-table thead{display:none}.electronic-documents-table tr{display:grid;grid-template-columns:52px minmax(0,1fr);gap:0 8px;margin-bottom:13px;padding:12px;border:1px solid var(--line);border-radius:12px}.electronic-documents-table td{padding:7px 0;border:0}.electronic-documents-table td:first-child{grid-row:1/8}.electronic-access-key{max-width:none}.electronic-documents-table td:nth-child(n+2)::before{display:block;margin-bottom:3px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.electronic-documents-table td:nth-child(2)::before{content:"Comprobante"}.electronic-documents-table td:nth-child(3)::before{content:"Cliente"}.electronic-documents-table td:nth-child(4)::before{content:"Clave de acceso"}.electronic-documents-table td:nth-child(5)::before{content:"Recepción"}.electronic-documents-table td:nth-child(6)::before{content:"Autorización"}.electronic-documents-table td:nth-child(7)::before{content:"Verificación"}.electronic-documents-table td:nth-child(8)::before{content:"Intentos"}}
@media(max-width:480px){.content{padding:14px 10px 26px}.card{padding:15px}.electronic-summary{grid-template-columns:1fr}.invoice-customer-controls{grid-template-columns:minmax(0,1fr) 40px 40px;gap:6px}.invoice-customer-icon{width:40px}.invoice-editor .invoice-lines-table td{grid-template-columns:88px minmax(0,1fr)}.invoice-email-actions{display:grid;grid-template-columns:1fr}.invoice-email-actions button{width:100%}}

/* Firma electrónica cifrada */
.electronic-settings-tabs{margin-top:0}.electronic-signature-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:18px;align-items:start}.signature-status-card,.signature-upload-card{min-width:0}.signature-warning{padding:15px 17px;border:1px solid #e7c975;border-radius:11px;background:#fff8e5;color:#725300}.signature-warning p{margin:5px 0 0;color:#594a22;line-height:1.5}.signature-details{display:grid;margin:0}.signature-details div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:15px;padding:11px 0;border-top:1px solid var(--line)}.signature-details dt{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.signature-details dd{min-width:0;margin:0;overflow-wrap:anywhere;font-weight:700;line-height:1.45}.signature-empty{display:grid;justify-items:center;gap:7px;padding:30px 18px;border:1px dashed #b9c9da;border-radius:12px;background:#f8fbfe;text-align:center}.signature-empty b{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e6f3ff;color:var(--primary);font-size:24px}.signature-empty span{color:var(--muted)}.signature-upload-card .primary-button[disabled]{cursor:not-allowed;opacity:.5}.signature-delete{margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.signature-delete summary{color:#a22e27;font-weight:800;cursor:pointer}.signature-danger{margin-top:12px;padding:15px;border:1px solid #efb4b0;border-radius:11px;background:#fff5f4}.signature-danger p{margin:5px 0 14px;color:#783b37}.signature-danger .danger-button{width:max-content}.signature-security-note{margin-top:18px}
@media(max-width:900px){.electronic-signature-layout{grid-template-columns:1fr}.signature-details div{grid-template-columns:1fr;gap:4px}}

/* Proceso de factura electrónica SRI */
.sri-process-card{margin-top:18px}.sri-process-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:4px 0 20px}.sri-process-flow>div{display:flex;align-items:center;gap:10px;min-height:58px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#f7f9fc;color:var(--muted);font-size:13px;font-weight:700}.sri-process-flow b{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#dce5ef;color:#486075}.sri-process-flow .current{border-color:#8fc6f2;background:#edf7ff;color:#075b9f}.sri-process-flow .current b{background:var(--primary);color:#fff}.sri-process-flow .done{border-color:#a7dcc5;background:#effaf5;color:#087a48}.sri-process-flow .done b{background:#13925c;color:#fff}.sri-electronic-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 16px;border-top:1px solid var(--line)}.sri-electronic-details div{min-width:0;padding:12px 10px;border-bottom:1px solid var(--line)}.sri-electronic-details dt{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.sri-electronic-details dd{margin:4px 0 0;overflow-wrap:anywhere;font-weight:700}.sri-response-message{margin:14px 0;padding:14px 16px;border-left:4px solid #5e91bd;border-radius:8px;background:#f2f7fb}.sri-response-message p{margin:5px 0 0;color:#314a60;line-height:1.5}.sri-process-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.sri-process-actions form{margin:0}.sri-signature-retry{max-width:760px;padding:14px 16px;border:1px solid #efb6ae;border-radius:10px;background:#fff2f0}.sri-signature-retry p{margin:0 0 12px;color:#9d2e24;line-height:1.45}@media(max-width:720px){.sri-process-flow,.sri-electronic-details{grid-template-columns:1fr}}

/* Emisión inmediata, excepciones e historial electrónico */
.backdated-issue-warning{display:grid;gap:12px;padding:16px;border:1px solid #efb2ac;border-radius:12px;background:#fff3f1;color:#8d2d25}.backdated-issue-warning[hidden]{display:none}.backdated-issue-warning p{margin:0;line-height:1.5}.backdated-issue-warning label{display:grid;gap:6px;color:var(--ink);font-weight:750}.backdated-issue-warning textarea,.backdated-issue-warning input[type="password"]{width:100%;min-width:0;padding:10px 12px;border:1px solid #d5b0ac;border-radius:9px;background:#fff;color:var(--ink);font:inherit;box-sizing:border-box}.backdated-issue-warning textarea{resize:vertical}.backdated-issue-warning .backdated-acceptance{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:9px}.backdated-issue-warning .backdated-acceptance input{flex:0 0 auto;margin-top:3px}.invoice-unified-sri-form{display:grid;gap:10px;justify-items:end;max-width:640px}.invoice-unified-sri-form .backdated-issue-warning{justify-items:stretch;text-align:left}.invoice-unified-sri-form .primary-button:disabled{opacity:.5;cursor:not-allowed}.backdated-record{margin-top:18px;border-color:#efb2ac;background:#fffaf9}.backdated-record .profile-details .full{grid-column:1/-1}
.electronic-history{margin-top:18px}.electronic-timeline{display:grid;gap:0;margin-top:6px}.electronic-timeline-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;padding:0 0 20px}.electronic-timeline-item:not(:last-child)::before{content:"";position:absolute;left:8px;top:13px;bottom:-1px;width:2px;background:#dce5ee}.electronic-timeline-dot{position:relative;z-index:1;width:14px;height:14px;margin-top:3px;border:3px solid #fff;border-radius:50%;background:#7e94a8;box-shadow:0 0 0 1px #c7d3df}.electronic-timeline-item.success .electronic-timeline-dot{background:#16915b}.electronic-timeline-item.failed .electronic-timeline-dot{background:#bd382d}.electronic-timeline-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.electronic-timeline-heading time{color:var(--muted);font-size:11px;white-space:nowrap}.electronic-timeline-item p{margin:5px 0;color:#34495d;line-height:1.45}.electronic-timeline-item small{color:var(--muted)}.electronic-global-dashboard{margin-bottom:17px}.electronic-global-dashboard td small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.sri-signature-retry .admin-form{display:grid;gap:12px}.sri-signature-retry .admin-form label{display:grid;gap:6px;font-weight:750}.sri-signature-retry textarea,.sri-signature-retry input[type="password"]{width:100%;padding:10px 12px;border:1px solid #d7b4b0;border-radius:9px;background:#fff;box-sizing:border-box;font:inherit}.sri-signature-retry textarea{resize:vertical}
@media(max-width:780px){.invoice-unified-sri-form{max-width:none;width:100%;justify-items:stretch}.invoice-unified-sri-form .primary-button{width:100%}.electronic-timeline-heading{display:grid;gap:3px}.electronic-timeline-heading time{white-space:normal}.backdated-record .profile-details .full{grid-column:auto}}

/* Seguimiento manual y salud del reintento automático */
.electronic-automation-health{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:-6px 0 17px;padding:13px 16px;border:1px solid #b9ddc9;border-radius:12px;background:#f1faf5}.electronic-automation-health>div{display:grid;grid-template-columns:12px 1fr;gap:2px 10px;align-items:center}.electronic-automation-health strong{grid-column:2}.electronic-automation-health small{grid-column:2;color:var(--muted)}.electronic-automation-health p{margin:0;color:var(--muted);font-size:12px}.automation-dot{grid-row:1/3;width:10px;height:10px;border-radius:50%;background:#15915a;box-shadow:0 0 0 4px rgba(21,145,90,.13)}.electronic-automation-health.delayed{border-color:#ebd18a;background:#fff9e9}.electronic-automation-health.delayed .automation-dot{background:#c28a00;box-shadow:0 0 0 4px rgba(194,138,0,.14)}.electronic-automation-health.not_run{border-color:#efb5b0;background:#fff4f3}.electronic-automation-health.not_run .automation-dot{background:#bd392e;box-shadow:0 0 0 4px rgba(189,57,46,.13)}
.electronic-retry-dialog{width:min(680px,calc(100% - 28px));max-height:92vh;padding:0 22px 22px;border:0;border-radius:16px;color:var(--ink);box-shadow:0 24px 75px rgba(7,28,48,.38)}.electronic-retry-dialog::backdrop{background:rgba(8,25,43,.62)}.electronic-retry-dialog .dialog-close{border:0;background:transparent;color:var(--primary);font-size:30px;cursor:pointer}.electronic-retry-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:retry}.electronic-retry-steps li{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#f7f9fc;color:var(--muted);font-weight:750}.electronic-retry-steps li::before{counter-increment:retry;content:counter(retry);display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#dde6ef;color:#52677b}.electronic-retry-steps li.working{border-color:#86c0ed;background:#edf7ff;color:#075f9f}.electronic-retry-steps li.working::before{content:'…';background:var(--primary);color:#fff}.electronic-retry-steps li.done{border-color:#a9dac0;background:#effaf4;color:#087744}.electronic-retry-steps li.done::before{content:'✓';background:#14915a;color:#fff}.electronic-retry-steps li.pending{border-color:#e5cc88;background:#fff8e7;color:#7b5a00}.electronic-retry-steps li.failed{border-color:#efb1ac;background:#fff2f1;color:#a32b23}.electronic-retry-steps li.failed::before{content:'!';background:#bd392e;color:#fff}.electronic-retry-message{margin-top:15px;padding:13px 15px;border-radius:10px;background:#eef4fa;color:#324b61;line-height:1.5}.electronic-retry-message.failed,.electronic-retry-message.needs_edit{background:#fff0ef;color:#9c2d25}.electronic-retry-message.authorized{background:#eaf8f0;color:#087443}.electronic-retry-message.pending{background:#fff8e6;color:#775800}.electronic-retry-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:15px}.electronic-retry-actions label{display:grid;flex:1 1 100%;gap:6px;font-weight:750}.electronic-retry-actions textarea{width:100%;padding:10px 12px;border:1px solid #cbd6e2;border-radius:9px;box-sizing:border-box;font:inherit;resize:vertical}.electronic-correction-warning{display:grid;gap:12px;border-color:#efb2ac;background:#fff5f3}.electronic-correction-warning label{display:grid;gap:6px;font-weight:750}.electronic-correction-warning textarea,.electronic-correction-warning input{width:100%;padding:10px 12px;border:1px solid #d7b4b0;border-radius:9px;box-sizing:border-box;font:inherit}
@media(max-width:700px){.electronic-automation-health{align-items:flex-start;flex-direction:column}.electronic-retry-dialog{padding:0 14px 16px}.electronic-retry-actions{display:grid}.electronic-retry-actions>*{width:100%;box-sizing:border-box}}

/* Correcciones y anulaciones electrónicas controladas */
.invoice-cancellation-card{display:grid;gap:16px;margin-top:18px;border-color:#bed4e8;background:#fbfdff}.cancellation-guidance{padding:15px 17px;border:1px solid #bfd7eb;border-radius:11px;background:#eef7ff}.cancellation-guidance ol,.cancellation-guidance ul{display:grid;gap:7px;margin:9px 0 0;padding-left:22px;line-height:1.45}.cancellation-dependencies{display:grid;gap:12px;padding-top:15px;border-top:1px solid var(--line)}.cancellation-dependencies h3,.cancellation-dependencies p{margin:0}.cancellation-dependencies ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.cancellation-dependencies li{display:grid;gap:3px;padding:11px 13px;border:1px solid #efbbb6;border-radius:9px;background:#fff4f3}.cancellation-dependencies li span{color:var(--muted);font-size:12px}.success-copy{padding:12px 14px;border-radius:9px;background:#eaf8f0;color:#087443}.controlled-correction-panel{display:grid;gap:13px;width:min(820px,100%)}.controlled-correction-panel details{padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:#fff}.controlled-correction-panel summary{color:var(--primary);font-weight:800;cursor:pointer}.controlled-correction-panel details>p{color:var(--muted);line-height:1.45}.controlled-correction-panel .admin-form{display:grid;gap:12px;margin-top:13px}.controlled-correction-panel label{display:grid;gap:6px;font-weight:750}.controlled-correction-panel textarea,.controlled-correction-panel input[type="password"]{width:100%;padding:10px 12px;border:1px solid #cbd6e2;border-radius:9px;box-sizing:border-box;font:inherit}.controlled-correction-panel textarea{resize:vertical}
@media(max-width:700px){.invoice-cancellation-card .outline-button,.invoice-cancellation-card .danger-button,.controlled-correction-panel button{width:100%}.cancellation-guidance{padding:13px}}
.correction-locked-field{pointer-events:none;background:#eef2f6!important;color:#596778}
.correction-locked-field{pointer-events:none;background:#eef2f6!important;color:#596778}
.context-change-link{align-self:center;color:#1267b1;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}.login-error.success{background:#e6f7ee;border-color:#a7dfc1;color:#087443}
