:root {
  --ink: #103b55;
  --muted: #6b7d88;
  --line: #dfe9ec;
  --surface: #ffffff;
  --canvas: #f4f8f9;
  --green: #18b7b5;
  --green-light: #e2f7f6;
  --lime: #ffba19;
  --gold: #ffba19;
  --blue: #79cdd3;
  --coral: #ed9d82;
  --navy: #103b55;
  --teal: #18b7b5;
  --shadow: 0 10px 30px rgba(16, 59, 85, .08);
  --font-main: "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
  --font-display: "Inter", "Segoe UI", Arial, sans-serif;
}

/* Accounts payable report preview: native HTML, independent of browser PDF plugins. */
.ar-auxiliary-overview{display:grid;gap:14px;margin-bottom:18px;padding:18px;border:1px solid #d6e2ef;border-radius:14px;background:#f8fbff}.ar-auxiliary-table th{white-space:nowrap}.ar-auxiliary-table td:first-child{min-width:240px}.ar-auxiliary-table td:nth-child(n+2):nth-child(-n+9){text-align:right}.ar-auxiliary-table .secondary-button{padding:7px 10px;white-space:nowrap}
@media(max-width:720px){.ar-auxiliary-overview{padding:12px}.ar-auxiliary-overview .fiscal-subsection-head{align-items:stretch}.ar-auxiliary-overview .request-actions{display:grid;grid-template-columns:1fr 1fr}.ar-auxiliary-table{min-width:1100px}}
.purchase-ap-report-canvas{overflow:auto;padding:24px;background:#e8eef5}.purchase-ap-report-preview{width:1280px;min-height:720px;margin:auto;padding:34px;background:#fff;color:#152b45;box-shadow:0 10px 35px rgba(14,35,60,.13);font-family:Arial,sans-serif}.purchase-ap-report-title{display:flex;justify-content:space-between;gap:28px;padding:20px 24px;background:#103b55;color:#fff}.purchase-ap-report-title h1{margin:0 0 9px;font-size:22px}.purchase-ap-report-title strong,.purchase-ap-report-title span{display:block;margin-top:4px}.purchase-ap-report-title>div:last-child{text-align:right;font-size:12px}.purchase-ap-report-metrics,.purchase-ap-report-table{width:100%;border-collapse:collapse}.purchase-ap-report-metrics{margin:18px 0}.purchase-ap-report-metrics th{padding:8px;background:#e9f1f8;color:#425f7f;font-size:11px}.purchase-ap-report-metrics td{padding:10px;border:1px solid #d5e1ed;text-align:center;font-size:14px;font-weight:800}.purchase-ap-report-table-wrap{overflow:hidden}.purchase-ap-report-table{font-size:9px}.purchase-ap-report-table th{padding:7px 5px;background:#103b55;color:#fff;text-align:left}.purchase-ap-report-table td{padding:7px 5px;border:1px solid #d5e1ed;vertical-align:top}.purchase-ap-report-table tbody tr:nth-child(even){background:#f7fafc}.purchase-ap-report-table td:not(:first-child){text-align:right}.purchase-ap-report-table td small{display:block;margin-top:3px;color:#64748b}.purchase-ap-report-table tfoot th{padding:8px 5px;background:#e4eef8;color:#153c5b}.purchase-ap-report-notes{margin-top:18px;padding-top:12px;border-top:2px solid #d9e5f0}.purchase-ap-report-notes h2{font-size:12px}.purchase-ap-report-notes p{font-size:10px;line-height:1.5}.purchase-ap-report-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:38px}.purchase-ap-report-signatures span{display:grid;gap:8px;font-size:10px}.purchase-ap-report-signatures i{display:block;margin-top:20px;border-bottom:1px solid #65778a}.purchase-ap-report-preview>footer{margin-top:30px;padding-top:8px;border-top:1px solid #d8e3ed;color:#687b90;font-size:8px}
@media print{body.purchase-ap-printing>*:not(#purchaseApPdfPreview){display:none!important}body.purchase-ap-printing{margin:0;background:#fff}.purchase-ap-printing .purchase-ap-pdf-preview{position:static;display:block;padding:0;background:#fff;backdrop-filter:none}.purchase-ap-printing .purchase-ap-pdf-preview>section{display:block;width:auto;height:auto;border:0;border-radius:0;box-shadow:none}.purchase-ap-printing .purchase-ap-pdf-preview>section>header{display:none}.purchase-ap-printing .purchase-ap-report-canvas{overflow:visible;padding:0;background:#fff}.purchase-ap-printing .purchase-ap-report-preview{width:auto;min-height:0;margin:0;padding:8mm;box-shadow:none}.purchase-ap-printing .purchase-ap-report-table{font-size:7px}.purchase-ap-printing .purchase-ap-report-table thead{display:table-header-group}.purchase-ap-printing .purchase-ap-report-table tr{break-inside:avoid}.purchase-ap-printing .purchase-ap-report-title,.purchase-ap-printing .purchase-ap-report-table th,.purchase-ap-printing .purchase-ap-report-metrics th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: var(--font-main); }
button, input, select { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; display: flex; }
.sidebar { width: 244px; height: 100vh; position: fixed; inset: 0 auto 0 0; z-index: 20; display: flex; flex-direction: column; padding: 24px 18px 20px; color: #eaf8fa; background: linear-gradient(180deg,#0c3852 0%,#092c42 100%); }
.brand { display: flex; align-items: center; margin: 0 8px 30px; color: white; text-decoration: none; }
.brand-logo { width: 164px; height: 68px; object-fit: contain; object-position: left center; border-radius: 8px; background: white; }
.brand-mark { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px 3px 11px 3px; color: var(--navy); background: var(--gold); font-weight: 800; transform: rotate(-3deg); }
.main-nav { display: grid; gap: 7px; }
.nav-item { position: relative; display: flex; align-items: center; gap: 13px; width: 100%; padding: 12px 14px; border: 0; border-radius: 10px; color: #aebbb4; background: transparent; text-align: left; transition: .2s; }
.nav-item:hover, .nav-item.active { color: white; background: rgba(255,255,255,.09); }
.nav-item.active::before { content: ""; position: absolute; left: -18px; width: 4px; height: 24px; border-radius: 0 4px 4px 0; background: var(--gold); }
.nav-icon { width: 22px; font-size: 21px; text-align: center; }
.nav-badge { margin-left: auto; padding: 2px 7px; border-radius: 5px; color: var(--navy); background: var(--gold); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.sidebar-bottom { margin-top: auto; }
.help-card { margin-bottom: 20px; padding: 15px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.04); }
.help-card .help-icon { float: left; width: 25px; height: 25px; display: grid; place-items: center; margin-right: 9px; border-radius: 50%; color: var(--navy); background: var(--gold); font-weight: 800; }
.help-card strong { font-size: 12px; }
.help-card p { clear: both; margin: 10px 0 0; color: #8fa097; font-size: 11px; line-height: 1.5; }
.profile { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 9px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.09); }
.avatar, .employee-avatar { display: grid; place-items: center; border-radius: 50%; font-weight: 700; }
.avatar { width: 36px; height: 36px; color: var(--navy); background: linear-gradient(135deg,#dff6f5,#ffe7a4); font-size: 11px; }
.profile strong, .profile span { display: block; }
.profile strong { color: white; font-size: 12px; }
.profile span { margin-top: 3px; color: #819188; font-size: 10px; }
.profile button { padding: 6px 8px; border: 1px solid rgba(255,255,255,.14); border-radius: 7px; color: #c6d4cd; background: rgba(255,255,255,.05); font-size: 9px; font-weight: 700; cursor: pointer; }
.profile button:hover { color: white; background: rgba(255,255,255,.1); }
.main-content { width: calc(100% - 244px); margin-left: 244px; }
.topbar { height: 78px; display: flex; align-items: center; justify-content: space-between; padding: 0 42px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.9); backdrop-filter: blur(12px); }
.company-switcher { position: relative; min-width:0; }
.company-selector { display:flex;align-items:center;gap:10px;min-height:50px;max-width:300px;padding:8px 10px 8px 8px;border:1px solid transparent;border-radius:11px;color:var(--ink);background:transparent;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease; }
.company-selector:hover { background:#f8fafc; }
.company-selector:focus-visible { outline:0;border-color:#78aefc;box-shadow:0 0 0 3px rgba(37,99,235,.16); }
.company-selector:disabled { opacity:.8;cursor:wait; }
.company-selector>div { min-width:0; }
.company-logo { width:35px;height:35px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;color:white;background:var(--teal);font-size:10px;font-weight:800; }
.company-logo-image { overflow: hidden; padding: 2px; border: 1px solid var(--line); background: white !important; }.company-logo-image img { width: 100%; height: 100%; object-fit: contain; }
.company-selector small, .company-selector strong { display:block; }
.company-selector small { color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.8px; }
.company-selector strong { overflow:hidden;margin:0;color:#102f50;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap; }
.company-selector.is-switching strong { color:#526a82;font-size:12px; }
.company-selector.is-switching .chevron { width:16px;height:16px;border:2px solid #c5d2df;border-top-color:#2563eb;border-radius:50%;animation:company-switcher-spin .7s linear infinite; }
.company-selector.is-switching .chevron svg { display:none; }
@keyframes company-switcher-spin { to { transform:rotate(360deg); } }
.chevron { display:inline-grid;place-items:center;width:18px;height:18px;color:#47647f;transition:transform .18s ease,color .18s ease }
.chevron svg,.topbar-profile i svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.view-switcher:hover .chevron,.company-selector:hover .chevron,.topbar-profile:hover i{color:#0b4f91}
.view-switcher[aria-expanded="true"] .chevron,.company-selector[aria-expanded="true"] .chevron,.topbar-profile[aria-expanded="true"] i{transform:rotate(180deg)}
.topbar-profile i{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:2px;color:#47647f;font-style:normal;transition:transform .18s ease,color .18s ease}
.company-menu { position:fixed;z-index:var(--bbs-layer-dropdown);display:none;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(360px,calc(100vw - 16px));max-height:min(500px,calc(100dvh - 96px));overflow:hidden;padding:10px;border:1px solid #e6ebf2;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.1); }
.company-menu.open { display:grid;gap:8px;animation:fade .15s ease; }
.company-menu-search { position:relative;display:flex;align-items:center;min-height:42px;margin:0;background:#fff; }
.company-menu-search svg { position:absolute;left:12px;width:17px;height:17px;fill:none;stroke:#71869b;stroke-width:1.8;stroke-linecap:round; }
.company-menu-search input { width:100%;height:42px;padding:8px 12px 8px 38px;border:1px solid #d8e1ea;border-radius:10px;background:#fff;color:var(--bbs-text-primary);font-size:12px; }
.company-menu-search input:focus { outline:0;border-color:#78aefc;box-shadow:0 0 0 3px rgba(37,99,235,.13); }
.company-menu-current,.company-menu-others { min-width:0; }
.company-menu-others { display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0; }
.company-menu-label { margin:3px 8px 4px;color:#75879a;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase; }
.company-menu-options{display:grid;align-content:start;min-height:0;gap:2px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5d0db transparent;touch-action:pan-y}
.company-menu-manage { display:flex;align-items:center;justify-content:space-between;min-height:48px;margin:0 -10px -10px;padding:11px 16px;border:0;border-top:1px solid #e9eef3;background:#fff;color:#174a78;font-size:11px;font-weight:750;text-align:left;cursor:pointer; }
.company-menu-manage>span:first-child { display:flex;align-items:center;gap:9px; }
.company-menu-manage svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.company-menu-manage:hover,.company-menu-manage:focus-visible { outline:0;background:#f8fafc; }
.company-menu-empty { margin:0;padding:18px 10px;color:var(--bbs-text-secondary);font-size:11px;text-align:center; }
.company-option { display:grid;grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;gap:10px;width:100%;min-height:56px;padding:7px 9px;border:0;border-radius:10px;color:var(--ink);background:transparent;text-align:left;cursor:pointer; }
.company-option:hover,.company-option:focus-visible { outline:0;background:#f8fafc; }
.company-option.active { background:#eff6ff; }
.company-option-copy { min-width:0; }
.company-option strong,.company-option small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.company-option strong { color:#102f50;font-size:13px;font-weight:650; }
.company-option small { margin-top:2px;color:#718398;font-size:11px; }
.company-option .company-logo { width:36px;height:36px;padding:4px;border:1px solid #e3e9ef;border-radius:9px;box-shadow:none; }
.company-option .company-logo:not(.company-logo-image) { padding:0; }
.company-option .company-logo.company-logo-image { background:#f8fafc!important; }
.company-option .company-logo img { width:100%;height:100%;object-fit:contain; }
.company-check { color:#2563eb;font-size:16px;font-weight:850; }
.top-actions { display: flex; align-items: center; gap: 10px; }
#newEmployeeBtn { display: none !important; }
.sync-indicator { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; }.sync-indicator i { width: 7px; height: 7px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 3px rgba(24,183,181,.12); }
.icon-button { position: relative; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; font-size: 18px; }
.notification-dot { position: absolute; top: 7px; right: 7px; width: 6px; height: 6px; border: 1px solid white; border-radius: 50%; background: #df725b; }
.primary-button, .dark-button, .secondary-button { border-radius: 9px; padding: 10px 16px; font-weight: 700; font-size: 12px; transition: .2s; }
.primary-button, .dark-button { border: 1px solid var(--navy); color: white; background: linear-gradient(135deg,var(--navy),#155d78); box-shadow: 0 5px 12px rgba(16,59,85,.18); }
.primary-button:hover, .dark-button:hover { transform: translateY(-1px); background: linear-gradient(135deg,#15506e,var(--teal)); }
.primary-button:disabled,.dark-button:disabled,.secondary-button:disabled,.primary-button[aria-disabled="true"],.dark-button[aria-disabled="true"],.secondary-button[aria-disabled="true"] { opacity:.52; cursor:not-allowed; box-shadow:none !important; transform:none !important; }
.secondary-button { border: 1px solid var(--line); color: var(--ink); background: white; }
.secondary-button:hover { border-color: #c7d0cb; background: #fafbfa; }
.checkline { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; color: var(--ink); font-weight: 700; }
.checkline input { width: 15px; height: 15px; accent-color: var(--teal); }
.protocol-visit-table { overflow: auto; max-width: 100%; }
.protocol-visit-table table { min-width: 980px; }
.protocol-visit-table th, .protocol-visit-table td { vertical-align: middle; }
.protocol-column-note { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.35; font-weight: 600; }
.protocol-visit-table tfoot th { background: #f7fbfc; border-top: 2px solid var(--line); color: var(--ink); }
.protocol-visit-period-modal{width:min(760px,calc(100vw - 32px))!important;padding:26px 28px!important}
.protocol-visit-period-modal .modal-header{margin-bottom:18px!important;padding-bottom:16px}
.protocol-visit-period-modal .modal-header p{margin:5px 0 0;color:#6a7d91;font-size:11px}
#protocolVisitPeriodForm>.form-grid{align-items:start;gap:14px 16px}
#protocolVisitPeriodForm .protocol-visit-period-status{grid-column:1/-1;width:min(220px,100%);align-self:start}
#protocolVisitPeriodForm .protocol-visit-period-status select{min-height:40px}
#protocolVisitPeriodForm .protocol-visit-period-selector{grid-column:1/-1;margin:0;padding:14px 14px 12px;border:1px solid #d9e5ee;border-radius:14px;min-width:0;background:#f8fbfd}
.protocol-visit-period-selector[hidden],#protocolVisitPeriodSingleProtocolField[hidden]{display:none!important}
.protocol-visit-period-selector legend{padding:0 5px;color:#263f58;font-size:11px;font-weight:850}
#protocolVisitPeriodForm .protocol-visit-period-selector-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 11px}
#protocolVisitPeriodForm .protocol-visit-period-selector-head p{margin:0;color:#718296;font-size:10px;line-height:1.4}
#protocolVisitPeriodForm .protocol-visit-period-selector-head .checkline{display:inline-flex;grid-template-columns:none;align-items:center;flex:0 0 auto;min-height:32px;padding:6px 10px;border:1px solid #cfdeea;border-radius:9px;background:#fff;color:#29465f;font-size:10px;white-space:nowrap}
#protocolVisitPeriodForm .protocol-visit-period-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:210px;overflow-y:auto;padding:0 4px 0 0;background:transparent}
#protocolVisitPeriodForm .protocol-visit-period-options>label{display:grid;grid-template-columns:17px minmax(0,1fr);align-items:start;gap:9px;min-width:0;min-height:68px;padding:11px;border:1px solid #dfe8ef;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
#protocolVisitPeriodForm .protocol-visit-period-options>label:hover{border-color:#b7cfe1;background:#fbfdff}
#protocolVisitPeriodForm .protocol-visit-period-options>label:has(input:checked){border-color:#1769d2;background:#f3f8ff;box-shadow:0 0 0 2px rgba(23,105,210,.09)}
#protocolVisitPeriodForm .protocol-visit-period-options input{width:15px;height:15px;margin:1px 0 0;accent-color:#1769d2}
#protocolVisitPeriodForm .protocol-visit-period-options span,#protocolVisitPeriodForm .protocol-visit-period-options strong,#protocolVisitPeriodForm .protocol-visit-period-options small{display:block;min-width:0}
#protocolVisitPeriodForm .protocol-visit-period-options strong{color:#153654;font-size:11px;line-height:1.25}
#protocolVisitPeriodForm .protocol-visit-period-options small{margin-top:4px;overflow:hidden;color:#6d8093;font-size:9px;line-height:1.35;text-overflow:ellipsis}
#protocolVisitPeriodForm .protocol-visit-period-selection{display:inline-flex;margin:10px 0 0;padding:5px 8px;border-radius:999px;color:#17609c;background:#eaf4ff;font-size:9px;font-weight:850}
.protocol-visit-period-empty{grid-column:1/-1;display:grid;gap:4px;padding:18px;color:#6d8093;text-align:center}.protocol-visit-period-empty strong{color:#29465f;font-size:11px}.protocol-visit-period-empty span{font-size:10px}
@media(max-width:700px){#protocolVisitPeriodForm .protocol-visit-period-options{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.protocol-visit-period-modal{padding:22px 18px!important}#protocolVisitPeriodForm .protocol-visit-period-options{grid-template-columns:1fr}#protocolVisitPeriodForm .protocol-visit-period-selector-head{align-items:flex-start;flex-direction:column}}
#protocolVisitsDashboardPanel{padding:18px;background:#f7fafc}
.protocol-visit-dashboard-layout{display:block}
.protocol-visit-alerts-card{overflow:hidden;border:1px solid #d9e5ee;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,47,74,.05)}
.protocol-visit-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 17px;border-bottom:1px solid #e4ebf1;background:linear-gradient(135deg,#fff 0%,#f6faff 100%)}
.protocol-visit-kicker{display:block;margin-bottom:7px;color:#1688a1;font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.protocol-visit-dashboard-head h3{margin:0;color:#0b2f55;font:800 16px/1.25 var(--font-display)}
.protocol-visit-dashboard-head p{margin:6px 0 0;color:#6d8093;font-size:10px;line-height:1.5}
.protocol-visit-alert-count{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#0b56b4,#176bd2);box-shadow:0 8px 18px rgba(23,105,210,.22);font-size:15px;font-weight:850}
.protocol-visit-alert-list{display:grid;gap:0;max-height:430px;overflow-y:auto;padding:4px 20px 8px;overscroll-behavior-y:contain;overflow-anchor:none;scrollbar-gutter:stable;scroll-behavior:auto}
.protocol-visit-alert-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:14px 2px;border-bottom:1px solid #e9eff4}
.protocol-visit-alert-item:last-child{border-bottom:0}
.protocol-visit-alert-marker{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#8b6508;background:#fff3d1;font-size:12px;font-weight:900}
.protocol-visit-alert-item.priority-high .protocol-visit-alert-marker{color:#b42318;background:#fee9e7}.protocol-visit-alert-item.priority-low .protocol-visit-alert-marker{color:#17609c;background:#e9f4ff}
.protocol-visit-alert-body{min-width:0}.protocol-visit-alert-body>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.protocol-visit-alert-body strong{overflow:hidden;color:#173955;font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.protocol-visit-alert-body>div>span{flex:0 0 auto;padding:4px 7px;border-radius:999px;color:#916a08;background:#fff4d5;font-size:8px;font-weight:850;text-transform:uppercase}
.protocol-visit-alert-item.priority-high .protocol-visit-alert-body>div>span{color:#a83229;background:#feeceb}.protocol-visit-alert-item.priority-low .protocol-visit-alert-body>div>span{color:#17609c;background:#eaf4ff}
.protocol-visit-alert-body p{margin:5px 0 6px;color:#465f74;font-size:10px;line-height:1.45}.protocol-visit-alert-body small{color:#8798a8;font-size:8px;font-weight:700}
.protocol-visit-alert-empty{display:grid;justify-items:center;padding:50px 20px;color:#6d8093;text-align:center}.protocol-visit-alert-empty>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:12px;border-radius:13px;color:#087f70;background:#ddf7ef;font-size:18px;font-weight:900}.protocol-visit-alert-empty strong{color:#173955;font-size:12px}.protocol-visit-alert-empty p{margin:6px 0 0;font-size:10px}
@media(max-width:560px){#protocolVisitsDashboardPanel{padding:10px}.protocol-visit-dashboard-head{padding:17px}.protocol-visit-alert-list{padding-inline:14px}.protocol-visit-alert-body>div{align-items:flex-start;flex-direction:column;gap:6px}.protocol-visit-alert-body strong{white-space:normal}}
.mobile-menu { display: none; border: 0; background: none; font-size: 22px; }
.view { display: none; padding: 34px 42px 54px; animation: fade .25s ease; }
.view.active { display: block; }
@keyframes fade { from { opacity: 0; transform: translateY(4px); } }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.page-heading .eyebrow { margin-bottom: 6px; color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: 1.1px; text-transform: uppercase; }
.page-heading h1 { margin: 0; font-family: var(--font-display); font-size: 28px; letter-spacing: -.7px; }
.page-heading p { margin: 7px 0 0; color: var(--muted); font-size: 13px; }
.period-button, .filter-button { border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: white; }
.period-button { padding: 9px 13px; font-size: 11px; font-weight: 700; }
.period-button span { margin-left: 16px; color: var(--muted); }
.status-banner { position: relative; overflow: hidden; min-height: 140px; display: grid; grid-template-columns: 116px 1.5fr 1fr auto; align-items: center; gap: 20px; margin-bottom: 20px; padding: 21px 24px; border-radius: 14px; background: linear-gradient(135deg,#dff6f5,#fff3cf); }
.status-banner::after { content:""; position: absolute; width: 210px; height: 210px; right: -70px; top: -110px; border: 1px solid rgba(29,107,79,.12); border-radius: 50%; }
.status-illustration { position: relative; height: 85px; }
.document-icon { position: absolute; left: 28px; top: 5px; width: 64px; height: 76px; display: grid; place-items: center; border-radius: 5px; color: var(--green); background: #fffef9; box-shadow: 7px 7px 0 rgba(29,107,79,.12); font-size: 28px; font-weight: 800; transform: rotate(4deg); }
.coin { position: absolute; z-index: 2; width: 28px; height: 28px; display: grid; place-items: center; border: 2px solid #a37a20; border-radius: 50%; color: #876315; background: var(--gold); font-size: 10px; font-weight: 800; }
.coin-a { left: 9px; bottom: 3px; }.coin-b { right: 2px; top: 9px; transform: rotate(15deg); }
.pill { display: inline-block; padding: 4px 8px; border-radius: 20px; color: var(--green); background: rgba(255,255,255,.65); font-size: 9px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.status-copy h2 { margin: 10px 0 5px; font: 700 18px var(--font-display); }
.status-copy p { margin: 0; color: #5d7065; font-size: 11px; }
.status-progress { padding: 0 24px; border-left: 1px solid rgba(23,37,31,.12); }
.status-progress > div:first-child { display: flex; align-items: center; justify-content: space-between; }
.status-progress span, .status-progress small { color: #65766c; font-size: 9px; }
.status-progress strong { font-size: 12px; }
.progress-track { height: 5px; margin: 9px 0 7px; overflow: hidden; border-radius: 5px; background: rgba(255,255,255,.7); }
.progress-track span { display: block; height: 100%; border-radius: 5px; background: var(--green); }
.dark-button { position: relative; z-index: 1; white-space: nowrap; }
.dark-button span { margin-left: 15px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }
.master-chip { padding: 7px 11px; border-radius: 20px; color: var(--green); background: var(--green-light); font-size: 10px; font-weight: 800; }
.master-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }
.master-summary article { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.master-summary span, .master-summary strong, .master-summary small { display: block; }.master-summary span { color: var(--muted); font-size: 9px; }.master-summary strong { margin: 7px 0 4px; font: 700 20px var(--font-display); }.master-summary small { color: #9aa59f; font-size: 8px; }
.company-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 20px; }
.company-card { position: relative; overflow: hidden; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.company-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--company-color); }
.company-card-head { display: flex; align-items: center; gap: 12px; margin-bottom: 17px; }.company-card-head .company-logo { width: 42px; height: 42px; background: var(--company-color); }.company-card h3 { margin: 0; font: 700 14px var(--font-display); }.company-card p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.company-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 17px; }.company-stats div { padding: 9px; border-radius: 8px; background: #f7f9f7; }.company-stats span, .company-stats strong { display: block; }.company-stats span { color: var(--muted); font-size: 8px; }.company-stats strong { margin-top: 4px; font-size: 11px; }
.company-card-footer { display: flex; align-items: center; justify-content: space-between; }.frequency-chip { padding: 4px 8px; border-radius: 20px; color: #596b62; background: #eef2ef; font-size: 8px; font-weight: 700; }
.master-note { display: flex; align-items: center; gap: 13px; padding: 18px; }.master-note h3, .master-note p { margin: 0; }.master-note h3 { font: 700 12px var(--font-display); }.master-note p { margin-top: 4px; color: var(--muted); font-size: 9px; }
.workflow-strip { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 13px; margin-bottom: 20px; padding: 16px 20px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.workflow-strip > div { display: grid; grid-template-columns: 29px 1fr; align-items: center; column-gap: 9px; }
.workflow-strip > div > span { grid-row: 1 / 3; width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: var(--green-light); font-size: 10px; font-weight: 800; }
.workflow-strip strong { font-size: 10px; }.workflow-strip small { color: var(--muted); font-size: 8px; }.workflow-strip i { color: #b6c0ba; font-style: normal; }
.period-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.period-card { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: white; }.period-card.active { border-color: var(--green); box-shadow: 0 0 0 2px rgba(29,107,79,.08); }.period-card.period-inactive{border-style:dashed;background:#fbf7f6;opacity:.92}
.period-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }.period-card h3 { margin: 0; font: 700 13px var(--font-display); }.period-card p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.period-card-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 15px 0; }.period-card-stats div { padding: 9px; border-radius: 8px; background: #f7f9f7; }.period-card-stats span, .period-card-stats strong { display: block; }.period-card-stats span { color: var(--muted); font-size: 8px; }.period-card-stats strong { margin-top: 3px; font-size: 10px; }.period-card-footer { display: flex; justify-content: flex-end; flex-wrap:wrap; gap:8px; }.period-admin-note{padding:8px;border-radius:8px;background:#fff1ee;color:#8f4138;font-size:9px}.payroll-admin-section{grid-column:1/-1;margin-top:10px;padding-top:16px;border-top:1px solid var(--line)}
.period-status { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 20px; font-size: 8px; font-weight: 800; white-space: nowrap; }.period-status.draft { color: #876315; background: #fbf1d8; }.period-status.review { color: #315f7c; background: #e7f1f7; }.period-status.approved { color: #4b548c; background: #eceefa; }.period-status.closed { color: var(--green); background: var(--green-light); }
.period-bar { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 15px; margin-bottom: 14px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 11px; background: white; }.period-bar span, .period-bar strong, .period-bar small { display: block; }.period-bar > div > span { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .5px; }.period-bar strong { margin: 3px 0; font-size: 12px; }.period-bar small { color: var(--muted); font-size: 8px; }
.real-estate-note { display: flex; align-items: center; gap: 12px; margin: -4px 0 14px; padding: 11px 14px; border: 1px solid #d7e7df; border-radius: 9px; background: #f2f8f5; }.real-estate-note > span { padding: 5px 8px; border-radius: 20px; color: white; background: var(--green); font-size: 8px; font-weight: 800; white-space: nowrap; }.real-estate-note p { margin: 0; color: #5d7065; font-size: 9px; line-height: 1.4; }
.special-payroll-note { border-color: #ded8ef; background: #f7f4fc; }.special-payroll-note > span { background: #66569a; }
.payroll-matrix-panel { margin-bottom: 18px; overflow: hidden; background: #fff; }
.payroll-matrix-header { gap: 16px; align-items: flex-start; }
.payroll-matrix-actions { flex-wrap: wrap; justify-content: flex-end; }
.payroll-matrix-tabs { display: flex; gap: 6px; padding: 0 18px 14px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.payroll-matrix-tab { padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--navy); background: #fff; font-size: 9px; font-weight: 800; white-space: nowrap; }
.payroll-matrix-tab.active { color: #fff; border-color: var(--green); background: var(--green); box-shadow: 0 8px 18px rgba(29,107,79,.15); }
.payroll-matrix-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 16px; padding: 16px 18px 18px; background: #f6f9fb; }
.payroll-matrix-main,.payroll-matrix-summary { min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.payroll-matrix-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.payroll-matrix-toolbar h4 { margin: 0; font: 800 13px var(--font-display); }
.payroll-matrix-toolbar p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.payroll-matrix-scroll { max-height: 470px; overflow: auto; }
.payroll-matrix-table { min-width: 1180px; width: 100%; border-collapse: separate; border-spacing: 0; }
.payroll-matrix-table th { position: sticky; top: 0; z-index: 3; border-bottom: 1px solid var(--line); }
.payroll-matrix-table th:first-child,.payroll-matrix-table td:first-child { position: sticky; left: 0; z-index: 4; width: 230px; min-width: 230px; background: #fff; box-shadow: 7px 0 12px rgba(15,43,65,.05); }
.payroll-matrix-table th:first-child { z-index: 5; background: #f8fafc; }
.payroll-matrix-table td { padding: 9px 10px; vertical-align: middle; }
.payroll-matrix-employee strong,.payroll-matrix-employee span { display: block; }
.payroll-matrix-employee strong { font-size: 10px; }
.payroll-matrix-employee span { margin-top: 3px; color: var(--muted); font-size: 8px; }
.payroll-matrix-cell { width: 108px; padding: 8px; border: 1px solid #d6e2eb; border-radius: 7px; color: var(--navy); background: #fff; font-size: 10px; font-weight: 700; text-align: right; }
.payroll-matrix-cell:focus { outline: 2px solid rgba(0,92,255,.18); border-color: #5b8def; }
.payroll-matrix-readonly { display: grid; gap: 4px; min-width: 96px; }
.payroll-matrix-readonly strong { font-size: 10px; }
.matrix-badge { display: inline-flex; width: max-content; padding: 3px 7px; border-radius: 999px; font-size: 7px; font-weight: 800; }
.matrix-badge.auto { color: #0b5c91; background: #e8f3ff; }
.matrix-badge.legal { color: #087845; background: #e8f8ef; }
.matrix-badge.recurring { color: #6841a5; background: #f1eafe; }
.matrix-badge.manual { color: #9b5a00; background: #fff2d7; }
.matrix-badge.warn { color: #a15b00; background: #fff7db; }
.matrix-badge.error { color: #a73131; background: #fdecec; }
.payroll-matrix-summary { padding: 14px; align-self: start; }
.payroll-matrix-summary h4 { margin: 0 0 12px; font: 800 13px var(--font-display); }
.matrix-summary-grid { display: grid; gap: 8px; }
.matrix-summary-grid article { padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: #f8fbfd; }
.matrix-summary-grid span,.matrix-alert-list span { display: block; color: var(--muted); font-size: 8px; }
.matrix-summary-grid strong { display: block; margin-top: 3px; font-size: 12px; }
.matrix-alert-list { display: grid; gap: 8px; margin-top: 12px; }
.matrix-alert-list div { padding: 9px; border-radius: 8px; background: #fff8e7; color: #815b08; font-size: 9px; font-weight: 700; }
.payroll-matrix-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 18px 16px; border-top: 1px solid var(--line); background: #fff; }
.payroll-matrix-card-list { display: grid; gap: 10px; padding: 14px; }
.payroll-matrix-card { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.payroll-matrix-card h4 { margin: 0 0 4px; font-size: 11px; }
.payroll-matrix-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.novelty-panel { margin-top: 18px; }.novelty-list { padding: 0 18px 10px; }.novelty-row { display: grid; grid-template-columns: 1fr 1fr 120px 34px; align-items: center; gap: 14px; padding: 12px 2px; border-top: 1px solid var(--line); }.novelty-row strong, .novelty-row span { display: block; }.novelty-row strong { font-size: 10px; }.novelty-row span { margin-top: 2px; color: var(--muted); font-size: 8px; }.novelty-amount { text-align: right; font-weight: 800; font-size: 10px; }.novelty-amount.income { color: var(--green); }.novelty-amount.deduction { color: #bb5d4d; }.delete-novelty { width: 29px; height: 29px; border: 1px solid var(--line); border-radius: 7px; color: #b36658; background: white; }.empty-state { padding: 28px; color: var(--muted); font-size: 10px; text-align: center; }
.department-panel { margin-top: 18px; }.department-summary { padding: 0 18px 14px; }.department-row { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 12px; padding: 11px 4px; border-top: 1px solid var(--line); align-items: center; }.department-row span, .department-row strong { font-size: 9px; }.department-row span { color: var(--muted); }.department-row strong:first-child { font-size: 10px; }
.deduction-breakdown { display: grid; grid-template-columns: repeat(3, minmax(85px, 1fr)); gap: 5px; min-width: 290px; }.deduction-breakdown span { display: flex; justify-content: space-between; gap: 8px; padding: 4px 6px; border-radius: 5px; background: #f7f9f7; color: var(--muted); font-size: 7px; }.deduction-breakdown b { color: var(--ink); font-size: 7px; }
.hidden-field { display: none !important; }.calculation-hint { padding: 10px 12px; border-radius: 8px; color: #53665c; background: #f1f6f3; font-size: 9px; line-height: 1.5; }
.deduction-editor { display: grid; gap: 8px; }.deduction-edit-row { display: grid; grid-template-columns: 26px 1fr 145px; align-items: center; gap: 10px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; }.deduction-edit-row input[type="checkbox"] { accent-color: var(--green); }.deduction-edit-row span { font-size: 10px; font-weight: 700; }.deduction-edit-row input[type="number"] { width: 100%; padding: 8px 9px; border: 1px solid var(--line); border-radius: 7px; font-size: 10px; text-align: right; }.deduction-help { margin-top: 14px; }
.deduction-edit-item { border: 1px solid transparent; border-radius: 8px; }
.deduction-installment-toggle { display: flex; align-items: center; gap: 8px; margin: 5px 12px 10px; color: var(--navy); font-size: 9px; font-weight: 700; }
.deduction-installment-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 12px 12px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #f7faf9; }
.deduction-installment-fields[hidden] { display: none !important; }
.deduction-installment-fields label { display: grid; gap: 5px; color: var(--muted); font-size: 8px; font-weight: 700; }
.deduction-installment-fields input,.deduction-installment-fields select { min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.installment-calculation { display: grid; gap: 3px; padding: 8px; border-left: 3px solid var(--teal); }
.installment-calculation span,.installment-calculation small,.deduction-plan-warning span { color: var(--muted); font-size: 8px; }
.deduction-plan-warning { grid-column: 1/-1; display: grid; gap: 5px; padding: 10px; border: 1px solid #e7c779; border-radius: 7px; background: #fff9e9; }
.deduction-plan-table { display: grid; }
.deduction-plan-head,.deduction-plan-row { display: grid; grid-template-columns: minmax(190px,1.4fr) repeat(4,minmax(100px,.7fr)) minmax(220px,1fr); gap: 12px; align-items: center; padding: 11px 14px; border-bottom: 1px solid var(--line); font-size: 9px; }
.deduction-plan-head { color: var(--muted); font-weight: 700; background: #f7faf9; }
.deduction-plan-row>div:first-child { display: grid; gap: 3px; }.deduction-plan-row>div:first-child span { color: var(--muted); }
.employee-toolbar,.receipt-period-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.employee-toolbar>label:last-child,.receipt-period-toolbar label { display: grid; gap: 5px; color: var(--muted); font-size: 8px; font-weight: 700; }
.employee-toolbar select,.receipt-period-toolbar select { min-width: 220px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 7px; color: var(--navy); background: #fff; }
.receipt-period-toolbar { padding: 14px 18px; border-bottom: 1px solid var(--line); align-items: center; }
.receipt-period-toolbar>div { display: grid; gap: 3px; text-align: right; }.receipt-period-toolbar span { color: var(--muted); font-size: 8px; }
.period-action-menu,.fiscal-action-menu { position: relative; }
.period-action-menu summary,.fiscal-action-menu summary { display: grid; place-items: center; width: 32px; height: 30px; border: 1px solid var(--line); border-radius: 7px; cursor: pointer; color: var(--navy); background: #fff; font-size: 16px; font-weight: 800; list-style: none; }
.period-action-menu summary::-webkit-details-marker,.fiscal-action-menu summary::-webkit-details-marker { display: none; }
.period-action-menu>div,.fiscal-action-menu>div { position: absolute; z-index: 12; right: 0; top: calc(100% + 5px); display: grid; min-width: 170px; padding: 6px; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 12px 30px rgba(16,59,85,.16); background: #fff; }
.period-action-menu button,.fiscal-action-menu button { width: 100%; padding: 9px 10px; border: 0; border-radius: 6px; text-align: left; color: var(--navy); background: transparent; font-size: 8px; font-weight: 700; }
.period-action-menu button:hover,.fiscal-action-menu button:hover { background: #f3f7f7; }
.period-action-menu button.danger-button,.fiscal-action-menu button.danger-button,
.period-action-menu button.danger-button:hover,.fiscal-action-menu button.danger-button:hover,
.period-action-menu button.danger-button:disabled,.fiscal-action-menu button.danger-button:disabled { color: #fff; }
.fiscal-primary-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; white-space: nowrap; }
.fiscal-primary-actions>button { padding: 7px 9px; border: 1px solid var(--line); border-radius: 6px; color: var(--navy); background: #fff; font-size: 8px; font-weight: 700; }
.fiscal-primary-actions>button.edit-fiscal-withholding { color: #075f54; border-color: #7bc9bd; background: #effbf8; }
.fiscal-primary-actions>button.approve-fiscal-withholding { color: #fff; border-color: #16704f; background: #16704f; }
.fiscal-primary-actions>button.approve-fiscal-withholding:hover { border-color: #0f563c; background: #0f563c; }
.fiscal-primary-actions>button.send-fiscal-withholding { color: #0b4f94; border-color: #8bb8e8; background: #f2f8ff; }
.fiscal-primary-actions>button.send-fiscal-withholding:hover { color: #fff; border-color: #1769aa; background: #1769aa; }
.fiscal-primary-actions>button.fiscal-void-action { color: #a52b24; border-color: #e8a7a1; background: #fff7f6; }
.fiscal-primary-actions>button.fiscal-void-action:hover { color: #fff; border-color: #b7372e; background: #b7372e; }
.notification-count { position: absolute; top: -5px; right: -6px; display: grid; place-items: center; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; color: #fff; background: #a23838; font-size: 7px; font-weight: 800; }
.fiscal-alert-settings-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: #f7faf9; }
.fiscal-alert-settings-card span { color: var(--teal-dark); font-size: 8px; font-weight: 800; text-transform: uppercase; }.fiscal-alert-settings-card h3 { margin: 5px 0; }.fiscal-alert-settings-card p { margin: 0; color: var(--muted); font-size: 8px; }
.fiscal-alert-history { margin-top: 16px; border-top: 1px solid var(--line); }.fiscal-alert-history>div:not(.panel-header):not(.empty-state) { display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 12px; align-items: center; padding: 10px 4px; border-bottom: 1px solid var(--line); font-size: 8px; }.fiscal-alert-history>div>span:nth-child(2) { color: var(--muted); }
.reports-modal { width: min(650px, 100%); }.report-options { display: grid; gap: 10px; margin-bottom: 16px; }.report-option { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: white; text-align: left; }.report-option:hover { border-color: #b9cbc1; background: #f8faf9; }.report-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 9px; color: var(--green); background: var(--green-light); font-weight: 800; }.report-option strong, .report-option small { display: block; }.report-option strong { font-size: 11px; }.report-option small { margin-top: 4px; color: var(--muted); font-size: 9px; }.report-option b { color: var(--green); font-size: 9px; }
.metric-card, .panel { border: 1px solid var(--line); background: var(--surface); box-shadow: 0 3px 14px rgba(24,46,36,.025); }
.metric-card { padding: 17px; border-radius: 12px; }
.metric-top { display: flex; align-items: center; justify-content: space-between; }
.metric-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; font-size: 12px; font-weight: 800; }
.metric-icon.green { color: var(--green); background: var(--green-light); }.metric-icon.gold { background: #fbf1d8; }.metric-icon.blue { background: #e6f1f7; }.metric-icon.coral { background: #fae9e4; }
.trend, .neutral-label { padding: 3px 6px; border-radius: 10px; font-size: 9px; font-weight: 700; }
.trend.up { color: #087f83; background: var(--green-light); }.neutral-label { color: var(--muted); background: #f1f5f6; }
.metric-card p { margin: 14px 0 5px; color: var(--muted); font-size: 10px; }
.metric-card h3 { margin: 0 0 5px; font: 700 21px var(--font-display); letter-spacing: -.5px; }
.metric-card small { color: #9aa59f; font-size: 9px; }
.dashboard-grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: 20px; }
.panel { border-radius: 12px; }
.panel-header { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 12px; }
.panel-header h3 { margin: 0; font: 700 14px var(--font-display); }
.panel-header p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.text-button { border: 0; color: var(--green); background: none; font-size: 10px; font-weight: 700; }
.cost-content { display: grid; grid-template-columns: 180px 1fr; align-items: center; gap: 15px; padding: 10px 25px 23px; }
.donut-wrap { display: grid; place-items: center; }
.donut { width: 128px; height: 128px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--green) 0 78%, var(--gold) 78% 87%, #a8c9bc 87%); }
.donut::before { content: ""; position: absolute; width: 83px; height: 83px; border-radius: 50%; background: white; }
.donut div { z-index: 1; text-align: center; }
.donut strong, .donut span { display: block; }.donut strong { font: 700 14px var(--font-display); }.donut span { margin-top: 3px; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.legend { display: grid; gap: 12px; }
.legend > div { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 9px; }
.legend-dot { width: 8px; height: 8px; border-radius: 50%; }.legend-dot.salaries { background: var(--green); }.legend-dot.benefits { background: var(--gold); }.legend-dot.contributions { background: #a8c9bc; }
.legend p, .legend small { margin: 0; }.legend p { font-size: 10px; }.legend small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }.legend strong { font-size: 10px; }
.activity-list { padding: 3px 20px 15px; }
.activity-item { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 10px; padding: 11px 0; border-top: 1px solid var(--line); }
.activity-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--green-light); font-size: 12px; }
.activity-item p { margin: 0; font-size: 10px; }.activity-item p strong { display: block; }.activity-item p span, .activity-item time { color: var(--muted); font-size: 8px; }
.heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.payroll-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; }
.payroll-summary > div { padding: 17px 20px; border-right: 1px solid var(--line); }
.payroll-summary > div:last-child { border: 0; }
.payroll-summary span, .payroll-summary strong { display: block; }.payroll-summary span { margin-bottom: 6px; color: var(--muted); font-size: 9px; }.payroll-summary strong { font: 700 16px var(--font-display); }
.payroll-summary .highlight { color: white; background: linear-gradient(135deg,var(--navy),var(--teal)); }.payroll-summary .highlight span { color: #d7f3f3; }
.table-panel { overflow: hidden; }
.table-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.search-box { width: 260px; display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; background: #fafbfa; }
.search-box span { color: var(--muted); }.search-box input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 11px; }
.table-filters { display: flex; gap: 6px; }.filter-button { padding: 6px 10px; font-size: 9px; }.filter-button.active { color: white; border-color: var(--green); background: var(--green); }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 11px 16px; color: var(--muted); background: #fafbfa; font-size: 9px; font-weight: 600; text-align: left; text-transform: uppercase; letter-spacing: .4px; }
td { padding: 13px 16px; border-top: 1px solid var(--line); font-size: 11px; white-space: nowrap; }
.employee-cell { display: flex; align-items: center; gap: 9px; }
.employee-avatar { width: 31px; height: 31px; color: #264d3d; background: #dcebe3; font-size: 9px; }

@media (max-width: 1100px) {
  .payroll-matrix-layout { grid-template-columns: 1fr; }
  .payroll-matrix-actions { justify-content: flex-start; }
}
.employee-cell strong, .employee-cell span { display: block; }.employee-cell span { margin-top: 2px; color: var(--muted); font-size: 9px; }
.status-chip { padding: 4px 8px; border-radius: 20px; color: #876315; background: #fbf1d8; font-size: 8px; font-weight: 700; }
.status-chip.processed { color: var(--green); background: var(--green-light); }
.row-action { border: 0; color: var(--green); background: none; font-size: 10px; font-weight: 700; }
.row-actions { display: grid; gap: 4px; justify-items: start; }
.employee-cards { display: grid; gap: 8px; width:100%; overflow-x:auto; padding-bottom:6px; }
.employee-list-head,.employee-row{display:grid;grid-template-columns:minmax(280px,1.45fr) minmax(160px,.85fr) minmax(120px,.65fr) minmax(135px,.7fr) minmax(240px,1.15fr) 82px;align-items:center;gap:14px;min-width:1080px}
.employee-list-head{padding:0 18px 6px;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.employee-card { padding: 13px 18px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.employee-card-top { display: flex; align-items: center; gap: 12px; min-width:0; }.employee-card-top > div { flex: 1; min-width: 0; }.edit-employee-card { justify-self:end; padding: 6px 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--teal); background: white; font-size: 8px; font-weight: 700; }.edit-employee-card:disabled { color: #aab5b9; cursor: not-allowed; }
.employee-card-top .employee-avatar { width: 38px; height: 38px; font-size: 10px; }
.employee-card h3 { margin: 0; font: 700 12px var(--font-display); }.employee-card p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.employee-status-section{display:grid;gap:8px;margin-bottom:18px}.employee-status-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}.employee-status-heading>div{display:flex;align-items:center;gap:9px}.employee-status-heading h2{margin:0;font:700 14px var(--font-display);color:var(--navy)}.employee-status-heading>strong{display:grid;place-items:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:#e9f7f5;color:#087f78;font-size:10px}.employee-status-dot{width:9px;height:9px;border-radius:50%;background:#13b8ae;box-shadow:0 0 0 4px #dff8f5}.employee-status-dot.terminated{background:#8494a8;box-shadow:0 0 0 4px #eef2f6}.terminated-section{margin-top:10px}.terminated-section .employee-status-heading{background:#f7f9fb}.terminated-section .employee-status-heading>strong{background:#e9eef4;color:#536579}.employee-card.terminated{background:#f8fafc;border-color:#d9e1e9}.employee-card.terminated .employee-avatar{background:#e5ebf1;color:#536579}.employee-exit-badge{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;background:#e9eef4;color:#536579;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}
.employee-detail { display: grid; gap: 3px; padding: 0; border-top: 0; font-size: 9px; min-width:0; }.employee-detail span { display:none; color: var(--muted); }.employee-detail strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size: 10px; }
.hr-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 18px; }.hr-summary article { padding: 17px 18px; border: 1px solid var(--line); border-radius: 12px; background: white; }.hr-summary span,.hr-summary strong,.hr-summary small { display: block; }.hr-summary span { color: var(--muted); font-size: 9px; }.hr-summary strong { margin: 6px 0 3px; font: 700 21px var(--font-display); }.hr-summary small { color: #9aa7ae; font-size: 8px; }
.hr-layout { display: grid; grid-template-columns: .95fr 1.35fr; gap: 18px; }.hr-panel { overflow: hidden; background: white; border: 1px solid var(--line); }.hr-file-list,.hr-request-list { padding: 0 18px 14px; }.hr-file-row { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center; padding: 13px 0; border-top: 1px solid var(--line); }.hr-file-person { display: flex; align-items: center; gap: 10px; }.hr-file-person strong,.hr-file-person span { display: block; }.hr-file-person strong { font-size: 10px; }.hr-file-person span { margin-top: 2px; color: var(--muted); font-size: 8px; }.file-progress { min-width: 82px; text-align: right; }.file-progress strong { display: block; font-size: 9px; }.file-progress span { display: block; height: 5px; margin: 5px 0; overflow: hidden; border-radius: 10px; background: #edf2f3; }.file-progress i { display: block; height: 100%; background: var(--teal); }.file-progress button { padding: 0; border: 0; color: var(--teal); background: none; font-size: 8px; font-weight: 700; }
.hr-request-row { display: grid; grid-template-columns: 1.1fr .8fr .65fr auto; gap: 12px; align-items: center; padding: 13px 0; border-top: 1px solid var(--line); }.hr-request-row strong,.hr-request-row span { display: block; }.hr-request-row strong { font-size: 10px; }.hr-request-row span { margin-top: 3px; color: var(--muted); font-size: 8px; }.request-status { display: inline-block !important; width: max-content; padding: 4px 7px; border-radius: 20px; font-weight: 700; }.request-status.pending { color: #8a6515; background: #fff1ca; }.request-status.approved { color: #087f83; background: var(--green-light); }.request-status.rejected { color: #a34b42; background: #f9e5e2; }.request-actions { display: flex; flex-wrap: wrap; gap: 5px; max-width: 145px; }.request-actions button { padding: 5px 7px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: white; font-size: 8px; font-weight: 700; }.request-actions .approve { color: #087f83; }.request-actions .reject { color: #a34b42; }.request-actions .email-request { color: #087f83; }
.document-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0 0; padding: 15px; border: 1px solid var(--line); border-radius: 9px; }.document-checklist legend { padding: 0 6px; color: var(--ink); font-size: 10px; font-weight: 700; }.document-checklist label { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; }
.fiscal-summary { display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px }.fiscal-summary article{padding:17px 18px;border:1px solid var(--line);border-radius:12px;background:white}.fiscal-summary span,.fiscal-summary strong,.fiscal-summary small{display:block}.fiscal-summary span{color:var(--muted);font-size:9px}.fiscal-summary strong{margin:6px 0 3px;font:700 18px var(--font-display)}.fiscal-summary small{color:#99a7ae;font-size:8px}.fiscal-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.fiscal-tabs button{padding:8px 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:white;font-size:10px;font-weight:700}.fiscal-tabs button.active{color:white;border-color:var(--navy);background:var(--navy)}.fiscal-panel{min-height:260px;overflow:hidden;background:white;border:1px solid var(--line)}.fiscal-tab-panel{padding:18px}.fiscal-table-wrap{overflow-x:auto}.fiscal-table small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.fiscal-list-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 2px;border-bottom:1px solid var(--line)}.fiscal-list-row strong,.fiscal-list-row span{display:block}.fiscal-list-row strong{font-size:10px}.fiscal-list-row span{margin-top:3px;color:var(--muted);font-size:9px}.fiscal-modal{width:min(900px,100%)}.invoice-lines-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px}.invoice-line{display:grid;grid-template-columns:.7fr 2fr .55fr .8fr .7fr 32px;gap:7px;margin-bottom:7px}.invoice-line input,.invoice-line select,.fiscal-notes textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:7px;font-size:10px}.invoice-line button{border:0;border-radius:7px;color:#a34b42;background:#f9e5e2}.fiscal-notes{display:grid;gap:6px;margin-top:14px;color:var(--muted);font-size:9px}.fiscal-live-total{display:flex;justify-content:flex-end;gap:20px;margin-top:14px;padding:13px;border-radius:9px;background:#f4f8f9;font-size:10px}.fiscal-live-total strong{color:var(--navy);font-size:12px}
.fiscal-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.fiscal-record-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.record-card-head{display:flex;justify-content:space-between;gap:12px}.record-card-head strong,.record-card-head span{display:block}.record-card-head strong{font-size:11px}.record-card-head span{margin-top:4px;color:var(--muted);font-size:9px}.fiscal-record-card p{min-height:30px;color:var(--muted);font-size:9px}.fiscal-record-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fiscal-record-card dt{color:var(--muted);font-size:8px}.fiscal-record-card dd{margin:3px 0 0;font-size:9px;font-weight:700}.fiscal-record-card button{margin-top:12px}.fiscal-panel-toolbar,.fiscal-report-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}.fiscal-report-toolbar{justify-content:space-between;align-items:end}.fiscal-report-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:9px}.fiscal-report-toolbar select{min-width:250px;padding:9px;border:1px solid var(--line);border-radius:8px;background:white}.fiscal-alert-list{display:grid;gap:9px}.fiscal-alert{display:grid;gap:4px;padding:13px 15px;border-left:4px solid #c5a556;border-radius:8px;background:#fff9e8}.fiscal-alert.high{border-color:#c45b51;background:#fff0ee}.fiscal-alert strong{font-size:10px}.fiscal-alert span{color:var(--muted);font-size:9px}.check-line{display:flex!important;align-items:center;gap:8px;padding-top:19px}.check-line input{width:auto!important}
.fiscal-subsection{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.fiscal-subsection h3{margin:0 0 8px;font-size:12px}
.medical-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}.medical-summary article{padding:17px 18px;border:1px solid var(--line);border-radius:12px;background:white}.medical-summary span,.medical-summary strong,.medical-summary small{display:block}.medical-summary span{color:var(--muted);font-size:9px}.medical-summary strong{margin:6px 0 3px;font:700 18px var(--font-display)}.medical-summary small{color:#99a7ae;font-size:8px}.medical-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.medical-tabs button{padding:8px 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:white;font-size:10px;font-weight:700}.medical-tabs button.active{color:white;border-color:var(--navy);background:var(--navy)}.medical-panel{min-height:320px}.medical-tab-panel{padding:18px}.medical-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.medical-toolbar>div{display:flex;gap:8px}.medical-toolbar h3,.medical-toolbar p{margin:0}.medical-toolbar p{margin-top:4px;color:var(--muted);font-size:9px}.medical-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:9px}.medical-toolbar select{min-width:260px;padding:9px;border:1px solid var(--line);border-radius:8px;background:white}.medical-dashboard-grid,.medical-settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.medical-dashboard-grid section,.medical-settings-grid section{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.medical-dashboard-grid h3,.medical-settings-grid h3{margin:0 0 12px;font-size:11px}.medical-ranking,.medical-protocol-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:9px}.medical-protocol-row{display:grid}.medical-protocol-row span{color:var(--muted);font-size:8px}.medical-alert,.medical-success{margin-bottom:8px;padding:10px;border-left:4px solid #d98452;border-radius:7px;background:#fff5e9;font-size:9px}.medical-success{border-color:#19a49e;background:#eaf9f6}.medical-badge{display:inline-flex;padding:4px 7px;border-radius:999px;color:#53686f;background:#edf2f3;font-size:8px;font-weight:800}.medical-badge.approved,.medical-badge.ready_for_payment,.medical-badge.paid{color:#08766f;background:#ddf5ef}.medical-badge.review,.medical-badge.sent,.medical-badge.fiscal_document_received{color:#8a6500;background:#fff0bd}.medical-badge.void,.medical-badge.observed{color:#98463f;background:#fde5e2}.medical-warning{color:#a45b32;font-weight:700}.medical-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:13px}.medical-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.medical-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.medical-card dl div{padding:8px;border-radius:7px;background:#f5f8f8}.medical-card dt{color:var(--muted);font-size:7px}.medical-card dd{margin:3px 0 0;font-size:9px;font-weight:700}.medical-protocol-breakdown{margin:12px 0}.medical-protocol-breakdown div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line);font-size:9px}.medical-import-summary{display:flex;gap:12px;margin:14px 0;padding:12px;border-radius:8px;background:#f4f8f9}.medical-import-summary strong{color:#08766f}.medical-import-errors{max-height:180px;overflow:auto}.medical-import-errors div{padding:6px;color:#98463f;font-size:9px}.medical-install-state{padding:28px;border:1px dashed #d4a84c;border-radius:12px;background:#fff9e8}.medical-install-state h3{margin-top:0}.medical-install-state code{display:inline-block;margin-top:8px;padding:8px;border-radius:6px;background:#0d344c;color:white}.medical-tariff-table{margin-top:18px}
.medical-orders-tab-panel{padding:18px}.medical-order-type-section{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fbfc}.medical-order-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.medical-order-check-grid fieldset{margin:0;padding:12px;border:1px solid #d9e6ec;border-radius:10px;background:#fff}.medical-order-check-grid legend{padding:0 6px;color:var(--navy);font-size:10px;font-weight:800}.medical-order-check-grid label{display:flex;align-items:center;gap:7px;margin:7px 0;color:#203654;font-size:10px}.medical-medication-rows{display:grid;gap:8px}.medical-medication-row{display:grid;grid-template-columns:1.4fr repeat(5,.75fr) 1.2fr 30px;gap:7px;align-items:center}.medical-medication-row input,.medical-medication-row select{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:10px}.medical-medication-row button{height:34px;border:0;border-radius:8px;color:#9f3d35;background:#fde7e3;font-weight:800}.medical-catalog-list{display:grid;gap:8px;margin-top:14px;max-height:280px;overflow:auto}.medical-catalog-list div{padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.medical-catalog-list strong,.medical-catalog-list span{display:block}.medical-catalog-list span{margin-top:3px;color:var(--muted);font-size:9px}.compact-form{display:grid!important}.compact-form button{align-self:end}.danger-button{color:#a43c34!important;background:#fde8e5!important;border-color:#f1c2bd!important}

/* DEMEDICA pharmacy and laboratory order modal. */
.medical-order-modal{width:min(97vw,1460px)!important;height:min(94vh,940px)!important;max-height:94vh!important;overflow:hidden!important;padding:0!important;background:#f5f8fc!important;border-radius:14px!important}
.medical-order-modal.pharmacy-mode{width:min(98vw,1520px)!important;background:#f7fafc!important}
.medical-order-modal.lab-mode{width:min(98vw,1520px)!important;background:#f7f8fc!important}
.medical-order-hero{position:sticky!important;top:0;z-index:6;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:18px 24px!important;border-bottom:1px solid #dbe7f2!important;background:#fff!important}
.medical-order-modal.pharmacy-mode .medical-order-hero{padding:20px 26px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important}
.medical-order-modal.lab-mode .medical-order-hero{padding:20px 26px!important;background:linear-gradient(180deg,#fff,#fbfbff)!important}
.medical-order-hero .pill{background:#e7f7ff!important;color:#0b63c8!important;font-size:10px!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.medical-order-modal.pharmacy-mode .medical-order-hero .pill{background:#e3f8ef!important;color:#00836b!important}
.medical-order-modal.lab-mode .medical-order-hero .pill{background:#efeafd!important;color:#6d28d9!important}
.medical-order-hero h2{margin:6px 0 3px!important;color:#0b2347!important;font-size:23px!important}
.medical-order-hero p{margin:0;color:#60748c;font-size:12px;font-weight:700}
.medical-order-layout{display:grid;grid-template-columns:minmax(720px,1fr) 360px;gap:16px;height:calc(94vh - 156px);padding:16px;overflow:auto}
.medical-order-modal.pharmacy-mode .medical-order-layout{grid-template-columns:minmax(780px,1fr) 340px;gap:18px;padding:18px 20px}
.medical-order-modal.lab-mode .medical-order-layout{grid-template-columns:minmax(780px,1fr) 340px;gap:18px;padding:18px 20px}
.medical-order-main{display:grid;gap:14px;align-content:start}
.medical-order-section,.medical-order-side section{border:1px solid #dfe8f2;border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(15,35,65,.06)}
.medical-order-section{padding:16px}
.medical-order-section .panel-header{margin-bottom:12px}
.medical-order-section h3,.medical-order-side h3{margin:0;color:#0b2347;font-size:16px}
.medical-order-section p{margin:4px 0 0;color:#6b7f96;font-size:11px}
.medical-order-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.medical-order-two-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.medical-order-one-grid{grid-template-columns:1fr!important;gap:10px!important}
.medical-pharmacy-patient-grid{display:grid;grid-template-columns:1.05fr 1fr 1.05fr;gap:18px}
.medical-pharmacy-group{min-width:0;padding-right:18px;border-right:1px solid #e3ebf3}
.medical-pharmacy-group:last-child{padding-right:0;border-right:0}
.medical-pharmacy-group h4{margin:0 0 10px;color:#0b4aa2;font-size:12px;font-weight:950}
.medical-order-modal .form-grid label{min-width:0;color:#465d74;font-size:9px;font-weight:850}
.medical-order-modal input,.medical-order-modal select,.medical-order-modal textarea{min-width:0;padding:9px 10px!important;border-color:#d5e2ef!important;border-radius:8px!important;font-size:11px!important}
.medical-order-modal.pharmacy-mode input,.medical-order-modal.pharmacy-mode select,.medical-order-modal.pharmacy-mode textarea{border-color:#d8e5f0!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.medical-order-modal.lab-mode input,.medical-order-modal.lab-mode select,.medical-order-modal.lab-mode textarea{border-color:#d8e0f2!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.medical-order-modal textarea{resize:vertical}
.medical-priority-pill{padding:7px 12px;border-radius:999px;background:#e8f1ff;color:#1554b7;font-size:11px;font-weight:900}
.medical-priority-pill.high{background:#fff3c4;color:#986500}
.medical-priority-pill.urgent{background:#ffead5;color:#b45309}
.medical-priority-pill.stat{background:#fee2e2;color:#b42318}
.medical-order-tools{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end;margin-bottom:12px}
.medical-pharmacy-tools{grid-template-columns:minmax(280px,1fr) auto auto}
.medical-order-tools label{display:grid;gap:5px;color:#465d74;font-size:9px;font-weight:850}
.medical-panel-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.medical-panel-actions button{padding:8px 10px;border:1px solid #d5e2ef;border-radius:8px;background:#fff;color:#0b4aa2;font-size:10px;font-weight:900}
.medical-order-modal.lab-mode .medical-panel-actions{justify-content:flex-start;margin:0 0 12px}
.medical-order-modal.lab-mode .medical-panel-actions button{border-color:#ddd6fe;background:#f7f4ff;color:#5b21b6}
.medical-lab-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.medical-lab-browser{display:grid;grid-template-columns:220px minmax(360px,1fr) 320px;gap:12px;align-items:start}
.medical-lab-categories,.medical-lab-available,.medical-lab-selected{min-height:320px;border:1px solid #e1e8f4;border-radius:12px;background:#fff;overflow:hidden}
.medical-lab-categories{display:grid;align-content:start;padding:8px;gap:7px;background:#fbfcff}
.medical-lab-categories button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 11px;border:1px solid transparent;border-radius:10px;background:transparent;color:#415772;font-size:11px;font-weight:900;text-align:left}
.medical-lab-categories button strong{display:grid;place-items:center;min-width:26px;height:22px;border-radius:999px;background:#edf2ff;color:#4f46e5;font-size:10px}
.medical-lab-categories button.active{border-color:#c4b5fd;background:#f2edff;color:#4c1d95;box-shadow:0 8px 20px rgba(91,33,182,.08)}
.medical-lab-available{display:grid;align-content:start;gap:0}
.medical-lab-test-card{display:grid!important;grid-template-columns:18px 1fr;gap:9px;margin:0!important;padding:12px!important;border-bottom:1px solid #edf2f7!important;color:#0b2347!important;font-size:11px!important}
.medical-lab-test-card:hover{background:#fbfaff}
.medical-lab-test-card input{width:auto!important;margin-top:2px}
.medical-lab-test-card strong,.medical-lab-test-card small{display:block}
.medical-lab-test-card small{margin-top:4px;color:#6b7f96;font-size:10px;font-weight:750;line-height:1.35}
.medical-lab-selected{padding:12px;display:grid;gap:8px;align-content:start;background:#fbfcff}
.medical-lab-selected-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}
.medical-lab-selected-title strong{color:#0b2347;font-size:12px}
.medical-lab-selected-title button{border:0;background:transparent;color:#6d28d9;font-size:10px;font-weight:950}
.medical-lab-selected-item{display:grid;grid-template-columns:24px 1fr 30px;gap:8px;align-items:start;padding:10px;border:1px solid #e3e8f4;border-radius:10px;background:#fff}
.medical-lab-selected-item>span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:10px;font-weight:950}
.medical-lab-selected-item strong,.medical-lab-selected-item small{display:block}
.medical-lab-selected-item strong{color:#0b2347;font-size:11px}
.medical-lab-selected-item small{margin-top:3px;color:#6b7f96;font-size:9px;font-weight:750;line-height:1.35}
.medical-lab-selected-item button{height:28px;border:0;border-radius:8px;background:#feecec;color:#b42318;font-weight:950}
.medical-lab-category{border:1px solid #dfe8f2;border-radius:10px;background:#f9fcff;overflow:hidden}
.medical-lab-category summary{cursor:pointer;padding:11px 12px;color:#0b2347;font-size:12px;font-weight:900}
.medical-lab-category label{display:flex;align-items:center;gap:8px;margin:0;padding:8px 12px;border-top:1px solid #edf2f7;color:#203654;font-size:11px;font-weight:800}
.medical-lab-category input{width:auto!important}
.medical-manual-test{display:grid;margin-top:12px}
.medical-medication-rows.modern{display:grid;gap:0;border:1px solid #dfe8f2;border-radius:12px;overflow:hidden;background:#fff}
.medical-medication-table-head{display:grid;grid-template-columns:minmax(220px,1.25fr) .75fr .82fr .72fr .58fr .64fr minmax(170px,1fr) 58px;gap:0;background:#f7fafc;border-bottom:1px solid #e2eaf3;color:#49627b;font-size:10px;font-weight:950}
.medical-medication-table-head span{padding:10px 11px;border-right:1px solid #e2eaf3}
.medical-medication-table-head span:last-child{border-right:0;text-align:center}
.medical-medication-row.modern{display:grid;grid-template-columns:minmax(220px,1.25fr) .75fr .82fr .72fr .58fr .64fr minmax(170px,1fr) 58px;gap:8px;align-items:start;padding:10px 11px;border:0;border-bottom:1px solid #edf2f7;border-radius:0;background:#fff}
.medical-medication-row.modern:last-child{border-bottom:0}
.medical-medication-name-cell{display:grid;gap:6px;min-width:0}
.medical-medication-name-cell small{color:#00836b;font-size:10px;font-weight:850;line-height:1.35}
.medical-medication-row.modern .medication-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;color:#60748c;font-size:10px;font-weight:800}
.medical-medication-row.modern .medication-meta span{padding:5px 8px;border-radius:999px;background:#eef6ff}
.medical-medication-row.modern .medication-meta span.ok{background:#e8f8ef;color:#047857}
.medical-medication-row.modern .medication-meta span.warn{background:#fff7df;color:#a15c00}
.medical-medication-row.modern .medication-meta span.danger{background:#feecec;color:#b42318}
.medical-medication-row.modern button{height:34px;border:0;border-radius:8px;color:#9f3d35;background:#fde7e3;font-weight:900}
.medical-add-inline{width:100%;margin-top:10px;padding:10px 12px;border:1px dashed #bad0e8;border-radius:10px;background:#fbfdff;color:#0b63c8;font-size:11px;font-weight:950}
.medical-medication-stock-notice{margin-top:10px;padding:10px 12px;border-radius:10px;background:#eaf8ef;color:#047857;font-size:11px;font-weight:900}
.medical-medication-stock-notice.warn{background:#fff7df;color:#a15c00}
.medical-medication-stock-notice.danger{background:#feecec;color:#b42318}
.medical-order-side{position:sticky;top:0;align-self:start;display:grid;gap:14px}
.medical-order-side section{padding:15px}
.medical-order-side dl{display:grid;margin:0}
.medical-order-side dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e8eef5}
.medical-order-side dt{color:#75859a;font-size:11px}
.medical-order-side dd{max-width:175px;margin:0;color:#0b2347;font-size:11px;font-weight:900;text-align:right;overflow-wrap:anywhere}
.medical-summary-list{display:grid;gap:7px;max-height:180px;overflow:auto}
.medical-summary-list span{padding:8px 10px;border-radius:9px;background:#f5f9ff;color:#0b2347;font-size:11px;font-weight:850}
.medical-summary-list strong,.medical-summary-list small{display:block}
.medical-summary-list small{margin-top:3px;color:#6b7f96;font-size:9px;font-weight:750;line-height:1.35}
.medical-order-footer{position:sticky;bottom:0;z-index:7;margin:0!important;padding:13px 28px!important;border-top:1px solid #dbe7f2;background:rgba(255,255,255,.97);box-shadow:0 -12px 28px rgba(15,35,65,.08)}
.medical-order-footer-status{margin-left:auto;margin-right:8px;padding:9px 13px;border-radius:10px;background:#fff7df;color:#a15c00;font-size:11px;font-weight:900}
.medical-order-footer-status.ok{background:#eaf8ef;color:#047857}
@media(max-width:1120px){.medical-order-modal{height:auto!important;overflow:auto!important}.medical-order-layout{grid-template-columns:1fr;height:auto}.medical-order-side{position:static}.medical-lab-picker,.medical-order-compact-grid,.medical-pharmacy-patient-grid{grid-template-columns:1fr 1fr!important}.medical-lab-browser{grid-template-columns:1fr}.medical-lab-categories,.medical-lab-available,.medical-lab-selected{min-height:auto}.medical-pharmacy-group{border-right:0;padding-right:0}.medical-medication-table-head{display:none}.medical-medication-row.modern{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.medical-lab-picker,.medical-order-compact-grid,.medical-order-tools,.medical-lab-tools,.medical-pharmacy-tools,.medical-pharmacy-patient-grid{grid-template-columns:1fr!important}.medical-order-footer{flex-direction:column}.medical-order-footer button,.medical-order-footer-status{width:100%;margin:0}.medical-medication-row.modern{grid-template-columns:1fr}}
.form-static-field{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f7fbfb}.form-static-field span{color:var(--muted);font-size:10px;font-weight:700}.form-static-field strong{color:var(--navy);font-size:12px}
.payment-allocation-list{display:grid;gap:8px;max-height:260px;overflow:auto}.payment-allocation-row{display:grid;grid-template-columns:22px 1fr 140px;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#f9fbfb}.payment-allocation-row>input[type=checkbox]{width:auto}.payment-allocation-row span,.payment-allocation-row strong,.payment-allocation-row small{display:block}.payment-allocation-row small{margin-top:3px;color:var(--muted);font-size:8px}.payment-allocation-amount{width:100%;padding:8px;border:1px solid var(--line);border-radius:7px}.danger-button{background:#a54138!important}.danger-button:hover{background:#84352f!important}
.purchase-order-fields{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f7fbfb}.purchase-order-fields[hidden]{display:none!important}.muted-row{opacity:.62}.fiscal-table tfoot th{background:#edf5f5;color:var(--navy);font-weight:800}.fiscal-table td small{display:block;margin-top:3px;color:var(--muted);font-size:8px}
.admin-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.admin-summary-grid div{padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.admin-summary-grid span,.admin-summary-grid strong{display:block}.admin-summary-grid span{color:var(--muted);font-size:8px}.admin-summary-grid strong{margin-top:3px;font-size:10px}.admin-summary-grid .copy-warning{grid-column:1/-1;margin:0;padding:10px;border-left:4px solid #d98452;border-radius:8px;background:#fff5e9;color:#8a5a22;font-size:9px}.copy-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.copy-options-grid label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:9px}.copy-options-grid input{width:auto}
.treasury-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px}.treasury-summary article,.treasury-report-grid article{padding:17px 18px;border:1px solid var(--line);border-radius:12px;background:white}.treasury-summary span,.treasury-summary strong,.treasury-summary small,.treasury-report-grid span,.treasury-report-grid strong,.treasury-report-grid small{display:block}.treasury-summary span,.treasury-report-grid span{color:var(--muted);font-size:9px}.treasury-summary strong,.treasury-report-grid strong{margin:6px 0 3px;font:700 18px var(--font-display)}.treasury-summary small,.treasury-report-grid small{color:#99a7ae;font-size:8px}.treasury-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.treasury-layout .panel{min-width:0}.treasury-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.treasury-card{padding:16px;border:1px solid var(--line);border-left:4px solid #18aaa8;border-radius:12px;background:#fff}.treasury-card.warning{border-left-color:#d98452;background:#fffaf4}.treasury-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.treasury-card dt{color:var(--muted);font-size:7px}.treasury-card dd{margin:3px 0 0;font-size:9px;font-weight:700}.treasury-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.treasury-history-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}.treasury-movement-table td,.treasury-movement-table th{white-space:normal}.treasury-movement-table td:nth-child(5){font-weight:800;color:var(--navy)}
.treasury-deposit-panel{margin-bottom:16px}.treasury-deposit-actions{max-width:none}.treasury-deposit-filters{margin:0 0 12px}.treasury-deposit-summary{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:14px}.treasury-deposit-summary article{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#f8fbfb}.treasury-deposit-summary span,.treasury-deposit-summary strong,.treasury-deposit-summary small{display:block}.treasury-deposit-summary span{color:var(--muted);font-size:8px}.treasury-deposit-summary strong{margin:5px 0 2px;color:var(--navy);font:700 16px var(--font-display)}.treasury-deposit-summary small{color:#91a0a7;font-size:8px}.treasury-deposit-status{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:8px;font-weight:800}.treasury-deposit-status::before{width:7px;height:7px;border-radius:50%;content:""}.treasury-deposit-status.pending{color:#8a6515;background:#fff5cf}.treasury-deposit-status.pending::before{background:#f1c40f}.treasury-deposit-status.completed{color:#087f4d;background:#dcf8e7}.treasury-deposit-status.completed::before{background:#2fca55}.treasury-deposit-category.catering{box-shadow:inset 4px 0 #8bb9df}.treasury-deposit-difference.is-off{color:#b45309;font-weight:800}.treasury-deposit-live-total{display:flex;justify-content:space-between;gap:20px;margin-top:14px;padding:14px;border-radius:9px;background:#f4f8f9}.treasury-deposit-live-total span{color:var(--muted);font-size:9px}.treasury-deposit-live-total strong{color:var(--navy)}
.treasury-card-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px}.treasury-card-details div{padding:8px;border-radius:8px;background:#f6fafb}.treasury-card-details span,.treasury-card-details strong{display:block}.treasury-card-details span{color:var(--muted);font-size:7px}.treasury-card-details strong{margin-top:3px;color:var(--navy);font-size:8px}.treasury-date-alert{color:#b44236!important;font-weight:800}
.fiscal-search-controls{display:grid;grid-template-columns:minmax(280px,2fr) repeat(6,minmax(105px,1fr)) auto;gap:8px;align-items:end;margin-bottom:16px}.fiscal-search-controls label{display:grid;gap:4px;color:var(--muted);font-size:8px}.fiscal-search-controls input,.fiscal-search-controls select{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:white}.fiscal-global-search{position:relative}.fiscal-global-search span{position:absolute;left:10px;bottom:9px}.fiscal-global-search input{padding-left:28px}.fiscal-search-count{margin-bottom:8px;color:var(--muted);font-size:9px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail-grid div{padding:11px;border:1px solid var(--line);border-radius:8px}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{color:var(--muted);font-size:8px}.detail-grid strong{margin-top:4px;font-size:10px}.sales-book-section{padding-bottom:22px;border-bottom:1px solid var(--line)}.fiscal-subsection-head h3,.fiscal-subsection-head p{margin:0}.fiscal-subsection-head p{margin-top:4px;color:var(--muted);font-size:9px}.sales-book-filters{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;align-items:end;margin:14px 0}.sales-book-filters label{display:grid;gap:4px;color:var(--muted);font-size:8px}.sales-book-filters input,.sales-book-filters select{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:white}.sales-book-table{min-width:1500px}.sales-book-totals{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}.sales-book-totals span,.sales-book-totals strong{padding:8px 10px;border-radius:7px;background:#f3f6f6;font-size:9px}.sales-book-totals strong{background:#efa900}
.reports-shell{display:grid;grid-template-columns:310px minmax(0,1fr);gap:16px;align-items:start}.reports-sidebar,.reports-quick-panel,.report-detail-card,.report-history{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(16,59,85,.04)}.reports-sidebar{position:sticky;top:18px;padding:14px}.reports-search{display:grid;gap:6px;color:var(--muted);font-size:9px}.reports-search input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.report-category-list{display:grid;gap:8px;margin-top:14px}.report-category-card{display:grid;gap:5px;width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;background:#f9fbfb;text-align:left;color:var(--ink);cursor:pointer}.report-category-card strong{font-size:11px}.report-category-card small{color:var(--muted);font-size:9px;line-height:1.35}.report-category-card span{justify-self:start;padding:4px 7px;border-radius:999px;background:#eef5f5;color:var(--muted);font-size:8px;font-weight:700}.report-category-card.active{border-color:#0aa6a6;background:#effafa}.reports-main{display:grid;gap:14px;min-width:0}.reports-quick-panel{display:grid;grid-template-columns:minmax(240px,.8fr) 1.4fr;gap:16px;padding:16px}.reports-quick-panel h2,.reports-quick-panel p{margin:0}.reports-quick-panel p{margin-top:5px;color:var(--muted);font-size:10px}.report-pill-list{display:flex;flex-wrap:wrap;gap:8px;align-content:start}.report-pill{display:grid;gap:2px;min-width:170px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left;color:var(--ink);font-size:10px;font-weight:800;cursor:pointer}.report-pill small{color:var(--muted);font-size:8px;font-weight:600}.report-pill.active{border-color:#103b55;background:#103b55;color:#fff}.report-pill.active small{color:#cfe6ef}.report-detail-card{padding:16px;border-bottom:0}.report-detail-card.purchase-book-report{padding:16px}.report-path{display:block;margin-bottom:5px;color:#00a6a6;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.report-history{padding:14px}.report-history h3{margin:0 0 10px;font-size:13px}@media(max-width:1000px){.reports-shell{grid-template-columns:1fr}.reports-sidebar{position:static}.reports-quick-panel{grid-template-columns:1fr}.sales-book-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.sales-book-filters{grid-template-columns:1fr}.report-pill{width:100%}}
.fiscal-range-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:13px}.fiscal-range-card{padding:16px;border:1px solid var(--line);border-left:4px solid #94a4a7;border-radius:12px;background:white}.fiscal-range-card.active{border-left-color:#18aaa8}.fiscal-range-card.expiring,.fiscal-range-card.running_out{border-left-color:#efa900}.fiscal-range-card.exhausted,.fiscal-range-card.expired{border-left-color:#b94c43}.fiscal-range-card.replaced{opacity:.72}.range-card-head{display:flex;justify-content:space-between;gap:12px}.range-card-head strong,.range-card-head span{display:block}.range-card-head strong{font-size:11px}.range-card-head>div>span{margin-top:4px;color:var(--muted);font-size:8px;word-break:break-all}.range-progress{height:7px;margin:13px 0;overflow:hidden;border-radius:10px;background:#edf1f1}.range-progress i{display:block;height:100%;background:linear-gradient(90deg,#18aaa8,#efa900,#b94c43)}.range-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.range-metrics div{padding:9px;border-radius:8px;background:#f5f8f8}.range-metrics span,.range-metrics strong{display:block}.range-metrics span{color:var(--muted);font-size:7px}.range-metrics strong{margin-top:3px;font-size:11px}.fiscal-range-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:13px 0}.fiscal-range-card dl div{padding-top:7px;border-top:1px solid var(--line)}.fiscal-range-card dt{color:var(--muted);font-size:7px}.fiscal-range-card dd{margin:3px 0 0;font-size:9px;font-weight:700}.range-note{padding:9px;border-radius:7px;color:#8b3e37;background:#fff0ee;font-size:8px}
.purchase-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.purchase-summary article{padding:13px;border:1px solid var(--line);border-radius:10px;background:#f8fafa}.purchase-summary span,.purchase-summary strong{display:block}.purchase-summary span{color:var(--muted);font-size:8px}.purchase-summary strong{margin-top:5px;font:700 16px var(--font-display)}.purchase-report-toolbar{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) auto;gap:8px;align-items:end;margin-bottom:14px}.purchase-report-toolbar label{display:grid;gap:4px;color:var(--muted);font-size:8px}.purchase-report-toolbar input,.purchase-report-toolbar select{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:white}
.settings-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.setting-card { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: white; }.setting-card h3 { margin: 0 0 15px; font: 700 13px var(--font-display); }.setting-row { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 10px; }.setting-row span { color: var(--muted); }.setting-row strong { text-align: right; }
.user-profile-card { grid-column: 1 / -1; }
.user-profile-card p { margin: -6px 0 14px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.settings-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; gap: 12px; align-items: end; }
.settings-form label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 800; }
.settings-form input { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: 700 11px var(--font-body); }
.settings-form input:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(24,170,168,.13); }
.settings-form input[readonly] { background: #f5f8fa; color: var(--muted); }
.settings-form button { min-height: 42px; white-space: nowrap; }
.setting-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.setting-card-title h3{margin-bottom:5px}.setting-card-title p,.company-edit-card>p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.settings-readonly-badge{flex:none;padding:5px 8px;border-radius:999px;color:#687b8e;background:#eef2f5;font-size:9px;font-weight:800}.company-settings-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.company-settings-form.compact{grid-template-columns:1fr 1.4fr 1fr auto;align-items:end}.company-settings-form label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:800}.company-settings-form input,.company-settings-form select,.company-settings-form textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff;font:700 11px var(--font-body)}.company-settings-form input,.company-settings-form select{min-height:42px}.company-settings-form textarea{resize:vertical;line-height:1.55}.company-settings-form input:focus,.company-settings-form select:focus,.company-settings-form textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(24,170,168,.13)}.company-settings-form input[readonly],.company-settings-form :disabled{color:var(--muted);background:#f5f8fa;cursor:not-allowed}.company-settings-form>button{grid-column:1/-1;justify-self:end;min-height:40px}.company-settings-form.compact>button{grid-column:auto}.company-settings-form.list-editor{grid-template-columns:1fr}.company-settings-form.list-editor>label{grid-column:1/-1}.company-settings-form.list-editor>button{grid-column:1;justify-self:end}.settings-list-count{color:var(--muted);font-size:9px}
@media(max-width:1100px){.company-settings-form.compact{grid-template-columns:1fr 1fr}.company-settings-form.compact>button{grid-column:1/-1}}
@media(max-width:700px){.company-settings-form,.company-settings-form.compact{grid-template-columns:1fr}.company-settings-form>button,.company-settings-form.compact>button{grid-column:1;width:100%}}
.permission-admin-card { grid-column: 1 / -1; }
.permission-admin-card p { margin: -6px 0 14px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.permission-role-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; margin-bottom: 16px; }
.permission-quick-panel { display: grid; grid-template-columns: minmax(180px,1.1fr) minmax(220px,1.2fr) minmax(150px,.8fr) minmax(150px,.8fr); gap: 12px; align-items: end; margin: 16px 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbfc; }
.permission-quick-panel label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 800; }
.permission-quick-panel select,
.permission-quick-panel input { width: 100%; min-width: 0; min-height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: 700 11px var(--font-body); }
.permission-quick-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.permission-quick-actions button { min-height: 38px; }
.danger-soft { color: #9f2f2f !important; border-color: #f0c5c5 !important; background: #fff5f5 !important; }
.permission-admin-card .settings-form { grid-template-columns: minmax(220px,1.4fr) minmax(160px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(130px,.8fr) auto; align-items: end; }
.permission-admin-card .settings-form select,
.permission-admin-card .settings-form input { width: 100%; min-width: 0; min-height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: 700 11px var(--font-body); }
.permission-admin-card .settings-form button { align-self: end; min-width: 142px; }
@media(max-width:1200px){ .permission-admin-card .settings-form,.permission-quick-panel { grid-template-columns: repeat(2,minmax(0,1fr)); } .permission-admin-card .settings-form button { width: 100%; } }
@media(max-width:700px){ .permission-role-summary,.permission-admin-card .settings-form,.permission-quick-panel { grid-template-columns: 1fr; } .permission-quick-actions { justify-content: stretch; } .permission-quick-actions button { width: 100%; } }
@media(max-width:900px){ .settings-form { grid-template-columns: 1fr; } }
.permission-suite{grid-column:1/-1;display:grid;gap:14px;padding:0;border:1px solid #dfe8f4;border-radius:14px;background:#f7faff;box-shadow:0 18px 45px rgba(18,36,70,.06);overflow:hidden}
.permission-suite-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 26px 12px;background:#fff}
.permission-suite-header span{color:#506a91;font-size:10px;font-weight:800}.permission-suite-header h2{margin:8px 0 4px;color:#071d47;font:800 22px var(--font-display)}.permission-suite-header p{margin:0;color:#526781;font-size:11px}
.permission-suite-tabs{display:flex;gap:8px;padding:0 26px;background:#fff;border-bottom:1px solid #dde8f5}.permission-suite-tabs button{padding:13px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:#243b5c;font-size:11px;font-weight:850;cursor:pointer}.permission-suite-tabs button.active{color:#4e26d9;border-color:#5b33dc;background:#f7f4ff}
.permission-flow{display:flex;align-items:center;gap:10px;margin:0 18px;padding:14px 16px;border:1px solid #d8e5f5;border-radius:10px;background:#fff;color:#0b2347;font-size:11px}.permission-flow span{font-weight:850}.permission-flow b{color:#778aa3}.permission-flow small{flex:1;color:#536a87;font-size:10px}
.permission-suite-panel{display:none}.permission-suite-panel.active{display:block}.permission-suite-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;padding:0 18px 0}.permission-assignment-grid{display:grid;grid-template-columns:1fr 1fr 1fr minmax(430px,1.55fr) 260px;gap:10px;min-width:0}
.permission-column,.permission-side-panel section,.permission-table-card,.permission-activity-card,.permission-tab-card{padding:14px;border:1px solid #dce7f4;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(20,45,80,.04)}.permission-column h3,.permission-side-panel h3,.permission-table-card h3,.permission-activity-card h3,.permission-tab-card h3{margin:0 0 5px;color:#0b2347;font:850 13px var(--font-display)}.permission-column p,.permission-tab-card p{margin:0 0 12px;color:#60758f;font-size:10px;line-height:1.45}
.permission-list{display:grid;gap:8px;max-height:390px;overflow:auto}.permission-search,.permission-column select{width:100%;min-height:38px;margin-bottom:10px;padding:0 11px;border:1px solid #d2dfef;border-radius:8px;background:#fff;color:#0b2347;font:800 10px var(--font-body)}
.permission-user-card,.permission-select-card,.permission-quick-link{position:relative;width:100%;padding:11px;border:1px solid #e1e9f4;border-radius:9px;background:#fff;text-align:left;color:#0b2347;cursor:pointer}.permission-user-card{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center}.permission-user-card span,.permission-profile>span{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#ede7ff;color:#4e26d9;font-size:10px;font-weight:900}.permission-user-card strong,.permission-user-card small,.permission-select-card strong,.permission-select-card span,.permission-select-card small{display:block}.permission-user-card strong,.permission-select-card strong{font-size:10px}.permission-user-card small,.permission-select-card span{margin-top:3px;color:#60758f;font-size:8px}.permission-user-card i,.permission-select-card small{justify-self:start;margin-top:5px;padding:3px 7px;border-radius:999px;background:#e9f8ef;color:#087541;font-size:8px;font-style:normal;font-weight:850}.permission-user-card.active,.permission-select-card.active{border-color:#6c43e8;background:#f5f0ff;box-shadow:0 0 0 2px rgba(108,67,232,.08)}
.permission-role-list .permission-select-card strong{text-transform:capitalize}.permission-wide-action{width:100%;margin-top:10px}.permission-column-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.permission-toggle{display:flex;align-items:center;gap:6px;color:#253b5d;font-size:10px;font-weight:850;white-space:nowrap}.permission-toggle input{width:auto}
.permission-matrix-column{min-width:0}.permission-matrix-wrap{max-height:430px;overflow:auto;border:1px solid #e0e9f4;border-radius:9px}.permission-matrix{width:100%;min-width:980px;border-collapse:collapse}.permission-matrix th,.permission-matrix td{padding:8px;border-bottom:1px solid #e8eef6;text-align:center;font-size:9px}.permission-matrix th:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:1}.permission-matrix thead th{position:sticky;top:0;background:#f7faff;color:#445b7a;font-weight:900}.permission-matrix input{width:14px;height:14px;accent-color:#5b33dc}.permission-critical-chip,.permission-muted-chip{display:inline-flex;padding:3px 7px;border-radius:999px;background:#fff1dd;color:#a45d00;font-size:8px;font-weight:900}.permission-muted-chip{background:#eef3f8;color:#8796aa}
.permission-matrix-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:10px}.permission-summary-card dl{display:grid;gap:8px;margin:12px 0}.permission-summary-card dt{color:#647995;font-size:8px}.permission-summary-card dd{margin:2px 0 0;color:#0b2347;font-size:10px;font-weight:900}.permission-profile{display:flex;align-items:center;gap:9px;padding:10px;border-radius:10px;background:#f8f5ff}.permission-profile strong,.permission-profile small{display:block}.permission-profile small{margin-top:2px;color:#60758f;font-size:8px}.permission-profile i{margin-left:auto;padding:4px 8px;border-radius:999px;background:#dff8e9;color:#087541;font-size:8px;font-style:normal;font-weight:900}.permission-success{padding:10px;border-radius:9px;background:#edf9f1!important;color:#087541!important;font-size:10px!important}
.permission-side-panel{display:grid;gap:12px;align-content:start}.permission-stat{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:9px 0;border-bottom:1px solid #e8eef6}.permission-stat span,.permission-stat small{color:#60758f;font-size:9px}.permission-stat strong{grid-row:1/3;grid-column:2;color:#4e26d9;font-size:20px}.permission-quick-link{margin-top:7px;font-weight:850}.permission-policy{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #eef3f8;font-size:9px}.permission-policy strong{color:#087541}
.permission-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;padding:14px 18px 18px}.permission-table-card table{width:100%;border-collapse:collapse}.permission-table-card th,.permission-table-card td{padding:9px;border-bottom:1px solid #e9eff6;text-align:left;font-size:9px}.permission-table-card th{color:#60758f}.permission-activity-card{display:grid;gap:8px;align-content:start}.permission-activity-card div{padding:9px;border-bottom:1px solid #e9eff6}.permission-activity-card strong,.permission-activity-card span{display:block;font-size:9px}.permission-activity-card span{margin-top:3px;color:#60758f}.permission-tab-card{margin:0 18px 18px}.permission-suite-footer{display:flex;align-items:center;gap:10px;padding:14px 26px;border-top:1px solid #dde8f5;background:#fff}.permission-suite-footer span{margin-left:auto;color:#087541;font-size:10px;font-weight:800}
@media(max-width:1400px){.permission-suite-layout{grid-template-columns:1fr}.permission-side-panel{grid-template-columns:repeat(3,1fr)}.permission-assignment-grid{grid-template-columns:repeat(3,minmax(210px,1fr));overflow:auto}.permission-matrix-column{grid-column:1/-1}.permission-summary-card{grid-column:1/-1}.permission-bottom-grid{grid-template-columns:1fr}}
@media(max-width:800px){.permission-suite-header,.permission-flow,.permission-suite-footer{flex-direction:column;align-items:stretch}.permission-suite-tabs{overflow:auto}.permission-side-panel{grid-template-columns:1fr}.permission-assignment-grid{grid-template-columns:1fr}.permission-flow small{flex:auto}.permission-suite-footer span{margin-left:0}.permission-bottom-grid{padding:12px}.permission-suite-layout{padding:0 12px}}
.permission-vertical-suite{background:#f5f8fc}.permission-flow-vertical{flex-wrap:wrap}.permission-vertical-shell{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;padding:0 18px 18px}.permission-vertical-main{display:grid;gap:14px;min-width:0}.permission-vertical-card,.permission-vertical-side section{padding:16px;border:1px solid #dce7f4;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(20,45,80,.045)}.permission-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.permission-card-head span{display:block;margin-bottom:4px;color:#5c34d8;font-size:9px;font-weight:900;text-transform:uppercase}.permission-card-head h3{margin:0;color:#0b2347;font:850 15px var(--font-display)}.permission-company-card label,.permission-role-editor label{display:grid;gap:6px;color:#60758f;font-size:9px;font-weight:850}.permission-company-card select,.permission-role-editor select{min-height:40px;padding:0 12px;border:1px solid #d2dfef;border-radius:9px;background:#fff;color:#0b2347;font-weight:850}.permission-company-metrics,.permission-detail-grid,.permission-change-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.permission-company-metrics div,.permission-detail-grid div,.permission-change-summary div{padding:10px;border:1px solid #e4edf7;border-radius:9px;background:#f8fbff}.permission-company-metrics span,.permission-detail-grid span,.permission-change-summary span{display:block;color:#60758f;font-size:8px;font-weight:800}.permission-company-metrics strong,.permission-detail-grid strong,.permission-change-summary strong{display:block;margin-top:4px;color:#0b2347;font-size:11px}
.permission-user-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;align-items:center;margin-bottom:10px}.permission-user-filters input,.permission-user-filters select{min-height:38px;padding:0 10px;border:1px solid #d2dfef;border-radius:8px;background:#fff;color:#0b2347;font-weight:800}.permission-user-filters label{display:flex;align-items:center;gap:6px;color:#60758f;font-size:9px;font-weight:850}.permission-user-indicators{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.permission-user-indicators span{padding:7px 9px;border-radius:999px;background:#eef4ff;color:#415878;font-size:9px;font-weight:850}.permission-user-indicators strong{color:#4e26d9}.permission-users-table-wrap{overflow:auto;border:1px solid #e1e9f4;border-radius:10px}.permission-users-table,.permission-audit-table{width:100%;border-collapse:collapse;min-width:860px}.permission-users-table th,.permission-users-table td,.permission-audit-table th,.permission-audit-table td{padding:10px;border-bottom:1px solid #e8eef6;text-align:left;font-size:9px}.permission-users-table th,.permission-audit-table th{background:#f7faff;color:#60758f;font-weight:900}.permission-users-table button{margin-right:5px;padding:6px 8px;border:1px solid #d2dfef;border-radius:7px;background:#fff;color:#0b4ccf;font-size:8px;font-weight:850}.permission-state{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:8px;font-weight:900}.permission-state.active{background:#dff8e9;color:#087541}
.permission-empty-note{margin:10px 0 0;padding:10px;border:1px solid #d9e6f3;border-radius:9px;background:#f8fbff;color:#60758f;font-size:10px;font-weight:800}
.permission-role-editor{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}.permission-role-editor strong{display:block;color:#0b2347;font-size:12px;line-height:1.45}.permission-warning{margin:8px 0 0;padding:10px;border:1px solid #ffd28a;border-radius:9px;background:#fff7df;color:#9a5b00;font-size:10px;font-weight:850}.is-hidden{display:none!important}.permission-action-row{display:flex;flex-wrap:wrap;gap:8px}.permission-action-row.end{justify-content:flex-end;margin-top:12px}
.permission-accordion-list{display:grid;gap:10px}.permission-module-accordion{border:1px solid #dce7f4;border-radius:11px;background:#fff;overflow:hidden}.permission-module-accordion summary{display:flex;align-items:center;gap:12px;padding:13px 14px;cursor:pointer;list-style:none}.permission-module-accordion summary::-webkit-details-marker{display:none}.permission-module-accordion summary div{flex:1}.permission-module-accordion summary strong,.permission-module-accordion summary span{display:block}.permission-module-accordion summary strong{color:#0b2347;font-size:12px}.permission-module-accordion summary span{margin-top:3px;color:#60758f;font-size:9px}.permission-module-accordion summary em,.permission-module-accordion summary i,.permission-module-accordion summary b{padding:4px 8px;border-radius:999px;font-size:8px;font-style:normal;font-weight:900}.permission-module-accordion summary em{background:#eef4ff;color:#4e26d9}.permission-module-accordion summary i{background:#e9f8ef;color:#087541}.permission-module-accordion summary b,.permission-vertical-check b{background:#fff1dd;color:#a45d00}.permission-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 14px 14px}.permission-groups section{padding:10px;border-radius:9px;background:#f8fbff}.permission-groups h4{margin:0 0 8px;color:#415878;font-size:9px;text-transform:uppercase}.permission-vertical-check{display:grid;grid-template-columns:18px 1fr auto;gap:6px;align-items:center;padding:7px 0;border-top:1px solid #e8eef6;color:#0b2347;font-size:9px;font-weight:850}.permission-vertical-check input{width:14px;height:14px;accent-color:#5b33dc}.permission-vertical-check small{grid-column:2;color:#7a8ca5;font-size:8px;font-weight:700}.permission-vertical-check b{padding:3px 6px;border-radius:999px;font-size:7px}
.permission-reason{display:grid;gap:6px;margin-top:12px;color:#9a5b00;font-size:9px;font-weight:900}.permission-reason textarea{min-height:70px;padding:10px;border:1px solid #ffd28a;border-radius:9px;background:#fffaf0;color:#0b2347}.permission-vertical-side{display:grid;gap:12px;align-content:start}.permission-alert{padding:9px;border-bottom:1px solid #e8eef6;color:#7a4a00;font-size:9px;font-weight:800}.permission-vertical-side .permission-quick-link{display:block;width:100%;margin-top:7px}
@media(max-width:1180px){.permission-vertical-shell{grid-template-columns:1fr}.permission-vertical-side{grid-template-columns:repeat(3,1fr)}.permission-groups{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.permission-vertical-shell{padding:0 12px 12px}.permission-card-head,.permission-role-editor{grid-template-columns:1fr;display:grid}.permission-user-filters{grid-template-columns:1fr}.permission-vertical-side,.permission-groups{grid-template-columns:1fr}.permission-action-row.end .primary-button,.permission-action-row.end .secondary-button{width:100%}}
.whatsapp-tabs{margin-bottom:14px}
.whatsapp-panel{min-height:260px}
.whatsapp-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.whatsapp-config-grid article{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.whatsapp-config-grid h3{margin:0 0 12px;font:800 13px var(--font-display);color:var(--navy)}
.whatsapp-config-grid p{margin:0 0 8px;color:var(--muted);font-size:10px;line-height:1.5}
.whatsapp-panel .panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.whatsapp-panel .panel-header h3,.whatsapp-panel .panel-header p{margin:0}
.whatsapp-panel .panel-header p{margin-top:4px;color:var(--muted);font-size:10px}
.whatsapp-panel .fiscal-table td button{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-weight:800;cursor:pointer}
.whatsapp-panel .fiscal-table td button:hover{border-color:var(--green);color:var(--green)}
.private-data-card { grid-column: 1 / -1; }.private-data-card p { margin: -5px 0 16px; color: var(--muted); font-size: 10px; line-height: 1.55; }.private-data-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.receipt-list { padding: 0 16px; }
.receipt-row { display: grid; grid-template-columns: 1fr 1fr 1fr auto; align-items: center; gap: 20px; padding: 14px 2px; border-bottom: 1px solid var(--line); }
.receipt-row:last-child { border: 0; }
.receipt-row strong, .receipt-row span { display: block; }.receipt-row strong { font-size: 11px; }.receipt-row span, .result-count { color: var(--muted); font-size: 9px; }
.receipt-number { color: var(--green) !important; font-weight: 700; }
.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(13,25,20,.58); backdrop-filter: blur(4px); }
.modal-backdrop.open { display: flex; animation: fade .18s ease; }
#userAccessAdminModal:target { display: flex; animation: fade .18s ease; }
.modal { width: min(610px, 100%); max-height: 93vh; overflow-y: auto; padding: 24px; border-radius: 16px; background: white; box-shadow: 0 25px 70px rgba(0,0,0,.25); }
.modal-header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 22px; }.modal-header h2 { margin: 7px 0 0; font: 700 22px var(--font-display); }
.modal-close { border: 0; color: var(--muted); background: none; font-size: 25px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-grid label { display: grid; gap: 6px; color: #45574e; font-size: 10px; font-weight: 700; }.form-grid label.full { grid-column: 1 / -1; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; padding: 10px 11px; border: 1px solid #dce2de; border-radius: 8px; outline: 0; color: var(--ink); background: white; font-size: 11px; }.form-grid textarea { resize: vertical; line-height: 1.55; }.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(29,107,79,.08); }
.modal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--line); }
.receipt-modal { width: min(720px, 100%); }
.email-modal { width: min(560px, 100%); }
.demo-notice { display: flex; align-items: center; gap: 11px; margin: -5px 0 18px; padding: 12px 14px; border: 1px solid #d7e7df; border-radius: 9px; background: #f1f8f4; }
.demo-notice > span { flex: 0 0 auto; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--green); font-size: 11px; font-weight: 800; }
.demo-notice p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.4; }.demo-notice strong { display: block; color: var(--ink); font-size: 10px; }
.attachment-card { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 11px; margin-top: 15px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 9px; background: #fafbfa; }
.attachment-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 7px; color: #a9483a; background: #f7e5e1; font-size: 8px; font-weight: 800; }
.attachment-card strong, .attachment-card small { display: block; }.attachment-card strong { font-size: 10px; }.attachment-card small { margin-top: 3px; color: var(--muted); font-size: 8px; }.attachment-check { color: var(--green); font-weight: 800; }
.email-status { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; color: var(--green) !important; font-size: 8px !important; font-weight: 700; }
.receipt-paper { padding: 34px; border: 1px solid var(--line); background: white; }
.receipt-head { display: flex; justify-content: space-between; padding-bottom: 20px; border-bottom: 2px solid var(--ink); }
.receipt-brand { display: flex; gap: 10px; align-items: center; }.receipt-brand .brand-mark { margin: 0; }.receipt-brand h3, .receipt-brand p { margin: 0; }.receipt-brand h3 { font: 700 14px var(--font-display); }.receipt-brand p { color: var(--muted); font-size: 8px; }
.receipt-title { text-align: right; }.receipt-title h2 { margin: 0; font: 800 17px var(--font-display); text-transform: uppercase; }.receipt-title p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.receipt-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 30px; padding: 20px 0; }.receipt-meta div { display: flex; justify-content: space-between; border-bottom: 1px dotted #d3dbd6; padding-bottom: 5px; font-size: 9px; }.receipt-meta span { color: var(--muted); }
.receipt-table { width: 100%; margin: 5px 0 20px; }.receipt-table th { padding: 8px; }.receipt-table td { padding: 9px 8px; font-size: 10px; }
.receipt-total { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; color: white; background: var(--green); }.receipt-total span { font-size: 10px; }.receipt-total strong { font: 800 18px var(--font-display); }
.receipt-footer { display: flex; justify-content: space-between; margin-top: 45px; color: var(--muted); font-size: 8px; }.signature { width: 180px; padding-top: 6px; border-top: 1px solid var(--ink); text-align: center; }
.toast { position: fixed; z-index: 200; right: 25px; bottom: 25px; display: flex; align-items: center; gap: 11px; padding: 13px 17px; border: 1px solid #d6e7de; border-radius: 11px; background: white; box-shadow: var(--shadow); transform: translateY(100px); opacity: 0; transition: .25s; }
.toast.show { transform: translateY(0); opacity: 1; }.toast > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: var(--green-light); font-weight: 800; }.toast p { margin: 0; }.toast strong, .toast small { display: block; }.toast strong { font-size: 11px; }.toast small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.auth-screen { position: fixed; inset: 0; z-index: 500; display: none; align-items: center; justify-content: center; padding: 20px; background: radial-gradient(circle at 70% 20%,rgba(24,183,181,.16),transparent 35%),linear-gradient(135deg,#092c42,#103b55); }.auth-screen.open { display: flex; }.auth-locked .app-shell { visibility: hidden; }.auth-card { width: min(430px,100%); padding: 34px; border-radius: 18px; background: white; box-shadow: 0 30px 90px rgba(0,0,0,.3); }.auth-logo { width: 280px; height: auto; max-width: 100%; object-fit: contain; object-position: left center; }.auth-card h1 { margin: 8px 0 5px; font: 800 25px var(--font-display); }.auth-copy { margin: 0 0 22px; color: var(--muted); font-size: 11px; }.auth-card form { display: grid; gap: 13px; }.auth-card label { display: grid; gap: 6px; color: #455b67; font-size: 10px; font-weight: 700; }.auth-card input { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; outline: 0; }.auth-card input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(24,183,181,.1); }.auth-submit { width: 100%; margin-top: 5px; }.auth-message { min-height: 16px; margin: 13px 0 0; color: var(--muted); font-size: 9px; text-align: center; }.auth-message[data-type="error"] { color: #b34f42; }.auth-message[data-type="success"] { color: #087f83; }.auth-locked { overflow: hidden; }
.session-popover { position: fixed; z-index: 40; right: 28px; bottom: 18px; display: none; align-items: center; gap: 8px; color: var(--muted); font-size: 8px; }.session-popover:has(#signedInEmail:not(:empty)) { display: flex; }.session-popover button { border: 0; color: var(--green); background: transparent; font-size: 8px; font-weight: 700; }

@media (max-width: 1050px) {
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .status-banner { grid-template-columns: 90px 1.4fr 1fr; }.status-banner .dark-button { grid-column: 2 / 4; justify-self: start; }.status-illustration { grid-row: span 2; }
  .hr-summary { grid-template-columns: repeat(2,1fr); }.hr-layout { grid-template-columns: 1fr; }
  .fiscal-summary{grid-template-columns:repeat(2,1fr)}
  .medical-summary{grid-template-columns:repeat(2,1fr)}.medical-dashboard-grid,.medical-settings-grid{grid-template-columns:1fr 1fr}
  .treasury-summary{grid-template-columns:repeat(2,1fr)}.treasury-layout{grid-template-columns:1fr}.treasury-deposit-summary{grid-template-columns:repeat(2,1fr)}
  .fiscal-search-controls{grid-template-columns:repeat(3,1fr)}.fiscal-global-search{grid-column:1/-1}.sales-book-filters{grid-template-columns:repeat(3,1fr)}
  .master-summary { grid-template-columns: repeat(2, 1fr); }
  .period-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 790px) {
  .sidebar { transform: translateX(-100%); transition: .25s; }.sidebar.open { transform: translateX(0); }
  .main-content { width: 100%; margin-left: 0; }.topbar { padding: 0 20px; }.mobile-menu { display: block; }.company-selector { margin-right: auto; margin-left: 10px; }.company-selector div, .chevron { display: none; }
  .view { padding: 25px 20px 45px; }.status-banner { grid-template-columns: 75px 1fr; }.status-progress { grid-column: 1 / 3; border: 0; padding: 0; }.status-banner .dark-button { grid-column: 1 / 3; }
  .dashboard-grid { grid-template-columns: 1fr; }.payroll-summary { grid-template-columns: repeat(2, 1fr); }.company-grid, .settings-grid, .period-grid { grid-template-columns: 1fr; }.workflow-strip { grid-template-columns: 1fr 1fr; }.workflow-strip i { display: none; }.period-bar { grid-template-columns: 1fr auto; }.period-bar button { grid-column: 1 / 3; }.hr-request-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .top-actions .primary-button { display: none; }.page-heading { align-items: flex-start; flex-direction: column; }.heading-actions { width: 100%; }.heading-actions button { flex: 1; }
  .metric-grid { grid-template-columns: 1fr; }.cost-content { grid-template-columns: 1fr; }.payroll-summary { grid-template-columns: 1fr 1fr; }
  .form-grid { grid-template-columns: 1fr; }.form-grid label.full { grid-column: auto; }.receipt-row { grid-template-columns: 1fr auto; }.receipt-row > div:nth-child(2), .receipt-row > div:nth-child(3) { display: none; }.hr-summary { grid-template-columns: 1fr 1fr; }.hr-request-row { grid-template-columns: 1fr; }.document-checklist { grid-template-columns: 1fr; }
  .fiscal-summary{grid-template-columns:1fr 1fr}.invoice-line{grid-template-columns:1fr 1fr}.invoice-line [name=line_description]{grid-column:1/-1}.fiscal-live-total{flex-direction:column;gap:7px}.payment-allocation-row{grid-template-columns:20px 1fr}.payment-allocation-amount{grid-column:2}.fiscal-search-controls,.sales-book-filters{grid-template-columns:1fr 1fr}.fiscal-global-search{grid-column:1/-1}.detail-grid{grid-template-columns:1fr}
  .medical-summary{grid-template-columns:1fr 1fr}.medical-dashboard-grid,.medical-settings-grid{grid-template-columns:1fr}.medical-toolbar{align-items:stretch;flex-direction:column}.medical-toolbar>div{flex-wrap:wrap}.medical-toolbar select{min-width:0;width:100%}
  .treasury-summary{grid-template-columns:1fr}.treasury-card dl{grid-template-columns:1fr}.treasury-deposit-summary{grid-template-columns:1fr}
}

/* Responsive fit layer */
html, body { max-width: 100%; overflow-x: hidden; }
.main-content, .view, .panel, .table-panel, .fiscal-panel, .medical-panel { min-width: 0; }
.sidebar { overflow-y: auto; scrollbar-width: thin; }
.topbar { position: sticky; top: 0; z-index: 18; gap: 14px; }
.top-actions, .heading-actions, .request-actions, .private-data-actions { flex-wrap: wrap; }
.view { padding-left: clamp(18px,3vw,42px); padding-right: clamp(18px,3vw,42px); }
.page-heading { flex-wrap: wrap; }
.page-heading > div { min-width: min(100%,320px); }
.metric-grid, .master-summary, .period-grid, .company-grid, .settings-grid, .hr-summary, .fiscal-summary, .medical-summary, .treasury-summary {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr));
}
.dashboard-grid, .hr-layout, .treasury-layout, .cost-content {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,360px),1fr));
}
.medical-dashboard-grid, .medical-settings-grid, .fiscal-card-grid, .treasury-card-grid, .fiscal-range-grid {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr));
}
.table-scroll, .fiscal-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-scroll table { min-width: 980px; }
.fiscal-table { min-width: 980px; }
.company-menu { max-width: calc(100vw - 34px); }
.modal-backdrop { align-items: center; }
.modal { width: min(94vw,610px); }
.fiscal-modal { width: min(94vw,900px); }
.reports-modal { width: min(94vw,650px); }

@media (min-width: 1500px) {
  .view { max-width: 1640px; margin: 0 auto; }
  .topbar { padding-left: clamp(42px,3vw,64px); padding-right: clamp(42px,3vw,64px); }
}

@media (max-width: 900px) {
  .sidebar { width: min(86vw,286px); box-shadow: 20px 0 60px rgba(0,0,0,.24); }
  .brand { margin-bottom: 18px; }
  .main-nav { gap: 5px; }
  .nav-item { padding: 10px 12px; }
  .topbar { height: auto; min-height: 66px; padding: 10px 16px; }
  .top-actions { justify-content: flex-end; gap: 7px; }
  .sync-indicator { order: 4; width: 100%; justify-content: flex-end; }
  .page-heading h1 { font-size: 24px; }
  .status-banner { grid-template-columns: 1fr; }
  .status-illustration { display: none; }
  .status-progress { border-left: 0; padding: 0; }
  .status-banner .dark-button { grid-column: auto; }
  .workflow-strip { grid-template-columns: 1fr 1fr; }
  .workflow-strip i { display: none; }
  .department-row, .novelty-row, .receipt-row, .fiscal-list-row { grid-template-columns: 1fr; align-items: stretch; }
  .fiscal-list-row { display: grid; }
  .employee-cards{overflow-x:visible}.employee-list-head{display:none}.employee-row{min-width:0;grid-template-columns:1fr auto}.employee-row .employee-detail{grid-column:1/-1;grid-template-columns:120px 1fr;border-top:1px solid var(--line);padding-top:8px}.employee-row .employee-detail span{display:block}.employee-row .edit-employee-card{grid-column:2;grid-row:1}
  .deduction-plan-head { display: none; }.deduction-plan-row { grid-template-columns: 1fr 1fr; }.deduction-plan-row .request-actions { grid-column: 1/-1; }
}

@media (max-width: 640px) {
  .top-actions .icon-button, .top-actions .sync-indicator { display: none; }
  .company-menu { left: -52px; width: calc(100vw - 28px); }
  .heading-actions { display: grid; grid-template-columns: 1fr; }
  .heading-actions button, .period-bar button, .modal-actions button { width: 100%; }
  .period-bar { grid-template-columns: 1fr; }
  .period-bar button { grid-column: auto; }
  .payroll-summary, .hr-summary, .fiscal-summary, .medical-summary, .treasury-summary, .purchase-summary { grid-template-columns: 1fr; }
  .form-grid, .admin-summary-grid, .copy-options-grid, .detail-grid, .receipt-meta { grid-template-columns: 1fr; }
  .form-grid label.full { grid-column: auto; }
  .modal { width: 100%; max-height: 92vh; padding: 18px; border-radius: 12px; }
  .modal-actions { flex-direction: column-reverse; }
  .report-option { grid-template-columns: 38px 1fr; }
  .report-option b { grid-column: 1 / -1; }
  .deduction-breakdown { min-width: 0; grid-template-columns: 1fr; }
  .deduction-installment-fields { grid-template-columns: 1fr; }.deduction-plan-warning { grid-column: auto; }
  .employee-toolbar,.receipt-period-toolbar { align-items: stretch; flex-direction: column; }.employee-toolbar .search-box,.employee-toolbar select,.receipt-period-toolbar select { width: 100%; min-width: 0; }.receipt-period-toolbar>div { text-align: left; }
  .deduction-plan-row { grid-template-columns: 1fr; }.deduction-plan-row .request-actions { grid-column: auto; }
  .period-card-footer { flex-wrap: wrap; }.period-action-menu>div { right: auto; left: 0; }
  .fiscal-primary-actions { justify-content: flex-start; }.fiscal-action-menu>div { position: static; margin-top: 5px; }
  .payment-allocation-row, .invoice-line { grid-template-columns: 1fr; }
}
@media print {
  body * { visibility: hidden; }
  #receiptPaper, #receiptPaper * { visibility: visible; }
  #receiptPaper { position: absolute; inset: 0; width: 100%; }
  .receipt-paper { border: 0; }
}

#treasuryReimbursementList .fiscal-list-row { padding: 13px 20px; }
.treasury-audit-list { display: grid; gap: 5px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.treasury-audit-list > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.treasury-audit-list span { color: var(--muted); font-size: 8px; }
.treasury-audit-list button { padding: 4px 7px; border: 1px solid var(--line); border-radius: 6px; color: var(--navy); background: #fff; font-size: 8px; font-weight: 700; }
.treasury-denomination-box{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fbfb}.treasury-denomination-box .panel-header{margin-bottom:10px}.treasury-denomination-box h3,.treasury-denomination-box p{margin:0}.treasury-denomination-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.treasury-denomination-grid label{display:grid;grid-template-columns:1fr 58px;gap:5px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.treasury-denomination-grid label span{grid-column:1/-1;color:var(--muted);font-size:8px}.treasury-denomination-grid input{width:100%;padding:7px;border:1px solid var(--line);border-radius:7px}.treasury-denomination-grid strong{font-size:9px;text-align:right;color:var(--navy)}.audit-difference-alert{color:#b44236!important}.treasury-audit-report{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.treasury-audit-report h3{margin:0 0 10px;font-size:13px}
.alert-center-toolbar{display:grid;grid-template-columns:1fr 150px 150px;gap:10px;margin-bottom:14px}.alert-center-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:9px}.alert-center-toolbar input,.alert-center-toolbar select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.alert-center-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.alert-center-summary article{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fbfb}.alert-center-summary span,.alert-center-summary strong{display:block}.alert-center-summary span{color:var(--muted);font-size:8px}.alert-center-summary strong{margin-top:5px;font:800 18px var(--font-display);color:var(--navy)}.alert-center-list{display:grid;gap:10px;max-height:58vh;overflow:auto;padding-right:4px}.alert-center-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-left:5px solid #8ba2ad;border-radius:10px;background:#fff}.alert-center-row.high{border-left-color:#d98452}.alert-center-row.critical{border-left-color:#b44236}.alert-center-row.medium{border-left-color:#c5a556}.alert-center-row.low{border-left-color:#18aaa8}.alert-center-row strong,.alert-center-row p,.alert-center-row small{display:block;margin:0}.alert-center-row strong{margin-top:4px;font-size:12px;color:var(--navy)}.alert-center-row p{margin-top:4px;color:#385360;font-size:10px}.alert-center-row small{margin-top:5px;color:var(--muted);font-size:8px}.alert-priority{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef5f5;color:var(--muted);font-size:8px;font-weight:800}.alert-priority.high{background:#fff4ea;color:#b95d2b}.alert-priority.critical{background:#fff0ee;color:#b44236}.alert-priority.medium{background:#fff9e8;color:#97751e}.alert-priority.low{background:#ecfbfb;color:#0f8584}@media(max-width:760px){.alert-center-toolbar,.alert-center-summary,.alert-center-row{grid-template-columns:1fr}.alert-center-row .request-actions{justify-content:flex-start}}
.alert-history{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.alert-history h3{margin:0 0 8px;font-size:13px}.alert-history div:not(.empty-state){display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eef3f4}.alert-history strong{font-size:9px;color:var(--navy)}.alert-history span{color:var(--muted);font-size:8px;text-align:right}
.alert-center-row.supplier-payment{border-color:#8fd9d8;border-left-color:#0eaaa8;background:#f2fbfb;box-shadow:0 6px 18px rgba(13,85,91,.08)}.alert-center-row.supplier-payment .alert-priority{background:#dff7f6;color:#087c7a}.alert-center-row.supplier-payment strong{color:#075d68}
.digital-file-table{display:grid}.digital-file-head,.digital-file-row{display:grid;grid-template-columns:1.4fr .8fr .7fr .7fr .7fr 1fr auto;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line)}.digital-file-head{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;background:#f8fbfb}.digital-file-row strong,.digital-file-row small{display:block}.digital-file-row strong{font-size:10px;color:var(--navy)}.digital-file-row small{margin-top:3px;color:var(--muted);font-size:8px}.digital-file-row>span{font-size:9px}@media(max-width:900px){.digital-file-head{display:none}.digital-file-row{grid-template-columns:1fr}.digital-file-row .request-actions{justify-content:flex-start}}
.tax-search-controls{grid-template-columns:minmax(300px,2fr) minmax(140px,1fr) minmax(160px,1fr) auto}.tax-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:14px}.tax-panel{min-height:360px}.tax-client-list{display:grid;gap:10px}.tax-client-card{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.tax-client-card strong,.tax-client-card small{display:block}.tax-client-card strong{font-size:12px;color:var(--navy)}.tax-client-card small{margin-top:3px;color:var(--muted);font-size:8px}.tax-client-card p{margin:10px 0;color:var(--muted);font-size:9px;line-height:1.45}.tax-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--line)}.tax-card-footer>span{font-size:9px;font-weight:800;color:#087f83}.tax-agenda-table small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.tax-report-panel{margin-top:14px}.tax-report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tax-report-grid article{padding:13px;border:1px solid var(--line);border-radius:10px;background:#f8fafa}.tax-report-grid span,.tax-report-grid strong,.tax-report-grid small{display:block}.tax-report-grid span{color:var(--muted);font-size:8px}.tax-report-grid strong{margin-top:5px;font:700 16px var(--font-display);color:var(--navy)}.tax-report-grid small{margin-top:4px;color:var(--muted);font-size:8px}@media(max-width:1100px){.tax-layout{grid-template-columns:1fr}.tax-report-grid{grid-template-columns:1fr 1fr}.tax-search-controls{grid-template-columns:1fr 1fr}.tax-search-controls .fiscal-global-search{grid-column:1/-1}}@media(max-width:640px){.tax-report-grid{grid-template-columns:1fr}}
.document-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 4px 0 8px; }
.document-type-grid button { min-height: 92px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; color: var(--navy); background: #fff; text-align: left; }
.document-type-grid button:hover { border-color: #18aaa8; background: #f4fbfb; }
.document-type-grid button:disabled { cursor: not-allowed; opacity: .45; }
.document-type-grid button.unavailable { border-style: dashed; opacity: .62; }
.document-type-grid strong,.document-type-grid span { display: block; }
.document-type-grid strong { font: 700 12px var(--font-display); }
.document-type-grid span { margin-top: 6px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.document-type-grid em { display: inline-block; margin-top: 10px; font-style: normal; font-size: 8px; font-weight: 800; letter-spacing: .02em; }
.document-type-grid .fiscal-auth-ready { color: #16805f; }
.document-type-grid .fiscal-auth-pending { color: #9a6414; }
.fiscal-document-family-grid button { display: flex; flex-direction: column; align-items: flex-start; }
.fiscal-document-family-grid button em { margin-top: auto; padding-top: 9px; }
.demedica-fiscal-composer { width: min(1100px,calc(100vw - 32px)); max-height: calc(100vh - 30px); overflow: auto; }
.demedica-fiscal-composer [hidden] { display: none !important; }
.demedica-fiscal-composer .modal-header { border-bottom: 1px solid #d4e0e5; }
.demedica-fiscal-composer .modal-header h2 { color: #0c3146; letter-spacing: .02em; }
.demedica-fiscal-composer .form-grid { align-items: start; }
.demedica-fiscal-composer label input,.demedica-fiscal-composer label select,.demedica-fiscal-composer label textarea { width: 100%; }
.demedica-fiscal-composer .fiscal-auth-ready,.demedica-fiscal-composer .fiscal-auth-pending { margin: 5px 0 0; font-size: 10px; font-weight: 800; }
.demedica-fiscal-composer .fiscal-auth-ready { color: #16805f; }
.demedica-fiscal-composer .fiscal-auth-pending { color: #9a6414; }
.demedica-fiscal-composer.is-purchase-slip { width:min(1320px,calc(100vw - 28px)); }
.purchase-slip-heading { display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 12px;margin-top:9px;padding:9px 12px;border:1px solid #cfe0e8;border-radius:10px;background:#f5fafc;max-width:520px; }
.purchase-slip-heading span,.purchase-slip-heading small { color:#647988;font-size:10px; }
.purchase-slip-heading strong { color:#0c3146;font-size:14px; }
.purchase-slip-heading small { grid-column:1/-1; }
.purchase-section-start > span { display:block;margin-bottom:4px;color:#0f7391;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em; }
.purchase-beneficiary-search small,.purchase-payment-fields small { display:block;margin-top:4px;color:#647988; }
.purchase-payment-fields { border:1px solid #bcdde0;border-radius:12px;background:#f3fbfa;padding:13px; }
.purchase-payment-fields legend { color:#0c5160;font-weight:900;padding:0 6px; }
.purchase-payment-fields p { margin:8px 0 0;color:#3d6872;font-size:11px; }
.purchase-signature-preview { display:grid;grid-template-columns:1fr 220px;gap:14px;margin:10px 0;padding:12px;border:1px dashed #9fb8c5;border-radius:12px;background:#fbfcfd; }
.purchase-signature-preview div { min-height:54px;display:flex;flex-direction:column;justify-content:center;gap:5px;border-bottom:1px solid #c9d6dc; }
.purchase-signature-preview div:last-child { border:1px solid #c9d6dc;border-radius:8px;text-align:center;align-items:center; }
.purchase-signature-preview strong { color:#0c3146; }
.purchase-signature-preview span { color:#647988;font-size:10px; }
.demedica-fiscal-composer.is-purchase-slip .demedica-fiscal-line { grid-template-columns:minmax(300px,3fr) repeat(3,minmax(105px,1fr)) 36px; }
.demedica-fiscal-composer.is-purchase-slip .fiscal-beneficiary-fields { border-color:#cfe0e8;background:#fbfdfe; }
.fiscal-beneficiary-fields { margin: 0; padding: 14px; border: 1px solid #d4e0e5; border-radius: 7px; }
.fiscal-beneficiary-fields legend { padding: 0 7px; color: #0c3146; font: 700 10px var(--font-display); }
.fiscal-reference-strip { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin: 15px 0; padding: 12px 0; border-block: 1px solid #d4e0e5; }
.fiscal-reference-strip label { font-size: 9px; }
.demedica-fiscal-lines { display: grid; gap: 7px; margin: 8px 0 15px; }
.demedica-fiscal-line { display: grid; grid-template-columns: minmax(220px,2.4fr) repeat(5,minmax(90px,1fr)) 30px; gap: 7px; align-items: end; padding: 10px; border-bottom: 1px solid #d4e0e5; background: #fbfcfd; }
.demedica-fiscal-line.withholding-line { grid-template-columns: minmax(260px,2.4fr) repeat(3,minmax(120px,1fr)) 30px; }
.demedica-fiscal-line label { font-size: 8px; }
.demedica-fiscal-line input { background: #fff; }
.remove-demedica-fiscal-line { width: 30px; height: 34px; border: 0; background: transparent; color: #8a3941; font-size: 18px; }
.demedica-composer-total { border-top: 2px solid #0f495b; background: #f5f9fa; }
.demedica-composer-total strong { color: #0c3146; font-size: 13px; }
@media (max-width: 900px) {
  .fiscal-reference-strip { grid-template-columns: 1fr 1fr; }
  .demedica-fiscal-line,.demedica-fiscal-line.withholding-line { grid-template-columns: 1fr 1fr; }
  .demedica-fiscal-line .line-description { grid-column: 1/-1; }
  .purchase-signature-preview { grid-template-columns:1fr; }
}
@media (max-width: 620px) { .document-type-grid { grid-template-columns: 1fr; } }
.purchase-inline-account{margin-top:7px}
.purchase-inline-account select,.purchase-inline-account button{width:100%;max-width:260px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:9px;font-weight:700}
.purchase-inline-account select:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px rgba(24,183,181,.12)}
.purchase-inline-account button{margin-top:5px;color:var(--navy)}
.purchase-invoices-table td:nth-child(3){min-width:250px}
.purchase-split-list{display:grid;gap:10px;margin-bottom:12px}
.purchase-split-row{display:grid;grid-template-columns:1.2fr 1fr .8fr .65fr .55fr 34px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f9fbfb}
.purchase-split-row label{display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:700}
.purchase-split-row input,.purchase-split-row select{width:100%;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:9px;font-weight:700}
.remove-purchase-split{height:34px;border:1px solid var(--line);border-radius:7px;color:#a34b42;background:#fff;font-weight:800}
.purchase-split-totals{margin-top:12px}
@media (max-width:900px){.purchase-split-row{grid-template-columns:1fr 1fr}.remove-purchase-split{width:100%}}

/* Premium supplier invoice modal */
.purchase-invoice-modal{width:min(96vw,1540px)!important;max-height:94vh!important;padding:0!important;overflow:hidden!important;border:1px solid #dbe3ee!important;border-radius:14px!important;background:#f8fafc!important;color:#10233f!important;box-shadow:0 28px 80px rgba(15,23,42,.28)!important}
.purchase-invoice-modal form{display:flex;flex-direction:column;max-height:calc(94vh - 92px)}
.purchase-modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 28px 18px;background:#fff;border-bottom:1px solid #e6edf5}
.purchase-modal-head h2{margin:0;color:#0f2445;font:800 20px var(--font-display)}
.purchase-modal-head p{margin:5px 0 0;color:#64748b;font-size:12px;font-weight:600}
.purchase-form-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:0 28px 10px;padding:14px 16px;border:1px solid #dbe5f0;border-radius:8px;background:#fff}
.purchase-form-tabs span,.purchase-form-tabs button{display:grid;grid-template-columns:30px 1fr;column-gap:9px;align-items:center;min-height:46px;color:#132747;border:0;border-bottom:3px solid transparent;background:transparent;text-align:left;cursor:pointer}
.purchase-form-tabs b{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#135de8;background:#eef5ff;font-size:14px}
.purchase-form-tabs strong{font-size:11px;font-weight:800}
.purchase-form-tabs small{color:#64748b;font-size:10px;font-weight:600}
.purchase-form-tabs .active{color:#0b57d0;border-bottom-color:#135de8}
.purchase-modal-layout{display:grid;grid-template-columns:minmax(0,1fr) 388px;gap:16px;min-height:0;padding:0 28px 0;overflow:auto}
.purchase-form-main,.purchase-form-side{display:grid;align-content:start;gap:8px}
.purchase-card,.purchase-side-card{border:1px solid #dfe7f1;border-radius:8px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.035)}
.purchase-card{padding:14px 16px}
.purchase-side-card{padding:14px 16px}
.purchase-card h3,.purchase-side-card h3{display:flex;align-items:center;gap:9px;margin:0 0 13px;color:#10233f;font-size:13px;font-weight:850}
.purchase-card h3 span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;color:#135de8;background:#eef5ff}
.purchase-card-help{margin:-7px 0 10px;color:#64748b;font-size:10px}
.purchase-grid{display:grid;gap:12px}
.doc-grid{grid-template-columns:1.25fr 1fr}
.doc-grid label:nth-child(n+3){grid-column:auto}
.amount-grid{grid-template-columns:repeat(5,1fr);align-items:end}
.payment-grid{grid-template-columns:repeat(5,1fr)}
.purchase-grid.compact{grid-template-columns:1fr 1fr;margin-top:10px}
.purchase-grid label,.textarea-only,.hidden-file-label{display:grid;gap:6px;color:#334155;font-size:10px;font-weight:750}
.purchase-grid label.wide{grid-column:span 1}
.purchase-grid em{color:#dc2626;font-style:normal}
.purchase-grid input,.purchase-grid select,.purchase-card textarea,.purchase-split-row input,.purchase-split-row select{width:100%;min-height:34px;border:1px solid #cfd9e6!important;border-radius:7px!important;background:#fff!important;color:#112747!important;font-size:12px!important;font-weight:700!important;box-shadow:inset 0 1px 1px rgba(15,23,42,.03)}
.purchase-grid input[readonly],.purchase-grid select[readonly]{background:#f8fafc!important;color:#20364f}
.purchase-card textarea{min-height:48px;padding:11px;resize:vertical}
.purchase-total-tile{display:grid;align-content:center;min-height:72px;padding:12px 16px;border-radius:8px;background:linear-gradient(135deg,#edf5ff,#f7fbff)}
.purchase-total-tile span,.side-total span{color:#135de8;font-size:10px;font-weight:850;letter-spacing:.02em}
.purchase-total-tile strong,.side-total strong{margin-top:5px;color:#10233f;font:850 24px var(--font-display)}
.purchase-order-fields{margin-top:12px}
.purchase-section-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}
.purchase-section-actions h3{margin:0}
.purchase-section-actions div{display:flex;gap:10px}
.purchase-section-actions .primary-button,.purchase-section-actions .secondary-button{min-height:34px!important;padding:7px 12px!important;font-size:11px!important}
.purchase-split-table-head{display:grid;grid-template-columns:1.2fr 1.35fr .85fr .7fr .55fr .45fr;padding:9px 12px;border:1px solid #dfe7f1;border-bottom:0;border-radius:8px 8px 0 0;background:#f8fafc;color:#64748b;font-size:10px;font-weight:800}
.purchase-split-table{gap:0!important;margin:0!important;border:1px solid #dfe7f1;border-radius:0 0 8px 8px;overflow:hidden}
.purchase-split-table .purchase-split-row{display:grid;grid-template-columns:1.2fr 1.35fr .85fr .7fr .55fr .45fr;margin:0!important;padding:8px 10px!important;border:0!important;border-bottom:1px solid #edf2f7!important;border-radius:0!important;background:#fff!important;align-items:center!important}
.purchase-split-table .purchase-split-row label{gap:0!important;color:transparent!important;font-size:0!important}
.purchase-split-table .purchase-split-row input,.purchase-split-table .purchase-split-row select{min-height:30px!important;padding:6px 8px!important;font-size:10px!important}
.purchase-split-summary{display:grid;grid-template-columns:repeat(3,max-content) auto;align-items:center;gap:28px;margin-top:0;padding:12px 14px;border:1px solid #dfe7f1;border-top:0;border-radius:0 0 8px 8px;background:#f8fafc;color:#334155;font-size:11px;font-weight:700}
.purchase-split-summary b{margin-left:8px;color:#10233f;font-size:13px}
.purchase-split-summary strong{justify-self:end;padding:5px 12px;border-radius:999px;color:#087f4d;background:#dcfce7;font-size:11px}
.purchase-split-summary strong.warning{color:#a16207;background:#fef3c7}
.purchase-payment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;padding:12px;border:1px solid #dfe7f1;border-radius:8px;background:#f8fafc}
.purchase-payment-summary span{display:grid;gap:4px;color:#64748b;font-size:10px;font-weight:750}
.purchase-payment-summary b{color:#10233f;font-size:13px}
.purchase-payment-summary strong{align-self:center;justify-self:end;padding:6px 10px;border-radius:999px;color:#087f4d;background:#dcfce7;font-size:11px}
.purchase-payment-summary strong.warning{color:#a16207;background:#fef3c7}
.purchase-payment-summary strong.error{color:#b91c1c;background:#fee2e2}
.purchase-history-box{margin-top:10px;padding:10px;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;background:#f8fafc;font-size:10px}
.purchase-payment-side-summary{margin-top:10px;border-top:1px solid #e5edf6;padding-top:8px}
.side-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.side-card-head h3{margin:0}
.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:850}
.status-badge.pending{color:#a16207;background:#fef3c7}
.status-badge.approved{color:#087f4d;background:#dcfce7}
.status-badge.rejected{color:#b91c1c;background:#fee2e2}
.invoice-summary-list{display:grid;gap:10px;margin:0;padding:0 0 12px;border-bottom:1px solid #e5edf6}
.invoice-summary-list div,.payment-state-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.invoice-summary-list dt,.payment-state-row span{color:#64748b;font-size:10px;font-weight:700}
.invoice-summary-list dd,.payment-state-row b{margin:0;color:#10233f;font-size:11px;font-weight:850}
.side-total{display:flex;align-items:end;justify-content:space-between;padding:12px 0}
.side-total strong{color:#135de8}
.due-chip{display:grid;gap:2px;padding:12px 14px;border:1px solid #f6c453;border-radius:8px;background:#fffbeb;color:#92400e;font-size:11px;font-weight:800}
.due-chip span{color:#475569;font-size:10px}
.purchase-upload-zone{display:grid;place-items:center;gap:7px;min-height:92px;padding:14px;border:1px dashed #b6c4d6;border-radius:8px;background:#fbfdff;color:#10233f;text-align:center;cursor:pointer}
.purchase-upload-zone input{display:none}
.purchase-upload-zone strong{font-size:11px}
.purchase-upload-zone small{color:#64748b;font-size:10px}
.compact-upload{min-height:45px;margin-top:10px}
.purchase-file-example{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;margin-top:12px;padding:10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}
.purchase-file-example b{display:grid;place-items:center;width:30px;height:30px;border:1px solid #fecaca;border-radius:7px;color:#dc2626;background:#fff5f5;font-size:10px}
.purchase-file-example span{font-size:11px;font-weight:850}.purchase-file-example small{display:block;margin-top:2px;color:#64748b;font-size:9px}.purchase-file-example i{color:#135de8;font-style:normal}
.purchase-attachment-list{display:grid;gap:8px;margin-top:12px}.purchase-file-item{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid #dce6ef;border-radius:9px;background:#fff}.purchase-file-item>b{display:grid;place-items:center;width:30px;height:30px;border:1px solid #fecaca;border-radius:7px;color:#dc2626;background:#fff5f5;font-size:9px}.purchase-file-item span{min-width:0}.purchase-file-item strong{display:block;overflow:hidden;color:#10233f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.purchase-file-item small{display:block;margin-top:3px;color:#64748b;font-size:9px}.purchase-file-item i{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#dcfce7;color:#087f4d;font-size:14px;font-style:normal;font-weight:900}.purchase-attachment-empty{padding:10px;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;background:#f8fafc;font-size:10px;text-align:center}
.resend-purchase-payment-receipt{min-height:30px;padding:6px 10px;border:1px solid #b8c9df;border-radius:7px;background:#f8fbff;color:#154b9b;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.resend-purchase-payment-receipt:hover{border-color:#3578dc;background:#eef5ff}.resend-purchase-payment-receipt:disabled{cursor:wait;opacity:.65}
.validation-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:#475569;font-size:11px;font-weight:700}
.validation-list li{color:#15803d}
.hidden-file-label{display:none!important}
.purchase-footer-actions{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:12px;align-items:center;margin-top:12px;padding:14px 28px;border-top:1px solid #e5edf6;background:#fff}
.purchase-footer-actions button{min-height:40px!important}
.review-button{background:linear-gradient(180deg,#175ff0,#0b47bd)!important}
.purchase-hidden-live-total{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:1100px){.purchase-modal-layout{grid-template-columns:1fr}.purchase-form-tabs{grid-template-columns:repeat(3,1fr)}.amount-grid,.payment-grid{grid-template-columns:repeat(2,1fr)}.purchase-form-side{grid-template-columns:1fr 1fr}.purchase-footer-actions{grid-template-columns:1fr}.purchase-footer-actions span{display:none}}
@media (max-width:720px){.purchase-invoice-modal{width:100%!important;max-height:92vh!important}.purchase-modal-head,.purchase-form-tabs,.purchase-modal-layout,.purchase-footer-actions{margin-left:0;margin-right:0;padding-left:16px;padding-right:16px}.purchase-form-tabs,.purchase-form-side{grid-template-columns:1fr}.doc-grid,.amount-grid,.payment-grid,.purchase-grid.compact{grid-template-columns:1fr}.purchase-split-table-head{display:none}.purchase-split-table .purchase-split-row{grid-template-columns:1fr 1fr}.purchase-split-summary{grid-template-columns:1fr;gap:8px}.purchase-section-actions{align-items:flex-start;flex-direction:column}.purchase-section-actions div{width:100%;flex-direction:column}}
.supplier-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.supplier-tabs button{padding:8px 11px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#fff;font-size:9px;font-weight:800}
.supplier-tabs button.active{border-color:var(--navy);color:#fff;background:var(--navy)}
.supplier-tab-panel{display:none}
.supplier-tab-panel.active{display:block}
.supplier-directory .purchase-report-toolbar{margin-bottom:12px}
.supplier-table td small{display:block;margin-top:4px;color:var(--muted);font-size:8px}
.fiscal-subsection-head.compact{margin:0 0 10px}

/* Reference-driven executive layout refinements */
.sidebar {
  width: 270px;
  padding: 26px 18px 22px;
  background:
    radial-gradient(circle at 80% -10%,rgba(38,118,255,.28),transparent 36%),
    linear-gradient(180deg,#082653 0%,#061f45 48%,#041a35 100%);
}

.main-content {
  width: calc(100% - 270px);
  margin-left: 270px;
  padding: 0 18px 18px;
}

.brand {
  width: 210px;
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.brand-logo {
  width: 210px;
  height: 78px;
  padding: 12px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(0,0,0,.16);
}

.nav-section-label {
  display: block;
  margin: 18px 12px 7px;
  color: rgba(255,255,255,.68);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.nav-item {
  min-height: 50px;
  padding: 11px 14px;
  border-radius: 10px;
  color: rgba(255,255,255,.82);
  font-size: 14px;
  font-weight: 700;
}

.nav-item.active {
  background: linear-gradient(135deg,#145ce6 0%,#0d3e91 100%);
  box-shadow: 0 16px 34px rgba(18,84,214,.25);
}

.nav-item:hover:not(.active) {
  background: rgba(255,255,255,.08);
}

.nav-icon {
  width: 26px;
  min-width: 26px;
  height: 26px;
  color: rgba(255,255,255,.92);
  background: transparent;
  font-size: 15px;
}

.nav-item.active .nav-icon {
  color: #fff;
  background: rgba(255,255,255,.14);
}

.nav-item.active::before {
  left: -18px;
  width: 5px;
  height: 28px;
  background: #ffc323;
}

.sidebar-bottom .help-card {
  display: none;
}

.profile {
  margin-top: 18px;
  border-radius: 10px;
}

.topbar {
  position: sticky;
  top: 0;
  height: 76px;
  margin: 0;
  padding: 0 26px;
  border: 1px solid #dbe6ee;
  border-top: 0;
  border-radius: 0 0 14px 14px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 34px rgba(7,35,64,.06);
}

.company-selector {
  min-width: 380px;
  padding: 8px 12px;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.company-selector:hover {
  background: #f6f9fb;
}

.company-logo {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  background: #f9fbfd;
}

.company-selector small {
  color: #8999a8;
  font-size: 10px;
  letter-spacing: .14em;
}

.company-selector strong {
  color: #071f49;
  font-size: 15px;
}

.top-actions {
  gap: 14px;
}

.sync-indicator {
  border: 0;
  background: transparent;
  color: #42536a;
  font-size: 12px;
}

.icon-button {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  color: #071f49;
  background: #fff;
}

.view {
  max-width: 1760px;
  padding: 34px 18px 44px;
}

.page-heading {
  margin-bottom: 22px;
}

.page-heading .eyebrow {
  color: #0aa6a6;
  font-size: 10px;
  letter-spacing: .18em;
}

.page-heading h1 {
  color: #071f49;
  font-size: 29px;
  line-height: 1.12;
}

.page-heading p {
  color: #63758c;
  font-size: 14px;
}

.heading-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.primary-button,
.dark-button {
  min-height: 42px;
  border-radius: 8px;
  background: linear-gradient(180deg,#135de8 0%,#0b3c9b 100%);
  box-shadow: 0 12px 24px rgba(19,93,232,.2);
}

.secondary-button,
.period-button {
  min-height: 42px;
  border-radius: 8px;
  color: #0b3c9b;
  background: #fff;
  box-shadow: none;
}

.metric-card,
.panel,
.master-summary article,
.fiscal-summary article,
.medical-summary article,
.treasury-summary article,
.treasury-report-grid article,
.purchase-summary article,
.hr-summary article,
.payroll-summary div,
.period-card,
.company-card,
.medical-card,
.treasury-card,
.fiscal-record-card,
.tax-client-card,
.tax-report-grid article,
.medical-dashboard-grid section,
.medical-settings-grid section,
.reports-sidebar,
.reports-quick-panel,
.report-detail-card,
.report-history {
  border: 1px solid #dbe6ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(7,35,64,.055);
}

.metric-card,
.master-summary article,
.fiscal-summary article,
.medical-summary article,
.treasury-summary article,
.purchase-summary article,
.hr-summary article {
  min-height: 112px;
  padding: 22px 24px;
}

.metric-card::before,
.master-summary article::before,
.fiscal-summary article::before,
.treasury-summary article::before,
.purchase-summary article::before,
.hr-summary article::before {
  display: none;
}

.metric-top {
  align-items: center;
}

.metric-icon {
  width: 50px;
  height: 50px;
  border-radius: 14px;
}

.metric-card p,
.master-summary span,
.fiscal-summary span,
.medical-summary span,
.treasury-summary span,
.purchase-summary span,
.hr-summary span {
  color: #64748b;
  font-size: 11px;
}

.metric-card h3,
.master-summary strong,
.fiscal-summary strong,
.medical-summary strong,
.treasury-summary strong,
.purchase-summary strong,
.hr-summary strong {
  color: #071f49;
  font-size: 23px;
  font-weight: 800;
}

.status-banner {
  min-height: 146px;
  border-radius: 14px;
  background: linear-gradient(135deg,#eefafa 0%,#fff7df 100%);
  box-shadow: 0 12px 34px rgba(7,35,64,.055);
}

.status-copy h2,
.status-copy p,
.status-progress span,
.status-progress small,
.status-progress strong {
  color: #071f49;
}

.status-copy p,
.status-progress span,
.status-progress small {
  opacity: .75;
}

.status-banner .pill {
  color: #0a7f7d;
  background: #ddf7f6;
}

.panel-header {
  padding: 19px 24px 15px;
}

.panel-header h3 {
  color: #071f49;
  font-size: 16px;
}

.panel-header p {
  color: #63758c;
  font-size: 11px;
}

.fiscal-tabs,
.medical-tabs,
.supplier-tabs {
  border: 0;
  border-bottom: 1px solid #dbe6ee;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.fiscal-tabs button,
.medical-tabs button,
.supplier-tabs button {
  border-radius: 8px;
  color: #53657c;
}

.fiscal-tabs button.active,
.medical-tabs button.active,
.supplier-tabs button.active,
.report-pill.active {
  background: #0b3c9b;
}

.fiscal-search-controls,
.sales-book-filters,
.purchase-report-toolbar,
.employee-toolbar,
.receipt-period-toolbar,
.workflow-strip,
.period-bar,
.real-estate-note {
  border-radius: 12px;
  box-shadow: none;
}

.fiscal-table th,
table th {
  height: 42px;
  color: #65758a;
  background: #f8fafc;
  font-size: 10px;
}

.fiscal-table td,
table td {
  height: 48px;
  color: #203654;
}

.request-status {
  border-radius: 999px;
  padding: 5px 10px;
}

.modal {
  border-radius: 16px;
}

@media (max-width: 900px) {
  .main-content { width: 100%; margin-left: 0; padding: 0; }
  .company-selector { min-width: 0; }
  .view { padding-left: 18px; padding-right: 18px; }
}

/* BBS Core premium SaaS skin */
:root {
  --ink: #0b2f46;
  --muted: #667985;
  --line: #dbe7ea;
  --surface: #ffffff;
  --canvas: #f3f7f8;
  --green: #12aaa8;
  --green-light: #e6f8f7;
  --gold: #d8ad45;
  --lime: #d8ad45;
  --blue: #6fbfc8;
  --coral: #d98562;
  --navy: #0b2f46;
  --teal: #12aaa8;
  --shadow: 0 18px 48px rgba(11,47,70,.1);
  --shadow-soft: 0 8px 24px rgba(11,47,70,.06);
}

body {
  background:
    linear-gradient(180deg,#f7fafb 0%,#eef5f6 100%);
  font-size: 13px;
}

.app-shell { background: transparent; }

.sidebar {
  width: 258px;
  padding: 22px 16px 18px;
  background:
    linear-gradient(180deg,#0d3d58 0%,#082a3f 58%,#062235 100%);
  box-shadow: 18px 0 48px rgba(8,34,53,.16);
}

.main-content {
  width: calc(100% - 258px);
  margin-left: 258px;
}

.brand {
  margin: 0 0 22px;
  padding: 9px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.06);
}

.brand-logo {
  width: 154px;
  height: 58px;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(0,0,0,.1);
}

.main-nav { gap: 6px; }

.nav-item {
  min-height: 44px;
  padding: 11px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: rgba(232,246,248,.72);
  font-size: 13px;
  font-weight: 700;
}

.nav-icon {
  width: 28px;
  min-width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.06);
  font-size: 12px;
  font-weight: 800;
}

.nav-item:hover,
.nav-item.active {
  border-color: rgba(255,255,255,.1);
  color: #fff;
  background: rgba(255,255,255,.11);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.nav-item.active .nav-icon {
  color: #082a3f;
  background: linear-gradient(135deg,#f3d889,#d8ad45);
}

.nav-item.active::before {
  left: -16px;
  height: 30px;
  background: linear-gradient(180deg,#f3d889,#12aaa8);
}

.nav-badge {
  border-radius: 999px;
  background: #f1c75b;
  box-shadow: 0 6px 14px rgba(216,173,69,.18);
}

.help-card {
  border-radius: 16px;
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
}

.profile {
  padding: 12px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background: rgba(3,20,33,.18);
}

.topbar {
  height: 76px;
  padding: 0 clamp(28px,3vw,56px);
  border-bottom: 1px solid rgba(15,63,89,.08);
  background: rgba(255,255,255,.86);
  box-shadow: 0 10px 30px rgba(11,47,70,.05);
  backdrop-filter: blur(18px);
}

.company-selector {
  min-width: 300px;
  padding: 8px 12px 8px 8px;
  border: 1px solid rgba(219,231,234,.9);
  border-radius: 15px;
  background: rgba(255,255,255,.82);
  box-shadow: var(--shadow-soft);
}

.company-selector:hover {
  border-color: rgba(18,170,168,.32);
  background: #fff;
}

.company-logo {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 8px 18px rgba(18,170,168,.2);
}

.company-selector strong { font-size: 14px; }
.company-selector small { color: #7d909a; font-size: 9px; letter-spacing: .12em; }

.company-menu {
  width: 350px;
  border: 1px solid rgba(219,231,234,.9);
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(11,47,70,.17);
}

.company-option {
  border-radius: 13px;
  padding: 10px;
}

.company-option:hover,
.company-option.active {
  background: #eef8f8;
}

.sync-indicator {
  padding: 8px 10px;
  border: 1px solid rgba(219,231,234,.8);
  border-radius: 999px;
  background: rgba(255,255,255,.76);
}

.icon-button {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  border-color: rgba(219,231,234,.95);
  box-shadow: var(--shadow-soft);
}

.notification-count {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  color: #fff;
  background: #c94e43;
  font-size: 9px;
  font-weight: 800;
}

.primary-button,
.dark-button {
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg,#0b2f46 0%,#0d5c72 100%);
  box-shadow: 0 13px 26px rgba(11,47,70,.22);
}

.primary-button:hover,
.dark-button:hover {
  background: linear-gradient(135deg,#0b2f46 0%,#12aaa8 100%);
  box-shadow: 0 16px 30px rgba(11,47,70,.26);
}

.secondary-button,
.period-button,
.filter-button {
  border-color: rgba(219,231,234,.95);
  border-radius: 12px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 5px 14px rgba(11,47,70,.035);
}

.view {
  padding-top: 36px;
  padding-bottom: 64px;
}

.page-heading {
  align-items: center;
  margin-bottom: 24px;
}

.page-heading .eyebrow {
  color: var(--teal);
  letter-spacing: .16em;
}

.page-heading h1 {
  color: #082a3f;
  font-size: clamp(26px,2.2vw,34px);
  letter-spacing: 0;
}

.page-heading p {
  max-width: 760px;
  color: #607782;
  font-size: 13px;
}

.status-banner {
  min-height: 172px;
  border: 1px solid rgba(205,224,227,.8);
  border-radius: 24px;
  background:
    linear-gradient(135deg,#0b2f46 0%,#0c5c70 58%,#12aaa8 100%);
  box-shadow: 0 24px 70px rgba(11,47,70,.16);
}

.status-banner::after {
  display: none;
}

.status-copy h2,
.status-copy p,
.status-progress span,
.status-progress small,
.status-progress strong {
  color: #fff;
}

.status-copy p,
.status-progress span,
.status-progress small {
  opacity: .78;
}

.status-banner .pill {
  color: #083147;
  background: #f3d889;
}

.status-progress {
  border-left-color: rgba(255,255,255,.18);
}

.progress-track {
  background: rgba(255,255,255,.18);
}

.progress-track span {
  background: linear-gradient(90deg,#f3d889,#ffffff);
}

.document-icon {
  color: #0b2f46;
  background: rgba(255,255,255,.94);
  box-shadow: 9px 9px 0 rgba(255,255,255,.12);
}

.coin {
  border-color: rgba(255,255,255,.55);
  color: #082a3f;
  background: #f3d889;
}

.metric-grid,
.master-summary,
.fiscal-summary,
.medical-summary,
.treasury-summary,
.purchase-summary,
.hr-summary,
.payroll-summary {
  gap: 16px;
}

.metric-card,
.panel,
.master-summary article,
.fiscal-summary article,
.medical-summary article,
.treasury-summary article,
.treasury-report-grid article,
.purchase-summary article,
.hr-summary article,
.payroll-summary div,
.period-card,
.company-card,
.medical-card,
.treasury-card,
.fiscal-record-card,
.tax-client-card,
.tax-report-grid article,
.medical-dashboard-grid section,
.medical-settings-grid section,
.reports-sidebar,
.reports-quick-panel,
.report-detail-card,
.report-history {
  border: 1px solid rgba(213,228,231,.86);
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow-soft);
}

.metric-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
}

.metric-card::before,
.master-summary article::before,
.fiscal-summary article::before,
.treasury-summary article::before,
.purchase-summary article::before,
.hr-summary article::before {
  content: "";
  display: block;
  width: 34px;
  height: 3px;
  margin-bottom: 13px;
  border-radius: 999px;
  background: linear-gradient(90deg,#12aaa8,#d8ad45);
}

.metric-card h3,
.master-summary strong,
.fiscal-summary strong,
.medical-summary strong,
.treasury-summary strong,
.purchase-summary strong,
.hr-summary strong,
.payroll-summary strong {
  color: #082a3f;
  letter-spacing: 0;
}

.metric-card p,
.master-summary span,
.fiscal-summary span,
.medical-summary span,
.treasury-summary span,
.purchase-summary span,
.hr-summary span,
.payroll-summary span {
  color: #6a7f89;
  letter-spacing: .02em;
}

.metric-icon {
  border-radius: 13px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}

.panel {
  overflow: hidden;
}

.panel-header {
  padding: 20px 22px 14px;
  border-bottom: 1px solid rgba(219,231,234,.65);
}

.panel-header h3 {
  color: #082a3f;
  font-size: 15px;
  letter-spacing: 0;
}

.panel-header p {
  color: #6c818c;
  font-size: 10px;
}

.dashboard-grid {
  gap: 18px;
}

.cost-content,
.activity-list,
.hr-file-list,
.hr-request-list,
.novelty-list,
.department-summary {
  padding: 18px 22px 20px;
}

.donut {
  filter: drop-shadow(0 14px 22px rgba(18,170,168,.14));
}

.legend div,
.activity-item,
.hr-file-row,
.hr-request-row,
.department-row,
.novelty-row {
  border-color: rgba(219,231,234,.72);
}

.workflow-strip,
.period-bar,
.real-estate-note,
.fiscal-search-controls,
.sales-book-filters,
.purchase-report-toolbar,
.employee-toolbar,
.receipt-period-toolbar {
  border: 1px solid rgba(213,228,231,.86);
  border-radius: 18px;
  background: rgba(255,255,255,.88);
  box-shadow: var(--shadow-soft);
}

.fiscal-search-controls,
.sales-book-filters,
.purchase-report-toolbar,
.employee-toolbar,
.receipt-period-toolbar {
  padding: 12px;
}

input,
select,
textarea,
.search-box {
  border-color: rgba(203,220,224,.95) !important;
  border-radius: 12px !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: rgba(18,170,168,.72) !important;
  box-shadow: 0 0 0 4px rgba(18,170,168,.11);
}

.fiscal-tabs,
.medical-tabs,
.supplier-tabs {
  gap: 8px;
  padding: 6px;
  border: 1px solid rgba(213,228,231,.86);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow-soft);
}

.fiscal-tabs button,
.medical-tabs button,
.supplier-tabs button {
  border-radius: 11px;
  border-color: transparent;
  background: transparent;
}

.fiscal-tabs button.active,
.medical-tabs button.active,
.supplier-tabs button.active,
.report-pill.active {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg,#0b2f46,#0d5c72);
  box-shadow: 0 10px 20px rgba(11,47,70,.16);
}

.fiscal-table,
table {
  border-collapse: separate;
  border-spacing: 0;
}

.fiscal-table th,
.fiscal-table td,
table th,
table td {
  border-bottom: 1px solid rgba(219,231,234,.76);
}

.fiscal-table th,
table th,
.digital-file-head,
.deduction-plan-head {
  color: #617782;
  background: #f7fafb;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.request-actions button,
.text-button,
.file-progress button {
  border-radius: 10px;
}

.request-actions button:hover,
.text-button:hover {
  border-color: rgba(18,170,168,.38);
  color: #0b6f73;
  background: #effafa;
}

.modal {
  border: 1px solid rgba(219,231,234,.86);
  border-radius: 22px;
  box-shadow: 0 34px 90px rgba(4,22,34,.28);
}

.modal-header {
  border-bottom: 1px solid rgba(219,231,234,.68);
}

.modal-backdrop {
  backdrop-filter: blur(8px);
}

.toast {
  border: 1px solid rgba(219,231,234,.86);
  border-radius: 16px;
  box-shadow: 0 20px 54px rgba(11,47,70,.16);
}

.report-category-card,
.report-pill,
.document-type-grid button,
.company-option,
.tax-client-card,
.treasury-card,
.fiscal-record-card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.report-category-card:hover,
.report-pill:hover,
.document-type-grid button:hover,
.tax-client-card:hover,
.treasury-card:hover,
.fiscal-record-card:hover,
.company-card:hover,
.period-card:hover,
.metric-card:hover {
  transform: translateY(-2px);
  border-color: rgba(18,170,168,.32);
  box-shadow: 0 18px 42px rgba(11,47,70,.1);
}

@media (max-width: 900px) {
  .main-content { width: 100%; margin-left: 0; }
  .sidebar { width: min(86vw,286px); }
  .company-selector { min-width: 0; }
}

/* Final reference alignment: match supplied BBS Core mockups */
body { background: #f6f9fc; }
.sidebar {
  width: 270px !important;
  padding: 26px 18px 22px !important;
  background: radial-gradient(circle at 85% 0%,rgba(35,104,245,.28),transparent 34%),linear-gradient(180deg,#082653 0%,#061f45 48%,#041a35 100%) !important;
  box-shadow: 16px 0 42px rgba(6,31,69,.16) !important;
}
.main-content { width: calc(100% - 270px) !important; margin-left: 270px !important; padding: 0 18px 18px !important; }
.brand { width: 210px !important; margin: 0 0 28px !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.brand-logo { width: 210px !important; height: 78px !important; padding: 12px !important; border-radius: 12px !important; background: #fff !important; box-shadow: 0 18px 38px rgba(0,0,0,.16) !important; }
.nav-section-label { display:block; margin:18px 12px 7px; color:rgba(255,255,255,.68); font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.nav-item { min-height:50px !important; padding:11px 14px !important; border-radius:10px !important; color:rgba(255,255,255,.82) !important; font-size:14px !important; font-weight:700 !important; }
.nav-item.active { background:linear-gradient(135deg,#145ce6 0%,#0d3e91 100%) !important; box-shadow:0 16px 34px rgba(18,84,214,.25) !important; }
.nav-item:hover:not(.active) { background:rgba(255,255,255,.08) !important; }
.nav-icon { width:26px !important; min-width:26px !important; height:26px !important; color:rgba(255,255,255,.92) !important; background:transparent !important; font-size:15px !important; }
.nav-item.active .nav-icon { color:#fff !important; background:rgba(255,255,255,.14) !important; }
.nav-item.active::before { left:-18px !important; width:5px !important; height:28px !important; background:#ffc323 !important; }
.sidebar-bottom .help-card { display:none !important; }
.topbar {
  height:76px !important;
  margin:0 !important;
  padding:0 26px !important;
  border:1px solid #dbe6ee !important;
  border-top:0 !important;
  border-radius:0 0 14px 14px !important;
  background:rgba(255,255,255,.95) !important;
  box-shadow:0 10px 34px rgba(7,35,64,.06) !important;
}
.company-selector { min-width:380px !important; padding:8px 12px !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
.company-selector:hover { background:#f6f9fb !important; }
.company-selector strong { color:#071f49 !important; font-size:15px !important; }
.company-selector small { color:#8999a8 !important; font-size:10px !important; letter-spacing:.14em !important; }
.company-logo { width:46px !important; height:46px !important; border-radius:13px !important; background:#f9fbfd !important; }
.view { max-width:1760px !important; padding:34px 18px 44px !important; }
.page-heading { margin-bottom:22px !important; }
.page-heading h1 { color:#071f49 !important; font-size:29px !important; line-height:1.12 !important; letter-spacing:0 !important; }
.page-heading p { color:#63758c !important; font-size:14px !important; }
.page-heading .eyebrow { color:#0aa6a6 !important; font-size:10px !important; letter-spacing:.18em !important; }
.heading-actions { display:flex !important; flex-wrap:wrap !important; gap:12px !important; }
.primary-button,.dark-button { min-height:42px !important; border-radius:8px !important; background:linear-gradient(180deg,#135de8 0%,#0b3c9b 100%) !important; box-shadow:0 12px 24px rgba(19,93,232,.2) !important; }
.secondary-button,.period-button { min-height:42px !important; border-radius:8px !important; color:#0b3c9b !important; background:#fff !important; box-shadow:none !important; }
.metric-card,.panel,.master-summary article,.fiscal-summary article,.medical-summary article,.treasury-summary article,.treasury-report-grid article,.purchase-summary article,.hr-summary article,.payroll-summary div,.period-card,.company-card,.medical-card,.treasury-card,.fiscal-record-card,.tax-client-card,.tax-report-grid article,.medical-dashboard-grid section,.medical-settings-grid section,.reports-sidebar,.reports-quick-panel,.report-detail-card,.report-history {
  border:1px solid #dbe6ee !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 12px 34px rgba(7,35,64,.055) !important;
}
.metric-card,.master-summary article,.fiscal-summary article,.medical-summary article,.treasury-summary article,.purchase-summary article,.hr-summary article { min-height:112px !important; padding:22px 24px !important; }
.metric-card::before,.master-summary article::before,.fiscal-summary article::before,.treasury-summary article::before,.purchase-summary article::before,.hr-summary article::before { display:none !important; }
.metric-icon { width:50px !important; height:50px !important; border-radius:14px !important; }
.metric-card p,.master-summary span,.fiscal-summary span,.medical-summary span,.treasury-summary span,.purchase-summary span,.hr-summary span { color:#64748b !important; font-size:11px !important; }
.metric-card h3,.master-summary strong,.fiscal-summary strong,.medical-summary strong,.treasury-summary strong,.purchase-summary strong,.hr-summary strong { color:#071f49 !important; font-size:23px !important; font-weight:800 !important; }
.status-banner { min-height:146px !important; border-radius:14px !important; background:linear-gradient(135deg,#eefafa 0%,#fff7df 100%) !important; box-shadow:0 12px 34px rgba(7,35,64,.055) !important; }
.status-copy h2,.status-copy p,.status-progress span,.status-progress small,.status-progress strong { color:#071f49 !important; }
.status-copy p,.status-progress span,.status-progress small { opacity:.75 !important; }
.status-banner .pill { color:#0a7f7d !important; background:#ddf7f6 !important; }
.panel-header { padding:19px 24px 15px !important; }
.panel-header h3 { color:#071f49 !important; font-size:16px !important; }
.panel-header p { color:#63758c !important; font-size:11px !important; }
.fiscal-tabs,.medical-tabs,.supplier-tabs { border:0 !important; border-bottom:1px solid #dbe6ee !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.fiscal-tabs button,.medical-tabs button,.supplier-tabs button { border-radius:8px !important; color:#53657c !important; }
.fiscal-tabs button.active,.medical-tabs button.active,.supplier-tabs button.active,.report-pill.active { background:#0b3c9b !important; }
.fiscal-search-controls,.sales-book-filters,.purchase-report-toolbar,.employee-toolbar,.receipt-period-toolbar,.workflow-strip,.period-bar,.real-estate-note { border-radius:12px !important; box-shadow:none !important; }
.fiscal-table th,table th { height:42px !important; color:#65758a !important; background:#f8fafc !important; font-size:10px !important; }
.fiscal-table td,table td { height:48px !important; color:#203654 !important; }
.request-status { border-radius:999px !important; padding:5px 10px !important; }
@media (max-width:900px) {
  .main-content { width:100% !important; margin-left:0 !important; padding:0 !important; }
  .sidebar { width:min(86vw,286px) !important; }
  .company-selector { min-width:0 !important; }
  .view { padding-left:18px !important; padding-right:18px !important; }
}

/* New BBS Core logo treatment */
.brand {
  display: block !important;
  width: 220px !important;
}
.brand-logo {
  width: 220px !important;
  height: 72px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  box-shadow: none !important;
}
.auth-logo {
  width: 280px !important;
  height: auto !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.app-version-card {
  display: grid;
  gap: 4px;
  margin: 0 0 14px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.06);
}

.app-version-card strong {
  color: #fff;
  font-size: 12px;
  font-weight: 850;
}

.app-version-card span {
  color: rgba(255,255,255,.68);
  font-size: 10px;
  font-weight: 700;
}

.app-version-card small {
  color: rgba(255,255,255,.56);
  font-size: 9px;
  line-height: 1.35;
}

/* Master dashboard redesign - reference mockup alignment */
:root {
  --bbs-navy:#071f49;
  --bbs-navy-2:#052b66;
  --bbs-blue:#135de8;
  --bbs-teal:#12aaa8;
  --bbs-gold:#f5b83d;
  --bbs-page:#f6f9fc;
  --bbs-line:#dce7ef;
}

body {
  background:
    radial-gradient(circle at 78% 0%, rgba(19,93,232,.06), transparent 32%),
    var(--bbs-page) !important;
  color: var(--bbs-navy) !important;
}

.sidebar {
  width: 286px !important;
  padding: 28px 18px 24px !important;
  background:
    radial-gradient(circle at 100% -10%, rgba(26,104,244,.34), transparent 34%),
    linear-gradient(180deg,#061c44 0%,#071f49 48%,#03152e 100%) !important;
}

.main-content {
  width: calc(100% - 286px) !important;
  margin-left: 286px !important;
  padding: 0 20px 24px !important;
}

.brand {
  width: 230px !important;
  margin-bottom: 30px !important;
}

.brand-logo {
  width: 230px !important;
  height: 72px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.nav-section-label {
  margin: 20px 14px 8px !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 11px !important;
  letter-spacing: .18em !important;
}

.nav-item {
  min-height: 52px !important;
  gap: 13px !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  color: rgba(255,255,255,.86) !important;
}

.main-nav {
  position: relative !important;
  display: grid !important;
  gap: 8px !important;
}

.sidebar-company-identity {
  margin: 0 20px 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sidebar-company-identity[hidden] {
  display: none !important;
}

.sidebar-company-identity strong,
.sidebar-company-identity span {
  display: block !important;
}

.sidebar-company-identity strong {
  color: rgba(255,255,255,.86) !important;
  font: 800 11px var(--font-display) !important;
  letter-spacing: .16em !important;
}

.sidebar-company-identity span {
  margin-top: 4px !important;
  color: rgba(255,255,255,.52) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
}

.sidebar-company-identity small {
  display: block !important;
  margin-bottom: 4px !important;
  color: rgba(178, 214, 236, .64) !important;
  font: 800 9px var(--font-display) !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.sidebar-company-identity.lamhi-menu-only {
  margin: -2px 20px 16px !important;
  padding-left: 10px !important;
  border-left: 2px solid rgba(20, 184, 166, .72) !important;
}

.sidebar-company-identity.lamhi-menu-only strong {
  color: #ffffff !important;
  font-size: 15px !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}

.sidebar-company-identity.lamhi-menu-only span {
  margin-top: 3px !important;
  color: rgba(226, 238, 248, .68) !important;
  font-size: 10px !important;
}

.sidebar {
  overflow-y: auto !important;
  overflow-x: visible !important;
}

.nav-group {
  position: relative !important;
}

.nav-group[hidden] {
  display: none !important;
}

.nav-group-trigger {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  color: rgba(255,255,255,.88) !important;
  background: rgba(255,255,255,.035) !important;
  text-align: left !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  transition: .18s ease !important;
}

.nav-group-trigger > .nav-icon {
  display: none !important;
}

.nav-group-trigger > span:not(.nav-icon):not(.nav-badge) {
  grid-column: 1;
}

.nav-group-trigger::after {
  content: ">";
  justify-self: end;
  color: rgba(255,255,255,.58);
  font-size: 18px;
  line-height: 1;
}

.nav-group-trigger .nav-badge {
  grid-column: 2;
  grid-row: 1;
  margin-left: 0 !important;
  margin-right: 18px;
}

.nav-group-trigger::after {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.nav-group-trigger .nav-badge {
  justify-self: end !important;
}

.nav-group.open > .nav-group-trigger,
.nav-group:has(.nav-item.active) > .nav-group-trigger {
  color: #fff !important;
  border-color: rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.075) !important;
  box-shadow: none !important;
}

.nav-group:hover > .nav-group-trigger {
  color: #fff !important;
  border-color: rgba(255,255,255,.06) !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: none !important;
}

.nav-group-trigger:focus {
  outline: none !important;
}

.nav-group-trigger:focus-visible {
  outline: 2px solid rgba(255,200,61,.65) !important;
  outline-offset: 2px !important;
}

.nav-submenu {
  position: fixed !important;
  z-index: 80 !important;
  left: 304px !important;
  top: var(--submenu-top, 120px) !important;
  display: none !important;
  width: 270px !important;
  max-height: min(74vh, 620px) !important;
  overflow: auto !important;
  padding: 8px !important;
  border: 1px solid rgba(208,224,236,.9) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 18px 48px rgba(3,21,46,.16) !important;
}

.nav-group:hover > .nav-submenu,
.nav-group.open > .nav-submenu {
  display: grid !important;
  gap: 6px !important;
}

.nav-submenu::before {
  content: "";
  position: absolute;
  left: -13px;
  top: 0;
  width: 14px;
  height: 100%;
}

.nav-submenu .nav-item {
  min-height: 40px !important;
  padding: 9px 10px !important;
  border-radius: 10px !important;
  color: #103b55 !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.nav-submenu .nav-item:hover {
  color: #103b55 !important;
  background: #f3f8fb !important;
  box-shadow: none !important;
}

.nav-submenu .nav-item.active {
  color: #0c4660 !important;
  background: #eaf7fa !important;
  box-shadow: inset 3px 0 0 #18b5b0 !important;
}

.nav-submenu .nav-item[data-nav-no-active="true"].active {
  color: #103b55 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.nav-submenu .nav-item.active::before {
  display: none !important;
}

.nav-submenu .nav-icon {
  width: 28px !important;
  height: 28px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 8px !important;
  color: #0f6b88 !important;
  background: #edf7fb !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

.nav-submenu .nav-item:hover .nav-icon,
.nav-submenu .nav-item.active .nav-icon {
  color: #0f6b88 !important;
  background: #e4f4f7 !important;
}

.nav-submenu .nav-item[data-nav-no-active="true"].active .nav-icon {
  color: #0f6b88 !important;
  background: #edf7fb !important;
}

.nav-submenu .nav-badge {
  margin-left: auto !important;
}

@media(max-width:900px) {
  .sidebar {
    overflow-y: auto !important;
  }
  .nav-submenu {
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    margin-top: 6px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }
  .nav-submenu::before {
    display: none !important;
  }
}

.nav-item.active {
  background: linear-gradient(135deg,#155ee8 0%,#0d3d96 100%) !important;
  box-shadow: 0 16px 38px rgba(21,94,232,.32), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.nav-badge {
  background: #ffc83d !important;
  color: #061f44 !important;
}

.topbar {
  display: grid !important;
  grid-template-columns: auto minmax(340px,1fr) auto !important;
  gap: 14px !important;
  height: 82px !important;
  padding: 0 28px !important;
  border-color: rgba(220,231,239,.9) !important;
  border-radius: 0 0 16px 16px !important;
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(10px);
}

.view-switcher,
.company-selector {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 58px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: var(--bbs-navy);
  background: transparent;
}

.view-switcher {
  min-width: 230px;
  padding: 9px 14px;
  cursor: pointer;
}

.view-switcher:hover,
.company-selector:hover {
  border-color: var(--bbs-line) !important;
  background: #f8fbfd !important;
}

.view-switcher-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  color: #52657f;
  background: #f2f6fb;
  font-weight: 900;
}

.view-switcher small,
.company-selector small {
  display: block;
  color: #8190a3 !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: 0 !important;
  text-align: left;
}

.view-switcher strong,
.company-selector strong {
  display: block;
  color: var(--bbs-navy) !important;
  font-size: 15px !important;
  font-weight: 850;
  text-align: left;
}

.company-switcher {
  min-width: 0;
}

.company-selector {
  width: 100% !important;
  min-width: 0 !important;
  padding: 8px 12px !important;
}

.top-actions {
  gap: 14px !important;
}

.sync-indicator {
  color: #56677c !important;
  font-weight: 700;
}

.topbar-profile {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 0;
  color: var(--bbs-navy);
  background: transparent;
  font-weight: 800;
}

.topbar-profile span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: #203a5f;
}

.sidebar-bottom > .app-version-card,
.sidebar-bottom > .profile {
  display: none !important;
}

.user-menu-wrap {
  position: relative;
  display: inline-flex;
}

.topbar:has(#userMenuButton[aria-expanded="true"]) {
  z-index: 90 !important;
}

.user-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 80;
  display: none;
  width: 320px;
  padding: 8px;
  overflow: visible;
  border: 1px solid #dce5ec;
  border-radius: 14px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 46px rgba(15,43,68,.16), 0 3px 10px rgba(15,43,68,.07);
  transform-origin: top right;
}

.user-menu.open {
  display: grid;
  animation: user-menu-in .16s ease-out;
}

@keyframes user-menu-in {
  from { opacity: 0; transform: translateY(-5px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.user-menu::before {
  position: absolute;
  top: -7px;
  right: 24px;
  width: 12px;
  height: 12px;
  border-top: 1px solid var(--bbs-line);
  border-left: 1px solid var(--bbs-line);
  background: #fff;
  transform: rotate(45deg);
  content: "";
}

.user-menu-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 13px;
  align-items: center;
  min-width: 0;
  padding: 12px 12px 14px;
  border-bottom: 1px solid #e8eef3;
  background: linear-gradient(135deg,#f6fafc 0%,#fff 72%);
}

.user-menu-avatar {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg,#173a62,#0b2443);
  box-shadow: 0 0 0 4px #e8f0f7;
  font-size: 14px;
  font-weight: 900;
}

.user-menu-identity { min-width: 0; }

.user-menu-identity > span {
  display: block;
  margin-bottom: 3px;
  color: #168285;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.user-menu-head strong {
  display: block;
  color: var(--bbs-navy);
  overflow: hidden;
  font-size: 13px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-menu-head small {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: #66788c;
  font-size: 10px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-menu-actions { padding: 6px 2px 2px; }

.user-menu-action {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 54px;
  padding: 7px 10px;
  border: 0;
  border-radius: 9px;
  color: var(--bbs-navy);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color .16s ease,background .16s ease;
}

.user-menu-action:hover {
  color: #087f83;
  background: #edf9f8;
}

.user-menu-action:focus-visible {
  outline: 2px solid rgba(0,165,168,.38);
  outline-offset: -2px;
}

.user-menu-action > span:nth-child(2) { min-width: 0; }

.user-menu-action strong,
.user-menu-action small { display: block; }

.user-menu-action strong { font-size: 12px; font-weight: 850; }
.user-menu-action small { margin-top: 2px; color: #718096; font-size: 10px; line-height: 1.25; }

.user-menu-action-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  color: #167f82;
  background: #e8f6f5;
}

.user-menu-action-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.user-menu-action-arrow {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .5;
}

.user-menu-action.danger {
  margin-top: 3px;
  border-top: 1px solid #edf1f4;
  border-radius: 0 0 9px 9px;
  color: #b3362d;
  background: transparent;
}

.user-menu-action.danger:hover {
  background: #fff1f0;
}

.user-menu-action.danger .user-menu-action-icon { color: #b3362d; background: #fff0ee; }

@media (prefers-reduced-motion: reduce) {
  .user-menu.open { animation: none; }
}

#companiesView {
  max-width: 1660px !important;
  padding-top: 42px !important;
}

#companiesView .page-heading {
  align-items: center !important;
  margin-bottom: 26px !important;
}

#companiesView .page-heading h1 {
  font-size: 32px !important;
}

.master-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 17px;
  border: 1px solid rgba(18,170,168,.5);
  border-radius: 8px;
  color: #0b7f82;
  background: #f0fffd;
  font-weight: 850;
  cursor: pointer;
}

.master-summary {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 22px !important;
  margin-bottom: 28px !important;
}

.master-summary article {
  position: relative;
  display: grid !important;
  grid-template-columns: 58px 1fr;
  grid-template-rows: auto auto auto;
  column-gap: 18px;
  align-items: center;
  min-height: 126px !important;
}

.master-summary article::before {
  display: grid !important;
  grid-row: 1 / 4;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 16px;
  color: var(--bbs-teal);
  background: #e8f8f4;
  font-size: 25px;
  font-weight: 900;
  content: "▦";
}

.master-summary article:nth-child(2)::before { color:#135de8; background:#eef4ff; content:"◉"; }
.master-summary article:nth-child(3)::before { color:#2e9f42; background:#edf9ef; content:"L"; }
.master-summary article:nth-child(4)::before { color:#e09b16; background:#fff6df; content:"▤"; }

.master-summary span,
.master-summary strong,
.master-summary small {
  grid-column: 2;
}

.company-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(280px,1fr)) !important;
  gap: 22px !important;
}

.master-company-card {
  position: relative;
  overflow: hidden;
  padding: 22px 22px 18px !important;
  border-left: 5px solid var(--company-color) !important;
}

.master-company-card::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg,color-mix(in srgb,var(--company-color) 8%,transparent),transparent 34%);
  content: "";
}

.master-company-card > * {
  position: relative;
  z-index: 1;
}

.company-card-head {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 14px !important;
  align-items: center !important;
  padding-bottom: 18px;
  border-bottom: 1px solid #e6edf3;
}

.company-card-head h3 {
  margin: 0;
  color: var(--bbs-navy);
  font-size: 17px;
  line-height: 1.2;
}

.company-card-head p {
  margin: 4px 0 0;
  color: #65758a;
  font-size: 12px;
}

.mini-logo,
.master-company-card .company-logo {
  width: 52px !important;
  height: 52px !important;
  border-radius: 13px !important;
}

.company-status-pill,
.priority-pill {
  justify-self: end;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.company-status-pill.authorized { color:#16833c; background:#e8f8eb; }
.company-status-pill.preparing { color:#b96500; background:#fff1d7; }
.company-status-pill.closed { color:#697586; background:#eef2f6; }
.company-status-pill.draft { color:#b96500; background:#fff1d7; }
.company-status-pill.review { color:#0f5fc9; background:#eaf2ff; }
.company-status-pill.approved { color:#0b7f82; background:#e9fbfb; }

.master-company-stats {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 0 !important;
  margin: 18px 0 !important;
  border-bottom: 1px solid #e6edf3;
}

.master-company-stats div {
  padding: 0 16px 16px;
  border-right: 1px solid #e6edf3;
}

.master-company-stats div:first-child { padding-left: 0; }
.master-company-stats div:last-child { border-right: 0; }

.company-pay-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
  color: #65758a;
  font-size: 12px;
}

.company-pay-row strong {
  color: var(--bbs-navy);
}

.master-company-footer {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 14px !important;
  align-items: center;
}

.company-quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.quick-company-link {
  border: 0;
  color: #0b55d5;
  background: transparent;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.quick-company-link:hover {
  color: var(--bbs-teal);
}

.master-bottom-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 24px;
  margin-top: 24px;
}

.master-note {
  margin-top: 24px;
}

.app-copyright-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
  width: 100%;
  margin: 34px auto 8px;
  padding: 12px 18px;
  color: #7b8ca3;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

.app-copyright-footer span:first-child {
  color: var(--bbs-navy);
}

.master-panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 24px 16px;
  border-bottom: 1px solid #e6edf3;
}

.master-panel-title h3 {
  margin: 0;
  color: var(--bbs-navy);
  font-size: 17px;
}

.master-panel-title span {
  display: inline-flex;
  margin-top: 6px;
  color: #69798e;
  font-size: 12px;
}

.master-pending-table {
  padding: 0 22px;
}

.master-pending-head,
.master-pending-row {
  display: grid;
  grid-template-columns: 1.1fr 1.3fr .9fr .7fr .7fr;
  gap: 16px;
  align-items: center;
}

.master-pending-head {
  min-height: 48px;
  color: #64748b;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.master-pending-row {
  min-height: 70px;
  border-top: 1px solid #e6edf3;
  color: #243954;
  font-size: 13px;
}

.master-company-cell {
  display: flex;
  align-items: center;
  gap: 11px;
}

.priority-pill.high {
  justify-self: start;
  color: #c4262e;
  background: #ffe8e8;
}

.master-activity-list {
  padding: 8px 24px 0;
}

.master-activity-row {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 78px;
  border-bottom: 1px solid #e6edf3;
}

.master-activity-row:last-child {
  border-bottom: 0;
}

.master-activity-row p {
  margin: 0;
}

.master-activity-row strong {
  display: block;
  color: var(--bbs-navy);
  font-size: 13px;
}

.master-activity-row small,
.master-activity-row time {
  display: block;
  color: #6c7c91;
  font-size: 12px;
}

.activity-icon.gold { color:#dc8f00; background:#fff3dc; }
.activity-icon.green { color:#15964a; background:#e8f8eb; }
.activity-icon.blue { color:#135de8; background:#eef4ff; }

.master-panel-link {
  display: block;
  width: calc(100% - 48px);
  min-height: 50px;
  margin: 12px 24px 22px;
  border: 0;
  color: #0b55d5;
  background: transparent;
  font-weight: 850;
  cursor: pointer;
}

@media (max-width: 1180px) {
  .topbar { grid-template-columns: 1fr auto !important; height: auto !important; padding: 14px 18px !important; }
  .view-switcher { display: none; }
  .master-summary { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .company-grid { grid-template-columns: 1fr !important; }
  .master-bottom-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .main-content { width: 100% !important; margin-left: 0 !important; padding: 0 !important; }
  .topbar { border-radius: 0 !important; }
  .master-summary { grid-template-columns: 1fr !important; }
  .master-pending-head { display: none; }
  .master-pending-row { grid-template-columns: 1fr; gap: 8px; padding: 16px 0; }
  .master-company-footer { grid-template-columns: 1fr; }
}

/* Individual client income, expense and estimated ISR control */
.tax-income-expense-toolbar {
  display: grid;
  grid-template-columns: minmax(220px,1fr) minmax(220px,1fr) auto;
  gap: 12px;
  padding: 0 16px 16px;
}

.tax-income-expense-toolbar label {
  display: grid;
  gap: 6px;
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
}

.tax-income-expense-toolbar select {
  min-height: 40px;
  border: 1px solid #dbe7ef;
  border-radius: 9px;
  background: #fff;
  color: var(--bbs-navy);
  padding: 0 10px;
}

.individual-tax-control-panel .tax-report-grid {
  grid-template-columns: repeat(5,minmax(0,1fr));
  padding: 0 16px 14px;
}

.tax-ledger-summary-card {
  margin: 14px 16px 16px;
  padding: 16px;
  border: 1px solid #dbe7ef;
  border-radius: 12px;
  background: #f8fbfd;
}

.tax-ledger-summary-card h3 {
  margin: 0 0 12px;
  color: var(--bbs-navy);
  font-size: 14px;
}

.tax-ledger-summary-card dl {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin: 0;
}

.tax-ledger-summary-card div {
  padding: 12px;
  border: 1px solid #e4edf2;
  border-radius: 10px;
  background: #fff;
}

.tax-ledger-summary-card dt {
  color: #64748b;
  font-size: 10px;
}

.tax-ledger-summary-card dd {
  margin: 5px 0 0;
  color: var(--bbs-navy);
  font: 800 15px var(--font-display);
}

.tax-monthly-preview-card {
  margin: 0 16px 16px;
}

.tax-monthly-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 12px;
  padding: 14px 16px;
  border: 1px solid #dbe7ef;
  border-radius: 12px;
  background: #fff;
}

.tax-monthly-head h3 {
  margin: 0;
  color: var(--bbs-navy);
  font-size: 15px;
}

.tax-monthly-head p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 11px;
}

.tax-monthly-head span {
  padding: 6px 10px;
  border-radius: 999px;
  color: #0b7f82;
  background: #e9fbfb;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.tax-monthly-warning {
  margin: 12px 0;
  padding: 11px 13px;
  border: 1px solid #ffe1a6;
  border-radius: 10px;
  color: #8a5a00;
  background: #fff8e8;
  font-size: 11px;
  font-weight: 800;
}

.annual-aux-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.sar-mapping-grid {
  display: grid;
  grid-template-columns: 1.4fr .9fr;
  gap: 12px;
}

.sar-mapping-grid label {
  display: grid;
  gap: 6px;
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
}

.sar-mapping-grid input,
.sar-mapping-grid select {
  min-height: 40px;
  border: 1px solid #dbe7ef;
  border-radius: 9px;
  padding: 0 10px;
  color: var(--bbs-navy);
  background: #fff;
}

@media (max-width:900px) {
  .annual-aux-grid,
  .sar-mapping-grid { grid-template-columns: 1fr; }
}

@media (max-width:1100px) {
  .tax-income-expense-toolbar { grid-template-columns: 1fr; }
  .tax-ledger-summary-card dl,
  .individual-tax-control-panel .tax-report-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width:640px) {
  .tax-ledger-summary-card dl,
  .individual-tax-control-panel .tax-report-grid { grid-template-columns: 1fr; }
}

/* BBS Core typography system */
body,
input,
select,
textarea,
table,
td,
dd,
small,
.panel p,
.card p,
.employee-detail,
.fiscal-table {
  font-family: var(--font-main);
}

h1,
h2,
h3,
h4,
.page-heading .eyebrow,
.nav-item,
.nav-section-label,
.nav-badge,
.primary-button,
.dark-button,
.secondary-button,
.text-button,
.metric-card h3,
.metric-card p,
.panel-header h3,
.company-card h3,
.period-card h3,
.master-panel-title h3,
.fiscal-summary strong,
.treasury-summary strong,
.treasury-report-grid strong,
.medical-summary strong,
.user-menu strong,
.profile strong,
button,
label,
th,
strong {
  font-family: var(--font-display);
}

h1,
h2,
h3,
h4 {
  letter-spacing: 0;
}

/* Login premium */
.auth-screen {
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 32px;
  background:
    radial-gradient(circle at 18% 16%, rgba(16, 139, 170, .28), transparent 34%),
    radial-gradient(circle at 82% 10%, rgba(25, 88, 210, .2), transparent 30%),
    linear-gradient(135deg, #061f32 0%, #0b3448 45%, #0b516e 100%) !important;
  overflow: auto;
}

.auth-screen.open {
  display: flex;
}

.auth-screen::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, .08), transparent 34%),
    radial-gradient(circle at 50% 100%, rgba(255, 255, 255, .08), transparent 32%);
}

.auth-card {
  position: relative;
  z-index: 1;
  width: min(520px, calc(100vw - 40px));
  padding: 44px 48px 38px;
  border: 1px solid rgba(255, 255, 255, .74);
  border-radius: 24px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 34px 90px rgba(0, 23, 45, .34), 0 12px 30px rgba(0, 35, 70, .16);
}

.auth-brand-block {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  max-width: 100%;
  margin-bottom: 22px;
  padding: 14px 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, #06111f 0%, #0b1f35 100%);
  box-shadow: 0 18px 36px rgba(1, 19, 41, .16);
}

.auth-card .auth-logo {
  display: block;
  width: min(280px, calc(100vw - 120px));
  height: auto;
  object-fit: contain;
  object-position: left center;
}

.auth-eyebrow {
  margin: 0 0 8px;
  color: #087f83;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.auth-card h1 {
  margin: 0 0 8px;
  color: #001f46;
  font: 800 32px/1.14 var(--font-display);
}

.auth-copy {
  margin: 0 0 28px;
  color: #5b7083;
  font-size: 15px;
  line-height: 1.55;
}

.auth-card form {
  display: grid;
  gap: 16px;
}

.auth-field {
  display: grid;
  gap: 8px;
  color: #2d4759;
  font-size: 13px;
  font-weight: 800;
}

.auth-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.auth-field-icon {
  position: absolute;
  left: 16px;
  width: 19px;
  height: 19px;
  fill: none;
  stroke: #7890a3;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

.auth-card .auth-input-wrap input {
  width: 100%;
  height: 50px;
  padding: 0 18px 0 48px;
  border: 1px solid #c9d8e3;
  border-radius: 14px;
  background: #fbfdff;
  color: #001f46;
  font: 700 14px var(--font-body);
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

#loginPassword {
  padding-right: 92px;
}

.auth-card .auth-input-wrap input::placeholder {
  color: #9aabbb;
  font-weight: 600;
}

.auth-card .auth-input-wrap input:focus {
  border-color: #1169e8;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(17, 105, 232, .12);
}

.auth-password-toggle {
  position: absolute;
  right: 8px;
  height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: #edf6ff;
  color: #0b4fb7;
  font: 800 12px var(--font-body);
  cursor: pointer;
}

.auth-password-toggle:hover {
  background: #dfeeff;
}

.auth-submit {
  width: 100%;
  height: 52px;
  margin-top: 8px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #1473ff 0%, #0d48c9 100%);
  box-shadow: 0 18px 36px rgba(12, 77, 196, .28);
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.auth-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 44px rgba(12, 77, 196, .34);
  filter: saturate(1.06);
}

.auth-card .text-button {
  justify-self: center;
  margin-top: 2px;
  color: #008b91;
  font-weight: 900;
}

.auth-card .text-button:hover {
  color: #006f78;
  text-decoration: underline;
}

.auth-message {
  min-height: 18px;
  margin: 16px 0 0;
  color: #5b7083;
  font-size: 12px;
  text-align: center;
}

.auth-secure-note {
  margin: 18px 0 0;
  padding-top: 18px;
  border-top: 1px solid #e3edf4;
  color: #6b7f91;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.auth-footer {
  position: fixed;
  z-index: 1;
  left: 24px;
  right: 24px;
  bottom: 18px;
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 640px) {
  .auth-screen {
    align-items: flex-start;
    padding: 22px 16px 64px;
  }

  .auth-card {
    width: 100%;
    padding: 34px 26px 30px;
    border-radius: 22px;
  }

  .auth-card .auth-logo {
    width: min(230px, calc(100vw - 100px));
  }

  .auth-card h1 {
    font-size: 27px;
  }

  .auth-copy {
    font-size: 14px;
  }
}

/* Login reference refinement */
.auth-screen {
  background:
    radial-gradient(circle at 50% 50%, rgba(24, 112, 255, .44), transparent 34%),
    radial-gradient(circle at 12% 80%, rgba(12, 95, 210, .18), transparent 28%),
    radial-gradient(circle at 86% 30%, rgba(14, 93, 202, .18), transparent 30%),
    linear-gradient(135deg, #041331 0%, #061f46 46%, #031025 100%) !important;
}

.auth-screen::before {
  background:
    linear-gradient(30deg, transparent 0 36%, rgba(91, 149, 255, .12) 36% 36.12%, transparent 36.12% 100%),
    linear-gradient(150deg, transparent 0 42%, rgba(91, 149, 255, .1) 42% 42.12%, transparent 42.12% 100%);
  opacity: .75;
}

.auth-card {
  width: min(610px, calc(100vw - 40px));
  padding: 54px 66px 42px;
  border: 1px solid rgba(222, 235, 255, .95);
  border-radius: 26px;
  text-align: center;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, .42) inset,
    0 0 74px rgba(31, 118, 255, .58),
    0 35px 100px rgba(0, 18, 55, .5);
}

.auth-brand-block {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 8px auto 26px;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.auth-logo-mark {
  width: 84px;
  height: 84px;
  object-fit: contain;
  filter: drop-shadow(0 10px 22px rgba(18, 102, 255, .22));
}

.auth-logo-text {
  color: #1267f2;
  font: 900 50px/1 var(--font-display);
  letter-spacing: 0;
  white-space: nowrap;
}

.auth-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0 auto 26px;
  padding: 9px 18px;
  border-radius: 999px;
  background: #eef5ff;
  color: #45618c;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
}

.auth-eyebrow::before {
  content: "";
  width: 17px;
  height: 17px;
  background: #1267f2;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 2 4.5 5.2v6.1c0 4.7 3 8.9 7.5 10.7 4.5-1.8 7.5-6 7.5-10.7V5.2L12 2Zm3.5 8.2-4.2 4.2-2.1-2.1 1.2-1.2.9.9 3-3 1.2 1.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 2 4.5 5.2v6.1c0 4.7 3 8.9 7.5 10.7 4.5-1.8 7.5-6 7.5-10.7V5.2L12 2Zm3.5 8.2-4.2 4.2-2.1-2.1 1.2-1.2.9.9 3-3 1.2 1.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.auth-card h1 {
  margin-bottom: 12px;
  color: #08193e;
  font-size: 38px;
}

.auth-copy {
  max-width: 390px;
  margin: 0 auto 30px;
  color: #687a99;
  font-size: 18px;
}

.auth-card form {
  max-width: 430px;
  margin: 0 auto;
  text-align: left;
}

.auth-card .auth-input-wrap input {
  height: 58px;
  border-color: #bdd1ec;
  border-radius: 15px;
  background: #fff;
  color: #102348;
  font-size: 16px;
  box-shadow: 0 8px 22px rgba(19, 69, 133, .05);
}

.auth-card .auth-input-wrap input:focus {
  border-color: #1267f2;
  box-shadow: 0 0 0 4px rgba(18, 103, 242, .13), 0 12px 24px rgba(18, 103, 242, .1);
}

.auth-field {
  color: #526680;
  font-size: 14px;
}

.auth-field-icon {
  stroke: #1267f2;
}

.auth-password-toggle {
  right: 10px;
  height: 40px;
  min-width: 74px;
  background: #eef5ff;
  color: #0d55d8;
}

.auth-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 58px;
  margin-top: 12px;
  border-radius: 13px;
  background: linear-gradient(180deg, #1d72ff 0%, #0b48cf 100%);
  box-shadow: 0 18px 34px rgba(16, 89, 224, .34);
}

.auth-submit-icon {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auth-card .text-button {
  display: block;
  margin: 18px auto 0;
  color: #1267f2;
  font-size: 15px;
  text-align: center;
}

.auth-secure-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 36px;
  padding-top: 22px;
  color: #6c7d95;
}

.auth-secure-note::before,
.auth-secure-note::after {
  content: "";
  height: 1px;
  flex: 1;
  max-width: 150px;
  background: #dce7f4;
}

@media (max-width: 640px) {
  .auth-card {
    padding: 36px 24px 30px;
  }

  .auth-logo-mark {
    width: 62px;
    height: 62px;
  }

  .auth-logo-text {
    font-size: 36px;
  }

  .auth-card h1 {
    font-size: 30px;
  }

  .auth-copy {
    font-size: 15px;
  }

  .auth-secure-note {
    flex-wrap: wrap;
  }
}

.gift-certificate-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, .9fr);
  gap: 18px;
  align-items: start;
}

.gift-preview-panel {
  position: sticky;
  top: 16px;
}

.gift-certificate-row {
  display: grid;
  grid-template-columns: 1.2fr .9fr .7fr .7fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-bottom: 1px solid var(--border);
}

.gift-certificate-row:last-child {
  border-bottom: 0;
}

.gift-certificate-row strong,
.gift-certificate-row span,
.gift-certificate-row small {
  display: block;
}

.gift-certificate-row small {
  color: var(--muted);
}

.gift-certificate-preview {
  display: grid;
  gap: 14px;
}

.gift-certificate-card {
  position: relative;
  overflow: hidden;
  min-height: 250px;
  border: 1px solid #cae1df;
  border-radius: 22px;
  background:
    radial-gradient(circle at 84% 12%, rgba(242, 139, 48, .18), transparent 28%),
    linear-gradient(135deg, #f8fffd 0%, #eaf7f5 48%, #ffffff 100%);
  color: #09314a;
  box-shadow: 0 24px 50px rgba(0, 58, 84, .12);
}

.gift-certificate-card::before {
  content: "";
  position: absolute;
  inset: -80px auto auto -90px;
  width: 210px;
  height: 210px;
  border-radius: 999px;
  background: rgba(18, 166, 164, .13);
}

.gift-certificate-front,
.gift-certificate-back {
  position: relative;
  z-index: 1;
  padding: 24px;
}

.gift-certificate-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.gift-brand {
  display: flex;
  gap: 12px;
  align-items: center;
}

.gift-brand img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(0, 71, 94, .12);
}

.gift-brand strong {
  display: block;
  color: #07304d;
  font: 800 18px/1.1 var(--font-display);
}

.gift-brand span,
.gift-certificate-card small {
  color: #5f7386;
}

.gift-amount-badge {
  display: grid;
  place-items: center;
  min-width: 112px;
  min-height: 112px;
  padding: 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gift-primary, #0c7c83), var(--gift-accent, #f28b30));
  color: #fff;
  text-align: center;
  box-shadow: 0 18px 34px rgba(12, 124, 131, .25);
}

.gift-amount-badge b {
  font-size: 22px;
}

.gift-title {
  margin: 22px 0 8px;
  color: #07304d;
  font: 900 30px/1.05 var(--font-display);
  letter-spacing: 0;
}

.gift-message {
  max-width: 430px;
  color: #496a7c;
  font-size: 15px;
}

.gift-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
  margin-top: 18px;
}

.gift-fields div {
  border-bottom: 1px solid #c8dcdd;
  padding-bottom: 6px;
}

.gift-fields span {
  display: block;
  color: #7b8e9a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gift-fields strong {
  color: #07304d;
}

.gift-code-box {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin-top: 20px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  border: 1px solid #dbe9e8;
}

.gift-code-box b {
  color: var(--gift-primary, #0c7c83);
}

.gift-back-grid {
  display: grid;
  grid-template-columns: 1fr 150px;
  gap: 18px;
}

.gift-terms {
  margin: 12px 0 0;
  padding-left: 18px;
  color: #405f70;
  font-size: 12px;
}

.gift-qr {
  display: grid;
  gap: 10px;
  justify-items: center;
  align-content: start;
}

.gift-qr-grid {
  display: grid;
  grid-template-columns: repeat(9, 8px);
  grid-auto-rows: 8px;
  gap: 2px;
  padding: 10px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #d8e7e6;
}

.gift-qr-grid span {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #dbe8e8;
}

.gift-qr-grid span.on {
  background: #07304d;
}

.gift-barcode {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 42px;
  padding: 8px;
  background: #fff;
  border: 1px solid #d8e7e6;
  border-radius: 10px;
}

.gift-barcode span {
  width: 3px;
  background: #07304d;
}

.gift-report-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.gift-report-grid article {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}

@media (max-width: 1180px) {
  .gift-certificate-layout {
    grid-template-columns: 1fr;
  }

  .gift-preview-panel {
    position: static;
  }
}

@media (max-width: 720px) {
  .gift-certificate-row {
    grid-template-columns: 1fr;
  }

  .gift-certificate-head,
  .gift-code-box,
  .gift-back-grid {
    grid-template-columns: 1fr;
    display: grid;
  }

  .gift-fields,
  .gift-report-grid {
    grid-template-columns: 1fr;
  }
}

.gift-certificate-preview {
  gap: 18px;
}

.gift-certificate-card {
  min-height: 325px;
  aspect-ratio: 2.55 / 1;
  border-radius: 26px;
  border: 1.5px solid color-mix(in srgb, var(--gift-primary, #0c6a7c) 75%, white);
  background:
    linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,248,239,.9)),
    radial-gradient(circle at 92% 18%, rgba(242,116,38,.18), transparent 22%),
    #fffaf2;
}

.gift-certificate-card::before {
  inset: 0;
  width: auto;
  height: auto;
  border-radius: inherit;
  background:
    repeating-linear-gradient(155deg, rgba(242,116,38,.18) 0 1px, transparent 1px 46px),
    repeating-linear-gradient(25deg, rgba(12,106,124,.14) 0 1px, transparent 1px 54px);
  opacity: .55;
  pointer-events: none;
}

.gift-certificate-card::after {
  content: "ENTRE DOS  ENTRE DOS  ENTRE DOS  ENTRE DOS  ENTRE DOS";
  position: absolute;
  inset: 8px;
  border-radius: 22px;
  border: 1px solid rgba(12,106,124,.7);
  color: rgba(242,116,38,.22);
  font: 900 16px/1 var(--font-display);
  letter-spacing: .08em;
  word-spacing: 20px;
  overflow: hidden;
  padding: 8px;
  pointer-events: none;
}

.gift-certificate-front,
.gift-certificate-back {
  display: grid;
  min-height: 325px;
  padding: 36px 42px;
}

.gift-card-front .gift-certificate-front {
  grid-template-columns: 210px 1fr 185px;
  grid-template-rows: 1fr auto;
  gap: 22px 34px;
  align-items: center;
}

.gift-front-brand {
  display: grid;
  align-content: center;
  min-height: 230px;
  padding-right: 28px;
  border-right: 3px solid var(--gift-primary, #0c6a7c);
}

.gift-front-brand img {
  width: 160px;
  max-height: 122px;
  object-fit: contain;
}

.gift-front-brand p {
  margin: 26px 0 0;
  color: var(--gift-primary, #0c6a7c);
  font: italic 700 24px/1.05 var(--font-body);
}

.gift-front-main {
  align-self: start;
}

.gift-title {
  margin: 0 0 10px;
  text-align: center;
  text-transform: uppercase;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: .08em;
}

.gift-title span,
.gift-title b {
  display: block;
}

.gift-title span {
  color: var(--gift-primary, #0c6a7c);
  font-size: clamp(34px, 4vw, 56px);
}

.gift-title b {
  color: var(--gift-accent, #f27426);
  font-size: clamp(30px, 3.6vw, 50px);
}

.gift-message {
  max-width: none;
  text-align: center;
  color: var(--gift-primary, #0c6a7c);
  font-size: 18px;
}

.gift-line-fields {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.gift-line-fields div {
  display: grid;
  grid-template-columns: 92px 1fr;
  align-items: end;
  gap: 8px;
}

.gift-line-fields span {
  color: var(--gift-primary, #0c6a7c);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.gift-line-fields strong {
  min-height: 24px;
  border-bottom: 2px solid rgba(12,106,124,.62);
  color: #0b2f4f;
}

.gift-amount-badge {
  width: 168px;
  height: 168px;
  min-width: 168px;
  min-height: 168px;
  align-self: center;
  border: 4px double rgba(255,255,255,.78);
  background: radial-gradient(circle at 30% 22%, #ff9a3d, var(--gift-accent, #f27426) 58%, #c77a2a);
}

.gift-amount-badge span {
  text-transform: uppercase;
  font-weight: 900;
}

.gift-amount-badge b {
  font: 800 34px/1 Georgia, "Times New Roman", serif;
}

.gift-amount-badge em {
  font-style: normal;
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
}

.gift-bottom-strip {
  grid-column: 2 / 4;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  max-width: 720px;
  margin: 8px auto 0;
  padding: 16px 28px;
  border-radius: 20px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 12px 30px rgba(0, 47, 71, .13);
}

.gift-bottom-strip div {
  border-right: 1px solid rgba(194,126,69,.42);
  padding-right: 14px;
}

.gift-bottom-strip div:last-child {
  border-right: 0;
}

.gift-bottom-strip span,
.gift-back-code span {
  display: block;
  color: var(--gift-primary, #0c6a7c);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gift-bottom-strip strong {
  color: #0b2f4f;
}

.gift-card-back .gift-certificate-back {
  grid-template-columns: 250px 1fr 260px;
  gap: 34px;
  align-items: stretch;
}

.gift-back-contact {
  display: grid;
  align-content: start;
  gap: 14px;
  margin: -36px 0 -36px -42px;
  padding: 44px 30px;
  border-radius: 24px 0 0 24px;
  background: linear-gradient(160deg, #05384b, var(--gift-primary, #0c6a7c));
  color: #fff;
}

.gift-back-contact img {
  width: 155px;
  max-height: 104px;
  object-fit: contain;
  filter: drop-shadow(0 12px 20px rgba(0,0,0,.2));
}

.gift-back-contact p {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}

.gift-back-terms h3 {
  margin: 0 0 14px;
  color: var(--gift-primary, #0c6a7c);
  font: 900 22px/1 var(--font-display);
  text-transform: uppercase;
}

.gift-back-terms h3::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  margin-top: 8px;
  background: var(--gift-accent, #f27426);
}

.gift-terms {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 18px;
  color: #243f50;
  font-size: 14px;
}

.gift-terms li::marker {
  color: var(--gift-accent, #f27426);
}

.gift-mini-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.gift-mini-tags span {
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(255,247,236,.95);
  color: var(--gift-primary, #0c6a7c);
  font-weight: 900;
  text-transform: uppercase;
}

.gift-back-code {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 10px;
  text-align: center;
}

.gift-back-code > strong {
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(242,116,38,.5);
  border-radius: 12px;
  color: #151f2b;
  font: 900 24px/1 var(--font-display);
}

.gift-qr-grid {
  grid-template-columns: repeat(9, 7px);
  grid-auto-rows: 7px;
}

.gift-barcode {
  height: 58px;
  width: 100%;
  justify-content: center;
}

.gift-signature {
  width: 190px;
  margin-top: 8px;
  padding-top: 34px;
  border-top: 2px solid var(--gift-primary, #0c6a7c);
  color: var(--gift-primary, #0c6a7c);
  text-transform: uppercase;
}

.gift-back-code p {
  margin: 6px 0 0;
  color: var(--gift-primary, #0c6a7c);
  text-transform: uppercase;
}

@media (max-width: 960px) {
  .gift-certificate-card {
    aspect-ratio: auto;
  }

  .gift-card-front .gift-certificate-front,
  .gift-card-back .gift-certificate-back {
    grid-template-columns: 1fr;
  }

  .gift-front-brand {
    min-height: auto;
    border-right: 0;
    border-bottom: 2px solid var(--gift-primary, #0c6a7c);
    padding: 0 0 18px;
  }

  .gift-bottom-strip {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .gift-back-contact {
    margin: 0;
    border-radius: 20px;
  }
}

.gift-preview-panel .gift-certificate-card,
#giftCertificatePreview .gift-certificate-card {
  width: 100%;
  min-height: 0;
  aspect-ratio: auto;
  border-radius: 18px;
}

.gift-preview-panel .gift-certificate-card::after,
#giftCertificatePreview .gift-certificate-card::after {
  content: "";
  border-radius: 15px;
  border-color: rgba(12,106,124,.45);
}

.gift-preview-panel .gift-certificate-front,
.gift-preview-panel .gift-certificate-back,
#giftCertificatePreview .gift-certificate-front,
#giftCertificatePreview .gift-certificate-back {
  min-height: 0;
  padding: 20px 22px;
}

.gift-preview-panel .gift-card-front .gift-certificate-front,
#giftCertificatePreview .gift-card-front .gift-certificate-front {
  grid-template-columns: 120px minmax(0, 1fr) 118px;
  grid-template-rows: auto auto;
  gap: 14px 18px;
}

.gift-preview-panel .gift-front-brand,
#giftCertificatePreview .gift-front-brand {
  min-height: 150px;
  padding-right: 16px;
  border-right-width: 2px;
}

.gift-preview-panel .gift-front-brand img,
#giftCertificatePreview .gift-front-brand img {
  width: 92px;
  max-height: 76px;
}

.gift-preview-panel .gift-front-brand p,
#giftCertificatePreview .gift-front-brand p {
  margin-top: 16px;
  font-size: 15px;
}

.gift-preview-panel .gift-title,
#giftCertificatePreview .gift-title {
  margin-bottom: 8px;
  letter-spacing: .04em;
}

.gift-preview-panel .gift-title span,
#giftCertificatePreview .gift-title span {
  font-size: 32px;
}

/* LAMHI / Entre Dos compact sidebar */
.sidebar-company-identity.lamhi-menu-only {
  margin: -6px 20px 14px !important;
  padding: 0 0 0 11px !important;
  border-left: 2px solid rgba(72, 218, 214, .64) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sidebar-company-identity.lamhi-menu-only strong {
  display: block !important;
  color: rgba(255,255,255,.9) !important;
  font: 800 10px/1.2 var(--font-display) !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.sidebar-company-identity.lamhi-menu-only span {
  display: block !important;
  margin-top: 3px !important;
  color: rgba(214, 232, 242, .58) !important;
  font: 600 10px/1.35 var(--font-body) !important;
}

.nav-section-label.lamhi-menu-only {
  margin: 16px 20px 7px !important;
  color: rgba(205, 230, 242, .6) !important;
  font: 800 9px/1 var(--font-display) !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.nav-section-label.lamhi-menu-only:first-of-type {
  margin-top: 8px !important;
}

.nav-section-label.lamhi-menu-only.nav-section-system {
  margin-top: 20px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

.nav-group.lamhi-menu-only > .nav-group-trigger {
  grid-template-columns: 25px minmax(0,1fr) auto 12px !important;
  min-height: 45px !important;
  padding: 9px 12px !important;
  border-radius: 13px !important;
  gap: 10px !important;
  color: rgba(241,248,252,.9) !important;
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.035) !important;
  box-shadow: none !important;
}

.nav-group.lamhi-menu-only > .nav-group-trigger > .nav-icon {
  display: grid !important;
  grid-column: 1 !important;
  place-items: center !important;
  width: 23px !important;
  min-width: 23px !important;
  height: 23px !important;
  border: 1px solid rgba(170, 213, 231, .22) !important;
  border-radius: 8px !important;
  color: transparent !important;
  background: rgba(218, 244, 248, .07) !important;
  font-size: 0 !important;
}

.nav-group.lamhi-menu-only > .nav-group-trigger > .nav-icon::before {
  content: "" !important;
  width: 10px !important;
  height: 10px !important;
  border: 1.6px solid rgba(221, 244, 255, .82) !important;
  border-radius: 3px !important;
  box-shadow: 4px 4px 0 -2px rgba(221, 244, 255, .82) !important;
}

.nav-group.lamhi-menu-only > .nav-group-trigger > span:not(.nav-icon):not(.nav-badge) {
  grid-column: 2 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.nav-group.lamhi-menu-only > .nav-group-trigger .nav-badge {
  grid-column: 3 !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
}

.nav-group.lamhi-menu-only > .nav-group-trigger::after {
  grid-column: 4 !important;
  justify-self: end !important;
  color: rgba(215,232,244,.62) !important;
  font-size: 15px !important;
}

.nav-group.lamhi-menu-only:hover > .nav-group-trigger {
  background: rgba(38, 117, 178, .2) !important;
  border-color: rgba(98, 191, 221, .18) !important;
  box-shadow: 0 12px 24px rgba(0, 41, 92, .18) !important;
}

.nav-group.lamhi-menu-only.open > .nav-group-trigger,
.nav-group.lamhi-menu-only:has(.nav-item.active) > .nav-group-trigger {
  color: #fff !important;
  background: linear-gradient(135deg,#1c65dc 0%,#104aa4 100%) !important;
  border-color: rgba(152, 207, 255, .28) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 15px 28px rgba(16, 74, 164, .24) !important;
}

.nav-group.lamhi-menu-only.open > .nav-group-trigger > .nav-icon,
.nav-group.lamhi-menu-only:has(.nav-item.active) > .nav-group-trigger > .nav-icon {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.22) !important;
}

@media(max-width:900px) {
  .nav-section-label.lamhi-menu-only {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  .nav-group.lamhi-menu-only > .nav-group-trigger {
    min-height: 44px !important;
  }
}

/* Company scoped compact sidebar */
.sidebar-company-identity:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
  margin: -6px 20px 14px !important;
  padding: 0 0 0 11px !important;
  border: 0 !important;
  border-left: 2px solid rgba(72, 218, 214, .64) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sidebar-company-identity.demedica-only {
  border-left-color: rgba(93, 206, 146, .66) !important;
}

.sidebar-company-identity.goldbrand-only {
  border-left-color: rgba(231, 188, 86, .72) !important;
}

.sidebar-company-identity:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) strong {
  display: block !important;
  color: rgba(255,255,255,.9) !important;
  font: 800 10px/1.2 var(--font-display) !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.sidebar-company-identity:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) span {
  display: block !important;
  margin-top: 3px !important;
  color: rgba(214, 232, 242, .58) !important;
  font: 600 10px/1.35 var(--font-body) !important;
}

.nav-section-label:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
  margin: 16px 20px 7px !important;
  color: rgba(205, 230, 242, .6) !important;
  font: 800 9px/1 var(--font-display) !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.nav-section-label:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[hidden],
.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[hidden],
.sidebar-company-identity:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[hidden] {
  display: none !important;
}

.nav-section-label:is(.lamhi-menu-only,.demedica-only,.goldbrand-only):first-of-type {
  margin-top: 8px !important;
}

.nav-section-label.nav-section-system:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
  margin-top: 20px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) > .nav-group-trigger {
  grid-template-columns: 25px minmax(0,1fr) auto 12px !important;
  min-height: 45px !important;
  padding: 9px 12px !important;
  border-radius: 13px !important;
  gap: 10px !important;
  color: rgba(241,248,252,.9) !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.035) !important;
  box-shadow: none !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) > .nav-group-trigger > .nav-icon {
  display: grid !important;
  grid-column: 1 !important;
  place-items: center !important;
  width: 23px !important;
  min-width: 23px !important;
  height: 23px !important;
  border: 1px solid rgba(170, 213, 231, .22) !important;
  border-radius: 8px !important;
  color: transparent !important;
  background: rgba(255,255,255,.055) !important;
  font-size: 0 !important;
  overflow: hidden !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) > .nav-group-trigger > .nav-icon::before {
  content: "" !important;
  width: 10px !important;
  height: 10px !important;
  border: 1.6px solid rgba(221, 244, 255, .82) !important;
  border-radius: 3px !important;
  box-shadow: 4px 4px 0 -2px rgba(221, 244, 255, .82) !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) > .nav-group-trigger > span:not(.nav-icon):not(.nav-badge) {
  grid-column: 2 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.nav-group.fiscal-issuance-group > .nav-group-trigger {
  min-height: 54px !important;
}

.nav-group.fiscal-issuance-group > .nav-group-trigger > span:not(.nav-icon):not(.nav-badge) {
  white-space: normal !important;
  line-height: 1.15 !important;
  text-overflow: clip !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) > .nav-group-trigger .nav-badge {
  grid-column: 3 !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) > .nav-group-trigger::after {
  grid-column: 4 !important;
  justify-self: end !important;
  color: rgba(215,232,244,.62) !important;
  font-size: 15px !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only):hover > .nav-group-trigger {
  background: rgba(38, 117, 178, .2) !important;
  border-color: rgba(98, 191, 221, .18) !important;
  box-shadow: 0 12px 24px rgba(0, 41, 92, .18) !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only):not(.open):has(.nav-item.active) > .nav-group-trigger {
  color: rgba(241,248,252,.9) !important;
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.035) !important;
  box-shadow: none !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only).open > .nav-group-trigger,
.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only):has(.nav-item.active) > .nav-group-trigger {
  color: #fff !important;
  background: linear-gradient(135deg,#1c65dc 0%,#104aa4 100%) !important;
  border-color: rgba(152, 207, 255, .28) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 15px 28px rgba(16, 74, 164, .24) !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only):not(.open):has(.nav-item.active) > .nav-group-trigger > .nav-icon {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(170, 213, 231, .22) !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only).open > .nav-group-trigger > .nav-icon,
.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only):has(.nav-item.active) > .nav-group-trigger > .nav-icon {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.22) !important;
}

.nav-section-label.company-section-title:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 12px !important;
  align-items: center !important;
  min-height: 42px !important;
  margin: 10px 16px 6px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(255,255,255,.045) !important;
  border-radius: 13px !important;
  color: rgba(231,243,250,.84) !important;
  background: rgba(255,255,255,.035) !important;
  cursor: default !important;
  outline: none !important;
}

.nav-section-label.company-section-title:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)::after {
  content: ">" !important;
  justify-self: end !important;
  color: rgba(215,232,244,.62) !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

.nav-section-label.company-section-title:is(.lamhi-menu-only,.demedica-only,.goldbrand-only):hover,
.nav-section-label.company-section-title:is(.lamhi-menu-only,.demedica-only,.goldbrand-only):focus-visible,
.nav-section-label.company-section-title:is(.lamhi-menu-only,.demedica-only,.goldbrand-only).section-hovered {
  color: #fff !important;
  background: rgba(30, 95, 172, .38) !important;
  border-color: rgba(121, 194, 236, .18) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), 0 12px 28px rgba(0, 28, 72, .18) !important;
}

.nav-section-label.company-section-title.nav-section-system:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
  margin-top: 18px !important;
  padding-top: 10px !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[data-company-section] {
  display: none !important;
  margin-left: 18px !important;
  margin-right: 16px !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[data-company-section].section-hovered {
  display: block !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[data-company-section].section-hovered > .nav-group-trigger {
  min-height: 39px !important;
  padding: 7px 10px !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.028) !important;
}

.nav-section-label:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[hidden],
.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[hidden],
.sidebar-company-identity:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[hidden] {
  display: none !important;
}

@media(max-width:900px) {
  .nav-section-label:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }

  .nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) > .nav-group-trigger {
    min-height: 44px !important;
  }
}

.gift-preview-panel .gift-title b,
#giftCertificatePreview .gift-title b {
  font-size: 28px;
}

.gift-preview-panel .gift-message,
#giftCertificatePreview .gift-message {
  font-size: 13px;
}

.gift-preview-panel .gift-line-fields,
#giftCertificatePreview .gift-line-fields {
  gap: 7px;
  margin-top: 12px;
}

.gift-preview-panel .gift-line-fields div,
#giftCertificatePreview .gift-line-fields div {
  grid-template-columns: 74px minmax(0, 1fr);
}

/* Premium company sidebar - final layer */
.sidebar {
  width: 286px !important;
  padding: 24px 16px 16px !important;
  overflow: visible !important;
  background:
    radial-gradient(circle at 18% 0%,rgba(20,91,255,.22),transparent 32%),
    linear-gradient(180deg,#0a2b5b 0%,#061b3a 54%,#03152d 100%) !important;
  box-shadow: 22px 0 55px rgba(1,13,32,.24) !important;
}

.main-content {
  width: calc(100% - 286px) !important;
  margin-left: 286px !important;
}

.brand {
  width: 224px !important;
  margin: 0 0 22px !important;
  padding: 0 4px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.brand-logo {
  width: 214px !important;
  height: 64px !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sidebar-company-identity {
  display: none !important;
}

.main-nav {
  display: grid !important;
  gap: 6px !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: visible !important;
  overflow-y: auto !important;
  padding-bottom: 14px !important;
  padding-right: 4px !important;
  scrollbar-width: thin !important;
}

.nav-section-label:is(.lamhi-menu-only,.demedica-only,.goldbrand-only),
.nav-section-label {
  display: grid !important;
  grid-template-columns: auto minmax(22px,1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 14px 20px 4px !important;
  padding: 0 !important;
  color: rgba(201,226,244,.62) !important;
  font: 800 9px/1 var(--font-display) !important;
  letter-spacing: .17em !important;
  text-transform: uppercase !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: default !important;
}

.nav-section-label:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)::after,
.nav-section-label::after {
  content: "" !important;
  height: 1px !important;
  background: linear-gradient(90deg,rgba(73,163,255,.34),transparent) !important;
}

.nav-section-label.nav-section-system:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
  margin-top: 18px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(255,255,255,.07) !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[data-company-section],
.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
  display: block !important;
  margin: 0 !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[hidden],
.nav-section-label:is(.lamhi-menu-only,.demedica-only,.goldbrand-only)[hidden],
.nav-group[hidden],
.nav-section-label[hidden] {
  display: none !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) > .nav-group-trigger,
.nav-group-trigger {
  grid-template-columns: 26px minmax(0,1fr) auto 12px !important;
  min-height: 42px !important;
  padding: 8px 12px !important;
  gap: 10px !important;
  border-radius: 13px !important;
  color: rgba(248,252,255,.9) !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.045) !important;
  box-shadow: 0 8px 18px rgba(0, 13, 38, .12) !important;
}

.nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) > .nav-group-trigger > .nav-icon,
.nav-group-trigger > .nav-icon {
  display: grid !important;
  grid-column: 1 !important;
  place-items: center !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  border-radius: 8px !important;
  color: transparent !important;
  background: rgba(73,163,255,.11) !important;
  border: 1px solid rgba(194,228,255,.20) !important;
  font-size: 0 !important;
}

.nav-group-trigger > .nav-icon::before {
  content: "" !important;
  width: 11px !important;
  height: 11px !important;
  border: 1.7px solid rgba(232,247,255,.86) !important;
  border-radius: 3px !important;
  box-shadow: 4px 4px 0 -2px rgba(232,247,255,.86) !important;
}

.nav-group-trigger > span:not(.nav-icon):not(.nav-badge) {
  grid-column: 2 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.nav-group-trigger .nav-badge {
  grid-column: 3 !important;
  justify-self: end !important;
  margin: 0 !important;
  min-width: 21px !important;
  height: 21px !important;
  padding: 3px 7px !important;
  color: #07234b !important;
  background: #ffc542 !important;
  box-shadow: 0 8px 18px rgba(255,197,66,.18) !important;
}

.nav-group-trigger::after {
  grid-column: 4 !important;
  justify-self: end !important;
  color: rgba(216,234,247,.58) !important;
  font-size: 15px !important;
}

.nav-group:hover > .nav-group-trigger {
  color: #fff !important;
  background: rgba(20,91,255,.18) !important;
  border-color: rgba(73,163,255,.20) !important;
  box-shadow: 0 12px 24px rgba(2,22,56,.22) !important;
}

.nav-group.open > .nav-group-trigger,
.nav-group:has(.nav-item.active) > .nav-group-trigger {
  color: #fff !important;
  background: linear-gradient(135deg,#145bff 0%,#1049bf 100%) !important;
  border-color: rgba(136,190,255,.30) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 15px 28px rgba(20,91,255,.24) !important;
}

.nav-group.open > .nav-group-trigger > .nav-icon,
.nav-group:has(.nav-item.active) > .nav-group-trigger > .nav-icon {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.24) !important;
}

.nav-group-trigger:focus-visible {
  outline: 2px solid rgba(73,163,255,.72) !important;
  outline-offset: 2px !important;
}

.sidebar-bottom {
  display: grid !important;
  gap: 10px !important;
  margin-top: auto !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

.sidebar-collapse-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 40px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 12px !important;
  color: rgba(239,249,255,.86) !important;
  background: rgba(255,255,255,.045) !important;
  font: 800 12px var(--font-display) !important;
  cursor: pointer !important;
}

.sidebar-collapse-button:hover {
  color: #fff !important;
  background: rgba(20,91,255,.18) !important;
  border-color: rgba(73,163,255,.22) !important;
}

body.sidebar-collapsed .sidebar {
  width: 84px !important;
  padding: 22px 12px 16px !important;
}

body.sidebar-collapsed .main-content {
  width: calc(100% - 84px) !important;
  margin-left: 84px !important;
}

body.sidebar-collapsed .brand {
  width: 48px !important;
  margin: 0 auto 18px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.sidebar-collapsed .brand-logo {
  width: 150px !important;
  height: 48px !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: left center !important;
}

body.sidebar-collapsed .nav-section-label {
  height: 1px !important;
  margin: 12px 10px 6px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: transparent !important;
}

body.sidebar-collapsed .nav-section-label::after {
  grid-column: 1 / -1 !important;
}

body.sidebar-collapsed .nav-group-trigger {
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  min-height: 46px !important;
  padding: 9px !important;
}

body.sidebar-collapsed .nav-group-trigger > span:not(.nav-icon):not(.nav-badge),
body.sidebar-collapsed .nav-group-trigger::after,
body.sidebar-collapsed .collapse-label {
  display: none !important;
}

body.sidebar-collapsed .nav-group-trigger > .nav-icon {
  grid-column: 1 !important;
}

body.sidebar-collapsed .nav-group-trigger .nav-badge {
  position: absolute !important;
  top: 5px !important;
  right: 5px !important;
  min-width: 17px !important;
  height: 17px !important;
  padding: 2px 5px !important;
  font-size: 9px !important;
}

body.sidebar-collapsed .sidebar-collapse-button {
  width: 46px !important;
  min-height: 42px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.sidebar-collapsed .nav-group-trigger:hover::before {
  content: attr(title) !important;
  position: fixed !important;
  left: 88px !important;
  z-index: 120 !important;
  width: max-content !important;
  max-width: 220px !important;
  padding: 8px 10px !important;
  border-radius: 9px !important;
  color: #fff !important;
  background: rgba(3,21,45,.96) !important;
  box-shadow: 0 16px 32px rgba(0,0,0,.22) !important;
  font: 800 12px var(--font-body) !important;
}

@media(max-width:790px) {
  body.sidebar-collapsed .sidebar,
  .sidebar {
    width: min(88vw, 318px) !important;
    transform: translateX(-105%) !important;
    transition: transform .24s ease !important;
  }

  body.sidebar-collapsed .sidebar.open,
  .sidebar.open {
    transform: translateX(0) !important;
  }

  body.sidebar-collapsed .main-content,
  .main-content {
    width: 100% !important;
    margin-left: 0 !important;
  }

  body.sidebar-collapsed .brand-logo {
    width: 214px !important;
    height: 64px !important;
  }

  body.sidebar-collapsed .nav-section-label {
    height: auto !important;
    margin: 14px 20px 4px !important;
    color: rgba(201,226,244,.62) !important;
    overflow: visible !important;
  }

  body.sidebar-collapsed .nav-group-trigger {
    grid-template-columns: 26px minmax(0,1fr) auto 12px !important;
    justify-items: stretch !important;
  }

  body.sidebar-collapsed .nav-group-trigger > span:not(.nav-icon):not(.nav-badge),
  body.sidebar-collapsed .nav-group-trigger::after,
  body.sidebar-collapsed .collapse-label {
    display: inline-flex !important;
  }
}

.main-nav > .nav-category[hidden],
.nav-category[hidden],
.nav-category[hidden] > .nav-category-trigger,
.nav-category[hidden] > .nav-category-flyout,
.nav-category .nav-group[hidden],
.nav-category .nav-group[hidden] > .nav-group-trigger {
  display: none !important;
}

.brand {
  max-width: 100% !important;
}

.brand-logo {
  max-width: 194px !important;
}

body.sidebar-collapsed .brand-logo {
  max-width: none !important;
}

/* Sidebar spacing correction */
.main-nav {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  gap: 9px !important;
  padding-bottom: 10px !important;
}

.nav-category:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
  flex: 0 0 auto !important;
}

.nav-category + .nav-category {
  margin-top: 0 !important;
}

.nav-category-system {
  margin-top: 8px !important;
  padding-top: 10px !important;
}

.nav-category-trigger {
  min-height: 52px !important;
  padding: 9px 12px !important;
  border-radius: 14px !important;
  gap: 10px !important;
}

.nav-category-icon {
  width: 28px !important;
  height: 28px !important;
  border-radius: 10px !important;
}

.nav-category-icon::before {
  width: 13px !important;
  height: 13px !important;
}

.nav-category-title {
  font-size: 13px !important;
}

.nav-category-badge {
  min-width: 21px !important;
  height: 21px !important;
  padding: 3px 7px !important;
  font-size: 10px !important;
}

.nav-category-arrow {
  font-size: 17px !important;
}

.sidebar-bottom {
  margin-top: 12px !important;
}

body.sidebar-collapsed .nav-category-trigger {
  min-height: 46px !important;
  padding: 8px !important;
}

.gift-preview-panel .gift-line-fields span,
#giftCertificatePreview .gift-line-fields span {
  font-size: 11px;
}

.gift-preview-panel .gift-line-fields strong,
#giftCertificatePreview .gift-line-fields strong {
  min-height: 18px;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.gift-preview-panel .gift-amount-badge,
#giftCertificatePreview .gift-amount-badge {
  width: 104px;
  height: 104px;
  min-width: 104px;
  min-height: 104px;
}

.gift-preview-panel .gift-amount-badge b,
#giftCertificatePreview .gift-amount-badge b {
  font-size: 22px;
}

.gift-preview-panel .gift-amount-badge em,
#giftCertificatePreview .gift-amount-badge em {
  font-size: 9px;
}

.gift-preview-panel .gift-bottom-strip,
#giftCertificatePreview .gift-bottom-strip {
  grid-column: 1 / -1;
  gap: 10px;
  margin-top: 0;
  padding: 10px 14px;
  border-radius: 14px;
}

.gift-preview-panel .gift-bottom-strip span,
.gift-preview-panel .gift-back-code span,
#giftCertificatePreview .gift-bottom-strip span,
#giftCertificatePreview .gift-back-code span {
  font-size: 9px;
}

.gift-preview-panel .gift-bottom-strip strong,
#giftCertificatePreview .gift-bottom-strip strong {
  font-size: 11px;
}

.gift-preview-panel .gift-card-back .gift-certificate-back,
#giftCertificatePreview .gift-card-back .gift-certificate-back {
  grid-template-columns: 150px minmax(0, 1fr) 150px;
  gap: 18px;
}

.gift-preview-panel .gift-back-contact,
#giftCertificatePreview .gift-back-contact {
  margin: -20px 0 -20px -22px;
  padding: 24px 18px;
  border-radius: 16px 0 0 16px;
}

.gift-preview-panel .gift-back-contact img,
#giftCertificatePreview .gift-back-contact img {
  width: 90px;
  max-height: 74px;
}

.gift-preview-panel .gift-back-contact p,
#giftCertificatePreview .gift-back-contact p {
  font-size: 13px;
}

.gift-preview-panel .gift-back-terms h3,
#giftCertificatePreview .gift-back-terms h3 {
  font-size: 18px;
}

.gift-preview-panel .gift-terms,
#giftCertificatePreview .gift-terms {
  gap: 5px;
  font-size: 11px;
}

.gift-preview-panel .gift-mini-tags,
#giftCertificatePreview .gift-mini-tags {
  gap: 5px;
  margin-top: 12px;
}

.gift-preview-panel .gift-mini-tags span,
#giftCertificatePreview .gift-mini-tags span {
  padding: 5px 7px;
  font-size: 9px;
}

.gift-preview-panel .gift-back-code,
#giftCertificatePreview .gift-back-code {
  gap: 7px;
}

.gift-preview-panel .gift-back-code > strong,
#giftCertificatePreview .gift-back-code > strong {
  padding: 8px;
  font-size: 16px;
  overflow-wrap: anywhere;
}

.gift-preview-panel .gift-qr-grid,
#giftCertificatePreview .gift-qr-grid {
  grid-template-columns: repeat(9, 5px);
  grid-auto-rows: 5px;
  padding: 7px;
}

.gift-preview-panel .gift-qr-grid span,
#giftCertificatePreview .gift-qr-grid span {
  width: 5px;
  height: 5px;
}

.gift-preview-panel .gift-barcode,
#giftCertificatePreview .gift-barcode {
  height: 42px;
  padding: 6px;
}

.gift-preview-panel .gift-signature,
#giftCertificatePreview .gift-signature {
  width: 120px;
  padding-top: 22px;
  font-size: 10px;
}

@media (max-width: 720px) {
  .gift-preview-panel .gift-card-front .gift-certificate-front,
  #giftCertificatePreview .gift-card-front .gift-certificate-front,
  .gift-preview-panel .gift-card-back .gift-certificate-back,
  #giftCertificatePreview .gift-card-back .gift-certificate-back {
    grid-template-columns: 1fr;
  }

  .gift-preview-panel .gift-front-brand,
  #giftCertificatePreview .gift-front-brand {
    border-right: 0;
    border-bottom: 2px solid var(--gift-primary, #0c6a7c);
    padding-right: 0;
    padding-bottom: 12px;
  }

  .gift-preview-panel .gift-back-contact,
  #giftCertificatePreview .gift-back-contact {
    margin: 0;
    border-radius: 14px;
  }
}

/* Sidebar category flyout - compact main navigation */
.main-nav {
  overflow-x: visible !important;
}

.main-nav > .nav-section-label:is(.lamhi-menu-only,.demedica-only,.goldbrand-only),
.main-nav > .nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
  display: none !important;
}

.nav-category[hidden],
.nav-category .nav-group[hidden] {
  display: none !important;
}

.nav-category:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
}

.nav-category-system {
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

.nav-category-trigger {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) auto 14px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 66px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 16px !important;
  color: rgba(248,252,255,.94) !important;
  background: linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035)) !important;
  box-shadow: 0 14px 28px rgba(0,14,38,.16) !important;
  font: 800 14px var(--font-display) !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

.nav-category-trigger:hover,
.nav-category.open > .nav-category-trigger,
.nav-category.pinned > .nav-category-trigger,
.nav-category.active > .nav-category-trigger {
  color: #fff !important;
  background: linear-gradient(135deg,#145bff 0%,#0f4dd8 100%) !important;
  border-color: rgba(130,190,255,.38) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 18px 34px rgba(20,91,255,.30) !important;
}

.nav-category-trigger:hover {
  transform: translateX(2px) !important;
}

.nav-category-icon {
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 11px !important;
  background: rgba(73,163,255,.14) !important;
  border: 1px solid rgba(194,228,255,.22) !important;
}

.nav-category-icon::before {
  content: "" !important;
  width: 15px !important;
  height: 15px !important;
  border: 2px solid rgba(232,247,255,.92) !important;
  border-radius: 4px !important;
  box-shadow: 5px 5px 0 -3px rgba(232,247,255,.92) !important;
}

.nav-category-title {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.nav-category-badge {
  justify-self: end !important;
  min-width: 24px !important;
  height: 24px !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  color: #07234b !important;
  background: #ffc542 !important;
  box-shadow: 0 10px 20px rgba(255,197,66,.22) !important;
  font: 900 11px/1.45 var(--font-display) !important;
  text-align: center !important;
}

.nav-category-badge[hidden] {
  display: none !important;
}

.nav-category-arrow {
  justify-self: end !important;
  color: rgba(220,239,255,.62) !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

.nav-category-flyout {
  position: fixed !important;
  left: 298px !important;
  top: var(--flyout-top, 118px) !important;
  z-index: 135 !important;
  display: none !important;
  width: 278px !important;
  max-height: min(70vh,560px) !important;
  padding: 12px !important;
  overflow: auto !important;
  border: 1px solid rgba(150,201,255,.18) !important;
  border-radius: 18px !important;
  color: #fff !important;
  background: linear-gradient(180deg,rgba(5,34,72,.98),rgba(2,19,43,.98)) !important;
  box-shadow: 0 24px 48px rgba(0,15,40,.34), inset 0 1px 0 rgba(255,255,255,.06) !important;
  backdrop-filter: blur(18px) !important;
}

.nav-category-flyout::before {
  content: "" !important;
  position: absolute !important;
  left: -9px !important;
  top: 28px !important;
  width: 16px !important;
  height: 16px !important;
  transform: rotate(45deg) !important;
  border-left: 1px solid rgba(150,201,255,.18) !important;
  border-bottom: 1px solid rgba(150,201,255,.18) !important;
  background: rgba(5,34,72,.98) !important;
}

.nav-category.open > .nav-category-flyout,
.nav-category.pinned > .nav-category-flyout {
  display: grid !important;
  gap: 10px !important;
  animation: sidebarFlyoutIn .16s ease-out both !important;
}

@keyframes sidebarFlyoutIn {
  from { opacity: 0; transform: translateX(-8px) scale(.98); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

.nav-category-flyout-head {
  display: grid !important;
  gap: 3px !important;
  padding: 4px 6px 8px !important;
}

.nav-category-flyout-head strong {
  font: 900 15px/1.2 var(--font-display) !important;
  color: #fff !important;
}

.nav-category-flyout-head span {
  font: 700 10px/1.2 var(--font-body) !important;
  color: rgba(207,229,246,.62) !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
}

.nav-category-flyout-body {
  display: grid !important;
  gap: 7px !important;
}

.nav-category-flyout .nav-group:is(.lamhi-menu-only,.demedica-only,.goldbrand-only),
.nav-category-flyout .nav-group {
  display: block !important;
  margin: 0 !important;
}

.nav-category-flyout .nav-group > .nav-group-trigger {
  min-height: 42px !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(255,255,255,.06) !important;
}

.nav-category-flyout .nav-group:hover > .nav-group-trigger,
.nav-category-flyout .nav-group.open > .nav-group-trigger,
.nav-category-flyout .nav-group:has(.nav-item.active) > .nav-group-trigger {
  background: rgba(20,91,255,.26) !important;
  border-color: rgba(100,178,255,.24) !important;
}

body.sidebar-collapsed .nav-category-trigger {
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  min-height: 54px !important;
  padding: 10px !important;
}

body.sidebar-collapsed .nav-category-title,
body.sidebar-collapsed .nav-category-arrow {
  display: none !important;
}

body.sidebar-collapsed .nav-category-badge {
  position: absolute !important;
  top: 6px !important;
  right: 6px !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 2px 5px !important;
  font-size: 9px !important;
}

body.sidebar-collapsed .nav-category-flyout {
  left: 96px !important;
}

body.sidebar-collapsed .nav-category-trigger:hover::after {
  content: attr(title) !important;
  position: fixed !important;
  left: 90px !important;
  z-index: 150 !important;
  width: max-content !important;
  max-width: 220px !important;
  padding: 8px 10px !important;
  border-radius: 9px !important;
  color: #fff !important;
  background: rgba(3,21,45,.96) !important;
  box-shadow: 0 16px 32px rgba(0,0,0,.22) !important;
  font: 800 12px var(--font-body) !important;
}

@media(max-width:790px) {
  .nav-category-trigger {
    min-height: 58px !important;
  }

  body.sidebar-collapsed .nav-category-trigger {
    grid-template-columns: 34px minmax(0,1fr) auto 14px !important;
    justify-items: stretch !important;
  }

  body.sidebar-collapsed .nav-category-title,
  body.sidebar-collapsed .nav-category-arrow {
    display: inline-flex !important;
  }

  .nav-category-flyout,
  body.sidebar-collapsed .nav-category-flyout {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    max-height: none !important;
    margin: 8px 0 4px !important;
    border-radius: 16px !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
  }

  .nav-category-flyout::before {
    display: none !important;
  }
}

/* Final sidebar density pass */
.main-nav {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  gap: 8px !important;
}

.nav-category:is(.lamhi-menu-only,.demedica-only,.goldbrand-only) {
  flex: 0 0 auto !important;
}

.nav-category-system {
  margin-top: 6px !important;
  padding-top: 9px !important;
}

.nav-category-trigger {
  min-height: 50px !important;
  padding: 8px 11px !important;
  border-radius: 13px !important;
}

.nav-category-icon {
  width: 27px !important;
  height: 27px !important;
}

.nav-category-title {
  font-size: 12.5px !important;
}

.sidebar-bottom {
  margin-top: 10px !important;
}

body.sidebar-collapsed .nav-category-trigger {
  min-height: 44px !important;
  padding: 8px !important;
}

/* Flyout overflow cleanup */
.nav-category-flyout {
  overflow: visible !important;
  max-height: none !important;
}

.nav-category-flyout-body {
  max-height: min(60vh, 480px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding-right: 2px !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(140,190,230,.45) transparent !important;
}

.nav-category-flyout-body::-webkit-scrollbar {
  width: 6px !important;
  height: 0 !important;
}

.nav-category-flyout-body::-webkit-scrollbar-track {
  background: transparent !important;
}

.nav-category-flyout-body::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: rgba(140,190,230,.42) !important;
}

.nav-category-flyout .nav-group,
.nav-category-flyout .nav-group-trigger {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Keep category flyouts as a single panel, no nested floating submenu */
.nav-category-flyout .nav-submenu {
  position: static !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  display: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 6px 0 2px 38px !important;
  padding: 5px !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 12px !important;
  background: rgba(2,16,38,.42) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.nav-category-flyout .nav-group:hover > .nav-submenu {
  display: none !important;
}

.nav-category-flyout .nav-group.open > .nav-submenu,
.nav-category-flyout .nav-group:has(.nav-item.active) > .nav-submenu {
  display: grid !important;
  gap: 4px !important;
}

.nav-category-flyout .nav-submenu::before {
  display: none !important;
}

.nav-category-flyout .nav-submenu .nav-item {
  min-height: 34px !important;
  padding: 7px 8px !important;
  border-radius: 9px !important;
  color: rgba(234,247,255,.84) !important;
  background: transparent !important;
  font-size: 12px !important;
}

.nav-category-flyout .nav-submenu .nav-item:hover,
.nav-category-flyout .nav-submenu .nav-item.active {
  color: #fff !important;
  background: rgba(73,163,255,.14) !important;
}

/* Sidebar accordion categories: modules down, module options to the side */
.nav-category-flyout,
body.sidebar-collapsed .nav-category-flyout {
  position: static !important;
  left: auto !important;
  top: auto !important;
  z-index: auto !important;
  width: auto !important;
  max-height: none !important;
  margin: 6px 0 0 0 !important;
  padding: 0 0 0 38px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

.nav-category-flyout::before {
  display: none !important;
}

.nav-category.open > .nav-category-flyout,
.nav-category.pinned > .nav-category-flyout,
.nav-category.active > .nav-category-flyout {
  display: grid !important;
  gap: 6px !important;
  animation: sidebarAccordionIn .14s ease-out both !important;
}

@keyframes sidebarAccordionIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.nav-category-flyout-head {
  display: none !important;
}

.nav-category-flyout-body {
  display: grid !important;
  gap: 6px !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

.nav-category-flyout .nav-group > .nav-group-trigger {
  grid-template-columns: 24px minmax(0,1fr) auto 12px !important;
  min-height: 38px !important;
  padding: 7px 9px !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.045) !important;
  box-shadow: none !important;
}

.nav-category-flyout .nav-group > .nav-group-trigger > .nav-icon {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  border-radius: 8px !important;
}

.nav-category-flyout .nav-group > .nav-group-trigger > span:not(.nav-icon):not(.nav-badge) {
  font-size: 12px !important;
}

.nav-category-flyout .nav-group > .nav-group-trigger .nav-badge {
  min-width: 19px !important;
  height: 19px !important;
  padding: 2px 6px !important;
  font-size: 9px !important;
}

.nav-category-flyout .nav-submenu {
  position: fixed !important;
  left: 292px !important;
  top: var(--submenu-top, 120px) !important;
  z-index: 150 !important;
  display: none !important;
  width: 270px !important;
  max-height: min(72vh, 620px) !important;
  overflow: auto !important;
  margin: 0 !important;
  padding: 8px !important;
  border: 1px solid rgba(208,224,236,.9) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 18px 48px rgba(3,21,46,.16) !important;
  backdrop-filter: blur(14px) !important;
}

.nav-category-flyout .nav-group:hover > .nav-submenu,
.nav-category-flyout .nav-group.open > .nav-submenu {
  display: grid !important;
  gap: 6px !important;
}

.nav-category-flyout .nav-submenu::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: -13px !important;
  top: 0 !important;
  width: 14px !important;
  height: 100% !important;
}

.nav-category-flyout .nav-submenu .nav-item {
  min-height: 40px !important;
  padding: 9px 10px !important;
  border-radius: 10px !important;
  color: #103b55 !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.nav-category-flyout .nav-submenu .nav-item:hover,
.nav-category-flyout .nav-submenu .nav-item.active {
  color: #103b55 !important;
  background: #f3f8fb !important;
}

body.sidebar-collapsed .nav-category-flyout {
  position: fixed !important;
  left: 96px !important;
  top: var(--flyout-top, 118px) !important;
  z-index: 135 !important;
  width: 238px !important;
  padding: 10px !important;
  border: 1px solid rgba(150,201,255,.18) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg,rgba(5,34,72,.98),rgba(2,19,43,.98)) !important;
  box-shadow: 0 24px 48px rgba(0,15,40,.34) !important;
}

body.sidebar-collapsed .nav-category-flyout .nav-submenu {
  left: 342px !important;
}

/* Sidebar accordion scroll hygiene */
.main-nav {
  overflow-x: hidden !important;
}

.sidebar {
  overflow-x: hidden !important;
}

.nav-category-flyout,
.nav-category-flyout-body,
.nav-category-flyout .nav-group {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.nav-category-flyout .nav-group > .nav-group-trigger {
  width: 100% !important;
}

/* Final sidebar behavior: category accordion + side options panel */
.main-nav,
.sidebar {
  overflow-x: hidden !important;
}

.main-nav::-webkit-scrollbar:horizontal,
.sidebar::-webkit-scrollbar:horizontal {
  height: 0 !important;
  display: none !important;
}

.nav-category {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.nav-category > .nav-category-flyout,
body.sidebar-collapsed .nav-category > .nav-category-flyout {
  display: none !important;
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 6px 0 4px 0 !important;
  padding: 0 0 0 34px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

.nav-category.open > .nav-category-flyout,
.nav-category.pinned > .nav-category-flyout,
.nav-category.active > .nav-category-flyout,
body.sidebar-collapsed .nav-category.open > .nav-category-flyout,
body.sidebar-collapsed .nav-category.pinned > .nav-category-flyout,
body.sidebar-collapsed .nav-category.active > .nav-category-flyout {
  display: grid !important;
}

/* DM Logística keeps the active category highlighted without forcing it open. */
.nav-category.dm-logistica-only.active:not(.open):not(.pinned) > .nav-category-flyout {
  display: none !important;
}

.nav-category-flyout-body {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  gap: 6px !important;
  overflow: visible !important;
}

.nav-category-flyout .nav-group {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.nav-category-flyout .nav-group > .nav-group-trigger {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 38px !important;
  padding: 7px 8px !important;
  box-sizing: border-box !important;
}

.nav-category-flyout .nav-group > .nav-submenu,
body.sidebar-collapsed .nav-category-flyout .nav-group > .nav-submenu {
  position: fixed !important;
  left: 292px !important;
  top: var(--submenu-top, 120px) !important;
  z-index: 320 !important;
  display: none !important;
  width: 286px !important;
  max-width: calc(100vw - 310px) !important;
  max-height: min(76vh, 620px) !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(99,169,255,.22) !important;
  border-radius: 18px !important;
  color: #eef7ff !important;
  background: linear-gradient(180deg,rgba(8,42,83,.98),rgba(4,24,52,.98)) !important;
  box-shadow: 0 22px 54px rgba(3,21,46,.32) !important;
  backdrop-filter: blur(16px) !important;
  overflow: auto !important;
}

.nav-category-flyout .nav-group:hover > .nav-submenu,
.nav-category-flyout .nav-group.open > .nav-submenu,
.nav-category-flyout .nav-group:focus-within > .nav-submenu {
  display: grid !important;
  gap: 6px !important;
}

.nav-category-flyout .nav-submenu .nav-item {
  color: rgba(238,247,255,.92) !important;
  background: rgba(255,255,255,.035) !important;
}

.nav-category-flyout .nav-submenu .nav-item:hover,
.nav-category-flyout .nav-submenu .nav-item.active {
  color: #fff !important;
  background: rgba(20,91,255,.24) !important;
}

@media (max-width: 900px) {
  .nav-category > .nav-category-flyout,
  body.sidebar-collapsed .nav-category > .nav-category-flyout,
  .nav-category-flyout .nav-group > .nav-submenu,
  body.sidebar-collapsed .nav-category-flyout .nav-group > .nav-submenu {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Body-level sidebar options portal avoids clipping inside the scrollable sidebar */
.nav-category-flyout .nav-group > .nav-submenu {
  display: none !important;
}

.sidebar-options-panel {
  position: fixed;
  z-index: 1200;
  display: none;
  gap: 6px;
  max-height: min(76vh, 620px);
  padding: 10px;
  border: 1px solid rgba(99,169,255,.24);
  border-radius: 18px;
  color: #eef7ff;
  background: linear-gradient(180deg,rgba(8,42,83,.985),rgba(4,24,52,.985));
  box-shadow: 0 24px 58px rgba(3,21,46,.35);
  backdrop-filter: blur(16px);
  overflow: auto;
}

.sidebar-options-panel.open {
  display: grid;
  animation: sidebarPortalIn .14s ease-out both;
}

.sidebar-options-panel::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 0;
  width: 14px;
  height: 100%;
}

@keyframes sidebarPortalIn {
  from { opacity: 0; transform: translateX(-4px); }
  to { opacity: 1; transform: translateX(0); }
}

.sidebar-options-panel .nav-item {
  min-height: 40px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.045);
  border-radius: 11px;
  color: rgba(238,247,255,.92);
  background: rgba(255,255,255,.035);
  font-size: 12px;
  font-weight: 800;
}

.sidebar-options-panel .nav-item:hover,
.sidebar-options-panel .nav-item.active {
  color: #fff;
  background: rgba(20,91,255,.24);
}

.sidebar-options-panel .nav-icon {
  width: 26px;
  height: 26px;
}

.sidebar-options-panel .nav-badge {
  margin-left: auto;
}

.statement-panel {
  display: grid;
  gap: 12px;
}

.statement-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fbfc;
}

.statement-filters label,
.statement-checks label {
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
}

.statement-filters input,
.statement-filters select {
  width: 100%;
  min-height: 36px;
  margin-top: 5px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--navy);
  background: #fff;
  font-weight: 800;
}

.statement-filters input:focus,
.statement-filters select:focus {
  outline: 2px solid rgba(24, 183, 181, .18);
  border-color: var(--teal);
}

.statement-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.statement-checks label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  background: #fff;
}

.statement-summary,
.statement-aging {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}

.statement-summary article,
.statement-aging article {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(16, 59, 85, .04);
}

.statement-summary span,
.statement-aging span {
  display: block;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}

.statement-summary strong,
.statement-aging strong {
  display: block;
  margin-top: 4px;
  color: var(--navy);
  font-size: 17px;
  font-weight: 900;
}

.statement-table {
  min-width: 1120px;
}
.account-import-upload{
  align-items:center;
  background:linear-gradient(135deg,#f7fbff,#eef8f7);
  border:1px solid var(--line);
  border-radius:18px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:22px;
}
.account-import-grid{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  margin:12px 0;
}
.account-import-grid label{
  color:var(--muted);
  display:grid;
  font-size:.78rem;
  font-weight:800;
  gap:6px;
}
.account-validation-summary{
  align-items:center;
  border:1px solid var(--line);
  border-radius:14px;
  display:flex;
  gap:12px;
  margin:14px 0;
  padding:14px 16px;
}
.account-validation-summary span{color:var(--muted);}
.account-validation-summary.ok{background:#eefbf7;border-color:#bdeee0;}
.account-validation-summary.warning{background:#fff8e8;border-color:#f5d991;}
.account-validation-summary.danger{background:#fff1f1;border-color:#efb4b4;}
.account-preview-table input,
.account-preview-table select{
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--ink);
  font:inherit;
  min-width:92px;
  padding:7px 8px;
  width:100%;
}
.account-preview-table input[type="checkbox"]{
  min-width:auto;
  width:auto;
}
.account-preview-table small{
  color:var(--muted);
  display:block;
  margin-top:4px;
  max-width:260px;
}
.account-row-error{background:#fff6f6;}
.account-row-warning{background:#fffaf0;}
.account-badge{
  background:#eef4fb;
  border-radius:999px;
  color:#17496d;
  display:inline-flex;
  font-size:.72rem;
  font-weight:900;
  padding:5px 9px;
  text-transform:capitalize;
}
.account-badge.create{background:#e9fbf4;color:#08774f;}
.account-badge.update{background:#eef3ff;color:#174fb8;}
.account-badge.no_change{background:#f2f4f7;color:#556575;}
.account-badge.possible_duplicate,
.account-badge.omit{background:#fff0dc;color:#9a5b00;}
.account-catalog-requirements{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.account-catalog-requirements span{
  background:#eaf8f7;
  border-radius:999px;
  color:var(--teal);
  font-size:.7rem;
  font-weight:900;
  padding:4px 7px;
}
.check-line.compact{
  align-items:center;
  display:flex;
  gap:6px;
  white-space:nowrap;
}

/* Final overrides for the redesigned supplier invoice modal. */
#fiscalPurchaseModal .purchase-invoice-modal{width:min(96vw,1540px)!important;max-height:94vh!important;padding:0!important;overflow:hidden!important;border-radius:14px!important;background:#f8fafc!important}
#fiscalPurchaseModal.open{z-index:1500!important}
#fiscalPurchaseModal .purchase-grid input,
#fiscalPurchaseModal .purchase-grid select,
#fiscalPurchaseModal .purchase-card textarea,
#fiscalPurchaseModal .purchase-split-row input,
#fiscalPurchaseModal .purchase-split-row select{min-height:34px!important;border-radius:7px!important}
#fiscalPurchaseModal .purchase-form-tabs{border-radius:8px!important}
#fiscalPurchaseModal .purchase-card,
#fiscalPurchaseModal .purchase-side-card{border-radius:8px!important}
#fiscalPurchaseModal .purchase-footer-actions{position:sticky;bottom:0;z-index:2}

.purchase-ap-shell{display:grid;gap:14px}
.purchase-ap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border:1px solid #dbe5f0;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.purchase-ap-head h2{margin:0;color:#0f2445;font:850 22px var(--font-display)}
.purchase-ap-head p{margin:6px 0 0;color:#64748b;font-size:12px;font-weight:600}
.purchase-ap-create{display:flex;gap:10px;align-items:center}
.purchase-ap-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.purchase-ap-metrics article{min-height:88px!important;padding:14px 16px!important;border:1px solid #dbe5f0;border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.035)}
.purchase-ap-metrics span,.purchase-ap-metrics small{display:block;color:#64748b;font-size:10px;font-weight:700}
.purchase-ap-metrics strong{display:block;margin:6px 0 3px;color:#071f49;font:850 20px var(--font-display)}
.purchase-ap-toolbar{display:grid;grid-template-columns:2fr repeat(3,minmax(145px,1fr)) auto auto;gap:10px;align-items:end;padding:14px;border:1px solid #dbe5f0;border-radius:12px;background:#fff}
.purchase-ap-toolbar label{display:grid;gap:5px;color:#64748b;font-size:10px;font-weight:800}
.purchase-ap-toolbar input,.purchase-ap-toolbar select{width:100%;min-height:36px;border:1px solid #cfd9e6;border-radius:8px;background:#fff;color:#10233f;font-size:12px;font-weight:700}
.purchase-ap-table-wrap{overflow:auto;border:1px solid #dbe5f0;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.035)}
.purchase-ap-table{width:100%;min-width:1360px;border-collapse:separate;border-spacing:0;table-layout:fixed;color:#10233f}
.purchase-ap-table thead th{position:sticky;top:0;z-index:1;padding:11px 10px;border-bottom:1px solid #dbe5f0;background:#f8fafc;color:#64748b;font-size:10px;font-weight:850;letter-spacing:.04em;text-align:left;text-transform:uppercase}
.purchase-ap-table tbody td{overflow:hidden;padding:11px 10px;border-bottom:1px solid #edf2f7;vertical-align:top;font-size:12px}
.purchase-ap-table tbody tr:hover{background:#fbfdff}
.purchase-ap-table td strong{font-weight:850}
.purchase-ap-table td small{display:block;margin-top:4px;color:#64748b;font-size:10px;font-weight:650;line-height:1.25}
.purchase-ap-table .money-cell{text-align:right;white-space:nowrap}
.purchase-ap-table .money-cell strong{font-size:13px;color:#071f49}
.purchase-ap-table th:nth-child(1),.purchase-ap-table td:nth-child(1){width:36px}
.purchase-ap-table th:nth-child(2),.purchase-ap-table td:nth-child(2){width:34px}
.purchase-ap-table th:nth-child(3),.purchase-ap-table td:nth-child(3){width:104px}
.purchase-ap-table th:nth-child(4),.purchase-ap-table td:nth-child(4){width:290px;min-width:250px;max-width:320px}
.purchase-ap-table th:nth-child(5),.purchase-ap-table td:nth-child(5){width:210px}
.purchase-ap-table th:nth-child(6),.purchase-ap-table td:nth-child(6){width:160px}
.purchase-ap-table th:nth-child(7),.purchase-ap-table td:nth-child(7){width:130px}
.purchase-ap-table th:nth-child(8),.purchase-ap-table td:nth-child(8){width:130px}
.purchase-ap-table th:nth-child(9),.purchase-ap-table td:nth-child(9),.purchase-ap-table th:nth-child(10),.purchase-ap-table td:nth-child(10),.purchase-ap-table th:nth-child(11),.purchase-ap-table td:nth-child(11){width:120px}
.purchase-ap-table th:nth-child(12),.purchase-ap-table td:nth-child(12){width:118px}
.purchase-ap-table th:nth-child(13),.purchase-ap-table td:nth-child(13){width:74px}
.purchase-ap-table tbody td.expand-cell{overflow:visible;text-align:center;vertical-align:middle}
.purchase-ap-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid #dbe5f0;border-radius:8px;background:#f8fafc;color:#0b57d0;cursor:pointer;flex-shrink:0;overflow:visible}
.purchase-ap-toggle svg{display:block;width:16px;height:16px;overflow:visible;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.purchase-ap-toggle:hover,.purchase-ap-toggle[aria-expanded="true"]{border-color:#9dbbff;background:#eef5ff}
.purchase-ap-toggle:focus-visible{outline:2px solid #0b57d0;outline-offset:2px}
.supplier-column{width:290px;min-width:250px;max-width:320px}
.supplier-name{display:-webkit-box;max-width:100%;overflow:hidden;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#10233f;font-weight:800}
.supplier-open-detail{width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}
.supplier-open-detail:hover{color:#0b57d0;text-decoration:underline;text-underline-offset:2px}
.supplier-open-detail:focus-visible{outline:2px solid #0b57d0;outline-offset:2px;border-radius:4px}
.purchase-ap-table tbody td:nth-child(5)>strong{cursor:pointer;text-underline-offset:2px}
.purchase-ap-table tbody td:nth-child(5)>strong:hover{color:#0b57d0;text-decoration:underline}
.purchase-ap-table tbody td:nth-child(5)>strong:focus-visible{outline:2px solid #0b57d0;outline-offset:2px;border-radius:4px}
.supplier-rtn{display:block;margin-top:3px;color:#64748b;font-size:11px;font-weight:500;line-height:1.25}
.purchase-ap-table td:nth-child(6),
.purchase-ap-table td:nth-child(5) strong,
.purchase-ap-table td:nth-child(5) small,
.purchase-ap-table td:nth-child(5),
.purchase-ap-table td:nth-child(6),
.purchase-ap-table td:nth-child(7),
.purchase-ap-table td:nth-child(8){overflow:hidden;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.28}
.purchase-ap-table td:nth-child(5) strong{display:block}
.purchase-cai-line{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.purchase-ap-table td:nth-child(6),
.purchase-ap-table td:nth-child(8){display:table-cell}
.danger-text{color:#b91c1c!important}
.request-status.info{color:#075985;background:#e0f2fe}
.request-status.credit{color:#0f766e;background:#ccfbf1}
.purchase-ap-menu-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #dbe5f0;border-radius:10px;background:#fff;color:#0b57d0;font-size:20px;font-weight:900;line-height:1;cursor:pointer}
.purchase-ap-menu-button:hover,.purchase-ap-menu-button[aria-expanded="true"]{border-color:#9dbbff;background:#eef5ff}
.purchase-ap-menu-button:focus-visible{outline:2px solid #0b57d0;outline-offset:2px}
.purchase-ap-menu-portal{position:fixed;z-index:var(--bbs-layer-popover);display:grid;gap:4px;max-height:min(74vh,620px);overflow:auto;padding:8px;border:1px solid #dbe5f0;border-radius:14px;background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.18);color:#10233f}
.purchase-ap-menu-title{display:grid;gap:2px;padding:7px 8px 9px;border-bottom:1px solid #edf2f7;color:#0f2445}
.purchase-ap-menu-title span{color:#64748b;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.purchase-ap-menu-title strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900}
.purchase-ap-menu-portal section{display:grid;gap:2px;padding:5px 0;border-bottom:1px solid #edf2f7}
.purchase-ap-menu-portal section:last-child{border-bottom:0}
.purchase-ap-menu-portal h4{margin:0 8px 3px;color:#64748b;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.purchase-ap-menu-portal button{display:block!important;width:100%!important;min-height:32px!important;padding:8px 10px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#10233f!important;text-align:left!important;font-size:11px!important;font-weight:850!important;line-height:1.2!important;cursor:pointer}
.purchase-ap-menu-portal button:hover,.purchase-ap-menu-portal button:focus-visible{background:#eef5ff;color:#0b57d0;outline:0}
.purchase-ap-menu-portal button:disabled{color:#94a3b8;cursor:not-allowed}
.purchase-ap-menu-portal .danger-button{color:#b91c1c}
.purchase-action-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.purchase-action-icon{display:none!important}
.purchase-action-icon.view::before{content:"V"}
.purchase-action-icon.edit::before{content:"E"}
.purchase-action-icon.pay::before{content:"L"}
.purchase-action-icon.receipt::before{content:"R"}
.purchase-action-icon.book::before{content:"C"}
.purchase-action-icon.doc::before{content:"D"}
.purchase-action-icon.download::before{content:"B"}
.purchase-action-icon.history::before{content:"H"}
.purchase-action-icon.supplier::before{content:"P"}
.purchase-action-icon.apply::before{content:"A"}
.purchase-action-icon.warn::before{content:"!"}
.purchase-action-icon.void::before{content:"X"}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.purchase-ap-detail-row{display:table-row!important}
.purchase-ap-detail-row td{padding:0!important;background:#f3f7fb}
.purchase-ap-detail{padding:0;border-top:1px solid #dbe5f0;border-bottom:1px solid #dbe5f0;background:#f3f7fb}
.purchase-ap-detail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 18px;border-bottom:1px solid #dbe5f0;background:#fff;color:#0f2445}
.purchase-ap-detail-head div{display:grid;gap:4px;min-width:0}
.purchase-ap-detail-head strong{color:#0b2347;font-size:16px;font-weight:900;line-height:1.2}
.purchase-detail-supplier{display:-webkit-box;max-width:620px;overflow:hidden;white-space:normal;overflow-wrap:anywhere;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#334155;font-size:13px;font-weight:800}
.purchase-ap-detail-head small{display:block;color:#64748b;font-size:11px;font-weight:700;line-height:1.45}
.purchase-ap-detail-head aside{display:grid;gap:4px;min-width:150px;padding:10px 12px;border:1px solid #dbe5f0;border-radius:12px;background:#f8fafc;text-align:right}
.purchase-ap-detail-head aside b{color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase}
.purchase-ap-detail-head aside strong{font-size:16px;color:#0b57d0}
.purchase-ap-detail-tabs{display:flex;gap:8px;margin:0;padding:14px 18px;overflow-x:auto;background:#f8fafc}
.purchase-ap-detail-tabs button{flex:0 0 auto;min-height:34px;padding:8px 12px;border:1px solid #dbe5f0;border-radius:10px;background:#fff;color:#334155;font-size:11px;font-weight:850}
.purchase-ap-detail-tabs button:hover{border-color:#b8cff5;background:#f1f6ff}
.purchase-ap-detail-tabs button.active,.purchase-ap-detail-tabs button[aria-selected="true"]{border-color:#9dbbff;background:#eef5ff;color:#0b57d0;box-shadow:inset 0 -2px 0 #0b57d0}
.purchase-ap-detail-tabs button:focus-visible{outline:2px solid #0b57d0;outline-offset:2px}
.purchase-ap-detail-content{padding:0 18px 18px}
.purchase-detail-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.purchase-detail-card,.purchase-detail-summary-cards section{padding:14px 16px;border:1px solid #dbe5f0;border-radius:12px;background:#fff}
.purchase-detail-card.wide{display:grid;gap:12px}
.purchase-detail-field{display:grid;grid-template-columns:minmax(92px,.42fr) minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid #edf2f7;color:#334155;font-size:11px}
.purchase-detail-field:last-child{border-bottom:0}
.purchase-detail-field span{color:#64748b;font-weight:750}
.purchase-detail-field strong{min-width:0;max-width:100%;text-align:right;color:#10233f;font-weight:850;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.purchase-detail-field strong.important{color:#0b57d0;font-size:13px}
.purchase-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.purchase-detail-actions button{min-height:30px;padding:7px 10px;border:1px solid #dbe5f0;border-radius:8px;background:#fff;color:#0b57d0;font-size:11px;font-weight:850;cursor:pointer}
.purchase-detail-actions button:hover{background:#eef5ff}
.purchase-detail-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.purchase-ap-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.purchase-ap-detail-grid section{padding:12px;border:1px solid #dbe5f0;border-radius:10px;background:#fff}
.purchase-ap-detail-grid h4,.purchase-detail-card h4,.purchase-detail-summary-cards h4{margin:0 0 10px;color:#0f2445;font-size:13px;font-weight:900}
.purchase-ap-detail-grid p{margin:4px 0;color:#334155;font-size:11px}
.purchase-ap-detail-grid table,.purchase-detail-card table{width:100%;border-collapse:collapse;font-size:11px}
.purchase-ap-detail-grid th,.purchase-ap-detail-grid td,.purchase-detail-card th,.purchase-detail-card td{padding:7px 6px;border-bottom:1px solid #edf2f7;text-align:left}
.purchase-ap-footer{display:flex;align-items:center;justify-content:space-between;color:#64748b;font-size:11px;font-weight:700}
@media(max-width:1100px){.purchase-ap-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-ap-toolbar{grid-template-columns:1fr 1fr}.purchase-ap-detail-grid,.purchase-detail-summary-cards{grid-template-columns:1fr 1fr}.supplier-name{-webkit-line-clamp:2}.purchase-ap-table th:nth-child(4),.purchase-ap-table td:nth-child(4){width:260px;min-width:230px;max-width:300px}}
@media(max-width:720px){.purchase-ap-head,.purchase-ap-footer{display:grid}.purchase-ap-create{display:grid}.purchase-ap-metrics,.purchase-ap-toolbar,.purchase-ap-detail-grid,.purchase-detail-summary-cards,.purchase-detail-ledger{grid-template-columns:1fr}.purchase-ap-table{min-width:0}.purchase-ap-table thead{display:none}.purchase-ap-table,.purchase-ap-table tbody,.purchase-ap-table tr,.purchase-ap-table td{display:block;width:100%;min-width:0;max-width:none}.purchase-ap-table tbody tr{position:relative;padding:12px 48px 12px 12px;border-bottom:1px solid #dbe5f0}.purchase-ap-table tbody td{padding:6px 4px;border:0}.purchase-ap-table tbody td::before{content:attr(data-label);display:block;color:#64748b;font-size:9px;font-weight:850;text-transform:uppercase}.purchase-ap-table .expand-cell{position:absolute;top:12px;right:12px;width:32px}.purchase-ap-table .expand-cell::before{display:none}.supplier-column{width:100%;min-width:0;max-width:none}.supplier-name{-webkit-line-clamp:3}.purchase-ap-detail-row{display:block!important}.purchase-ap-detail-row td{display:block!important}.purchase-ap-detail-head{grid-template-columns:1fr}.purchase-ap-detail-head aside{text-align:left}.purchase-ap-detail-head span{text-align:left}.purchase-ap-detail-tabs{padding:12px}.purchase-ap-detail-content{padding:0 12px 12px}.purchase-ap-menu-portal.mobile{inset:auto 0 0 0!important;width:100%!important;max-height:82vh;padding:16px;border-radius:18px 18px 0 0;box-shadow:0 -18px 50px rgba(15,23,42,.28)}.purchase-ap-menu-portal.mobile button{min-height:44px;font-size:13px}}

/* Redesigned supplier profile modal. */
.supplier-profile-modal{width:min(94vw,1180px)!important;max-height:92vh!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background:#f8fafc!important}
.supplier-profile-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:20px 24px;border-bottom:1px solid #e5edf5;background:#fff}
.supplier-profile-head h2{margin:2px 0 4px;color:#0b2347;font:900 22px var(--font-display)}
.supplier-profile-head p{margin:0;color:#64748b;font-size:12px;line-height:1.45}
.supplier-head-icon,.supplier-summary-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#1358e8;background:#eef5ff;border:1px solid #d8e7ff;font-weight:900}
.supplier-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px 24px;background:#fff;border-bottom:1px solid #e5edf5}
.supplier-tabs button{min-height:42px;border:1px solid #e3ebf4;border-radius:10px;background:#f9fbfd;color:#38506e;font:800 11px var(--font-body);cursor:pointer}
.supplier-tabs button.active{color:#0d4fd8;background:#edf4ff;border-color:#bcd4ff;box-shadow:inset 0 -2px 0 #1557e6}
#fiscalSupplierModal .supplier-tabs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;margin:0!important;padding:12px 24px!important;background:#fff!important;border:0!important;border-bottom:1px solid #e5edf5!important;box-shadow:none!important}
#fiscalSupplierModal .supplier-tabs button{min-height:42px!important;border:1px solid #e3ebf4!important;border-radius:10px!important;background:#f9fbfd!important;color:#38506e!important;font:800 11px var(--font-body)!important}
#fiscalSupplierModal .supplier-tabs button.active{color:#0d4fd8!important;background:#edf4ff!important;border-color:#bcd4ff!important;box-shadow:inset 0 -2px 0 #1557e6!important}
.supplier-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;padding:16px 24px 0;max-height:calc(92vh - 178px);overflow:auto}
.supplier-profile-main{display:grid;gap:14px}
.supplier-tab-panel{display:none}
.supplier-tab-panel.active{display:block}
.supplier-card,.supplier-side-card{border:1px solid #e1eaf3;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(16,59,85,.045)}
.supplier-card{padding:18px}
.supplier-card h3,.supplier-side-card h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;color:#0b2347;font:900 14px var(--font-display)}
.supplier-card p,.supplier-muted{margin:0 0 14px;color:#6b7d91;font-size:11px;line-height:1.45}
.supplier-basic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.supplier-basic-grid label{display:grid;gap:6px;color:#53667c;font-size:10px;font-weight:900}
.supplier-basic-grid label.full{grid-column:1/-1}
.supplier-basic-grid input,.supplier-basic-grid select,.supplier-basic-grid textarea{width:100%;min-width:0;min-height:38px;padding:9px 11px;border:1px solid #ccd9e6;border-radius:9px;background:#fff;color:#0b2347;font:800 12px var(--font-body)}
.supplier-basic-grid textarea{resize:vertical}
.supplier-basic-grid input[readonly]{background:#f2f6fa;color:#64748b}
.supplier-basic-grid em{color:#d33131;font-style:normal}
.supplier-basic-grid small{color:#8a9bad;font-weight:700}
.supplier-profile-side{display:grid;gap:12px;align-content:start}
.supplier-side-card{padding:16px}
.supplier-status-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #edf2f7;font-size:11px}
.supplier-status-row span{color:#738397}
.supplier-status-row strong{text-align:right;color:#0b2347}
.supplier-status-row strong.active,.supplier-status-row strong.ok{color:#0f8a53}
.supplier-status-row strong.warning{color:#a76600}
.supplier-side-card p{margin:12px 0 0;color:#697a90;font-size:11px;line-height:1.45}
.supplier-alert-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.supplier-alert-list span{padding:5px 8px;border-radius:999px;background:#fff7e8;color:#9a5b00;font-size:9px;font-weight:900}
.supplier-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:8px;padding:11px 12px;border:1px solid #e1eaf3;border-radius:10px;background:#fff;color:#0b2347;text-align:left;cursor:pointer}
.supplier-action-row:hover{background:#f4f8ff;border-color:#bdd4ff}
.supplier-action-row span{display:grid;gap:3px;font-size:11px;font-weight:900}
.supplier-action-row small{color:#708195;font-size:9px;font-weight:700}
.supplier-doc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.supplier-doc-list label{position:relative;display:grid;gap:5px;padding:12px 12px 12px 40px;border:1px dashed #c8d7e6;border-radius:10px;background:#f8fbfd;color:#53667c;font-size:11px;font-weight:900;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.supplier-doc-list label::before{content:"+";position:absolute;left:12px;top:50%;display:grid;place-items:center;width:18px;height:18px;border-radius:7px;background:#e8f1ff;color:#1559d6;font-size:14px;font-weight:900;transform:translateY(-50%)}
.supplier-doc-list label:hover{border-color:#7da8ff;background:#f3f7ff;box-shadow:0 8px 18px rgba(31,91,190,.08)}
.supplier-doc-list strong{color:#435872;font-size:11px}
.supplier-doc-list small{overflow:hidden;color:#7a8ba0;font-size:10px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.supplier-doc-list input{position:absolute;inset:0;opacity:0;cursor:pointer}
.supplier-document-history{display:grid;gap:12px;margin-top:14px}
.supplier-document-history section{display:grid;gap:7px;padding-top:10px;border-top:1px solid #e6edf5}
.supplier-document-history h4{margin:0;color:#0b2347;font-size:12px}
.supplier-document-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:1px solid #e1eaf3;border-radius:10px;background:#fff;color:#0b2347;text-align:left;cursor:pointer}
.supplier-document-row:hover{border-color:#9dbbff;background:#f6f9ff}
.supplier-document-row span{display:grid;gap:3px;min-width:0}
.supplier-document-row strong{font-size:11px}
.supplier-document-row small{overflow:hidden;color:#6c7d91;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.supplier-document-row em{flex:0 0 auto;padding:4px 8px;border-radius:999px;font-size:9px;font-style:normal;font-weight:900}
.supplier-document-row em.current{background:#e9f8f0;color:#147a4b}
.supplier-document-row em.history{background:#eef3f8;color:#617083}
.supplier-history-empty{padding:11px;border:1px dashed #d6e1ed;border-radius:10px;background:#fafcff;color:#6d7f94;font-size:11px;font-weight:800}
.supplier-history-preview{color:#64748b;font-size:12px}
.supplier-footer-actions{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid #e5edf5;background:rgba(255,255,255,.96);box-shadow:0 -12px 24px rgba(15,35,65,.06)}
@media(max-width:980px){.supplier-profile-layout{grid-template-columns:1fr}.supplier-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.supplier-profile-side{order:-1}}
@media(max-width:640px){.supplier-tabs,.supplier-basic-grid{grid-template-columns:1fr}.supplier-footer-actions{flex-direction:column}.supplier-footer-actions button{width:100%}}

/* Treasury petty cash form. */
.treasury-cash-modal{width:min(96vw,1420px)!important;height:min(94vh,980px)!important;max-height:94vh!important;overflow:hidden!important;padding:0!important;background:#f5f8fc!important;border-radius:14px!important}
.treasury-cash-modal .modal-header{position:sticky;top:0;z-index:5;border-bottom:0!important}
.treasury-cash-hero{display:grid!important;grid-template-columns:auto 1fr auto;gap:14px!important;align-items:center!important;padding:22px 26px!important;background:linear-gradient(135deg,#061d44,#082d65)!important;color:#fff!important}
.treasury-cash-hero .pill{background:transparent!important;color:#22d3b6!important;padding:0!important;font-size:11px!important;letter-spacing:.08em!important}
.treasury-cash-hero h2{color:#fff!important;font-size:22px!important}
.treasury-cash-hero p{color:#dbeafe!important}
.treasury-cash-hero .modal-close{color:#fff!important}
.treasury-cash-hero-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.12);color:#3af2cf;font-weight:900}
.treasury-cash-layout{display:grid;grid-template-columns:230px minmax(640px,1fr) 340px;gap:18px;height:calc(94vh - 176px);min-height:620px;padding:22px;overflow:auto}
.treasury-cash-steps{display:grid;align-self:start;gap:0;border:1px solid #dce7f2;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 14px 32px rgba(15,35,65,.06)}
.treasury-cash-steps button{display:flex;align-items:flex-start;gap:13px;padding:24px 20px;border:0;border-bottom:1px solid #e5edf6;background:#fff;color:#0b2347;text-align:left}
.treasury-cash-steps button.active{background:#f7fbff}
.treasury-cash-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#1459d9;color:#fff;font-size:12px}
.treasury-cash-steps button:nth-child(2) b{background:#009b82}
.treasury-cash-steps button:nth-child(3) b{background:#7c4dff}
.treasury-cash-steps button:nth-child(4) b{background:#f97316}
.treasury-cash-steps strong{display:block;font-size:12px}
.treasury-cash-steps small{display:block;margin-top:7px;color:#52677f;font-size:11px;line-height:1.35}
.treasury-help-card{margin:18px;padding:14px;border:1px solid #dce7f2;border-radius:10px;background:#f8fbff;color:#0b2347}
.treasury-help-card strong{display:block;font-size:12px}
.treasury-help-card small{display:block;margin-top:8px;color:#5d7087;font-size:11px;line-height:1.35}
.treasury-cash-main{display:grid;gap:14px}
.treasury-form-section,.treasury-cash-side section{border:1px solid #dfe8f2;border-radius:10px;background:#fff;box-shadow:0 14px 30px rgba(15,35,65,.06)}
.treasury-form-section{padding:16px}
.treasury-form-section h3,.treasury-cash-side h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#0b2347;font-size:17px}
.treasury-form-section h3 span{color:#0b63f6}
.treasury-cash-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.treasury-cash-modal .form-grid label{min-width:0}
.treasury-cash-modal .form-grid label.full,
.treasury-cash-modal .form-grid > .full{grid-column:1/-1}
.treasury-cash-modal input,.treasury-cash-modal select,.treasury-cash-modal textarea{min-width:0}
.treasury-cash-modal label[hidden],.treasury-cash-modal section[hidden]{display:none!important}
.treasury-support-select{display:none!important}
.treasury-support-cards{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px}
.treasury-support-cards button{position:relative;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:10px;min-height:72px;padding:12px;border:1px solid #d8e4f2;border-radius:9px;background:#fff;color:#223b5f;font-size:11px;font-weight:900;line-height:1.25;text-align:left;cursor:pointer}
.treasury-support-cards button span{display:grid;place-items:center;width:24px;height:24px;color:#4c607a;font-size:19px}
.treasury-support-cards button.active{border-color:#10b99f;background:#f2fffc;color:#073f38;box-shadow:0 0 0 1px rgba(16,185,159,.18)}
.treasury-support-cards button.active::after{content:"✓";position:absolute;top:9px;right:9px;display:grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#10a88e;color:#fff;font-size:11px}
.treasury-upload-box input{margin-top:7px}
.treasury-upload-box small{display:block;margin-top:6px;color:#6d7f94;font-size:11px;font-weight:800}
.treasury-sar-box{grid-column:1/-1;margin-top:12px;padding:16px;border:1px solid #c9efe7;border-radius:10px;background:#f4fffc}
.treasury-sar-box h4{margin:0 0 13px;color:#00806c;font-size:13px}
.treasury-sar-box[hidden]{display:none!important}
.treasury-cash-side{position:sticky;top:0;align-self:start;display:grid;gap:18px}
.treasury-cash-side section{padding:16px}
.treasury-cash-side h3{justify-content:space-between}
.treasury-cash-side h3 span{padding:6px 12px;border-radius:999px;background:#dcfce7;color:#08734a;font-size:11px;font-weight:900}
.treasury-cash-side dl{display:grid;gap:0;margin:0}
.treasury-cash-side dl div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e8eef5}
.treasury-cash-side dt{color:#75859a;font-size:11px}
.treasury-cash-side dd{margin:0;color:#0b2347;font-size:11px;font-weight:900;text-align:right}
.treasury-warning-list{display:grid;gap:7px;margin-top:12px}
.treasury-warning-list span{padding:8px 10px;border-radius:10px;background:#fff7e8;color:#8a5600;font-size:10px;font-weight:900;line-height:1.35}
.treasury-warning-list span.ok{background:#e9fbf1;color:#08734a}
.treasury-cash-modal .modal-actions{position:sticky;bottom:0;z-index:5;margin:0!important;padding:14px 36px!important;border-top:1px solid #dde8f3;background:rgba(255,255,255,.97);box-shadow:0 -12px 28px rgba(15,35,65,.08)}
@media(max-width:1180px){.treasury-cash-modal{overflow:auto!important;height:auto!important}.treasury-cash-layout{grid-template-columns:1fr;height:auto;min-height:0;overflow:visible}.treasury-cash-steps,.treasury-cash-side{position:static;order:0}.treasury-support-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.treasury-support-cards{grid-template-columns:1fr}.treasury-cash-hero{grid-template-columns:1fr auto}.treasury-cash-hero-icon{display:none}}

/* Treasury card consumption form. */
.treasury-card-modal{width:min(98vw,1500px)!important;height:min(95vh,980px)!important;max-height:95vh!important;overflow:hidden!important;padding:0!important;background:#f5f8fc!important;border-radius:14px!important}
.treasury-card-modal .modal-header{position:sticky;top:0;z-index:5;border-bottom:1px solid #e1e9f3!important}
.treasury-card-hero{display:grid!important;grid-template-columns:auto 1fr auto;gap:14px!important;align-items:center!important;padding:20px 24px!important;background:#fff!important;color:#0b2347!important}
.treasury-card-hero .pill{background:transparent!important;color:#009b82!important;padding:0!important;font-size:11px!important;letter-spacing:.08em!important}
.treasury-card-hero h2{color:#0b2347!important;font-size:23px!important}
.treasury-card-hero p{margin-top:5px;color:#52677f!important;font-weight:700}
.treasury-card-hero .modal-close{color:#0b2347!important}
.treasury-card-hero-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#eafffb;color:#009b82;font-weight:900}
.treasury-card-layout{display:grid;grid-template-columns:230px minmax(680px,1fr) 390px;gap:16px;height:calc(95vh - 170px);min-height:650px;padding:16px;overflow:auto}
.treasury-card-steps{display:grid;align-self:start;gap:0;border:1px solid #dce7f2;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 14px 32px rgba(15,35,65,.06)}
.treasury-card-steps button{display:flex;align-items:flex-start;gap:13px;padding:19px 18px;border:0;border-bottom:1px solid #e5edf6;background:#fff;color:#0b2347;text-align:left}
.treasury-card-steps button.active{background:#f7fbff}
.treasury-card-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#1459d9;color:#fff;font-size:12px}
.treasury-card-steps button:nth-child(2) b{background:#009b82}
.treasury-card-steps button:nth-child(3) b{background:#7c4dff}
.treasury-card-steps button:nth-child(4) b{background:#f59e0b}
.treasury-card-steps button:nth-child(5) b{background:#0ea5e9}
.treasury-card-steps button:nth-child(6) b{background:#4f46e5}
.treasury-card-steps strong{display:block;font-size:12px}
.treasury-card-steps small{display:block;margin-top:7px;color:#52677f;font-size:11px;line-height:1.35}
.treasury-card-main{display:grid;gap:14px}
.treasury-card-modal .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.treasury-card-modal .form-grid label,.treasury-card-modal .form-grid input,.treasury-card-modal .form-grid select,.treasury-card-modal .form-grid textarea{min-width:0}
.treasury-card-modal .form-grid label.full,.treasury-card-modal .form-grid > .full{grid-column:1/-1}
.treasury-card-modal label[hidden],.treasury-card-modal section[hidden]{display:none!important}
.treasury-card-side{position:sticky;top:0;align-self:start;display:grid;gap:14px}
.treasury-card-side section{padding:16px;border:1px solid #dfe8f2;border-radius:10px;background:#fff;box-shadow:0 14px 30px rgba(15,35,65,.06)}
.treasury-card-side h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 14px;color:#0b2347;font-size:16px}
.treasury-card-side h3 span{padding:6px 12px;border-radius:999px;background:#fff4cc;color:#a15c00;font-size:11px;font-weight:900}
.treasury-card-side dl{display:grid;gap:0;margin:0}
.treasury-card-side dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e8eef5}
.treasury-card-side dt{color:#75859a;font-size:11px}
.treasury-card-side dd{margin:0;color:#0b2347;font-size:11px;font-weight:900;text-align:right;max-width:190px;overflow-wrap:anywhere}
.treasury-card-side p{margin:0;color:#52677f;font-size:12px;line-height:1.45}
.treasury-card-balance{padding:10px 12px;border-radius:10px;background:#f5f9ff;color:#0b2347;font-size:12px;font-weight:900;text-align:right}
.treasury-card-balance.ok{background:#e9fbf1;color:#08734a}
.treasury-card-balance.warn{background:#fff7e8;color:#8a5600}
.treasury-card-attachments{display:grid;gap:8px}
.treasury-card-attachments span{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #dfe8f2;border-radius:10px;background:#fafcff;color:#0b2347;font-size:11px;font-weight:900}
.treasury-card-attachments small{color:#6d7f94;font-weight:800}
.treasury-card-modal .modal-actions{position:sticky;bottom:0;z-index:5;margin:0!important;padding:13px 30px!important;border-top:1px solid #dde8f3;background:rgba(255,255,255,.97);box-shadow:0 -12px 28px rgba(15,35,65,.08)}
.treasury-supplier-field{align-content:start}
.treasury-supplier-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.treasury-supplier-control select{min-width:0}
.treasury-add-supplier-button{min-height:38px;padding:0 12px;border:1px solid #b9cff0;border-radius:9px;color:#0d4fd8;background:#f3f7ff;font:850 10px var(--font-body);white-space:nowrap;cursor:pointer}
.treasury-add-supplier-button:hover,.treasury-add-supplier-button:focus-visible{border-color:#1557e6;background:#e8f1ff;outline:none;box-shadow:0 0 0 3px rgba(21,87,230,.12)}
.treasury-supplier-field>small{color:#6b7d91;font-size:9px;line-height:1.35}
#fiscalSupplierModal.treasury-supplier-overlay.open{z-index:1600!important}
@media(max-width:720px){.treasury-supplier-control{grid-template-columns:1fr}.treasury-add-supplier-button{width:100%}}
@media(max-width:1240px){.treasury-card-modal{overflow:auto!important;height:auto!important}.treasury-card-layout{grid-template-columns:1fr;height:auto;min-height:0;overflow:visible}.treasury-card-steps,.treasury-card-side{position:static}.treasury-card-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.treasury-card-modal .form-grid{grid-template-columns:1fr}.treasury-card-hero{grid-template-columns:1fr auto}.treasury-card-hero-icon{display:none}.treasury-card-modal .modal-actions{flex-direction:column}.treasury-card-modal .modal-actions button{width:100%}}

/* Sidebar module icon system. */
.sidebar .nav-icon {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  color: rgba(205, 231, 255, .78) !important;
  background: rgba(80, 164, 255, .10) !important;
  border: 1px solid rgba(185, 223, 255, .18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.sidebar .nav-icon svg {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.nav-group-trigger > .nav-icon {
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  border-radius: 9px !important;
}

.nav-submenu .nav-item .nav-icon,
.nav-item > .nav-icon {
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  border-radius: 8px !important;
  color: rgba(201, 225, 246, .68) !important;
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(185, 223, 255, .12) !important;
}

.nav-submenu .nav-item .nav-icon svg,
.nav-item > .nav-icon svg {
  width: 14px !important;
  height: 14px !important;
  stroke-width: 2.1 !important;
}

.nav-group-trigger > .nav-icon::before {
  content: none !important;
}

.nav-group:hover > .nav-group-trigger > .nav-icon,
.nav-group.open > .nav-group-trigger > .nav-icon,
.nav-group:has(.nav-item.active) > .nav-group-trigger > .nav-icon {
  color: #fff !important;
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 10px 22px rgba(20,91,255,.22), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.nav-submenu .nav-item:hover .nav-icon,
.nav-item:hover > .nav-icon {
  color: rgba(245,250,255,.96) !important;
  background: rgba(80,164,255,.16) !important;
  border-color: rgba(148,207,255,.24) !important;
}

.nav-submenu .nav-item.active .nav-icon,
.nav-item.active > .nav-icon {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(255,255,255,.20), rgba(151,207,255,.18)) !important;
  border-color: rgba(255,255,255,.34) !important;
  box-shadow: 0 10px 20px rgba(20,91,255,.20), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

body.sidebar-collapsed .nav-group-trigger > .nav-icon {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
}

.nav-category-flyout .nav-group > .nav-group-trigger > .nav-icon {
  width: 26px !important;
  min-width: 26px !important;
  height: 26px !important;
}

.nav-category-flyout .nav-submenu .nav-item .nav-icon {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
}

.nav-category-icon {
  color: rgba(205, 231, 255, .82) !important;
  background: rgba(80, 164, 255, .13) !important;
  border-color: rgba(185, 223, 255, .22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.nav-category-icon::before {
  content: none !important;
}

.nav-category-icon svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.nav-category-trigger:hover .nav-category-icon,
.nav-category.open > .nav-category-trigger .nav-category-icon,
.nav-category.pinned > .nav-category-trigger .nav-category-icon,
.nav-category.active > .nav-category-trigger .nav-category-icon {
  color: #fff !important;
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.30) !important;
  box-shadow: 0 10px 22px rgba(20,91,255,.24), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

/* Auxiliar mensual ISV */
.isv-assistant{display:grid;gap:16px}.isv-config-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.isv-config-grid label,.isv-sar-values label{display:grid;gap:5px;font-weight:700;color:#0b2146}.isv-config-grid input,.isv-config-grid select,.isv-sar-values input,.isv-retention-row input,.isv-retention-row select{border:1px solid #cfe0f2;border-radius:8px;padding:9px 10px;background:#fff;color:#071f42;font:inherit}.isv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.isv-box{border:1px solid #d8e4f2;border-radius:12px;background:#fff;padding:14px;box-shadow:0 12px 28px rgba(15,39,68,.06)}.isv-box h4,.isv-manual-grid h4{margin:0 0 10px;color:#072653}.isv-box.result{background:#f7fbff;border-color:#bcd4ff}.isv-row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #edf2f7;padding:7px 0;color:#37516f}.isv-row b{color:#061f44}.isv-row.strong{font-weight:800;color:#061f44}.isv-row.strong b{font-size:1.08rem;color:#0754d6}.isv-manual-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}.isv-manual-grid>article{border:1px solid #d8e4f2;border-radius:12px;background:#fff;padding:14px}.isv-retention-row{display:grid;grid-template-columns:1.2fr 1fr .9fr .55fr .8fr .9fr 1fr 1fr;gap:8px;margin-bottom:8px}.isv-warning,.isv-diff{color:#b45309;font-weight:800}.isv-detail{border:1px solid #d8e4f2;border-radius:10px;background:#fff;padding:10px}.isv-detail summary{font-weight:800;color:#082a5a;cursor:pointer}.isv-alerts{display:grid;gap:8px}.isv-footnote{text-align:center;color:#6b7c93;font-size:.85rem}.fiscal-alert.low{border-color:#bbf7d0;background:#f0fdf4}.fiscal-alert.low strong{color:#047857}@media(max-width:1100px){.isv-config-grid,.isv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.isv-manual-grid{grid-template-columns:1fr}.isv-retention-row{grid-template-columns:1fr 1fr}}@media(max-width:720px){.isv-config-grid,.isv-grid,.isv-retention-row{grid-template-columns:1fr}}
.restaurant-sales-module{display:grid;gap:18px}
.restaurant-sales-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px;align-items:start}
.restaurant-sales-module .panel{background:#fff;border:1px solid #dbe7f0;border-radius:12px;box-shadow:0 12px 28px rgba(15,43,72,.06)}
.restaurant-sales-module .empty-state{min-height:110px;display:grid;place-items:center;text-align:center;color:#64748b}
@media(max-width:980px){.restaurant-sales-grid{grid-template-columns:1fr}}

/* Accounts payable auxiliary consolidated by supplier. */
.supplier-ap-shell .purchase-ap-head small{display:block;margin-top:8px;color:#63758c;font-size:11px;font-weight:750}
.supplier-ap-toolbar{display:grid;grid-template-columns:2fr minmax(150px,1fr) minmax(250px,1.6fr) repeat(3,minmax(130px,1fr));gap:10px;align-items:end;padding:14px;border:1px solid #dbe5f0;border-radius:12px;background:#fff}
.supplier-ap-toolbar label{display:grid;gap:5px;color:#64748b;font-size:10px;font-weight:850}
.supplier-ap-toolbar input,.supplier-ap-toolbar select{width:100%;min-height:38px;padding:8px 10px;border:1px solid #cfd9e6;border-radius:8px;background:#fff;color:#10233f;font-size:12px;font-weight:700}
.supplier-ap-toolbar .supplier-ap-compare{display:flex;align-items:center;gap:7px;min-height:38px;padding:8px 10px;border:1px solid #dbe5f0;border-radius:8px;background:#f8fafc;color:#243c5c}
.supplier-ap-toolbar .supplier-ap-compare input{width:16px;min-height:16px}
.supplier-ap-table-wrap{overflow:auto;border:1px solid #dbe5f0;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.035)}
.supplier-ap-table{width:100%;min-width:1380px;border-collapse:separate;border-spacing:0;color:#10233f}
.supplier-ap-table th{position:sticky;top:0;z-index:1;padding:11px 10px;border-bottom:1px solid #dbe5f0;background:#f8fafc;color:#64748b;font-size:9px;font-weight:900;text-align:left;text-transform:uppercase;letter-spacing:.04em}
.supplier-ap-table td{padding:12px 10px;border-bottom:1px solid #edf2f7;vertical-align:middle;font-size:11px}
.supplier-ap-table td:first-child{width:260px;max-width:280px}.supplier-ap-table td small{display:block;margin-top:4px;color:#6b7d92;font-size:9px;line-height:1.3}
.supplier-ap-name{display:-webkit-box;width:100%;padding:0;overflow:hidden;border:0;background:transparent;color:#10233f;font-weight:900;line-height:1.3;text-align:left;-webkit-box-orient:vertical;-webkit-line-clamp:3;cursor:pointer}
.supplier-ap-name:hover{color:#0b57d0;text-decoration:underline;text-underline-offset:2px}
.supplier-ap-detail-button{min-height:40px;padding:9px 13px;border:1px solid #bcd1ef;border-radius:10px;background:#f3f7ff;color:#0b57d0;font-weight:900;white-space:nowrap}
.supplier-ap-detail-button:hover{border-color:#77a4ed;background:#eaf2ff}
.supplier-ap-drawer{position:fixed;inset:0 0 0 auto;z-index:1400;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;width:min(92vw,980px);height:100dvh;border-left:1px solid #dbe5f0;background:#f7f9fc;box-shadow:-24px 0 64px rgba(5,25,55,.22);animation:supplierDrawerIn .2s ease-out}
@keyframes supplierDrawerIn{from{opacity:.4;transform:translateX(32px)}to{opacity:1;transform:none}}
.supplier-ap-drawer>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:16px;padding:20px 22px;border-bottom:1px solid #dbe5f0;background:#fff}.supplier-ap-drawer>header>div:first-child{min-width:0}
.supplier-ap-drawer h2{margin:0;color:#0c2447;font:900 20px var(--font-display)}.supplier-ap-drawer header p{margin:5px 0 0;color:#64748b;font-size:11px}.supplier-ap-drawer header button{width:40px;height:40px;border:0;border-radius:10px;background:#f1f5f9;color:#53657b;font-size:24px}
.supplier-ap-drawer-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:12px 18px;background:#fff}.supplier-ap-drawer-metrics span{display:grid;gap:4px;padding:10px;border:1px solid #e0e8f1;border-radius:10px;color:#718096;font-size:9px}.supplier-ap-drawer-metrics b{color:#0c2447;font-size:13px}
.supplier-ap-drawer>nav{display:flex;gap:7px;padding:10px 18px;overflow-x:auto;border-block:1px solid #e0e8f1;background:#fff}.supplier-ap-drawer>nav button{flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid #dbe5f0;border-radius:9px;background:#f8fafc;color:#425a78;font-size:10px;font-weight:850}.supplier-ap-drawer>nav button.active{border-color:#82aaf0;background:#eaf2ff;color:#0b57d0}
.supplier-ap-drawer-content{padding:16px 18px;overflow:auto}.supplier-ap-mini-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #dbe5f0;border-radius:12px;background:#fff;overflow:hidden}.supplier-ap-mini-table th,.supplier-ap-mini-table td{padding:10px;border-bottom:1px solid #e8eef5;text-align:left;font-size:10px}.supplier-ap-mini-table th{background:#f6f8fb;color:#64748b;text-transform:uppercase}.supplier-ap-mini-table small{display:block;margin-top:4px;color:#718096}.supplier-ap-mini-table button{margin:2px;padding:6px 8px;border:1px solid #cddaea;border-radius:7px;background:#fff;color:#0b57d0;font-size:9px;font-weight:850}
.supplier-ap-drawer>footer{display:flex;justify-content:flex-end;gap:20px;padding:14px 20px;border-top:1px solid #dbe5f0;background:#fff;color:#64748b;font-size:10px}.supplier-ap-drawer>footer b{margin-left:5px;color:#0c2447;font-size:12px}
.supplier-ap-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.supplier-ap-info-grid article,.supplier-ap-documents article,.supplier-ap-history article{padding:14px;border:1px solid #dbe5f0;border-radius:11px;background:#fff}.supplier-ap-info-grid span,.supplier-ap-info-grid strong{display:block}.supplier-ap-info-grid span{color:#64748b;font-size:10px}.supplier-ap-info-grid strong{margin-top:6px;color:#0c2447;font-size:16px}.supplier-ap-note{padding:12px;border-radius:10px;background:#fff8e7;color:#805b16;font-size:11px}.supplier-ap-documents,.supplier-ap-history{display:grid;gap:9px}.supplier-ap-documents article{display:grid;grid-template-columns:1fr auto;gap:5px 12px}.supplier-ap-documents span,.supplier-ap-history span{color:#64748b;font-size:10px}.supplier-ap-documents button{grid-row:1/3;grid-column:2;padding:7px 10px;border:1px solid #cddaea;border-radius:8px;background:#f7faff;color:#0b57d0;font-weight:850}
@media(max-width:1100px){.supplier-ap-toolbar{grid-template-columns:repeat(3,1fr)}.supplier-ap-drawer-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.supplier-ap-toolbar{grid-template-columns:1fr}.supplier-ap-table{display:grid;min-width:0;gap:10px}.supplier-ap-table thead{display:none}.supplier-ap-table tbody{display:grid;gap:10px}.supplier-ap-table tr{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:15px;border:1px solid #dbe5f0;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(15,35,65,.06)}.supplier-ap-table td{display:block;padding:0;border:0}.supplier-ap-table td:first-child{grid-column:1/-1;width:auto;max-width:none}.supplier-ap-table td:nth-child(2),.supplier-ap-table td:nth-child(5),.supplier-ap-table td:nth-child(6),.supplier-ap-table td:nth-child(7),.supplier-ap-table td:nth-last-child(2),.supplier-ap-table td:last-child{display:block}.supplier-ap-table td:nth-child(3),.supplier-ap-table td:nth-child(4),.supplier-ap-table td:nth-child(8),.supplier-ap-table td:nth-child(9){display:none}.supplier-ap-table td:last-child{justify-self:end}.supplier-ap-drawer{width:100vw}.supplier-ap-drawer-metrics{grid-template-columns:repeat(2,1fr)}.supplier-ap-drawer-content{padding:10px;overflow:auto}.supplier-ap-mini-table{display:block;overflow:auto;white-space:nowrap}.supplier-ap-drawer>footer{display:grid;grid-template-columns:1fr;padding-bottom:calc(14px + env(safe-area-inset-bottom))}}
.supplier-ap-drawer-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.supplier-ap-drawer>header .supplier-ap-drawer-actions button{width:auto;height:auto;min-width:max-content;min-height:34px;padding:7px 11px;border:1px solid #cbdaf0;border-radius:8px;background:#fff;color:#0755c9;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}.supplier-ap-drawer>header .supplier-ap-drawer-actions .supplier-ap-drawer-close{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;color:#64748b}.supplier-ap-drawer-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.supplier-ap-drawer-actions button:hover{border-color:#9db8dd;background:#f4f8fd}.supplier-ap-drawer-actions button:focus-visible{outline:2px solid var(--bbs-focus-ring);outline-offset:2px}
.purchase-ap-pdf-preview{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:22px;background:rgba(6,20,38,.72);backdrop-filter:blur(5px)}.purchase-ap-pdf-preview>section{display:grid;grid-template-rows:auto 1fr;width:min(1400px,96vw);height:min(920px,94vh);overflow:hidden;border:1px solid #d8e3f0;border-radius:16px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.3)}.purchase-ap-pdf-preview header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid #dce5ef}.purchase-ap-pdf-preview header>div:first-child{display:grid;gap:2px}.purchase-ap-pdf-preview header span{color:#64748b;font-size:11px}.purchase-ap-pdf-preview header>div:last-child{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.purchase-ap-pdf-preview button{min-height:34px;padding:7px 11px;border:1px solid #cbdaf0;border-radius:8px;background:#fff;color:#0755c9;font-weight:800}.purchase-ap-pdf-preview button[data-close-purchase-ap-pdf]{min-width:34px;padding:4px;color:#64748b;font-size:21px}.purchase-ap-pdf-preview iframe{width:100%;height:100%;border:0;background:#e9eef5}
@media(max-width:720px){.supplier-ap-drawer>header{grid-template-columns:1fr;padding-right:70px}.supplier-ap-drawer-actions{justify-content:flex-start}.supplier-ap-drawer>header .supplier-ap-drawer-actions .supplier-ap-drawer-close{position:absolute;top:18px;right:18px}.purchase-ap-pdf-preview{padding:0}.purchase-ap-pdf-preview>section{width:100vw;height:100dvh;border:0;border-radius:0}.purchase-ap-pdf-preview header{align-items:flex-start}.purchase-ap-pdf-preview header>div:last-child{gap:5px}.purchase-ap-pdf-preview header button{padding:6px 8px;font-size:11px}.purchase-ap-pdf-preview #openPurchaseApPdfTab{display:none}}
.supplier-ap-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;padding:10px 12px;border:1px solid #b9d2fa;border-radius:10px;background:#f3f7ff}.supplier-ap-selection-bar>div:first-child{display:grid;gap:3px}.supplier-ap-selection-bar strong{color:#0b326f;font-size:12px}.supplier-ap-selection-bar span{color:#53677f;font-size:10px}.supplier-ap-selection-bar>div:last-child,.supplier-ap-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.supplier-ap-selection-bar button,.supplier-ap-row-actions button{min-height:32px;padding:6px 9px;border-radius:7px;font-size:9px;font-weight:850}.supplier-ap-invoice-table-wrap{overflow:auto;border:1px solid #dbe5f0;border-radius:12px;background:#fff}.supplier-ap-invoice-table{width:100%;min-width:950px;border-collapse:separate;border-spacing:0}.supplier-ap-invoice-table th,.supplier-ap-invoice-table td{padding:10px;border-bottom:1px solid #e8eef5;text-align:left;font-size:10px;vertical-align:middle}.supplier-ap-invoice-table th{background:#f6f8fb;color:#64748b;text-transform:uppercase;letter-spacing:.035em}.supplier-ap-invoice-table th.money,.supplier-ap-invoice-table td.money{text-align:right;font-variant-numeric:tabular-nums}.supplier-ap-invoice-table td small{display:block;margin-top:4px;color:#718096}.supplier-ap-invoice-table tr.is-selected{background:#f5f9ff}.supplier-ap-select-cell{width:40px;text-align:center!important}.supplier-ap-select-cell input{width:16px;height:16px;accent-color:#0b57d0}.supplier-ap-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px;color:#64748b;font-size:10px}.supplier-ap-pagination>div{display:flex;align-items:center;gap:5px}.supplier-ap-pagination button{width:30px;height:30px;border:1px solid #d3dfed;border-radius:7px;background:#fff;color:#26415f}.supplier-ap-pagination>strong{text-align:right}.supplier-payment-modal{width:min(96vw,1040px);max-height:94dvh;overflow:auto}.supplier-payment-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px}.supplier-payment-fields label,.supplier-payment-distribution label,.supplier-amount-modal label{display:grid;gap:5px;color:#425a78;font-size:10px;font-weight:800}.supplier-payment-fields .full{grid-column:1/-1}.supplier-payment-fields input,.supplier-payment-fields select,.supplier-payment-fields textarea,.supplier-payment-distribution select,.supplier-amount-modal input{width:100%;min-height:38px;padding:8px 10px;border:1px solid #cfd9e6;border-radius:8px;background:#fff;color:#10233f}.supplier-payment-distribution{display:flex;justify-content:flex-end;padding:0 16px 10px}.supplier-payment-application-table{margin:0 16px;overflow:auto;border:1px solid #dbe5f0;border-radius:10px}.supplier-payment-application-table table{width:100%;min-width:680px;border-collapse:collapse}.supplier-payment-application-table th,.supplier-payment-application-table td{padding:9px;border-bottom:1px solid #e8eef5;text-align:left;font-size:10px}.supplier-payment-application-table .money{text-align:right}.supplier-payment-application-table input{width:120px;padding:7px;border:1px solid #c8d6e7;border-radius:7px;text-align:right}.supplier-payment-totals{display:flex;justify-content:flex-end;gap:20px;padding:14px 18px}.supplier-payment-totals span{display:grid;gap:4px;color:#64748b;font-size:9px;text-align:right}.supplier-payment-totals strong{color:#0c2447;font-size:13px}.supplier-amount-modal{width:min(92vw,520px)}.supplier-amount-modal form{display:grid;gap:14px;padding:18px}.supplier-amount-proposal{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-radius:10px;background:#f5f8fc;color:#53677f;font-size:10px}.supplier-amount-proposal span{display:grid;gap:3px}.supplier-amount-proposal strong{color:#0c2447;font-size:12px}.supplier-ap-payment-history td.money,.supplier-ap-payment-history th.money{text-align:right}
@media(max-width:800px){.supplier-ap-selection-bar{align-items:flex-start;flex-direction:column}.supplier-payment-fields{grid-template-columns:1fr 1fr}.supplier-ap-pagination{grid-template-columns:1fr}.supplier-ap-pagination>strong{text-align:left}}
@media(max-width:560px){.supplier-payment-fields{grid-template-columns:1fr}.supplier-payment-fields .full{grid-column:auto}.supplier-payment-totals{display:grid;grid-template-columns:1fr}.supplier-ap-invoice-table{display:block;min-width:0}.supplier-ap-invoice-table thead{display:none}.supplier-ap-invoice-table tbody{display:grid;gap:9px}.supplier-ap-invoice-table tr{display:grid;grid-template-columns:32px 1fr 1fr;gap:8px;padding:12px;border:1px solid #dbe5f0;border-radius:11px}.supplier-ap-invoice-table td{padding:0;border:0}.supplier-ap-invoice-table td:nth-child(3),.supplier-ap-invoice-table td:last-child{grid-column:2/-1}.supplier-ap-invoice-table td.money{text-align:left}.supplier-ap-row-actions{justify-content:flex-start}}

/* Mobile purchases: compact cards and usable invoice editor. */
@media (max-width: 720px) {
  .purchase-ap-table-wrap {
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .purchase-ap-table,
  .purchase-ap-table tbody { display: grid !important; gap: 12px !important; }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 10px 8px !important;
    width: 100% !important;
    padding: 58px 16px 16px !important;
    overflow: hidden !important;
    border: 1px solid #dbe5f0 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15,35,65,.07) !important;
  }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
  }

  .purchase-ap-table tbody td::before { display: none !important; }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(1) {
    position: absolute !important;
    top: 17px !important;
    left: 17px !important;
  }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td.expand-cell {
    position: absolute !important;
    top: 13px !important;
    right: 14px !important;
    width: 38px !important;
  }

  .purchase-ap-toggle { width: 38px !important; height: 38px !important; border-radius: 11px !important; }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(3),
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(4),
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(5),
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(6),
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(7),
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(8) {
    grid-column: 1 / -1 !important;
  }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(3) {
    padding-bottom: 10px !important;
    border-bottom: 1px solid #edf2f7 !important;
  }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(3) strong {
    font-size: 14px !important;
  }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(4) {
    margin-top: 2px !important;
  }

  .supplier-name { font-size: 15px !important; line-height: 1.25 !important; -webkit-line-clamp: 2 !important; }
  .supplier-rtn { font-size: 11px !important; }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(5) {
    padding: 11px 12px !important;
    border-radius: 11px !important;
    background: #f7faff !important;
  }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(5) > strong {
    color: #0b57d0 !important;
    font-size: 14px !important;
  }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(6),
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(7),
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(8) {
    color: #52677f !important;
    font-size: 12px !important;
  }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(9),
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(10),
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(11) {
    min-height: 66px !important;
    padding: 10px 6px !important;
    border: 1px solid #e4ebf3 !important;
    border-radius: 11px !important;
    background: #fbfdff !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(9)::before,
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(10)::before,
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(11)::before {
    display: block !important;
    margin-bottom: 5px !important;
    color: #7b8ba0 !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
  }

  .purchase-ap-table tbody td:nth-child(9)::before { content: "Total" !important; }
  .purchase-ap-table tbody td:nth-child(10)::before { content: "Pagado" !important; }
  .purchase-ap-table tbody td:nth-child(11)::before { content: "Saldo" !important; }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(9) strong,
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(10),
  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(11) strong {
    font-size: 12px !important;
  }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(12) {
    grid-column: 1 / 3 !important;
    align-self: center !important;
    padding-top: 2px !important;
  }

  .purchase-ap-table tbody > tr:not(.purchase-ap-detail-row) > td:nth-child(13) {
    grid-column: 3 !important;
    justify-self: end !important;
  }

  .purchase-ap-detail-row {
    display: block !important;
    width: 100% !important;
    margin: -5px 0 4px !important;
    overflow: hidden !important;
    border: 1px solid #dbe5f0 !important;
    border-radius: 14px !important;
  }

  .purchase-ap-detail-row > td { display: block !important; width: 100% !important; }

  #fiscalPurchaseModal { align-items: stretch !important; padding: 0 !important; }

  #fiscalPurchaseModal .purchase-invoice-modal {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  #fiscalPurchaseModal .purchase-modal-head {
    min-height: 74px !important;
    padding: 15px 18px 13px !important;
  }

  #fiscalPurchaseModal .purchase-modal-head h2 { font-size: 19px !important; }
  #fiscalPurchaseModal .purchase-modal-head p { margin-top: 2px !important; font-size: 11px !important; }

  #fiscalPurchaseModal form {
    display: grid !important;
    grid-template-rows: auto minmax(0,1fr) auto !important;
    height: calc(100dvh - 74px) !important;
    min-height: 0 !important;
  }

  #fiscalPurchaseModal .purchase-form-tabs {
    display: flex !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border-width: 0 0 1px !important;
    border-radius: 0 !important;
    scrollbar-width: none !important;
  }

  #fiscalPurchaseModal .purchase-form-tabs::-webkit-scrollbar { display: none !important; }

  #fiscalPurchaseModal .purchase-form-tabs button {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 40px !important;
    padding: 6px 10px !important;
    border: 1px solid #dce6f1 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
  }

  #fiscalPurchaseModal .purchase-form-tabs button.active {
    border-color: #9dbbff !important;
    background: #edf4ff !important;
    box-shadow: inset 0 -2px 0 #1557e6 !important;
  }

  #fiscalPurchaseModal .purchase-form-tabs b {
    width: 24px !important;
    height: 24px !important;
    font-size: 11px !important;
  }

  #fiscalPurchaseModal .purchase-form-tabs strong { font-size: 11px !important; }
  #fiscalPurchaseModal .purchase-form-tabs small { display: none !important; }

  #fiscalPurchaseModal .purchase-modal-layout {
    display: block !important;
    min-height: 0 !important;
    padding: 12px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  #fiscalPurchaseModal .purchase-form-main,
  #fiscalPurchaseModal .purchase-form-side { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }

  #fiscalPurchaseModal .purchase-form-side { margin-top: 10px !important; }

  #fiscalPurchaseModal .purchase-card,
  #fiscalPurchaseModal .purchase-side-card { padding: 14px !important; border-radius: 12px !important; }

  #fiscalPurchaseModal .purchase-footer-actions {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid #dfe7f0 !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 -10px 26px rgba(15,35,65,.08) !important;
  }

  #fiscalPurchaseModal .purchase-footer-actions > span { display: none !important; }
  #fiscalPurchaseModal .purchase-footer-actions button { min-height: 44px !important; padding: 8px 10px !important; font-size: 11px !important; }
}

/* Mobile shell: compact topbar and fully inline navigation. */
@media (max-width: 900px) {
  .topbar {
    display: grid !important;
    grid-template-columns: 44px minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 64px !important;
    height: 64px !important;
    padding: 8px 12px !important;
    border-radius: 0 !important;
  }

  .mobile-menu {
    display: inline-grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 1px solid #dbe6f1 !important;
    border-radius: 12px !important;
    color: #0b3767 !important;
    background: #f7faff !important;
    font-size: 0 !important;
  }

  .mobile-menu::before {
    content: "";
    width: 20px;
    height: 14px;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    background: linear-gradient(currentColor,currentColor) center/100% 2px no-repeat;
  }

  .view-switcher { display: none !important; }

  .company-switcher {
    min-width: 0 !important;
    justify-self: start !important;
  }

  .company-selector {
    width: auto !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 3px !important;
    border-radius: 12px !important;
  }

  .company-selector .company-logo {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
  }

  .company-selector div,
  .company-selector > .chevron { display: none !important; }

  .top-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    width: auto !important;
  }

  .top-actions .sync-indicator { display: none !important; }
  .top-actions .icon-button,
  .topbar-profile {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
  }

  .user-menu-wrap {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
  }

  .topbar-profile {
    display: grid !important;
    place-items: center !important;
    overflow: visible !important;
    border: 1px solid #dbe6f1 !important;
    border-radius: 50% !important;
    background: #f7faff !important;
    box-shadow: 0 3px 10px rgba(15,45,80,.08) !important;
  }

  .topbar-profile > span {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    flex: 0 0 34px !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }

  .topbar-profile > i { display: none !important; }

  .topbar-profile:focus-visible {
    outline: 2px solid #2563eb !important;
    outline-offset: 2px !important;
  }

  .user-menu {
    right: -2px !important;
    width: min(300px, calc(100vw - 24px)) !important;
  }

  body.sidebar-collapsed .sidebar,
  .sidebar {
    width: min(86vw, 340px) !important;
    max-width: calc(100vw - 48px) !important;
    padding: 18px 14px 20px !important;
    box-shadow: none !important;
  }

  body.sidebar-collapsed .sidebar.open,
  .sidebar.open {
    box-shadow: 0 0 0 100vmax rgba(3,18,40,.48), 18px 0 44px rgba(3,18,40,.30) !important;
  }

  .sidebar .brand,
  body.sidebar-collapsed .sidebar .brand {
    min-height: 52px !important;
    margin: 0 4px 14px !important;
  }

  .sidebar .brand-logo,
  body.sidebar-collapsed .sidebar .brand-logo {
    width: 180px !important;
    height: 52px !important;
  }

  .main-nav { gap: 7px !important; }

  .nav-category-trigger,
  body.sidebar-collapsed .nav-category-trigger {
    grid-template-columns: 32px minmax(0,1fr) auto 14px !important;
    min-height: 52px !important;
    padding: 9px 11px !important;
    border-radius: 13px !important;
  }

  .nav-category-trigger:hover { transform: none !important; }

  .nav-category > .nav-category-flyout,
  body.sidebar-collapsed .nav-category > .nav-category-flyout {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 5px 0 2px !important;
    padding: 0 0 0 16px !important;
  }

  .nav-category-flyout .nav-group > .nav-submenu,
  body.sidebar-collapsed .nav-category-flyout .nav-group > .nav-submenu {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 5px 0 2px !important;
    padding: 5px !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    border-radius: 11px !important;
    background: rgba(1,15,36,.32) !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .nav-category-flyout .nav-group.open > .nav-submenu,
  .nav-category-flyout .nav-group:has(.nav-item.active) > .nav-submenu {
    display: grid !important;
    gap: 4px !important;
  }

  .sidebar-options-panel { display: none !important; }
  .sidebar-collapse-button,
  .sidebar .help-card,
  .sidebar .app-version-card { display: none !important; }

  .view { padding: 24px 16px 40px !important; }
  .page-heading { align-items: stretch !important; }
  .page-heading h1 { font-size: clamp(28px,9vw,38px) !important; line-height: 1.08 !important; }
}
.accounting-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 20px;padding-bottom:4px}.accounting-tabs button{white-space:nowrap;border:1px solid #d5e2ea;background:#fff;color:#315268;padding:9px 12px;border-radius:9px;cursor:pointer}.accounting-tabs button.active{background:#103b55;color:#fff;border-color:#103b55}.accounting-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}.accounting-kpis article{background:#fff;border:1px solid #dbe7ed;border-radius:12px;padding:16px}.accounting-kpis span,.accounting-kpis small{display:block;color:#617887}.accounting-kpis strong{display:block;font-size:1.25rem;margin:7px 0}.accounting-table-wrap{overflow:auto;background:#fff;border:1px solid #dbe7ed;border-radius:12px}.accounting-table-wrap table{width:100%;border-collapse:collapse}.accounting-table-wrap th,.accounting-table-wrap td{padding:11px 13px;border-bottom:1px solid #e8eff3;text-align:left;white-space:nowrap}.accounting-table-wrap th{background:#f4f8fa;color:#315268}.accounting-status{display:inline-block;padding:4px 8px;border-radius:999px;background:#e7f1f5;color:#16465e;font-size:.76rem;font-weight:700}.accounting-error{padding:12px;margin-bottom:16px;border-radius:8px;background:#fff0f0;color:#8a1f1f}@media(max-width:900px){.accounting-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.accounting-kpis{grid-template-columns:1fr}.accounting-tabs{margin-inline:-12px;padding-inline:12px}}
.accounting-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 20px;padding-bottom:4px}.accounting-tabs button{white-space:nowrap;border:1px solid #d5e2ea;background:#fff;color:#315268;padding:9px 12px;border-radius:9px;cursor:pointer}.accounting-tabs button.active{background:#103b55;color:#fff}.accounting-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}.accounting-kpis article{background:#fff;border:1px solid #dbe7ed;border-radius:12px;padding:16px}.accounting-kpis span,.accounting-kpis small{display:block;color:#617887}.accounting-kpis strong{display:block;font-size:1.25rem;margin:7px 0}.accounting-table-wrap{overflow:auto;background:#fff;border:1px solid #dbe7ed;border-radius:12px}.accounting-table-wrap table{width:100%;border-collapse:collapse}.accounting-table-wrap th,.accounting-table-wrap td{padding:11px 13px;border-bottom:1px solid #e8eff3;text-align:left;white-space:nowrap}.accounting-table-wrap th{background:#f4f8fa;color:#315268}.accounting-status{padding:4px 8px;border-radius:999px;background:#e7f1f5;color:#16465e;font-size:.76rem;font-weight:700}.accounting-error{padding:12px;margin-bottom:16px;border-radius:8px;background:#fff0f0;color:#8a1f1f}@media(max-width:900px){.accounting-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.accounting-kpis{grid-template-columns:1fr}}

/* BBS Core enterprise authentication */
:root {
  --auth-primary:var(--bbs-color-brand-600);
  --auth-primary-deep:var(--bbs-color-brand-700);
  --auth-navy:var(--bbs-color-brand-950);
  --auth-ink:var(--bbs-text-primary);
  --auth-muted:var(--bbs-text-secondary);
  --auth-border:var(--bbs-border-default);
  --auth-surface:var(--bbs-surface-primary);
  --auth-canvas:var(--bbs-surface-canvas);
  --auth-soft:var(--bbs-surface-subtle);
  --auth-danger:var(--bbs-color-danger-600);
  --auth-success:var(--bbs-color-success-600);
}

.auth-screen {
  position:fixed!important;
  inset:0;
  z-index:500;
  display:none;
  grid-template-columns:minmax(420px,40%) minmax(0,60%);
  min-height:100dvh;
  padding:0!important;
  background:var(--auth-canvas)!important;
  color:var(--auth-ink);
  overflow:auto;
}
.auth-screen.open { display:grid!important; }
.auth-screen::before { display:none; }
.auth-story { position:relative;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 78% 83%,rgba(14,91,255,.37),transparent 27%),radial-gradient(circle at 15% 15%,rgba(11,84,220,.13),transparent 30%),linear-gradient(145deg,#031431,#061d48 57%,#02112a);color:#fff; }
.auth-story::after { content:"";position:absolute;right:-16%;bottom:-20%;width:68%;aspect-ratio:1;border-radius:50%;background:#0759ff;filter:blur(90px);opacity:.33; }
.auth-hex-pattern { position:absolute;inset:0;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='144' height='126' viewBox='0 0 144 126'%3E%3Cg fill='none' stroke='%233b8cff' stroke-width='1'%3E%3Cpath d='M36 1 71 21v41L36 82 1 62V21Z'/%3E%3Cpath d='m108 63 35 20v41l-35 20-35-20V83Z'/%3E%3C/g%3E%3C/svg%3E");background-size:184px 161px;mask-image:linear-gradient(140deg,#000,transparent 72%); }
.auth-story-inner { position:relative;z-index:2;display:flex;flex-direction:column;width:min(610px,calc(100% - 88px));min-height:100%;margin:auto;padding:8vh 0 6vh; }
.auth-story-brand { display:flex;align-items:center;gap:22px; }
.auth-story-brand img { width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,83,255,.35)); }
.auth-story-brand strong,.auth-story-brand span { display:block; }
.auth-story-brand strong { font:800 clamp(36px,3.2vw,54px)/1 var(--font-display);letter-spacing:-.045em; }
.auth-story-brand span { margin-top:10px;color:#becbe3;font-size:17px;letter-spacing:.01em; }
.auth-story-copy { margin-top:clamp(68px,10vh,122px); }
.auth-story-copy>i { display:block;width:50px;height:4px;margin-bottom:34px;border-radius:9px;background:#2580ff;box-shadow:0 0 24px rgba(37,128,255,.65); }
.auth-story-copy h1 { margin:0;color:#fff;font:800 clamp(31px,2.6vw,45px)/1.18 var(--font-display);letter-spacing:-.035em; }
.auth-story-copy h1 em { color:#1670ff;font-style:normal; }
.auth-story-copy p { max-width:520px;margin:24px 0 0;color:#c0cce0;font-size:16px;line-height:1.75; }
.auth-capabilities { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:56px 0 0;padding:0;list-style:none; }
.auth-capabilities li { display:grid;grid-template-rows:38px auto;align-items:start;justify-items:center;gap:9px;min-width:0;padding:0 8px;border-right:1px solid rgba(57,134,255,.38);color:#d9e2f2;text-align:center;font-size:12px;line-height:1.35; }
.auth-capabilities li:last-child { border:0; }
.auth-capabilities svg,.auth-story-assurance svg { fill:none;stroke:#2780ff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.auth-capabilities svg { width:32px;height:32px; }
.auth-story-assurance { display:flex;align-items:flex-start;gap:13px;margin:auto 0 0;padding-top:var(--bbs-space-8);color:#c6d3e9;font-size:13px;line-height:1.55; }
.auth-story-assurance svg { flex:0 0 23px;width:23px;height:23px; }

.auth-workspace { display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:100dvh;padding:52px clamp(28px,5vw,88px) 28px;background:radial-gradient(circle at 15% 48%,rgba(31,104,255,.07),transparent 24%),var(--auth-canvas); }
.auth-card { position:relative;z-index:1;width:min(560px,100%)!important;margin:auto!important;padding:42px 50px 28px!important;border:1px solid rgba(205,217,236,.78)!important;border-radius:22px!important;background:var(--auth-surface)!important;color:var(--auth-ink);text-align:left!important;box-shadow:0 24px 65px rgba(22,49,96,.12),0 3px 14px rgba(15,42,91,.05)!important;animation:auth-enter .25s ease both; }
@keyframes auth-enter { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
.auth-card-header { display:flex;flex-direction:column;align-items:center; }
.auth-brand-block { display:flex!important;align-items:center;justify-content:center;gap:16px;margin:0 auto 18px!important;padding:0!important;background:none!important;box-shadow:none!important; }
.auth-logo-mark { width:62px!important;height:62px!important;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(13,92,245,.2)); }
.auth-logo-text { color:var(--auth-ink)!important;font:800 42px/1 var(--font-display)!important;letter-spacing:-.04em!important; }
.auth-eyebrow { display:inline-flex!important;align-items:center;gap:7px;margin:0 auto 18px!important;padding:7px 15px!important;border-radius:999px;background:#eaf1ff!important;color:var(--auth-primary)!important;font-size:13px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important; }
.auth-eyebrow::before { display:none!important; }
.auth-eyebrow svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.auth-view { display:none;animation:auth-enter .25s ease both; }
.auth-view.active { display:block; }
.auth-view-heading { margin-bottom:26px;text-align:center; }
.auth-view-heading h2 { margin:0;color:var(--auth-ink);font:800 34px/1.1 var(--font-display);letter-spacing:-.04em; }
.auth-view-heading p { margin:8px auto 0;max-width:410px;color:var(--auth-muted);font-size:15px;line-height:1.5; }
.auth-card form { display:grid!important;gap:16px!important;max-width:none!important;margin:0!important;text-align:left!important; }
.auth-field { display:grid!important;gap:7px!important;color:#172b50!important;font-size:13px!important;font-weight:600!important; }
.auth-input-wrap { position:relative;display:flex;align-items:center; }
.auth-field-icon { position:absolute;left:17px;width:21px;height:21px;fill:none;stroke:#536a98!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none; }
.auth-card .auth-input-wrap input { width:100%;height:56px!important;padding:0 48px!important;border:1px solid var(--auth-border)!important;border-radius:14px!important;background:var(--auth-surface)!important;color:var(--auth-ink)!important;font:500 15px var(--font-main)!important;outline:0;box-shadow:none!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.auth-card .auth-input-wrap input:hover { border-color:#9eb3d4!important; }
.auth-card .auth-input-wrap input:focus { border-color:var(--auth-primary)!important;box-shadow:0 0 0 4px rgba(13,92,245,.12)!important; }
.auth-card .auth-input-wrap input[aria-invalid="true"] { border-color:var(--auth-danger)!important;box-shadow:0 0 0 4px rgba(180,35,24,.08)!important; }
.auth-card .auth-input-wrap input::placeholder { color:#8392b0!important;font-weight:400!important; }
#loginPassword { padding-right:54px!important; }
.auth-password-toggle { position:absolute;right:9px;display:grid;place-items:center;width:40px;min-width:40px!important;height:40px!important;padding:0!important;border:0;border-radius:10px;background:transparent!important;color:#435a88!important;cursor:pointer; }
.auth-password-toggle:hover { background:var(--auth-soft)!important;color:var(--auth-primary)!important; }
.auth-password-toggle svg { width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.auth-eye-closed,.auth-password-toggle.visible .auth-eye-open { display:none; }.auth-password-toggle.visible .auth-eye-closed { display:block; }
.auth-field-error { min-height:0;color:var(--auth-danger);font-size:11px;font-weight:600; }.auth-field-error:empty { display:none; }
.auth-options { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 2px; }
.auth-remember { display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;color:#33486d!important;font-size:13px!important;font-weight:500!important;cursor:pointer; }
.auth-remember input { position:absolute;opacity:0;pointer-events:none; }
.auth-remember>span { display:grid;place-items:center;width:19px;height:19px;border:1px solid #aebed8;border-radius:4px;background:var(--auth-surface); }
.auth-remember input:checked+span { border-color:var(--auth-primary);background:var(--auth-primary); }
.auth-remember input:checked+span::after { content:"";width:8px;height:4px;border:0 solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) translate(1px,-1px); }
.auth-link,.auth-help-link,.auth-back { padding:0;border:0;background:none;color:var(--auth-primary);font:600 13px var(--font-main);cursor:pointer;transition:color .18s ease,transform .18s ease; }
.auth-link:hover,.auth-help-link:hover,.auth-back:hover { color:var(--auth-primary-deep); }
.auth-submit,.auth-secondary { display:flex;align-items:center;justify-content:center;gap:11px;width:100%;height:56px;margin-top:1px;border-radius:13px;font:700 15px var(--font-display);transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.auth-submit { border:1px solid var(--auth-primary-deep);background:linear-gradient(180deg,#1268ff,#0847ce);color:#fff;box-shadow:0 13px 25px rgba(8,71,206,.24); }
.auth-submit:hover:not(:disabled) { transform:translateY(-1px);box-shadow:0 17px 31px rgba(8,71,206,.31); }
.auth-submit:disabled { opacity:.68;cursor:wait; }
.auth-submit-icon { width:19px!important;height:19px!important;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.auth-submit.loading .auth-submit-icon,.auth-submit.loading>span { opacity:.62; }
.auth-spinner { display:none;width:17px;height:17px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite; }.auth-submit.loading .auth-spinner { display:block; }
@keyframes auth-spin { to{transform:rotate(360deg)} }
.auth-secondary { border:1px solid var(--auth-border);background:var(--auth-surface);color:var(--auth-primary);box-shadow:none; }
.auth-secondary:hover { border-color:var(--auth-primary);background:var(--auth-soft);transform:translateY(-1px); }
.auth-divider { display:flex;align-items:center;gap:15px;margin:25px 0 17px;color:#8997b2;font-size:12px; }.auth-divider::before,.auth-divider::after { content:"";height:1px;flex:1;background:#d9e2f0; }
.auth-account-copy { margin:0;text-align:center;color:#596b8c;font-size:13px; }
.auth-help-link { display:flex;align-items:center;gap:7px;margin:18px auto 0; }.auth-help-link svg,.auth-back svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.auth-message { min-height:18px!important;margin:13px 0 0!important;color:var(--auth-muted)!important;font-size:12px!important;line-height:1.4;text-align:center!important; }.auth-message:empty { min-height:0!important;margin:0!important; }.auth-message[data-type="error"] { color:var(--auth-danger)!important; }.auth-message[data-type="success"] { color:var(--auth-success)!important; }
.auth-trust { display:flex;justify-content:center;gap:0;margin-top:23px;padding-top:19px;border-top:1px solid #dce4f0;color:#667697;font-size:10px;white-space:nowrap; }.auth-trust span { padding:0 13px;border-right:1px solid #dce4f0; }.auth-trust span:last-child { border:0; }
.auth-footer { position:static!important;margin:24px 0 0!important;color:#73819e!important;font-size:11px!important;font-weight:500!important;text-align:center!important; }.auth-footer i { margin:0 8px;font-style:normal; }.auth-footer span { display:block;margin-top:8px; }
.auth-back { display:inline-flex;align-items:center;gap:4px;margin-bottom:20px; }
.auth-state-icon { display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:18px;background:var(--auth-soft);color:var(--auth-primary);font-size:24px;font-weight:800; }.auth-state-icon.success { background:#e7f8f1;color:var(--auth-success); }.auth-state-icon.warning { background:#fff4d8;color:#a15c00; }.auth-state-icon.danger { background:#fff0ee;color:var(--auth-danger); }.auth-state-icon svg { width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.auth-state-view { padding:12px 0 3px;text-align:center; }.auth-state-detail { margin:-9px 0 22px;padding:12px;border-radius:10px;background:var(--auth-soft);color:#41577e;font-size:12px; }
.auth-otp-input { width:100%;height:64px;border:1px solid var(--auth-border);border-radius:14px;background:var(--auth-surface);color:var(--auth-ink);font:700 28px var(--font-display);letter-spacing:.55em;text-align:center;outline:0; }.auth-otp-input:focus { border-color:var(--auth-primary);box-shadow:0 0 0 4px rgba(13,92,245,.12); }
.auth-mfa-enrollment { display:grid;justify-items:center;gap:10px;margin:-8px 0 20px;padding:18px;border:1px solid var(--auth-border);border-radius:16px;background:var(--auth-soft);text-align:center; }.auth-mfa-enrollment img { width:180px;height:180px;border:10px solid #fff;border-radius:12px;background:#fff; }.auth-mfa-enrollment p { margin:0;color:var(--auth-muted);font-size:13px;line-height:1.4; }.auth-mfa-enrollment code { max-width:100%;padding:8px 10px;border-radius:8px;background:var(--auth-surface);color:var(--auth-ink);font-size:12px;overflow-wrap:anywhere;user-select:all; }
.auth-loading-mark { position:relative;display:grid;place-items:center;width:88px;height:88px;margin:8px auto 28px; }.auth-loading-mark img { width:62px;height:62px; }.auth-loading-mark i { position:absolute;inset:0;border:2px solid #dce7fb;border-top-color:var(--auth-primary);border-radius:50%;animation:auth-spin 1s linear infinite; }
button:focus-visible,.auth-card input:focus-visible { outline:3px solid rgba(13,92,245,.35);outline-offset:3px; }

@media (max-width:1100px) {
  .auth-screen { grid-template-columns:minmax(330px,35%) minmax(0,65%); }
  .auth-story-inner { width:calc(100% - 54px); }
  .auth-story-brand img { width:64px;height:64px; }.auth-story-brand strong { font-size:36px; }.auth-story-brand span { font-size:13px; }
  .auth-capabilities { grid-template-columns:repeat(3,1fr);gap:22px 0; }.auth-capabilities li:nth-child(3) { border:0; }
  .auth-workspace { padding-inline:32px; }.auth-card { padding-inline:38px!important; }
}
@media (max-width:780px) {
  .auth-screen { display:none;grid-template-columns:1fr;background:var(--auth-canvas)!important; }.auth-screen.open { display:block!important; }
  .auth-story { display:none; }.auth-workspace { justify-content:flex-start;min-height:100dvh;padding:24px 16px max(24px,env(safe-area-inset-bottom)); }
  .auth-card { width:100%!important;margin:0 auto!important;padding:31px 24px 24px!important;border-radius:20px!important;box-shadow:0 15px 45px rgba(22,49,96,.1)!important; }
  .auth-logo-mark { width:52px!important;height:52px!important; }.auth-logo-text { font-size:34px!important; }.auth-eyebrow { margin-bottom:20px!important;font-size:12px!important; }
  .auth-view-heading h2 { font-size:29px; }.auth-view-heading p { font-size:14px; }.auth-trust { flex-wrap:wrap;gap:8px 0;white-space:normal; }.auth-trust span { flex:1 1 33%;min-width:94px;padding:0 7px;text-align:center; }
  .auth-footer { padding-bottom:4px; }
}
@media (max-width:390px) { .auth-workspace { padding-inline:10px; }.auth-card { padding-inline:19px!important; }.auth-logo-text { font-size:31px!important; }.auth-trust span { padding-inline:4px;font-size:9px; } }
@media (max-width:330px) { .auth-options { align-items:flex-start;flex-direction:column;gap:10px; }.auth-trust span { flex-basis:100%;border:0; } }
@media (prefers-reduced-motion:reduce) { .auth-card,.auth-view,.auth-submit,.auth-spinner,.auth-loading-mark i { animation:none!important;transition:none!important; } }
@media (prefers-color-scheme:dark) {
  :root { --auth-ink:#eef4ff;--auth-muted:#a7b5cf;--auth-border:#354866;--auth-surface:#0e1b30;--auth-canvas:#071225;--auth-soft:#14284a; }
  .auth-card { border-color:#263954!important;box-shadow:0 24px 70px rgba(0,0,0,.42)!important; }.auth-card .auth-input-wrap input,.auth-otp-input { background:#0a172a!important; }.auth-field,.auth-remember { color:#dce7fa!important; }.auth-divider::before,.auth-divider::after,.auth-trust { border-color:#263954;background-color:transparent; }.auth-divider::before,.auth-divider::after { background:#263954; }.auth-account-copy,.auth-trust,.auth-footer { color:#9cabc4!important; }
}

/* Authentication adoption of BBS Core Design System v1.0 */
.auth-mobile-security,.auth-tablet-brand { display:none; }
.auth-card,.auth-card button,.auth-card input,.auth-card textarea { font-family:var(--bbs-font-family); }
.auth-card { border-radius:var(--bbs-radius-2xl)!important;box-shadow:var(--bbs-shadow-lg)!important; }
.auth-card .auth-field>input,.auth-card .auth-field>textarea { width:100%;min-height:var(--bbs-control-height-lg);padding:0 var(--bbs-space-4);border:1px solid var(--auth-border);border-radius:var(--bbs-radius-lg);background:var(--auth-surface);color:var(--auth-ink);font-size:var(--bbs-font-size-md);outline:0;transition:border-color var(--bbs-duration-normal) var(--bbs-ease-standard),box-shadow var(--bbs-duration-normal) var(--bbs-ease-standard); }
.auth-card .auth-field>textarea { min-height:88px;padding-block:var(--bbs-space-3);resize:vertical;line-height:var(--bbs-line-normal); }
.auth-card .auth-field>input:hover,.auth-card .auth-field>textarea:hover { border-color:var(--bbs-border-strong); }
.auth-card .auth-field>input:focus,.auth-card .auth-field>textarea:focus { border-color:var(--auth-primary);box-shadow:var(--bbs-focus-ring); }
.auth-field span small { color:var(--auth-muted);font-weight:var(--bbs-weight-regular); }
.auth-post-actions { margin-top:var(--bbs-space-5); }
.auth-divider { height:1px;margin:var(--bbs-space-4) 0!important;background:var(--bbs-border-subtle); }
.auth-divider::before,.auth-divider::after { display:none; }
.auth-guidance { text-align:center; }
.auth-guidance p { margin:0 0 var(--bbs-space-2);color:var(--auth-muted);font-size:var(--bbs-font-size-sm); }
.auth-guidance-links { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--bbs-space-4); }
.auth-action-link { display:inline-flex;align-items:center;justify-content:center;gap:var(--bbs-space-2);min-height:44px;padding:0 var(--bbs-space-2);border:0;background:transparent;color:var(--auth-primary);font:var(--bbs-weight-semibold) var(--bbs-font-size-sm)/1 var(--bbs-font-family);cursor:pointer;transition:color var(--bbs-duration-normal) var(--bbs-ease-standard),background var(--bbs-duration-normal) var(--bbs-ease-standard); }
.auth-action-link:hover { color:var(--auth-primary-deep); }
.auth-action-link svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.auth-state-link { margin-top:var(--bbs-space-3); }
.auth-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:var(--bbs-space-4); }
.auth-field-wide { grid-column:1/-1; }
.auth-form-note { margin:0;padding:var(--bbs-space-3);border-radius:var(--bbs-radius-md);background:var(--bbs-color-info-50);color:var(--bbs-color-info-600);font-size:var(--bbs-font-size-xs);line-height:var(--bbs-line-normal); }
.auth-support-channels { display:grid;gap:var(--bbs-space-3); }
.auth-support-channel { display:flex;align-items:center;gap:var(--bbs-space-3);min-height:56px;padding:var(--bbs-space-3) var(--bbs-space-4);border:1px solid var(--bbs-border-subtle);border-radius:var(--bbs-radius-md);background:var(--bbs-surface-secondary);color:var(--bbs-text-primary);text-decoration:none; }
.auth-support-channel svg { flex:0 0 22px;width:22px;height:22px;fill:none;stroke:var(--auth-primary);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.auth-support-channel strong,.auth-support-channel small { display:block; }.auth-support-channel small { margin-top:3px;color:var(--auth-muted);font-size:var(--bbs-font-size-xs); }
.auth-empty-state { padding:var(--bbs-space-5);border:1px dashed var(--bbs-border-default);border-radius:var(--bbs-radius-lg);background:var(--bbs-surface-secondary);text-align:center; }.auth-empty-state strong { color:var(--auth-ink);font-size:var(--bbs-font-size-sm); }.auth-empty-state p { margin:var(--bbs-space-2) 0 0;color:var(--auth-muted);font-size:var(--bbs-font-size-xs);line-height:var(--bbs-line-normal); }
.auth-password-strength { display:grid;gap:var(--bbs-space-2);margin-top:-4px; }.auth-password-strength>div { height:5px;overflow:hidden;border-radius:var(--bbs-radius-full);background:var(--bbs-color-gray-100); }.auth-password-strength>div span { display:block;width:0;height:100%;border-radius:inherit;background:var(--bbs-color-danger-600);transition:width var(--bbs-duration-normal) var(--bbs-ease-standard),background var(--bbs-duration-normal) var(--bbs-ease-standard); }.auth-password-strength small { color:var(--auth-muted);font-size:var(--bbs-font-size-xs); }
.auth-view[data-auth-view="reset"] .auth-input-wrap input { padding-left:var(--bbs-space-4)!important; }
.auth-password-requirements { display:grid;grid-template-columns:1fr 1fr;gap:var(--bbs-space-2);margin:0;padding:0;list-style:none;color:var(--auth-muted);font-size:var(--bbs-font-size-xs); }.auth-password-requirements li { display:flex;align-items:center;gap:6px; }.auth-password-requirements li::before { content:"";width:7px;height:7px;border:1px solid currentColor;border-radius:50%; }.auth-password-requirements li.met { color:var(--auth-success); }.auth-password-requirements li.met::before { border-color:var(--auth-success);background:var(--auth-success); }
.auth-loading-brand { display:flex;align-items:center;justify-content:center;gap:var(--bbs-space-3);margin:0 auto var(--bbs-space-6); }.auth-loading-brand img { width:54px;height:54px; }.auth-loading-brand strong { color:var(--auth-ink);font-size:var(--bbs-font-size-2xl);font-weight:var(--bbs-weight-extrabold); }
.auth-loading-steps { display:grid;gap:var(--bbs-space-3);margin:0 0 var(--bbs-space-5);padding:0;list-style:none;text-align:left; }.auth-loading-steps li { display:flex;align-items:center;gap:var(--bbs-space-3);color:var(--auth-muted);font-size:var(--bbs-font-size-sm); }.auth-loading-steps li span { width:10px;height:10px;border:2px solid var(--bbs-border-strong);border-radius:50%; }.auth-loading-steps li.active { color:var(--auth-primary);font-weight:var(--bbs-weight-semibold); }.auth-loading-steps li.active span { border-color:var(--auth-primary);box-shadow:0 0 0 4px rgba(13,92,245,.12); }.auth-loading-steps li.complete { color:var(--auth-success); }.auth-loading-steps li.complete span { border-color:var(--auth-success);background:var(--auth-success); }
.auth-progress { height:7px;overflow:hidden;border-radius:var(--bbs-radius-full);background:var(--bbs-color-gray-100); }.auth-progress span { display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--bbs-color-brand-500),var(--bbs-color-brand-700));transition:width var(--bbs-duration-slow) var(--bbs-ease-standard); }
.auth-trust { align-items:flex-start; }.auth-trust span { display:flex;align-items:center;justify-content:center;gap:5px; }.auth-trust svg { flex:0 0 15px;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }.auth-trust [data-validation="pending"] { opacity:.72; }.auth-trust-note { margin:var(--bbs-space-2) 0 0;color:var(--auth-muted);font-size:10px;text-align:center; }
.auth-footer b { font-weight:var(--bbs-weight-semibold); }

@media (min-width:781px) and (max-width:1179px) {
  .auth-screen { display:none!important;grid-template-columns:1fr!important;background:linear-gradient(145deg,var(--bbs-color-navy-900),var(--bbs-color-brand-950))!important; }
  .auth-screen.open { display:block!important; }
  .auth-story { display:none!important; }
  .auth-workspace { justify-content:flex-start;min-height:100dvh;padding:clamp(34px,6vh,68px) 28px 32px;background:radial-gradient(circle at 20% 20%,rgba(40,108,255,.22),transparent 30%),linear-gradient(145deg,var(--bbs-color-navy-900),var(--bbs-color-brand-950)); }
  .auth-workspace::before { content:"";position:fixed;inset:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='144' height='126' viewBox='0 0 144 126'%3E%3Cpath fill='none' stroke='%235d92ff' d='M36 1 71 21v41L36 82 1 62V21Z'/%3E%3C/svg%3E"); }
  .auth-tablet-brand { position:relative;z-index:1;display:flex;align-items:center;gap:var(--bbs-space-4);margin:0 auto var(--bbs-space-8);color:var(--bbs-text-inverse); }.auth-tablet-brand img { width:64px;height:64px; }.auth-tablet-brand strong,.auth-tablet-brand span { display:block; }.auth-tablet-brand strong { font-size:var(--bbs-font-size-3xl); }.auth-tablet-brand span { margin-top:4px;color:#bdcbe3;font-size:var(--bbs-font-size-sm); }
  .auth-card { position:relative;z-index:1;width:min(580px,calc(100vw - 56px))!important;margin:0 auto!important;padding:38px 46px 28px!important; }
  .auth-card-header .auth-brand-block { display:none!important; }.auth-eyebrow { margin-bottom:24px!important; }
  .auth-footer { position:relative!important;color:#c5d0e2!important; }
}

@media (max-width:780px) {
  .auth-workspace { padding:calc(var(--bbs-space-3) + env(safe-area-inset-top)) max(var(--bbs-space-3),env(safe-area-inset-right)) calc(var(--bbs-space-6) + env(safe-area-inset-bottom)) max(var(--bbs-space-3),env(safe-area-inset-left))!important; }
  .auth-mobile-security { display:flex;align-items:center;width:100%;max-width:560px;min-height:42px;margin:0 auto var(--bbs-space-4);padding:0 var(--bbs-space-3);border:1px solid var(--bbs-border-subtle);border-radius:var(--bbs-radius-md);background:rgba(255,255,255,.84);color:var(--bbs-text-secondary);font-size:11px;backdrop-filter:blur(12px); }.auth-mobile-security svg { width:16px;height:16px;margin-right:6px;fill:none;stroke:var(--bbs-color-success-600);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }.auth-mobile-security strong { margin-left:auto;color:var(--bbs-text-primary);font-weight:var(--bbs-weight-semibold); }
  .auth-tablet-brand { display:flex;align-items:center;gap:var(--bbs-space-3);margin:0 auto var(--bbs-space-5); }.auth-tablet-brand img { width:50px;height:50px; }.auth-tablet-brand strong,.auth-tablet-brand span { display:block; }.auth-tablet-brand strong { color:var(--bbs-text-primary);font-size:var(--bbs-font-size-2xl); }.auth-tablet-brand span { margin-top:2px;color:var(--bbs-text-muted);font-size:11px; }
  .auth-card { padding:28px clamp(18px,5vw,26px) 22px!important; }.auth-card-header .auth-brand-block { display:none!important; }.auth-eyebrow { margin-bottom:22px!important; }
  .auth-form-grid { grid-template-columns:1fr; }.auth-field-wide { grid-column:auto; }
  .auth-guidance-links { flex-direction:column;gap:0; }.auth-action-link { width:100%; }
  .auth-password-requirements { grid-template-columns:1fr; }
  .auth-trust { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }.auth-trust span { min-width:0;padding:0 5px!important;border-right:1px solid var(--bbs-border-subtle)!important;font-size:9px;white-space:normal; }.auth-trust span:last-child { border:0!important; }
}

@media (max-width:350px) {
  .auth-workspace { padding-inline:8px!important; }.auth-card { padding-inline:16px!important; }.auth-mobile-security strong { max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.auth-options { flex-direction:column;align-items:flex-start;gap:var(--bbs-space-3); }.auth-view-heading h2 { font-size:26px; }.auth-trust { grid-template-columns:1fr;gap:var(--bbs-space-2); }.auth-trust span { border:0!important; }
}

/* Professional authentication layout audit - local sandbox */
.auth-screen {
  width:100%;
  height:100dvh;
  min-height:0;
  grid-template-columns:minmax(420px,42%) minmax(0,58%);
  overflow-x:hidden;
  overflow-y:hidden;
}
body.auth-locked > .app-shell,
body.app-booting > .app-shell {
  display:none!important;
}
.auth-story {
  height:100dvh;
  min-height:0;
}
.auth-story-inner {
  width:min(600px,calc(100% - 72px));
  height:100%;
  min-height:0;
  padding:clamp(34px,5.5vh,64px) 0 clamp(28px,4.5vh,52px);
}
.auth-story-brand { gap:18px; }
.auth-story-brand img { width:68px;height:68px; }
.auth-story-brand strong { font-size:clamp(34px,3vw,48px); }
.auth-story-brand span { max-width:330px;margin-top:7px;font-size:14px;line-height:1.4; }
.auth-story-copy { margin-top:clamp(44px,7vh,78px); }
.auth-story-copy>i { margin-bottom:24px; }
.auth-story-copy p { margin-top:18px;font-size:15px;line-height:1.65; }
.auth-capabilities { margin-top:clamp(34px,5vh,50px); }
.auth-capabilities li { grid-template-rows:34px minmax(34px,auto);align-content:start;font-size:11px; }
.auth-capabilities svg { width:28px;height:28px; }
.auth-story-assurance { max-width:390px;padding-top:clamp(22px,4vh,36px); }

.auth-workspace {
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  place-items:center;
  width:100%;
  height:100dvh;
  min-height:0;
  padding:16px clamp(24px,4vw,64px) 12px;
  overflow:hidden;
}
.auth-card {
  align-self:center;
  width:min(480px,100%)!important;
  margin:0!important;
  padding:25px 34px 20px!important;
  border-radius:20px!important;
  box-shadow:0 22px 55px rgba(22,49,96,.11),0 2px 10px rgba(15,42,91,.04)!important;
}
.auth-brand-block { gap:13px;margin-bottom:11px!important; }
.auth-logo-mark { width:48px!important;height:48px!important; }
.auth-logo-text { font-size:34px!important; }
.auth-eyebrow { margin-bottom:13px!important;padding:6px 13px!important;font-size:12px!important; }
.auth-view-heading { margin-bottom:17px; }
.auth-view-heading h2 { font-size:30px; }
.auth-view-heading p { margin-top:6px;font-size:13px; }
.auth-card form { gap:11px!important; }
.auth-field { gap:6px!important; }
.auth-field label { color:#172b50;font-size:12px;font-weight:650; }
.auth-card .auth-input-wrap input { height:50px!important;border-width:1px!important;border-radius:12px!important;background:#fbfdff!important; }
.auth-card .auth-input-wrap input:focus,
.auth-card .auth-input-wrap input:focus-visible {
  border:2px solid var(--auth-primary)!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(13,92,245,.12)!important;
}
.auth-card .auth-input-wrap input:-webkit-autofill {
  -webkit-text-fill-color:var(--auth-ink);
  box-shadow:0 0 0 1000px #f7faff inset!important;
  transition:background-color 9999s ease-out;
}
.auth-card .auth-input-wrap input:valid:not(:placeholder-shown):not([aria-invalid="true"]) { border-color:#7aa88e!important; }
.auth-card .auth-input-wrap input:disabled { background:#eef2f7!important;color:#78869d!important;cursor:not-allowed; }
.auth-options { min-height:44px;margin:0; }
.auth-remember { min-height:44px;line-height:1.25; }
.auth-remember input:focus-visible+span { outline:3px solid rgba(13,92,245,.3);outline-offset:3px; }
.auth-link { min-height:44px;padding:0 4px; }
.auth-link:focus-visible,.auth-action-link:focus-visible,.auth-password-toggle:focus-visible,.auth-submit:focus-visible,.auth-secondary:focus-visible,.auth-back:focus-visible {
  outline:3px solid rgba(13,92,245,.32)!important;
  outline-offset:3px!important;
}
.auth-link:active,.auth-action-link:active { color:var(--auth-primary-deep);transform:translateY(1px); }
.auth-submit,.auth-secondary { height:52px; }
.auth-post-actions { margin-top:12px; }
.auth-divider { margin:10px 0!important; }
.auth-guidance p { margin-bottom:0;font-size:12px; }
.auth-action-link { min-height:38px; }
.auth-guidance+.auth-guidance { margin-top:5px; }
.auth-guidance-links { gap:10px; }
.auth-message { margin-top:8px!important;font-size:11px!important; }
.auth-trust {
  margin-top:10px;
  padding-top:11px;
  white-space:normal;
}
.auth-trust>span { padding:0!important;border:0!important;color:#637493;font-size:10px;text-align:center; }
.auth-trust>span>span { padding:0;border:0; }
.auth-footer {
  align-self:end;
  margin:8px 0 0!important;
  padding:0;
  line-height:1.35;
}
.auth-footer span { margin-top:3px; }

@media (max-height:760px) and (min-width:1180px), (min-width:1180px) and (min-resolution:1.25dppx) {
  .auth-screen { overflow-y:auto; }
  .auth-story,.auth-workspace { height:auto;min-height:100dvh; }
  .auth-workspace { overflow:visible;padding-block:14px 10px; }
}

@media (min-width:781px) and (max-width:1179px) {
  .auth-screen { height:100dvh;overflow-y:auto; }
  .auth-workspace {
    display:flex;
    height:auto;
    min-height:100dvh;
    padding:20px 24px 14px;
    overflow:visible;
  }
  .auth-tablet-brand { margin-bottom:12px; }
  .auth-tablet-brand img { width:52px;height:52px; }
  .auth-tablet-brand strong { font-size:25px; }
  .auth-tablet-brand span { max-width:310px;font-size:12px; }
  .auth-card { width:min(500px,calc(100vw - 48px))!important;padding:24px 34px 20px!important; }
  .auth-footer { margin-top:12px!important; }
}

@media (max-width:780px) {
  .auth-screen { height:100dvh;overflow-y:auto; }
  .auth-workspace {
    display:flex;
    height:auto;
    min-height:100dvh;
    padding:calc(16px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important;
    overflow:visible;
  }
  .auth-tablet-brand { width:100%;max-width:480px;margin-bottom:14px; }
  .auth-tablet-brand img { width:42px;height:42px; }
  .auth-tablet-brand strong { font-size:22px; }
  .auth-tablet-brand span { font-size:10px;line-height:1.35; }
  .auth-card { width:100%!important;padding:22px clamp(18px,5vw,24px) 18px!important;border-radius:18px!important;box-shadow:0 12px 32px rgba(22,49,96,.08)!important; }
  .auth-view-heading h2 { font-size:27px; }
  .auth-options { align-items:flex-start; }
  .auth-guidance-links { flex-direction:row;gap:4px 12px; }
  .auth-action-link { width:auto;min-height:44px; }
  .auth-trust { display:flex; }
  .auth-footer { width:100%;margin-top:14px!important; }
}

@media (max-width:420px) {
  .auth-options { flex-direction:column;gap:2px; }
  .auth-remember,.auth-link { width:100%; }
  .auth-link { justify-content:flex-start;text-align:left; }
  .auth-guidance-links { flex-direction:column;gap:0; }
  .auth-action-link { width:100%; }
}

@media (max-width:350px) {
  .auth-workspace { padding-inline:16px!important; }
  .auth-card { padding-inline:16px!important; }
}
.user-access-admin{margin-top:20px}
.user-access-modal{width:min(1180px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.user-access-tabs{position:sticky;top:0;z-index:2;background:#fff;padding-block:10px}
.user-access-modal [data-user-panel]{padding:18px 2px}
.user-access-modal .file-drop{display:grid;gap:10px;padding:22px;border:1px dashed #afc3d5;border-radius:16px;background:#f7fafc;margin:14px 0}
.user-access-modal .request-actions{min-width:220px}
.user-access-modal select[data-admin-role]{min-width:150px}
.permission-company-invite-form{display:grid;grid-template-columns:minmax(190px,1.2fr) repeat(3,minmax(160px,1fr)) auto;gap:12px;align-items:end;margin:18px 0;padding:18px;border:1px solid #d9e4ec;border-radius:16px;background:#f7fafc}
.permission-company-invite-form>div{align-self:center}.permission-company-invite-form>div strong,.permission-company-invite-form>div small{display:block}.permission-company-invite-form>div small{margin-top:4px;color:var(--muted)}
.permission-company-invite-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.permission-company-invite-form .check-line{display:flex;align-items:center;align-self:center}
@media (max-width:1100px){.permission-company-invite-form{grid-template-columns:1fr 1fr}.permission-company-invite-form>div{grid-column:1/-1}}
@media (max-width:680px){.permission-company-invite-form{grid-template-columns:1fr}}

/* Gift certificates: workspace and premium print design */
#giftCertificatesView .purchase-summary{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
#giftCertificatesView .purchase-summary article{
  min-width:0;
}
.gift-certificate-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.gift-certificate-workspace .gift-preview-panel{
  position:static;
}
.gift-certificate-workspace .panel{
  min-width:0;
}
.gift-certificate-workspace .gift-certificate-row{
  grid-template-columns:minmax(210px,1.15fr) minmax(120px,.5fr) minmax(145px,.6fr) minmax(145px,.62fr) minmax(370px,auto);
  padding:15px 20px;
}
.gift-certificate-workspace .gift-certificate-row.is-selected{
  background:linear-gradient(90deg,rgba(11,105,116,.07),rgba(11,105,116,.015));
  box-shadow:inset 4px 0 0 #0b6974;
}
.gift-certificate-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(76px,1fr));
  gap:7px;
  min-width:370px;
}
.gift-certificate-actions .gift-action{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  padding:0 10px;
  border:1px solid #d5e2e6;
  border-radius:10px;
  color:#294b58;
  background:#fff;
  box-shadow:0 3px 9px rgba(17,51,65,.04);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.gift-certificate-actions .gift-action span,
.gift-certificate-actions .gift-action b{
  display:inline;
}
.gift-certificate-actions .gift-action span{
  color:#6b828b;
  font-size:12px;
  line-height:1;
}
.gift-certificate-actions .gift-action:hover{
  transform:translateY(-1px);
  border-color:#9dbfc5;
  color:#0b6974;
  background:#f1f9f9;
  box-shadow:0 6px 14px rgba(11,105,116,.09);
}
.gift-certificate-actions .gift-action-preview{
  color:#0b6974;
  border-color:#b9d5d9;
  background:#f3fafa;
}
.gift-certificate-actions .gift-action-redeem{
  color:#fff;
  border-color:#0b6974;
  background:#0b6974;
}
.gift-certificate-actions .gift-action-redeem span{
  color:#d8f4f1;
}
.gift-certificate-actions .gift-action-redeem:hover{
  color:#fff;
  border-color:#084f58;
  background:#084f58;
}
.gift-certificate-actions .gift-action-cancel{
  color:#61727a;
  border-color:#d8e0e3;
  background:#f7f9f9;
}
.gift-certificate-actions .gift-action-cancel:hover{
  color:#754f3b;
  border-color:#d9c4b8;
  background:#fbf6f2;
}
.gift-certificate-actions .gift-action:disabled{
  opacity:.42;
  transform:none;
  cursor:not-allowed;
  box-shadow:none;
}
.gift-cancel-confirm{
  color:#6e4c3c;
  border-color:#d9c6bc;
  background:#fbf7f4;
}
.gift-cancel-confirm:hover{
  color:#5e3f31;
  border-color:#cdb0a0;
  background:#f6eee8;
}
#giftCertificateReports .gift-report-grid{
  margin-bottom:18px;
}
#giftCertificateReports .gift-report-grid article{
  display:grid;
  gap:4px;
  min-width:0;
  padding:16px 18px;
  border-color:#dce6ea;
  background:#fbfcfc;
}
#giftCertificateReports .gift-report-grid span,
#giftCertificateReports .gift-report-grid strong,
#giftCertificateReports .gift-report-grid small{
  display:block;
}
#giftCertificateReports .gift-report-grid span{
  color:#71838b;
  font-size:11px;
}
#giftCertificateReports .gift-report-grid strong{
  color:#123745;
  font:800 24px/1.05 var(--font-display);
}
#giftCertificateReports .gift-report-grid small{
  color:#536b75;
  font-size:10px;
}
#giftCertificatePreview .gift-certificate-v2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
#giftCertificatePreview .gift-v2-card,
.gift-preview-panel .gift-v2-card,
.gift-v2-card{
  position:relative;
  display:grid;
  overflow:hidden;
  width:100%;
  min-height:0;
  aspect-ratio:1.72/1;
  border:1px solid #ded6c9;
  border-radius:22px;
  background:#fffdf8;
  color:#122d38;
  box-shadow:0 20px 48px rgba(15,42,58,.13);
}
#giftCertificatePreview .gift-v2-card::after,
.gift-preview-panel .gift-v2-card::after,
.gift-v2-card::after{
  content:none;
}
#giftCertificatePreview .gift-v2-card::before,
.gift-preview-panel .gift-v2-card::before,
.gift-v2-card::before{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  right:-115px;
  bottom:-135px;
  border-radius:50%;
  background:rgba(215,125,67,.08);
  pointer-events:none;
}
.gift-v2-front{
  grid-template-columns:minmax(0,1fr) 35%;
}
.gift-v2-accent{
  position:absolute;
  z-index:2;
  inset:0 auto 0 0;
  width:8px;
  background:linear-gradient(180deg,var(--gift-primary,#0b6974),#104c5c 62%,var(--gift-accent,#d97d43));
}
.gift-v2-content{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:18px;
  min-width:0;
  padding:28px 30px 26px 36px;
}
.gift-v2-brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.gift-v2-brand img{
  width:72px;
  height:52px;
  padding:5px;
  border:1px solid #eadfd0;
  border-radius:12px;
  background:#fff;
  object-fit:contain;
}
.gift-v2-brand span,
.gift-v2-brand strong{
  display:block;
}
.gift-v2-brand span{
  margin-bottom:3px;
  color:#87939a;
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.gift-v2-brand strong{
  color:var(--gift-primary,#0b6974);
  font:800 14px/1.15 var(--font-display);
}
.gift-v2-copy{
  align-self:center;
}
.gift-v2-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--gift-accent,#d97d43);
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.gift-v2-copy h2{
  margin:0;
  color:#153846;
  font:800 clamp(25px,2.25vw,38px)/.95 var(--font-display);
  letter-spacing:-.035em;
}
.gift-v2-copy h2 em{
  color:var(--gift-accent,#d97d43);
  font-style:normal;
  font-weight:600;
}
.gift-v2-copy p{
  max-width:390px;
  margin:10px 0 0;
  color:#687b83;
  font-size:11px;
  line-height:1.45;
}
.gift-v2-recipient{
  padding:12px 15px;
  border-left:3px solid var(--gift-accent,#d97d43);
  border-radius:0 12px 12px 0;
  background:#f7f3ec;
}
.gift-v2-recipient span,
.gift-v2-recipient strong,
.gift-v2-recipient small{
  display:block;
}
.gift-v2-recipient span{
  color:#8c969b;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.gift-v2-recipient strong{
  margin:3px 0 2px;
  color:#153846;
  font:800 18px/1.15 var(--font-display);
}
.gift-v2-recipient small{
  color:#64777f;
  font-size:10px;
}
.gift-v2-recipient p{
  margin:6px 0 0;
  color:#405c66;
  font-size:10px;
  font-style:italic;
}
.gift-v2-value{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:30px 26px;
  color:#fff;
  background:linear-gradient(155deg,#123f4d 0%,var(--gift-primary,#0b6974) 68%,#0a5a62 100%);
}
.gift-v2-side-label{
  position:absolute;
  top:18px;
  right:18px;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  color:rgba(255,255,255,.72);
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.gift-v2-value>small{
  color:rgba(255,255,255,.68);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.gift-v2-value>strong{
  display:block;
  margin:8px 0 5px;
  color:#fff;
  font:800 clamp(25px,2.2vw,38px)/1 var(--font-display);
  white-space:nowrap;
}
.gift-v2-value>em{
  min-height:27px;
  color:#f8d7bd;
  font-size:8px;
  font-style:normal;
  font-weight:800;
  line-height:1.3;
  text-transform:uppercase;
}
.gift-v2-value dl{
  display:grid;
  gap:9px;
  margin:24px 0 0;
}
.gift-v2-value dl div{
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.17);
}
.gift-v2-value dt{
  color:rgba(255,255,255,.58);
  font-size:8px;
  font-weight:700;
  text-transform:uppercase;
}
.gift-v2-value dd{
  margin:3px 0 0;
  color:#fff;
  font-size:10px;
  font-weight:800;
  overflow-wrap:anywhere;
}
.gift-v2-back{
  grid-template-columns:minmax(0,1fr) 35%;
  background:#fbfaf6;
}
.gift-v2-terms-panel{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  min-width:0;
  padding:26px 28px;
}
.gift-v2-back-heading{
  margin-top:18px;
}
.gift-v2-back-heading span{
  color:var(--gift-accent,#d97d43);
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.gift-v2-back-heading h3{
  margin:3px 0 0;
  color:#153846;
  font:800 22px/1 var(--font-display);
}
.gift-v2-terms-panel ul{
  display:grid;
  align-content:start;
  gap:5px;
  margin:14px 0 10px;
  padding-left:17px;
  color:#536a74;
  font-size:9px;
  line-height:1.35;
}
.gift-v2-terms-panel li::marker{
  color:var(--gift-accent,#d97d43);
}
.gift-v2-terms-panel footer{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.gift-v2-terms-panel footer span{
  padding:5px 8px;
  border-radius:999px;
  color:#31515d;
  background:#ece8df;
  font-size:7px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.gift-v2-code-panel{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:8px;
  min-width:0;
  padding:28px 24px;
  color:#fff;
  text-align:center;
  background:linear-gradient(165deg,#d46f37 0%,var(--gift-accent,#d97d43) 54%,#b9572c 100%);
}
.gift-v2-code-panel>small{
  color:rgba(255,255,255,.72);
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.gift-v2-code-panel>strong{
  width:100%;
  color:#fff;
  font:800 15px/1.15 var(--font-display);
  overflow-wrap:anywhere;
}
.gift-v2-code-panel .gift-qr-grid{
  grid-template-columns:repeat(9,5px);
  grid-auto-rows:5px;
  gap:1px;
  padding:8px;
  border:0;
  border-radius:10px;
}
.gift-v2-code-panel .gift-qr-grid span{
  width:5px;
  height:5px;
  border-radius:1px;
}
.gift-v2-code-panel .gift-barcode{
  width:100%;
  height:37px;
  justify-content:center;
  padding:6px 8px;
  border:0;
  border-radius:8px;
}
.gift-v2-balance{
  width:100%;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.25);
}
.gift-v2-balance span,
.gift-v2-balance b{
  display:block;
}
.gift-v2-balance span{
  color:rgba(255,255,255,.7);
  font-size:8px;
  text-transform:uppercase;
}
.gift-v2-balance b{
  margin-top:3px;
  font-size:15px;
}
.gift-v2-code-panel>p{
  margin:2px 0 0;
  color:rgba(255,255,255,.78);
  font-size:7px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
@media(max-width:1200px){
  #giftCertificatesView .purchase-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  #giftCertificatePreview .gift-certificate-v2{grid-template-columns:1fr}
  #giftCertificatePreview .gift-v2-card{max-width:820px;margin-inline:auto}
  .gift-certificate-workspace .gift-certificate-row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gift-certificate-actions{grid-column:1/-1;min-width:0;max-width:520px}
}
@media(max-width:760px){
  #giftCertificatesView .purchase-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gift-certificate-workspace .gift-certificate-row{grid-template-columns:1fr}
  .gift-certificate-actions{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .gift-v2-front,.gift-v2-back{grid-template-columns:1fr;aspect-ratio:auto}
  .gift-v2-value,.gift-v2-code-panel{min-height:240px}
}

/* DEMEDICA · Ficha unificada de médico y asignación */
.protocol-visit-practitioner-modal{
  --bbs-dialog-max:1280px;
  width:min(1280px,calc(100vw - 48px));
  max-width:1280px;
  max-height:min(94vh,900px);
  overflow:auto;
  overscroll-behavior:contain;
  overflow-anchor:none;
  scrollbar-gutter:stable;
  scroll-behavior:auto;
  padding:24px;
}
.protocol-visit-practitioner-modal .modal-header{align-items:flex-start;margin-bottom:18px}
.protocol-visit-practitioner-modal .modal-header h2{margin:5px 0 4px;font-size:23px;color:#082952}
.protocol-visit-practitioner-modal .modal-header p{margin:0;color:#6a7d95;font-size:12px}
.protocol-visit-profile-tabs{display:flex;gap:4px;margin:0 0 14px;padding:4px;border:1px solid #d8e5f2;border-radius:12px;background:#f5f8fc;overflow-x:auto}
.protocol-visit-profile-tabs button{flex:1 0 150px;border:0;border-radius:9px;background:transparent;color:#5c7089;font-size:11px;font-weight:750;padding:10px 12px;cursor:pointer;white-space:nowrap}
.protocol-visit-profile-tabs button.active{background:#fff;color:#075ac8;box-shadow:0 4px 12px rgba(28,75,125,.11)}
.protocol-visit-practitioner-layout{display:block;min-height:420px}
.protocol-visit-form-section{min-width:0;border:1px solid #d7e4f1;border-radius:14px;background:#fff;padding:16px;box-shadow:0 8px 22px rgba(29,64,104,.045)}
.protocol-visit-form-section[hidden]{display:none!important}
.protocol-visit-form-section.active{display:block;animation:pv-profile-panel-in .16s ease-out}
@keyframes pv-profile-panel-in{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
.protocol-visit-form-section.assignment-section{background:#f8fbff}
.protocol-visit-form-section-head{display:flex;align-items:center;gap:10px;margin-bottom:15px;min-height:34px}
.protocol-visit-form-section-head>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:#eaf3ff;color:#075ac8;font-size:12px;font-weight:800}
.protocol-visit-form-section-head>div{display:grid;gap:2px;min-width:0}
.protocol-visit-form-section-head strong{font-size:13px;color:#0b2d56}
.protocol-visit-form-section-head small{font-size:10px;color:#72839a;font-weight:500}
.protocol-visit-practitioner-modal .form-grid{gap:12px}
.protocol-visit-practitioner-modal .form-grid label{font-size:10px;color:#53677f;font-weight:700}
.protocol-visit-practitioner-modal input,.protocol-visit-practitioner-modal select,.protocol-visit-practitioner-modal textarea{margin-top:5px;background:#fff}
.protocol-visit-practitioner-modal fieldset{min-width:0;border:0;margin:0;padding:0}
.protocol-visit-assignment-switch{display:flex!important;align-items:center;gap:7px;margin-left:auto;padding:7px 9px;border:1px solid #cfe0f1;border-radius:9px;background:#fff;color:#164b83!important;white-space:nowrap;cursor:pointer}
.protocol-visit-assignment-switch input{width:15px;height:15px;margin:0;accent-color:#0967d8}
.protocol-visit-global-assignment{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px;padding:13px 14px;border:1px solid #b9ded8;border-radius:12px;background:#f1fbf9}.protocol-visit-global-assignment>div:first-child{display:grid;gap:3px;min-width:180px}.protocol-visit-global-assignment strong{color:#0d5855;font-size:11px}.protocol-visit-global-assignment small{color:#62827f;font-size:9px}
.protocol-visit-global-role-options{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.protocol-visit-global-role-card{display:grid;gap:6px;min-width:210px;padding:8px 10px;border:1px solid #c9e2df;border-radius:10px;background:#fff}.protocol-visit-global-role-card>label{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:1px 6px;cursor:pointer}.protocol-visit-global-role-card input{grid-row:1/3;width:15px;height:15px;margin:0;accent-color:#079b9c}.protocol-visit-global-role-card span{color:#185c59;font-size:10px;font-weight:800}.protocol-visit-global-role-card small{font-size:8px;font-weight:500}.protocol-visit-global-role-card.is-selected{border-color:#4ebeb2;background:#e5f9f5;box-shadow:0 3px 9px rgba(7,155,156,.1)}.protocol-visit-global-role-card select{height:31px;padding:4px 8px;font-size:9px;background:#fff}
.protocol-visit-study-heading{display:grid;gap:2px;margin:2px 0 9px}.protocol-visit-study-heading strong{color:#244b72;font-size:11px}.protocol-visit-study-heading small{color:#74869a;font-size:9px}
.protocol-visit-study-assignment-list{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:10px;max-height:360px;overflow:auto;overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable;scroll-behavior:auto;padding:2px 4px 6px 2px}
.protocol-visit-study-assignment{display:grid;gap:10px;padding:12px;border:1px solid #d8e5f1;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s,background .15s}
.protocol-visit-study-assignment.is-selected{border-color:#70abe8;background:#f5faff;box-shadow:0 4px 12px rgba(9,103,216,.08)}
.protocol-visit-study-select{display:flex!important;align-items:flex-start;gap:9px;cursor:pointer}
.protocol-visit-study-select input{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;accent-color:#0967d8}
.protocol-visit-study-select span{display:grid;gap:2px;min-width:0}.protocol-visit-study-select strong{font-size:11px;color:#0b3765}.protocol-visit-study-select small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6f8298;font-size:9px;font-weight:500}
.protocol-visit-role-options{display:flex;flex-wrap:wrap;gap:6px;opacity:.48;pointer-events:none}.protocol-visit-study-assignment.is-selected .protocol-visit-role-options{opacity:1;pointer-events:auto}
.protocol-visit-role-options label{display:flex!important;align-items:center;gap:5px;padding:5px 7px;border:1px solid #d7e4f0;border-radius:999px;background:#fff;cursor:pointer;color:#315474!important;font-size:9px!important}.protocol-visit-role-options input{width:13px;height:13px;margin:0;accent-color:#079b9c}.protocol-visit-role-options label:has(input:checked){border-color:#84d4cd;background:#eafaf7;color:#08756e!important}
.protocol-visit-fixed-payment-mode{display:grid!important;grid-template-columns:minmax(110px,.7fr) minmax(170px,1fr);align-items:center;gap:4px 8px;padding-top:8px;border-top:1px solid #dce8f2;opacity:.48;pointer-events:none}.protocol-visit-study-assignment.is-selected .protocol-visit-fixed-payment-mode{opacity:1;pointer-events:auto}.protocol-visit-fixed-payment-mode>span{font-size:9px;font-weight:800;color:#234a70}.protocol-visit-fixed-payment-mode select{height:32px;padding:4px 8px;font-size:9px;background:#fff}.protocol-visit-fixed-payment-mode>small{grid-column:1/-1;font-size:8px;color:#6a7f92}
.protocol-visit-assignment-meta{margin-top:13px;padding-top:13px;border-top:1px solid #dce7f2}
.protocol-visit-assignment-empty{grid-column:1/-1;padding:28px;border:1px dashed #bfd1e3;border-radius:11px;text-align:center;color:#74879c;font-size:11px}
.protocol-visit-form-section.is-disabled{opacity:.62;background:#f5f7fa}
.protocol-visit-form-section.is-disabled fieldset{display:none}
.protocol-visit-certificate-summary{display:grid;justify-items:end;gap:3px;margin-left:auto}
.protocol-visit-certificate-summary small{font-size:9px;color:#6d8097;white-space:nowrap}
.certificate-status{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800;line-height:1;white-space:nowrap}
.certificate-status.current{background:#dcf7eb;color:#087650}
.certificate-status.expiring{background:#fff1c9;color:#9a5b00}
.certificate-status.expired{background:#ffe3df;color:#b52f27}
.certificate-status.missing{background:#edf1f6;color:#617187}
.protocol-visit-certificate-choice{display:grid;gap:7px;margin-bottom:12px;padding:13px 14px;border:1px solid #cfe0ef;border-radius:12px;background:#f8fbff}.protocol-visit-certificate-choice p{margin:0;color:#71859a;font-size:10px}.protocol-visit-certificate-choice select{font-weight:750;color:#12375f}
.protocol-visit-certificate-upload{border:1px solid #d7e5f3;border-radius:12px;background:#f8fbff;padding:14px;margin-bottom:16px}
.protocol-visit-file-field{border:1px dashed #a9c7e8;border-radius:10px;background:#fff;padding:11px 12px;color:#174d84!important}
.protocol-visit-file-field input{border:0!important;padding:5px 0!important;box-shadow:none!important}
.protocol-visit-file-field small{display:block;margin-top:3px;color:#7a8ca2;font-size:9px;font-weight:500}
.protocol-visit-certificate-history h3{margin:0 0 9px;font-size:12px;color:#0b2d56}
#protocolVisitCertificateHistory{display:grid;gap:8px;max-height:210px;overflow:auto;padding-right:3px}
#protocolVisitCertificateHistory article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;align-items:center;border:1px solid #dce7f2;border-radius:11px;background:#fff;padding:10px 12px}
#protocolVisitCertificateHistory article>div:last-of-type{display:grid;justify-items:end;gap:4px}
#protocolVisitCertificateHistory article small{color:#73859b;font-size:9px}
#protocolVisitCertificateHistory article p{grid-column:1/-1;margin:0;padding-top:6px;border-top:1px solid #edf2f7;color:#62748a;font-size:10px}
.protocol-visit-certificate-file{display:flex;align-items:center;gap:9px;min-width:0}
.protocol-visit-certificate-file>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#e9f3ff;color:#0864cb;font-size:14px}
.protocol-visit-certificate-file>div{display:grid;gap:3px;min-width:0}
.protocol-visit-certificate-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#14385e;font-size:11px}
.protocol-visit-certificate-empty{display:grid;justify-items:center;gap:5px;padding:24px;border:1px dashed #c8d9e9;border-radius:11px;background:#fbfdff;text-align:center}
.protocol-visit-certificate-empty>span{font-size:20px;color:#6e96bc}
.protocol-visit-certificate-empty strong{font-size:11px;color:#274b70}
.protocol-visit-certificate-empty p{margin:0;color:#7b8ca0;font-size:10px}
.protocol-visit-practitioner-modal .modal-actions{position:sticky;bottom:-24px;margin:18px -24px -24px;padding:14px 24px;background:rgba(255,255,255,.97);border-top:1px solid #dce7f2;backdrop-filter:blur(8px)}
.pv-action.warning{border-color:#e4ae43;background:#fff8e7;color:#8b5800}
.pv-action.warning:hover{background:#ffefc5;border-color:#cf8d16}
.pv-version-detail{display:block;margin-top:4px;color:#74869c;font-size:9px;font-weight:550}
.pv-rectification-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 12px;padding:10px 14px;border:1px solid #f0cd78;border-radius:11px;background:#fff9e9;color:#624400}
.pv-rectification-banner>div{display:grid;gap:2px}.pv-rectification-banner span{font-size:8px;font-weight:850;letter-spacing:.09em;color:#a66b00}.pv-rectification-banner strong{font-size:11px}.pv-rectification-banner small{color:#856d3c;font-size:9px;text-align:right}
.protocol-visit-rectification-modal{width:min(610px,calc(100vw - 28px));padding:24px}
.protocol-visit-rectification-source{display:grid;gap:4px;margin:0 0 16px;padding:13px 15px;border:1px solid #d4e3f1;border-radius:12px;background:#f7fbff}
.protocol-visit-rectification-source span{color:#0871b9;font-size:8px;font-weight:850;letter-spacing:.09em}.protocol-visit-rectification-source strong{color:#0b2d56;font-size:13px}.protocol-visit-rectification-source small{color:#70839a;font-size:10px}
.protocol-visit-rectification-note{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;margin-top:14px;padding:12px;border-radius:10px;background:#eff8f5;color:#44675f;font-size:10px}.protocol-visit-rectification-note strong{color:#126451}
.protocol-visit-report-library{border:1px solid #d5e3f0;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(27,67,111,.05)}
.protocol-visit-report-library>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid #e1eaf3;background:linear-gradient(135deg,#f8fbff,#fff)}
.protocol-visit-report-library h3{margin:3px 0 3px;color:#092d57;font-size:18px}.protocol-visit-report-library header p{margin:0;color:#73859b;font-size:10px}
.protocol-visit-report-count{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#0c62cc;color:#fff;font-size:16px;font-weight:850;box-shadow:0 7px 16px rgba(12,98,204,.2)}
.protocol-visit-report-list{display:grid}.protocol-visit-report-item{display:grid;grid-template-columns:112px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid #e4ecf4}.protocol-visit-report-item:last-child{border-bottom:0}.protocol-visit-report-item.is-rectification{background:#fffcf3}
.protocol-visit-report-version{display:grid;gap:4px}.protocol-visit-report-version span{width:max-content;padding:4px 7px;border-radius:999px;background:#e6f0ff;color:#075bbd;font-size:9px;font-weight:850}.protocol-visit-report-item.is-rectification .protocol-visit-report-version span{background:#fff0c6;color:#8b5900}.protocol-visit-report-version small{color:#6e8198;font-size:9px;font-weight:750}
.protocol-visit-report-main{display:grid;gap:3px;min-width:0}.protocol-visit-report-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#12375f;font-size:12px}.protocol-visit-report-main p,.protocol-visit-report-main small{margin:0;color:#708299;font-size:9px}.protocol-visit-report-actions{display:flex;gap:6px}
.protocol-visit-report-actions .pv-sync-complete{border-color:#9bd8b5;background:#eefaf3;color:#147a43;font-weight:800;box-shadow:none}.protocol-visit-report-actions .pv-sync-complete:hover{border-color:#6fc695;background:#e3f7eb;color:#0e6837}
.protocol-visit-report-empty{display:grid;justify-items:center;gap:5px;padding:38px 20px;text-align:center}.protocol-visit-report-empty>span{font-size:24px;color:#82a7cb}.protocol-visit-report-empty strong{color:#23496e;font-size:12px}.protocol-visit-report-empty p{margin:0;color:#7a8da2;font-size:10px}
@media(max-width:1100px){
  .protocol-visit-study-assignment-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .protocol-visit-practitioner-layout{min-height:0}
  .protocol-visit-practitioner-modal{max-height:92vh;padding:20px}
  .protocol-visit-practitioner-modal .modal-actions{bottom:-20px;margin:16px -20px -20px;padding:13px 20px}
  .protocol-visit-report-item{grid-template-columns:100px minmax(0,1fr) auto}.protocol-visit-report-actions{grid-column:2/-1;justify-content:flex-end}
}
@media(max-width:560px){
  .protocol-visit-practitioner-modal{width:calc(100vw - 18px);padding:16px;border-radius:18px}
  .protocol-visit-practitioner-modal .form-grid{grid-template-columns:1fr}
  .protocol-visit-practitioner-modal .form-grid .full{grid-column:auto}
  .protocol-visit-form-section-head{flex-wrap:wrap}
  .protocol-visit-certificate-summary{justify-items:start;margin-left:38px}
  #protocolVisitCertificateHistory article{grid-template-columns:1fr}
  #protocolVisitCertificateHistory article>div:last-of-type{justify-items:start}
  .protocol-visit-assignment-switch{margin-left:38px}
  .protocol-visit-global-assignment{align-items:stretch;flex-direction:column}.protocol-visit-global-role-options{justify-content:stretch}.protocol-visit-global-role-options label{flex:1}
  .protocol-visit-study-assignment-list{grid-template-columns:1fr;max-height:360px}
  .protocol-visit-practitioner-modal .modal-actions{bottom:-16px;margin:14px -16px -16px;padding:12px 16px}
  .pv-rectification-banner{align-items:flex-start;flex-direction:column;gap:5px}.pv-rectification-banner small{text-align:left}
  .protocol-visit-report-item{grid-template-columns:1fr auto}.protocol-visit-report-main{grid-column:1/-1;grid-row:2}.protocol-visit-report-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:480px){
  #giftCertificatesView .purchase-summary{grid-template-columns:1fr}
  .gift-v2-content,.gift-v2-terms-panel{padding:24px 22px}
}
@media print{
  .gift-certificate-v2{display:block!important}
  .gift-certificate-v2 .gift-v2-card{width:100%!important;max-width:none!important;margin:0 0 8mm!important;aspect-ratio:1.72/1!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}
}

/* DashboardGreeting: multi-company, timezone-aware dashboard header */
.dashboard-greeting{
  --dashboard-company-accent:#0b6974;
  --dashboard-company-accent-night:#72ddd5;
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  overflow:hidden;
  margin-bottom:24px;
  padding:26px 28px;
  border:1px solid rgba(185,211,218,.72);
  border-radius:22px;
  color:#0a2940;
  background:
    radial-gradient(circle at 86% 18%,rgba(104,210,187,.16),transparent 29%),
    linear-gradient(130deg,#ffffff 0%,#f4fbfa 54%,#eef8f7 100%);
  box-shadow:0 18px 44px rgba(17,52,69,.09);
  transition:color .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.dashboard-greeting::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:210px;
  height:210px;
  top:-132px;
  right:17%;
  border:1px solid rgba(11,105,116,.09);
  border-radius:50%;
}
.dashboard-greeting-copy{min-width:0}
.dashboard-greeting-date{
  margin:0 0 9px;
  color:#5b7580;
  font-size:10px;
  font-weight:900;
  letter-spacing:.17em;
}
.dashboard-greeting-title-row{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}
.dashboard-greeting-title-row h1{
  min-width:0;
  margin:0;
  color:inherit;
  font:800 clamp(28px,3vw,43px)/1.08 var(--font-display);
  letter-spacing:-.035em;
}
.dashboard-greeting-title-row h1 strong{
  color:var(--dashboard-company-accent);
  font:inherit;
}
.dashboard-greeting-icon{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid rgba(217,170,45,.24);
  border-radius:15px;
  color:#d9a829;
  background:rgba(255,250,226,.9);
  box-shadow:0 8px 20px rgba(176,135,30,.12);
}
.dashboard-time-icon{
  display:none;
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dashboard-greeting[data-daypart="morning"] .morning-icon,
.dashboard-greeting[data-daypart="afternoon"] .afternoon-icon,
.dashboard-greeting[data-daypart="night"] .night-icon{display:block}
.dashboard-greeting-clock{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  margin:13px 0 0;
  color:#496570;
  font-size:12px;
  font-weight:650;
}
.dashboard-greeting-clock time{
  color:#153c4c;
  font-size:15px;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.dashboard-greeting-clock>span[aria-hidden]{color:#a4b7bd}
.dashboard-greeting-context{
  margin:9px 0 0;
  color:#627a84;
  font-size:12px;
}
.dashboard-greeting-context strong{
  color:#294d5a;
  font-weight:850;
}
.dashboard-greeting-actions{
  display:grid;
  justify-items:end;
  flex:0 0 auto;
  gap:10px;
}
.dashboard-live-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 10px;
  border:1px solid rgba(157,191,198,.6);
  border-radius:999px;
  color:#5b737c;
  background:rgba(255,255,255,.68);
  font-size:8px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.dashboard-live-chip i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#19aaa1;
  box-shadow:0 0 0 4px rgba(25,170,161,.12);
}
.dashboard-greeting .period-button{
  min-width:210px;
  min-height:44px;
  justify-content:space-between;
  border-color:rgba(154,184,191,.7);
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 20px rgba(25,61,76,.07);
}

.dashboard-greeting[data-daypart="afternoon"]{
  border-color:rgba(226,202,158,.74);
  background:
    radial-gradient(circle at 86% 10%,rgba(239,171,70,.18),transparent 29%),
    linear-gradient(130deg,#fffefb 0%,#fff9ec 56%,#fdf3e5 100%);
}
.dashboard-greeting[data-daypart="afternoon"] .dashboard-greeting-icon{
  color:#d77a32;
  border-color:rgba(215,122,50,.22);
  background:#fff2de;
}
.dashboard-greeting[data-daypart="afternoon"] .dashboard-live-chip i{background:#df873c;box-shadow:0 0 0 4px rgba(223,135,60,.13)}

#dashboardView[data-daypart="night"]{color:#102f40}
.dashboard-greeting[data-daypart="night"]{
  color:#f7fbfc;
  border-color:rgba(95,151,174,.32);
  background:
    radial-gradient(circle at 86% 18%,rgba(115,181,199,.24),transparent 29%),
    linear-gradient(132deg,#123b51 0%,#174d62 55%,#23667a 100%);
  box-shadow:0 18px 42px rgba(18,61,80,.16);
}
.dashboard-greeting[data-daypart="night"]::before{border-color:rgba(188,220,232,.1)}
.dashboard-greeting[data-daypart="night"] .dashboard-greeting-date{color:#a7bdc8}
.dashboard-greeting[data-daypart="night"] .dashboard-greeting-title-row h1 strong{color:var(--dashboard-company-accent-night)}
.dashboard-greeting[data-daypart="night"] .dashboard-greeting-icon{
  color:#d7e8ef;
  border-color:rgba(190,220,233,.18);
  background:rgba(91,132,155,.17);
  box-shadow:none;
}
.dashboard-greeting[data-daypart="night"] .dashboard-greeting-clock,
.dashboard-greeting[data-daypart="night"] .dashboard-greeting-context{color:#adbfca}
.dashboard-greeting[data-daypart="night"] .dashboard-greeting-clock time,
.dashboard-greeting[data-daypart="night"] .dashboard-greeting-context strong{color:#edf7f9}
.dashboard-greeting[data-daypart="night"] .dashboard-live-chip{
  color:#b8cad2;
  border-color:rgba(174,206,220,.2);
  background:rgba(8,29,43,.36);
}
.dashboard-greeting[data-daypart="night"] .dashboard-live-chip i{background:#70d6ce;box-shadow:0 0 0 4px rgba(112,214,206,.12)}
.dashboard-greeting[data-daypart="night"] .period-button{
  color:#eef7f9;
  border-color:rgba(168,201,214,.25);
  background:rgba(8,28,42,.4);
}
#dashboardView[data-daypart="night"] .status-banner{
  color:#123745;
  border:1px solid rgba(174,207,215,.7)!important;
  background:linear-gradient(135deg,#eef9f8 0%,#f5fbf8 55%,#fff8e8 100%)!important;
  box-shadow:0 14px 34px rgba(25,67,82,.075)!important;
}
#dashboardView[data-daypart="night"] .status-banner h2,
#dashboardView[data-daypart="night"] .status-banner strong{color:#0b3042!important}
#dashboardView[data-daypart="night"] .status-banner p,
#dashboardView[data-daypart="night"] .status-banner span,
#dashboardView[data-daypart="night"] .status-banner small{color:#617983!important}
#dashboardView[data-daypart="night"] .status-banner .pill{
  color:#087f7b!important;
  background:#ddf5f2!important;
}
#dashboardView[data-daypart="night"] .metric-card,
#dashboardView[data-daypart="night"] .panel{
  color:#153846;
  border-color:#dbe7ea!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(21,62,78,.07)!important;
}
#dashboardView[data-daypart="night"] .metric-card h3,
#dashboardView[data-daypart="night"] .panel h3,
#dashboardView[data-daypart="night"] .activity-item strong,
#dashboardView[data-daypart="night"] .legend strong{color:#0b3042!important}
#dashboardView[data-daypart="night"] .metric-card p,
#dashboardView[data-daypart="night"] .metric-card small,
#dashboardView[data-daypart="night"] .panel p,
#dashboardView[data-daypart="night"] .panel span,
#dashboardView[data-daypart="night"] .panel time{color:#647b85!important}
#dashboardView[data-daypart="night"] .activity-item,
#dashboardView[data-daypart="night"] .legend>div{border-color:#e3ecee}

@media(max-width:820px){
  .dashboard-greeting{align-items:flex-start;flex-direction:column;padding:22px}
  .dashboard-greeting-actions{width:100%;justify-items:stretch}
  .dashboard-greeting .period-button{width:100%;min-width:0}
  .dashboard-live-chip{justify-self:start}
}
@media(max-width:520px){
  .dashboard-greeting{gap:20px;padding:19px 17px;border-radius:18px}
  .dashboard-greeting-title-row{align-items:flex-start;gap:10px}
  .dashboard-greeting-title-row h1{font-size:clamp(25px,8vw,33px)}
  .dashboard-greeting-icon{width:40px;height:40px;border-radius:13px}
  .dashboard-time-icon{width:23px;height:23px}
  .dashboard-greeting-clock{align-items:flex-start;flex-direction:column;gap:4px}
  .dashboard-greeting-clock>span[aria-hidden]{display:none}
  .dashboard-greeting-context{line-height:1.45}
}
@media(prefers-reduced-motion:reduce){
  .dashboard-greeting{transition:none}
}

/* Tesorería operativa 2026: tabs, readable tables and 8/4 overview. */
#treasuryView{width:calc(100% - 48px)!important;max-width:1680px!important;margin:0 auto!important;padding:34px 0 54px!important}
#treasuryView .treasury-heading{align-items:center;margin-bottom:24px!important}
#treasuryView .treasury-heading h1{font-size:28px!important}
#treasuryView .treasury-heading>div:first-child{max-width:780px}
#treasuryView .treasury-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.treasury-top-menu,.treasury-action-menu{position:relative}
.treasury-top-menu>summary,.treasury-action-menu>summary{list-style:none;cursor:pointer}
.treasury-top-menu>summary::-webkit-details-marker,.treasury-action-menu>summary::-webkit-details-marker{display:none}
.treasury-top-menu>summary{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;font-size:12px;font-weight:800}
.treasury-top-menu>div,.treasury-action-menu>div{position:absolute;z-index:30;top:calc(100% + 7px);right:0;display:grid;min-width:220px;padding:7px;border:1px solid #dbe6ee;border-radius:11px;background:#fff;box-shadow:0 18px 44px rgba(7,35,64,.16)}
.treasury-top-menu button,.treasury-action-menu button{min-height:40px;padding:9px 11px;border:0;border-radius:7px;color:#15314f;background:transparent;font-size:12px;font-weight:700;text-align:left;cursor:pointer}
.treasury-top-menu button:hover,.treasury-top-menu button:focus-visible,.treasury-action-menu button:hover,.treasury-action-menu button:focus-visible{outline:0;background:#f0f7fb;color:#0b4eb5}
#treasuryView .treasury-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px}
#treasuryView .treasury-summary article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;min-height:112px!important;padding:18px!important;border-radius:12px!important;box-shadow:0 5px 18px rgba(7,35,64,.04)!important}
#treasuryView .treasury-summary article>div{min-width:0}
#treasuryView .treasury-summary span,#treasuryView .treasury-summary strong,#treasuryView .treasury-summary small{display:block}
#treasuryView .treasury-summary .treasury-metric-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;color:#0b5b99!important;background:#eaf5fd;font-size:11px!important;font-weight:900;letter-spacing:.04em}
#treasuryView .treasury-summary article:nth-child(2) .treasury-metric-icon{color:#087d69!important;background:#e5f8f4}
#treasuryView .treasury-summary article:nth-child(3) .treasury-metric-icon{color:#9b6710!important;background:#fff4d8}
#treasuryView .treasury-summary article:nth-child(4) .treasury-metric-icon{color:#6950a9!important;background:#f2edff}
#treasuryView .treasury-summary article:nth-child(5) .treasury-metric-icon{color:#a44538!important;background:#fff0ed}
#treasuryView .treasury-summary strong{margin:6px 0 3px!important;font-size:23px!important;line-height:1.1;white-space:nowrap}
#treasuryView .treasury-summary small{font-size:11px!important;line-height:1.35}
#treasuryView .treasury-summary small b{display:inline;font-weight:800}
#treasuryView .treasury-tabs{display:flex;gap:4px;margin-bottom:22px;padding:5px;border:1px solid #dbe6ee;border-radius:12px;background:#fff;overflow-x:auto;scrollbar-width:thin}
#treasuryView .treasury-tabs button{flex:0 0 auto;min-width:108px;min-height:42px;padding:9px 16px;border:0;border-radius:8px;color:#586b80;background:transparent;font-size:13px;font-weight:800;cursor:pointer}
#treasuryView .treasury-tabs button:hover{background:#f3f7fb;color:#123e73}
#treasuryView .treasury-tabs button.active{color:#fff;background:#0c4ead;box-shadow:0 5px 14px rgba(12,78,173,.2)}
#treasuryView .treasury-tabs button:focus-visible,#treasuryView button:focus-visible,#treasuryView summary:focus-visible{outline:3px solid rgba(12,95,221,.28);outline-offset:2px}
#treasuryView .treasury-tab-panel[hidden]{display:none!important}
#treasuryView .treasury-tab-panel.active{display:block}
#treasuryView .treasury-subtabs{display:inline-flex;gap:4px;margin:0 0 16px;padding:4px;border:1px solid #dbe6ee;border-radius:10px;background:#fff}
#treasuryView .treasury-subtabs button{min-height:40px;padding:8px 16px;border:0;border-radius:7px;color:#60748a;background:transparent;font-size:12px;font-weight:800;cursor:pointer}
#treasuryView .treasury-subtabs button.active{color:#0b4c9f;background:#eaf3ff}
#treasuryView .treasury-cash-panel[hidden]{display:none!important}
#treasuryView .treasury-cash-panel.active{display:block}
#treasuryView .treasury-overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(330px,1fr);gap:20px;align-items:start}
#treasuryView .treasury-overview-main,#treasuryView .treasury-overview-side{display:grid;gap:20px;min-width:0}
#treasuryView .panel{border-radius:12px!important;box-shadow:0 5px 20px rgba(7,35,64,.045)!important}
#treasuryView .panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px!important;border-bottom:1px solid #e7edf3}
#treasuryView .panel-header h3{font-size:17px!important}
#treasuryView .panel-header p{margin-top:4px!important;font-size:12px!important;line-height:1.4}
#treasuryView .panel-header button{min-height:40px}
#treasuryView .treasury-secondary-panel{margin-top:20px}
#treasuryView .treasury-cash-panel[data-treasury-cash-panel="funds"]>.panel{overflow:visible;background:transparent;border:0!important;box-shadow:none!important}
#treasuryView .treasury-cash-panel[data-treasury-cash-panel="funds"]>.panel>.panel-header{margin-bottom:14px;padding:0 0 14px!important;border-bottom:1px solid #dce6ef}
#treasuryView .treasury-fund-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#treasuryView .treasury-fund-card{position:relative;display:grid;gap:18px;min-width:0;padding:20px;border:1px solid #dce6ef;border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(7,35,64,.055);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
#treasuryView .treasury-fund-card:hover{border-color:#bdd2e5;box-shadow:0 16px 34px rgba(7,35,64,.09);transform:translateY(-1px)}
#treasuryView .treasury-fund-card.is-low{border-top:3px solid #e7a72d}
#treasuryView .treasury-fund-card.is-pending{border-top:3px solid #6b83a1;background:#fbfdff}
#treasuryView .treasury-fund-card.is-closed{border-color:#e0e6eb;background:#f7f9fb;box-shadow:none;opacity:.82}
#treasuryView .treasury-fund-card.is-closed:hover{border-color:#d5dde5;box-shadow:none;transform:none}
#treasuryView .treasury-fund-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
#treasuryView .treasury-fund-card-head>div{min-width:0}
#treasuryView .treasury-fund-type{display:block;margin-bottom:7px;color:#63809b;font-size:10px;font-weight:850;letter-spacing:.065em;text-transform:uppercase}
#treasuryView .treasury-fund-card h4{margin:0;color:#122f4c;font-size:16px;line-height:1.3}
#treasuryView .treasury-fund-card-head p{margin:5px 0 0;color:#687d92;font-size:11px}
#treasuryView .treasury-fund-balance{padding:16px;border-radius:12px;background:#f5f9fc}
#treasuryView .treasury-fund-balance>span,#treasuryView .treasury-fund-balance>small{display:block;color:#6d8094;font-size:10px;font-weight:700}
#treasuryView .treasury-fund-balance>strong{display:block;margin:6px 0 12px;color:#0d355d;font-size:27px;line-height:1;font-variant-numeric:tabular-nums}
#treasuryView .treasury-fund-balance>strong.negative{color:#a33f35}
#treasuryView .treasury-fund-progress{height:6px;margin-bottom:7px;overflow:hidden;border-radius:99px;background:#dce7ef}
#treasuryView .treasury-fund-progress i{display:block;height:100%;border-radius:inherit;background:#159578}
#treasuryView .treasury-fund-card.is-low .treasury-fund-progress i{background:#e3a22b}
#treasuryView .treasury-fund-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0}
#treasuryView .treasury-fund-facts>div{min-width:0;padding:0 12px;border-right:1px solid #e3eaf0}
#treasuryView .treasury-fund-facts>div:first-child{padding-left:0}
#treasuryView .treasury-fund-facts>div:last-child{padding-right:0;border-right:0}
#treasuryView .treasury-fund-facts dt{margin-bottom:6px;color:#75879a;font-size:9px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
#treasuryView .treasury-fund-facts dd{margin:0;overflow:hidden;color:#183650;font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
#treasuryView .treasury-fund-actions{display:grid;grid-template-columns:minmax(120px,1.3fr) repeat(3,minmax(78px,1fr)) auto;gap:8px;padding-top:15px;border-top:1px solid #e6edf3}
#treasuryView .treasury-fund-actions button{min-height:38px;padding:8px 12px;border-radius:8px;font-size:11px;font-weight:800;white-space:nowrap}
#treasuryView .treasury-fund-actions>.treasury-fund-edit{border:0;color:#145191;background:transparent;cursor:pointer}
#treasuryView .treasury-fund-actions>.treasury-fund-edit:hover{background:#edf5fd}
#treasuryView .treasury-fund-actions.is-readonly{display:block}
#treasuryView .treasury-fund-cycle-note{display:block;padding:4px 2px;color:#64788b;font-size:11px;font-weight:750;line-height:1.5}
#treasuryView .treasury-fund-readonly-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
#treasuryView .treasury-fund-readonly-row .treasury-fund-cycle-note{flex:1}
#treasuryView .treasury-expense-filter{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:14px 16px;border:1px solid #cfe0ee;border-radius:12px;background:#f4f9fd}
#treasuryView .treasury-expense-filter>div{display:grid;gap:3px}
#treasuryView .treasury-expense-filter span{color:#6c8195;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
#treasuryView .treasury-expense-filter strong{color:#123b5c;font-size:14px}
#treasuryView .treasury-expense-filter small{color:#63798e;font-size:11px;font-weight:700}
#treasuryView .treasury-status.closed{color:#5f6e7d;background:#e8edf1}
#treasuryView .treasury-table-wrap{width:100%;overflow-x:auto;overflow-y:visible}
#treasuryView .treasury-table{width:100%;border-collapse:collapse;color:#213850;font-size:13px}
#treasuryView .treasury-table th{padding:11px 14px;border-bottom:1px solid #dfe8f0;color:#708195;background:#f8fafc;font-size:10px;font-weight:800;letter-spacing:.055em;text-align:left;text-transform:uppercase;white-space:nowrap}
#treasuryView .treasury-table td{padding:14px;border-bottom:1px solid #ebf0f4;line-height:1.4;vertical-align:middle}
#treasuryView .treasury-table tbody tr:last-child td{border-bottom:0}
#treasuryView .treasury-table tbody tr:hover{background:#fbfdff}
#treasuryView .treasury-table td>strong,#treasuryView .treasury-table td>small{display:block}
#treasuryView .treasury-table td>small{margin-top:3px;color:#718399;font-size:11px}
#treasuryView [data-treasury-panel="cards"]>article:first-child{height:auto!important;max-height:none!important;overflow:visible!important}
#treasuryCardList{height:auto!important;max-height:none!important;overflow:visible!important}
#treasuryCardList .treasury-card-table-wrap{height:auto!important;max-height:none!important;overflow:visible!important}
#treasuryCardList .treasury-card-table th:first-child,#treasuryCardList .treasury-card-table td:first-child{min-width:170px}
#treasuryCardList .treasury-card-table th:nth-child(2),#treasuryCardList .treasury-card-table td:nth-child(2){min-width:135px}
#treasuryCardList .treasury-card-table td{padding-top:16px;padding-bottom:16px}
#treasuryCardList .treasury-card-responsible{color:#38536e;font-weight:700}
#treasuryCardList .treasury-card-available>strong{display:inline-flex;padding:6px 9px;border-radius:8px;color:#0a5f91;background:#eaf5fb;font-size:13px;font-variant-numeric:tabular-nums}
#treasuryView .treasury-card-actions-trigger{display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid #d7e2ec;border-radius:8px;color:#173d68;background:#fff;font-size:19px;font-weight:900;line-height:1;cursor:pointer}
#treasuryView .treasury-card-actions-trigger:hover,#treasuryView .treasury-card-actions-trigger[aria-expanded="true"]{border-color:#9dbddc;color:#0b4eb5;background:#edf5fd}
.treasury-card-action-popover{position:fixed;z-index:10050;display:grid;width:216px;padding:7px;border:1px solid #d9e4ed;border-radius:12px;background:#fff;box-shadow:0 18px 46px rgba(7,35,64,.2)}
.treasury-card-action-popover[hidden]{display:none!important}
.treasury-card-popover-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 3px 5px;padding:8px 7px 10px;border-bottom:1px solid #e7edf3;color:#183650}
.treasury-card-popover-heading strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.treasury-card-popover-heading span{color:#708398;font-size:10px;font-weight:800;white-space:nowrap}
.treasury-card-action-popover>button{display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:center;min-height:40px;padding:9px 10px;border:0;border-radius:8px;color:#173650;background:transparent;font:700 12px/1.3 inherit;text-align:left;cursor:pointer}
.treasury-card-action-popover>button>span{display:grid;width:22px;height:22px;place-items:center;border-radius:6px;color:#17659b;background:#eaf5fb;font-size:13px}
.treasury-card-action-popover>button:hover,.treasury-card-action-popover>button:focus-visible{outline:0;color:#0b4eb5;background:#f0f6fc}
.treasury-card-action-popover>button:focus-visible{box-shadow:inset 0 0 0 2px rgba(12,95,221,.25)}
#treasuryView .treasury-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}
#treasuryView .treasury-status::before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}
#treasuryView .treasury-status.available{color:#08785f;background:#e6f8f2}
#treasuryView .treasury-status.warning{color:#98600b;background:#fff3d7}
#treasuryView .treasury-status.review{color:#694ca8;background:#f1ecff}
#treasuryView .treasury-row-actions{display:flex;align-items:center;gap:7px}
#treasuryView .treasury-row-actions>.secondary-button{min-height:36px!important;padding:7px 11px!important}
#treasuryView .treasury-action-menu>summary{display:grid;width:38px;height:38px;place-items:center;border:1px solid #d7e2ec;border-radius:8px;color:#173d68;background:#fff;font-size:18px;font-weight:900}
#treasuryView .treasury-action-menu>div{min-width:190px}
#treasuryView .treasury-quiet-state{display:flex;align-items:center;gap:14px;min-height:92px;padding:20px;color:#60758b}
#treasuryView .treasury-quiet-state>span,#treasuryView .treasury-empty-state>span{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:999px;color:#08785f;background:#e7f8f3;font-size:12px;font-weight:900}
#treasuryView .treasury-quiet-state strong,#treasuryView .treasury-empty-state strong{display:block;color:#15314f;font-size:14px}
#treasuryView .treasury-quiet-state p,#treasuryView .treasury-empty-state p{margin:4px 0 0;font-size:12px;line-height:1.45}
#treasuryView .treasury-empty-state{display:flex;min-height:160px;align-items:center;justify-content:center;flex-direction:column;padding:26px;text-align:center;color:#60758b}
#treasuryView .treasury-empty-state .primary-button{margin-top:14px}
#treasuryView .treasury-alert-list{display:grid}
#treasuryView .treasury-alert-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:70px;padding:12px 16px;border:0;border-bottom:1px solid #e8eef3;color:#183650;background:#fff;text-align:left;cursor:pointer}
#treasuryView .treasury-alert-item:last-child{border-bottom:0}
#treasuryView .treasury-alert-item:hover{background:#fafcff}
#treasuryView .treasury-alert-item>span:first-child{display:grid;width:26px;height:26px;place-items:center;border-radius:8px;color:#925c08;background:#fff0ca;font-weight:900}
#treasuryView .treasury-alert-item.danger>span:first-child{color:#a53f35;background:#ffe9e5}
#treasuryView .treasury-alert-item.info>span:first-child{color:#176ca3;background:#e8f5fc}
#treasuryView .treasury-alert-item strong,#treasuryView .treasury-alert-item small{display:block}
#treasuryView .treasury-alert-item strong{font-size:12px}
#treasuryView .treasury-alert-item small{margin-top:4px;color:#708195;font-size:11px;line-height:1.35}
#treasuryView .treasury-alert-item b{font-size:11px;white-space:nowrap}
#treasuryView .treasury-operational-list{margin:0;padding:4px 18px 10px}
#treasuryView .treasury-operational-list>div{display:flex;justify-content:space-between;gap:18px;padding:11px 2px;border-bottom:1px solid #e9eef3}
#treasuryView .treasury-operational-list>div:last-child{border-bottom:0}
#treasuryView .treasury-operational-list dt{color:#65788d;font-size:12px}
#treasuryView .treasury-operational-list dd{margin:0;color:#15314f;font-size:13px;font-weight:850;text-align:right}
#treasuryView .treasury-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:16px}
#treasuryView .treasury-quick-actions button{min-height:44px;padding:9px;border:1px solid #d7e3ed;border-radius:9px;color:#15457d;background:#fff;font-size:11px;font-weight:800;cursor:pointer}
#treasuryView .treasury-quick-actions button:hover{border-color:#9fc2e7;background:#f2f8fe}
#treasuryView .treasury-deposit-panel{margin:0}
#treasuryView .treasury-deposit-filters{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:0;padding:16px 20px;border-bottom:1px solid #e7edf3}
#treasuryView .treasury-deposit-filters input,#treasuryView .treasury-deposit-filters select{min-height:42px;font-size:12px}
#treasuryView .treasury-deposit-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;border-bottom:1px solid #e7edf3}
#treasuryView .treasury-deposit-summary article{min-height:94px;padding:16px 20px;border:0;border-right:1px solid #e7edf3;border-radius:0;background:#fff}
#treasuryView .treasury-deposit-summary article:last-child{border-right:0}
#treasuryView .treasury-deposit-summary span{font-size:11px}
#treasuryView .treasury-deposit-summary strong{font-size:20px}
#treasuryView .treasury-deposit-summary small{font-size:10px}
#treasuryView .treasury-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid #e7edf3}
#treasuryView .treasury-report-grid article{min-height:108px;padding:18px 20px;border:0!important;border-right:1px solid #e7edf3!important;border-bottom:1px solid #e7edf3!important;border-radius:0!important;box-shadow:none!important}
#treasuryView .treasury-report-grid article:nth-child(3n){border-right:0!important}
#treasuryView .treasury-report-grid span,#treasuryView .treasury-report-grid small{font-size:11px}
#treasuryView .treasury-report-grid strong{font-size:22px}
#treasuryView .treasury-audit-report{margin:0;padding:20px}
#treasuryView .treasury-audit-report h3{font-size:17px}
@media(max-width:1280px){
  #treasuryView .treasury-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  #treasuryView .treasury-overview-grid{grid-template-columns:minmax(0,7fr) minmax(300px,5fr)}
  #treasuryView .treasury-fund-facts{grid-template-columns:1fr 1fr;row-gap:14px}
  #treasuryView .treasury-fund-facts>div:nth-child(2){border-right:0}
  #treasuryView .treasury-fund-actions{grid-template-columns:1fr 1fr}
  #treasuryView .treasury-recent-table th:nth-child(4),#treasuryView .treasury-recent-table td:nth-child(4),#treasuryView .treasury-recent-table th:nth-child(5),#treasuryView .treasury-recent-table td:nth-child(5){display:none}
}
@media(max-width:1100px) and (min-width:681px){
  #treasuryCardList .treasury-card-table th:nth-child(5),#treasuryCardList .treasury-card-table td:nth-child(5),#treasuryCardList .treasury-card-table th:nth-child(6),#treasuryCardList .treasury-card-table td:nth-child(6),#treasuryCardList .treasury-card-table th:nth-child(7),#treasuryCardList .treasury-card-table td:nth-child(7){display:none}
}
@media(max-width:980px){
  #treasuryView{width:calc(100% - 32px)!important}
  #treasuryView .treasury-heading{align-items:flex-start}
  #treasuryView .treasury-heading-actions{justify-content:flex-start}
  #treasuryView .treasury-overview-grid{grid-template-columns:1fr}
  #treasuryView .treasury-overview-side{grid-template-columns:1fr 1fr}
  #treasuryView .treasury-overview-side>article:first-child{grid-column:1/-1}
  #treasuryView .treasury-fund-grid{grid-template-columns:1fr}
  #treasuryView .treasury-deposit-filters{grid-template-columns:1fr 1fr}
  #treasuryView .treasury-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #treasuryView .treasury-report-grid article:nth-child(3n){border-right:1px solid #e7edf3!important}
  #treasuryView .treasury-report-grid article:nth-child(2n){border-right:0!important}
}
#treasuryView .treasury-cash-workspace{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
#treasuryView .treasury-cash-workspace .treasury-subtabs{margin:0}
#treasuryView .treasury-period-toolbar{display:flex;align-items:center;gap:8px;padding:7px;border:1px solid #dbe6ee;border-radius:12px;background:#fff;box-shadow:0 4px 16px rgba(7,35,64,.04)}
#treasuryView .treasury-period-toolbar label{display:flex;align-items:center;gap:7px;color:#708398;font-size:10px;font-weight:800}
#treasuryView .treasury-period-toolbar input,#treasuryView .treasury-period-toolbar select{min-height:36px;padding:7px 9px;border:1px solid #d7e3ed;border-radius:8px;color:#173650;background:#fff;font:750 12px inherit}
#treasuryView .treasury-period-toolbar button{min-height:36px;padding:7px 11px;font-size:11px}
#treasuryView .treasury-period-step{width:36px;padding:0!important;font-size:16px!important}
#treasuryView .treasury-funds-panel{overflow:visible;background:transparent;border:0!important;box-shadow:none!important}
#treasuryView .treasury-funds-panel>.panel-header{margin-bottom:14px;padding:0 0 14px!important;border-bottom:1px solid #dce6ef}
#treasuryView .treasury-fund-section{display:grid;gap:14px;margin-bottom:24px}
#treasuryView .treasury-section-heading{display:flex;align-items:end;justify-content:space-between;gap:14px}
#treasuryView .treasury-section-heading span{color:#688098;font-size:10px;font-weight:800;text-transform:capitalize}
#treasuryView .treasury-section-heading h4{margin:3px 0 0;color:#122f4c;font-size:16px}
#treasuryView .treasury-section-heading>strong{display:grid;min-width:34px;height:34px;place-items:center;border-radius:10px;color:#0b4c9f;background:#eaf3ff;font-size:13px}
#treasuryView .treasury-cycle-list{display:grid;gap:8px}
#treasuryView .treasury-cycle-row{display:grid;grid-template-columns:minmax(240px,2fr) minmax(105px,.6fr) minmax(105px,.6fr) auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid #dfe7ee;border-radius:12px;background:#fff}
#treasuryView .treasury-cycle-row>div{display:grid;gap:3px;min-width:0}
#treasuryView .treasury-cycle-row span,#treasuryView .treasury-cycle-row small{color:#718399;font-size:10px}
#treasuryView .treasury-cycle-row strong{overflow:hidden;color:#183650;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
#treasuryView .treasury-month-summary{overflow:hidden}
#treasuryView .treasury-month-metrics{display:grid;grid-template-columns:repeat(4,1fr)}
#treasuryView .treasury-month-metrics article{padding:22px;border-right:1px solid #e7edf3}
#treasuryView .treasury-month-metrics article:last-child{border-right:0}
#treasuryView .treasury-month-metrics span,#treasuryView .treasury-month-metrics small{display:block;color:#718399;font-size:11px}
#treasuryView .treasury-month-metrics strong{display:block;margin:8px 0;color:#0d355d;font-size:24px;font-variant-numeric:tabular-nums}
#treasuryView .treasury-movement-filters{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;padding:16px 20px;border-bottom:1px solid #e7edf3;background:#f8fbfd}
#treasuryView .treasury-movement-filters label{display:grid;gap:5px;color:#6c8094;font-size:10px;font-weight:800}
#treasuryView .treasury-movement-filters input,#treasuryView .treasury-movement-filters select{width:100%;min-height:38px;padding:8px 10px;border:1px solid #d7e3ed;border-radius:8px;color:#173650;background:#fff;font:650 11px inherit}
#treasuryView .treasury-filter-search{grid-column:span 2}
#treasuryView .treasury-movement-filters>button{align-self:end;min-height:38px}
#treasuryView .treasury-result-caption{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;color:#63798e;font-size:11px}
#treasuryView .treasury-result-caption strong{color:#173650}
#treasuryView .treasury-history-panel{overflow:hidden}
#treasuryView .treasury-history-count{padding:7px 10px;border-radius:999px;color:#0b4c9f;background:#eaf3ff;font-size:11px;font-weight:800}
#treasuryView .treasury-history-accordion{display:grid}
#treasuryView .treasury-history-accordion>section{border-bottom:1px solid #e5ecf2}
#treasuryView .treasury-history-month{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:16px;padding:17px 20px;border:0;color:#173650;background:#fff;text-align:left;cursor:pointer}
#treasuryView .treasury-history-month:hover,#treasuryView .treasury-history-accordion>section.open>.treasury-history-month{background:#f5f9fd}
#treasuryView .treasury-history-month span{display:grid;gap:4px}
#treasuryView .treasury-history-month strong{text-transform:capitalize}
#treasuryView .treasury-history-month small{color:#718399;font-size:10px}
#treasuryView .treasury-history-month b{font-size:12px}
#treasuryView .treasury-history-month i{font-style:normal;font-size:18px}
#treasuryView .treasury-history-month-body{display:grid;gap:8px;padding:4px 20px 18px;background:#f5f9fd}
#treasuryView .treasury-fund-detail{position:fixed;z-index:10020;inset:0}
#treasuryView .treasury-fund-detail-backdrop{position:absolute;inset:0;background:rgba(5,24,45,.42);backdrop-filter:blur(2px)}
#treasuryView .treasury-fund-detail-sheet{position:absolute;top:0;right:0;width:min(620px,94vw);height:100%;overflow:auto;padding:24px;background:#f7fafc;box-shadow:-20px 0 55px rgba(7,35,64,.2)}
#treasuryView .treasury-fund-detail-sheet>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
#treasuryView .treasury-fund-detail-sheet>header span{color:#0a8890;font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
#treasuryView .treasury-fund-detail-sheet h3{margin:6px 0;color:#102f4d;font-size:23px}
#treasuryView .treasury-fund-detail-sheet p{margin:0;color:#6d8195;font-size:11px}
#treasuryView .treasury-fund-detail-sheet>header button{display:grid;width:38px;height:38px;place-items:center;border:1px solid #d7e2ec;border-radius:10px;color:#173650;background:#fff;font-size:22px;cursor:pointer}
#treasuryView .treasury-fund-detail-sheet section{margin-bottom:16px;padding:16px;border:1px solid #dfe7ee;border-radius:14px;background:#fff}
#treasuryView .treasury-fund-detail-sheet section>h4{margin:0 0 12px;color:#183650}
#treasuryView .treasury-detail-current{display:grid;gap:5px;background:#0d4c91!important;color:#fff}
#treasuryView .treasury-detail-current span,#treasuryView .treasury-detail-current small{color:#cfe2f7;font-size:11px}
#treasuryView .treasury-detail-current strong{font-size:20px}
#treasuryView .treasury-fund-detail-sheet .treasury-cycle-row{grid-template-columns:minmax(170px,1.6fr) 1fr 1fr auto;margin-bottom:7px;padding:11px}
#treasuryView .treasury-detail-movements{display:grid;gap:7px}
#treasuryView .treasury-detail-movements>div{display:grid;grid-template-columns:1fr auto;gap:3px;padding:10px;border-radius:9px;background:#f5f8fb}
#treasuryView .treasury-detail-movements span,#treasuryView .treasury-detail-movements small{color:#718399;font-size:10px}
#treasuryView .treasury-detail-movements small{grid-column:1/-1}
@media(max-width:1050px){
  #treasuryView .treasury-cash-workspace{align-items:stretch;flex-direction:column}
  #treasuryView .treasury-period-toolbar{flex-wrap:wrap}
  #treasuryView .treasury-movement-filters{grid-template-columns:repeat(3,1fr)}
  #treasuryView .treasury-month-metrics{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  #treasuryView{width:calc(100% - 24px)!important;padding-top:24px!important}
  #treasuryView .treasury-heading h1{font-size:25px!important}
  #treasuryView .treasury-heading-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}
  #treasuryView .treasury-register-menu{grid-column:1/-1}
  #treasuryView .treasury-top-menu>summary{width:100%}
  #treasuryView .treasury-top-menu>div{right:auto;left:0;width:min(280px,calc(100vw - 36px))}
  #treasuryView .treasury-summary{grid-template-columns:1fr}
  #treasuryView .treasury-summary article{min-height:96px!important}
  #treasuryView .treasury-tabs{margin-right:-12px;margin-left:-12px;border-right:0;border-left:0;border-radius:0;padding-right:12px;padding-left:12px}
  #treasuryView .treasury-tabs button{min-width:auto}
  #treasuryView .treasury-subtabs{display:flex;width:100%}
  #treasuryView .treasury-subtabs{overflow-x:auto}
  #treasuryView .treasury-subtabs button{flex:1 0 auto}
  #treasuryView .treasury-period-toolbar{display:grid;grid-template-columns:36px minmax(140px,1fr) 36px}
  #treasuryView .treasury-period-toolbar>label{justify-content:space-between}
  #treasuryView .treasury-period-toolbar>button:not(.treasury-period-step),#treasuryView .treasury-period-year{grid-column:span 3}
  #treasuryView .treasury-month-metrics,#treasuryView .treasury-movement-filters{grid-template-columns:1fr}
  #treasuryView .treasury-month-metrics article{border-right:0;border-bottom:1px solid #e7edf3}
  #treasuryView .treasury-filter-search{grid-column:auto}
  #treasuryView .treasury-cycle-row,#treasuryView .treasury-fund-detail-sheet .treasury-cycle-row{grid-template-columns:1fr 1fr}
  #treasuryView .treasury-cycle-row>div:first-child{grid-column:1/-1}
  #treasuryView .treasury-cycle-row>button{grid-column:1/-1}
  #treasuryView .treasury-history-month{grid-template-columns:minmax(0,1fr) auto 20px;padding:14px}
  #treasuryView .treasury-history-month-body{padding:4px 10px 14px}
  #treasuryView .treasury-fund-detail-sheet{width:100%;padding:16px}
  #treasuryView .treasury-fund-card{gap:16px;padding:16px}
  #treasuryView .treasury-fund-card-head{align-items:flex-start;flex-direction:column;gap:10px}
  #treasuryView .treasury-fund-facts{grid-template-columns:1fr 1fr}
  #treasuryView .treasury-fund-actions{grid-template-columns:1fr 1fr}
  #treasuryView .treasury-fund-readonly-row,#treasuryView .treasury-expense-filter{align-items:stretch;flex-direction:column}
  #treasuryView .treasury-overview-side{grid-template-columns:1fr}
  #treasuryView .treasury-overview-side>article:first-child{grid-column:auto}
  #treasuryView .panel-header{align-items:flex-start;flex-direction:column}
  #treasuryView .panel-header>button,#treasuryView .panel-header>.request-actions{width:100%}
  #treasuryView .panel-header>.request-actions button{flex:1}
  #treasuryView .treasury-deposit-filters,#treasuryView .treasury-deposit-summary,#treasuryView .treasury-report-grid{grid-template-columns:1fr}
  #treasuryView .treasury-deposit-summary article,#treasuryView .treasury-report-grid article{border-right:0!important}
  #treasuryView .treasury-quick-actions{grid-template-columns:1fr}
  #treasuryView .treasury-quick-actions button{width:100%}
  #treasuryView .treasury-table thead{display:none}
  #treasuryView .treasury-table,#treasuryView .treasury-table tbody,#treasuryView .treasury-table tr,#treasuryView .treasury-table td{display:block;width:100%}
  #treasuryView .treasury-table tr{padding:12px 14px;border-bottom:1px solid #e7edf3}
  #treasuryView .treasury-table td{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border:0;text-align:right}
  #treasuryView .treasury-table td::before{flex:0 0 42%;color:#74869a;font-size:10px;font-weight:800;letter-spacing:.04em;text-align:left;text-transform:uppercase;content:attr(data-label)}
  #treasuryCardList td:nth-child(1)::before{content:"Tarjeta"}#treasuryCardList td:nth-child(2)::before{content:"Responsable"}#treasuryCardList td:nth-child(3)::before{content:"Límite"}#treasuryCardList td:nth-child(4)::before{content:"Disponible"}#treasuryCardList td:nth-child(5)::before{content:"Consumo"}#treasuryCardList td:nth-child(6)::before{content:"Corte"}#treasuryCardList td:nth-child(7)::before{content:"Pago"}#treasuryCardList td:nth-child(8)::before{content:"Estado"}#treasuryCardList td:nth-child(9)::before{content:"Acción"}
  #treasuryFundList td:nth-child(1)::before,#treasuryActiveFundList td:nth-child(1)::before{content:"Fondo"}#treasuryFundList td:nth-child(2)::before,#treasuryActiveFundList td:nth-child(2)::before{content:"Responsable"}#treasuryFundList td:nth-child(3)::before{content:"Saldo inicial"}#treasuryActiveFundList td:nth-child(3)::before{content:"Saldo"}#treasuryFundList td:nth-child(4)::before{content:"Saldo actual"}#treasuryActiveFundList td:nth-child(4)::before{content:"Mínimo"}#treasuryFundList td:nth-child(5)::before{content:"Mínimo"}#treasuryActiveFundList td:nth-child(5)::before{content:"Gastos"}#treasuryFundList td:nth-child(6)::before{content:"Gastos"}#treasuryActiveFundList td:nth-child(6)::before{content:"Estado"}#treasuryFundList td:nth-child(7)::before{content:"Último arqueo"}#treasuryActiveFundList td:nth-child(7)::before{content:"Acción"}#treasuryFundList td:nth-child(8)::before{content:"Estado"}#treasuryFundList td:nth-child(9)::before{content:"Acción"}
  #treasuryReimbursementList td:nth-child(1)::before{content:"Fecha"}#treasuryReimbursementList td:nth-child(2)::before{content:"Solicitante"}#treasuryReimbursementList td:nth-child(3)::before{content:"Fondo"}#treasuryReimbursementList td:nth-child(4)::before{content:"Concepto"}#treasuryReimbursementList td:nth-child(5)::before{content:"Importe"}#treasuryReimbursementList td:nth-child(6)::before{content:"Comprobante"}#treasuryReimbursementList td:nth-child(7)::before{content:"Estado"}#treasuryReimbursementList td:nth-child(8)::before{content:"Aprobador"}#treasuryReimbursementList td:nth-child(9)::before{content:"Acción"}
  #treasuryRecentMovementList td:nth-child(1)::before{content:"Fecha"}#treasuryRecentMovementList td:nth-child(2)::before{content:"Tipo"}#treasuryRecentMovementList td:nth-child(3)::before{content:"Cuenta"}#treasuryRecentMovementList td:nth-child(4)::before{content:"Responsable"}#treasuryRecentMovementList td:nth-child(5)::before{content:"Referencia"}#treasuryRecentMovementList td:nth-child(6)::before{content:"Importe"}#treasuryRecentMovementList td:nth-child(7)::before{content:"Estado"}
  #treasuryView .treasury-row-actions{justify-content:flex-end}
  #treasuryView .treasury-action-menu>div{position:fixed;right:16px;bottom:16px;top:auto;left:16px;min-width:0}
  .treasury-card-action-popover{right:12px!important;bottom:12px!important;left:12px!important;top:auto!important;width:auto;padding:9px;border-radius:16px;box-shadow:0 22px 58px rgba(7,35,64,.28)}
  .treasury-card-action-popover>button{min-height:48px;font-size:13px}
}

/* Panel gerencial ejecutivo v2 */
#companiesView{width:calc(100% - 48px)!important;max-width:1680px!important;margin:0 auto!important;padding:30px 0 56px!important}
#companiesView>.executive-legacy{display:none!important}
.executive-v2{display:grid;gap:22px;color:#1d344d}
.executive-v2[aria-busy="true"]{opacity:.68;pointer-events:none}
.executive-v2-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.executive-v2-heading>div:first-child{max-width:660px}
.executive-v2-heading .eyebrow{margin:0 0 5px;color:#0b8c91;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.executive-v2-heading h1{margin:0;color:#071f49;font-size:28px;line-height:1.16}
.executive-v2-heading p:not(.eyebrow){margin:7px 0 0;color:#62758a;font-size:13px;line-height:1.45}
.executive-v2-toolbar{display:flex;align-items:end;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.executive-v2-toolbar label,.executive-v2-controls label,.executive-v2-section-head>label{display:grid;gap:5px;color:#62758a;font-size:10px;font-weight:850}
.executive-v2-toolbar select,.executive-v2-toolbar input,.executive-v2-controls select,.executive-v2-controls input,.executive-v2-section-head select{min-height:40px;padding:8px 10px;border:1px solid #d8e3ec;border-radius:8px;color:#183650;background:#fff;font-size:12px}
.executive-v2-toolbar button{min-height:40px;white-space:nowrap}
.executive-v2-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}
.executive-v2-kpis article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:start;min-width:0;min-height:126px;padding:16px;border:1px solid #dce6ee;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(7,35,64,.045)}
.executive-v2-kpi-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:#17659b;background:#eaf5fb;font-size:10px;font-weight:900}
.executive-v2-kpis article[data-tone="payroll"] .executive-v2-kpi-icon{color:#6550a1;background:#f1edfb}
.executive-v2-kpis article[data-tone="warning"] .executive-v2-kpi-icon{color:#98600b;background:#fff3d7}
.executive-v2-kpis article[data-tone="critical"]{border-color:#efccc8;background:#fffafa}
.executive-v2-kpis article[data-tone="critical"] .executive-v2-kpi-icon{color:#a83e35;background:#ffe9e6}
.executive-v2-kpis article.is-zero{background:#fbfcfd;box-shadow:none}
.executive-v2-kpis article>div{min-width:0}
.executive-v2-kpis small,.executive-v2-kpis strong,.executive-v2-kpis p,.executive-v2-kpis em{display:block}
.executive-v2-kpis small{color:#62758a;font-size:10px;font-weight:850;line-height:1.3}
.executive-v2-kpis strong{margin:7px 0 5px;overflow:hidden;color:#0b2d52;font-size:23px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.executive-v2-kpis p{margin:0;color:#6f8194;font-size:10px;line-height:1.35}
.executive-v2-kpis em{margin-top:7px;color:#7890a4;font-size:9px;font-style:normal;font-weight:750}
.executive-v2-tabs{display:flex;gap:4px;padding:5px;border:1px solid #dce6ee;border-radius:12px;background:#fff;overflow-x:auto}
.executive-v2-tabs button{flex:0 0 auto;min-width:108px;min-height:41px;padding:8px 16px;border:0;border-radius:8px;color:#5d7187;background:transparent;font-size:12px;font-weight:850;cursor:pointer}
.executive-v2-tabs button:hover{color:#0b4eb5;background:#f1f6fb}
.executive-v2-tabs button.active{color:#fff;background:#123b5d;box-shadow:0 5px 13px rgba(18,59,93,.18)}
.executive-v2-tabs button:focus-visible,.executive-v2 button:focus-visible,.executive-v2 input:focus-visible,.executive-v2 select:focus-visible{outline:3px solid rgba(12,95,221,.25);outline-offset:2px}
.executive-v2-panel[hidden]{display:none!important}
.executive-v2-panel.active{display:block}
.executive-v2-summary-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(330px,1fr);gap:20px;align-items:start}
.executive-v2-main,.executive-v2-side{display:grid;gap:20px;min-width:0}
.executive-v2 .panel{min-height:0!important;overflow:visible;border:1px solid #dce6ee!important;border-radius:13px!important;background:#fff!important;box-shadow:0 6px 22px rgba(7,35,64,.045)!important}
.executive-v2-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px;padding:16px 19px;border-bottom:1px solid #e5ecf2}
.executive-v2-section-head>div:first-child{min-width:0}
.executive-v2-section-head h3{margin:0;color:#102f50;font-size:17px;line-height:1.25}
.executive-v2-section-head p{margin:4px 0 0;color:#6a7d91;font-size:11px;line-height:1.4}
.executive-v2-section-head .text-button{min-height:40px;padding:8px;border:0;color:#0b55ae;background:transparent;font-size:11px;font-weight:850;cursor:pointer;white-space:nowrap}
.executive-v2-performance{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,1fr);gap:22px;padding:20px}
.executive-v2-performance-chart{display:grid;gap:18px;align-content:center;min-height:150px;padding:4px 0}
.executive-v2-performance-chart>div{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:10px;align-items:center}
.executive-v2-performance-chart span{color:#64788d;font-size:11px;font-weight:800}
.executive-v2-performance-chart i{display:block;height:18px;border-radius:5px;background:#17659b}
.executive-v2-performance-chart .previous i{background:#a9bfd2}
.executive-v2-performance-chart strong{color:#153754;font-size:12px;font-variant-numeric:tabular-nums}
.executive-v2-performance dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border:1px solid #e1e9f0;border-radius:10px;overflow:hidden}
.executive-v2-performance dl>div{padding:14px;border-right:1px solid #e1e9f0;border-bottom:1px solid #e1e9f0}
.executive-v2-performance dl>div:nth-child(2n){border-right:0}.executive-v2-performance dl>div:nth-last-child(-n+2){border-bottom:0}
.executive-v2-performance dt{color:#6f8194;font-size:10px}.executive-v2-performance dd{margin:7px 0 0;color:#0d3157;font-size:16px;font-weight:850;font-variant-numeric:tabular-nums}
.executive-v2-table-wrap{width:100%;overflow-x:auto}
.executive-v2-table{width:100%;border-collapse:collapse;color:#213850;font-size:12px}
.executive-v2-table th{padding:11px 12px;border-bottom:1px solid #dce5ed;color:#6a7d91;background:#f7f9fb;font-size:9px;font-weight:900;letter-spacing:.045em;text-align:left;text-transform:uppercase;white-space:nowrap}
.executive-v2-table td{padding:13px 12px;border-bottom:1px solid #e8eef3;vertical-align:middle}
.executive-v2-table tbody tr:last-child td{border-bottom:0}.executive-v2-table tbody tr:hover{background:#fbfdff}
.executive-v2-table td:first-child{min-width:155px;max-width:220px}.executive-v2-table td:first-child strong,.executive-v2-table td:first-child small{display:block}.executive-v2-table td:first-child small{margin-top:3px;color:#708398;font-size:10px;line-height:1.3}
.executive-v2-health{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}.executive-v2-health i{width:6px;height:6px;border-radius:50%;background:currentColor}
.executive-v2-health.stable{color:#08785f;background:#e6f8f2}.executive-v2-health.attention,.executive-v2-health.preparing{color:#98600b;background:#fff3d7}.executive-v2-health.critical{color:#a83e35;background:#ffe9e6}.executive-v2-health.inactive{color:#68798b;background:#edf1f4}
.executive-v2-row-actions{display:flex;gap:6px}.executive-v2-row-actions button{min-height:36px;padding:7px 9px;font-size:10px;white-space:nowrap}
.executive-v2-priority-list{display:grid}.executive-v2-priority-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:13px 16px;border-bottom:1px solid #e7edf3}.executive-v2-priority-list article:last-child{border-bottom:0}
.executive-v2-severity{display:inline-flex;padding:5px 7px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase}.executive-v2-severity.critical{color:#a83e35;background:#ffe9e6}.executive-v2-severity.high{color:#98600b;background:#fff3d7}.executive-v2-severity.medium{color:#17659b;background:#eaf5fb}.executive-v2-severity.low{color:#68798b;background:#edf1f4}
.executive-v2-priority-list strong,.executive-v2-priority-list p,.executive-v2-priority-list small{display:block}.executive-v2-priority-list strong{color:#173650;font-size:11px}.executive-v2-priority-list p{margin:3px 0;color:#4f6479;font-size:10px;line-height:1.4}.executive-v2-priority-list small{color:#7b8ca0;font-size:9px}.executive-v2-priority-list button{min-height:34px;border:0;color:#0b55ae;background:transparent;font-size:9px;font-weight:850;cursor:pointer}
.executive-v2-deadlines{display:grid}.executive-v2-deadlines>button{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:59px;padding:10px 15px;border:0;border-bottom:1px solid #e7edf3;color:#183650;background:#fff;text-align:left;cursor:pointer}.executive-v2-deadlines>button:last-child{border-bottom:0}.executive-v2-deadlines>button:hover{background:#fafcff}.executive-v2-deadlines time{color:#0b5c91;font-size:10px;font-weight:850}.executive-v2-deadlines strong,.executive-v2-deadlines small{display:block}.executive-v2-deadlines strong{font-size:10px}.executive-v2-deadlines small{margin-top:3px;color:#718399;font-size:9px}.executive-v2-deadlines em{color:#7a8ca0;font-size:9px;font-style:normal;font-weight:800;white-space:nowrap}
.executive-v2-approvals{display:grid;padding:4px 15px}.executive-v2-approvals>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:59px;border-bottom:1px solid #e7edf3}.executive-v2-approvals>div:last-child{border-bottom:0}.executive-v2-approvals strong,.executive-v2-approvals small{display:block}.executive-v2-approvals strong{color:#173650;font-size:10px}.executive-v2-approvals small{margin-top:3px;color:#718399;font-size:9px}.executive-v2-approvals button{min-height:34px;padding:6px 9px;font-size:9px}
.executive-v2-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:18px}.executive-v2-groups.two{grid-template-columns:1fr 1fr}.executive-v2-groups section{min-width:0;padding:0 16px;border-right:1px solid #e1e9ef}.executive-v2-groups section:first-child{padding-left:0}.executive-v2-groups section:last-child{padding-right:0;border-right:0}.executive-v2-groups h4{margin:0 0 10px;color:#0d365d;font-size:11px;text-transform:uppercase}.executive-v2-groups dl{margin:0}.executive-v2-groups dl>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid #edf1f4}.executive-v2-groups dt{color:#65798d;font-size:10px}.executive-v2-groups dd{margin:0;color:#173650;font-size:11px;font-weight:850}
.executive-v2-controls{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.executive-v2-controls input,.executive-v2-controls select{min-width:135px}
.executive-v2-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.executive-v2-area-grid>.panel:nth-child(3),.executive-v2-area-grid>.panel:nth-child(4){grid-column:1/-1}
.executive-v2-area-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:18px}.executive-v2-area-metrics>div{padding:3px 16px;border-right:1px solid #e1e9ef}.executive-v2-area-metrics>div:first-child{padding-left:0}.executive-v2-area-metrics>div:last-child{border-right:0}.executive-v2-area-metrics span,.executive-v2-area-metrics strong,.executive-v2-area-metrics small{display:block}.executive-v2-area-metrics span{color:#6d8093;font-size:10px}.executive-v2-area-metrics strong{margin:8px 0 5px;color:#0d3157;font-size:21px;font-variant-numeric:tabular-nums}.executive-v2-area-metrics small{color:#8494a5;font-size:9px}
.executive-v2-comparison{display:grid;grid-template-columns:repeat(3,1fr);padding:18px}.executive-v2-comparison>div{padding:8px 16px;border-right:1px solid #e1e9ef}.executive-v2-comparison>div:last-child{border-right:0}.executive-v2-comparison span,.executive-v2-comparison strong{display:block}.executive-v2-comparison span{color:#6d8093;font-size:10px}.executive-v2-comparison strong{margin-top:8px;color:#0d3157;font-size:18px}
.executive-v2-alert-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.executive-v2-alert-groups>section{min-width:0;border-right:1px solid #e1e9ef}.executive-v2-alert-groups>section:last-child{border-right:0}.executive-v2-alert-groups>section>header{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e1e9ef}.executive-v2-alert-groups h4{margin:0;color:#173650;font-size:13px}.executive-v2-alert-groups header span{font-size:11px;font-weight:850}.executive-v2-alert-groups article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:13px 15px;border-bottom:1px solid #edf1f4}.executive-v2-alert-groups article>button{grid-column:2;justify-self:start;min-height:34px;font-size:9px}.executive-v2-alert-groups article strong,.executive-v2-alert-groups article p,.executive-v2-alert-groups article small{display:block}.executive-v2-alert-groups article strong{font-size:10px}.executive-v2-alert-groups article p{margin:3px 0;color:#61758a;font-size:9px}.executive-v2-alert-groups article small{color:#8191a2;font-size:9px}
.executive-v2-empty{display:flex;min-height:110px;align-items:center;justify-content:center;flex-direction:column;padding:20px;color:#738598;text-align:center}.executive-v2-empty span{display:grid;width:32px;height:32px;place-items:center;margin-bottom:8px;border-radius:50%;background:#eef3f6;font-weight:900}.executive-v2-empty strong{font-size:11px}
.executive-v2-drawer-backdrop{position:fixed;z-index:10020;inset:0;display:flex;justify-content:flex-end;pointer-events:none;background:rgba(7,26,48,0);transition:background .2s ease}.executive-v2-drawer-backdrop.open{pointer-events:auto;background:rgba(7,26,48,.34)}
.executive-v2-drawer{width:min(440px,100%);height:100%;overflow-y:auto;background:#fff;box-shadow:-18px 0 50px rgba(7,35,64,.18);transform:translateX(105%);transition:transform .22s ease}.executive-v2-drawer-backdrop.open .executive-v2-drawer{transform:translateX(0)}
.executive-v2-drawer>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px;border-bottom:1px solid #e1e9ef}.executive-v2-drawer>header span{color:#6e8093;font-size:10px;font-weight:850;text-transform:uppercase}.executive-v2-drawer>header h2{margin:5px 0 0;color:#0d3157;font-size:20px}.executive-v2-drawer>header button{display:grid;width:40px;height:40px;place-items:center;border:1px solid #d8e3ec;border-radius:9px;background:#fff;font-size:22px;cursor:pointer}
.executive-v2-drawer-health{padding:20px 22px;border-bottom:1px solid #e1e9ef}.executive-v2-drawer-health p{margin:9px 0 0;color:#6f8194;font-size:11px}.executive-v2-drawer-metrics{margin:0;padding:0 22px}.executive-v2-drawer-metrics>div{padding:15px 0;border-bottom:1px solid #e7edf3}.executive-v2-drawer-metrics dt{color:#6f8194;font-size:10px}.executive-v2-drawer-metrics dd{margin:6px 0 0;color:#173650;font-size:12px;font-weight:750}.executive-v2-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:20px 22px}.executive-v2-drawer-actions button{min-height:42px}
@media(max-width:1380px){.executive-v2-heading{align-items:flex-start;flex-direction:column}.executive-v2-toolbar{justify-content:flex-start}.executive-v2-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1080px){#companiesView{width:calc(100% - 32px)!important}.executive-v2-summary-layout{grid-template-columns:1fr}.executive-v2-performance{grid-template-columns:1fr}.executive-v2-kpis strong{font-size:20px}.executive-v2-tabs button{min-width:92px;padding-inline:12px}.executive-v2-groups{grid-template-columns:1fr 1fr;row-gap:18px}.executive-v2-groups section:nth-child(2){border-right:0}.executive-v2-area-grid{grid-template-columns:1fr}.executive-v2-area-grid>.panel{grid-column:auto!important}.executive-v2-alert-groups{grid-template-columns:1fr}.executive-v2-alert-groups>section{border-right:0;border-bottom:1px solid #e1e9ef}.executive-v2-alert-groups>section:last-child{border-bottom:0}}
@media(max-width:820px){.executive-v2-summary-layout{grid-template-columns:1fr}.executive-v2-kpis{grid-template-columns:1fr 1fr}.executive-v2-section-head{align-items:flex-start;flex-direction:column}.executive-v2-controls{width:100%}.executive-v2-controls label{flex:1}.executive-v2-area-metrics{grid-template-columns:1fr 1fr;row-gap:18px}.executive-v2-area-metrics>div:nth-child(2){border-right:0}.executive-v2-table thead{display:none}.executive-v2-table,.executive-v2-table tbody,.executive-v2-table tr,.executive-v2-table td{display:block;width:100%}.executive-v2-table tr{padding:13px 15px;border-bottom:1px solid #e1e9ef}.executive-v2-table td{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border:0;text-align:right}.executive-v2-table td::before{color:#6e8093;font-size:9px;font-weight:900;text-align:left;text-transform:uppercase;content:attr(data-label)}.executive-v2-row-actions{justify-content:flex-end}}
@media(max-width:560px){#companiesView{width:calc(100% - 24px)!important;padding-top:22px!important}.executive-v2{gap:16px}.executive-v2-heading h1{font-size:25px}.executive-v2-toolbar{display:grid;width:100%;grid-template-columns:1fr 1fr}.executive-v2-toolbar label:first-child{grid-column:1/-1}.executive-v2-toolbar button{width:100%}.executive-v2-toolbar .master-chip{grid-column:1/-1}.executive-v2-kpis{grid-template-columns:1fr}.executive-v2-kpis article{min-height:108px}.executive-v2-tabs{margin-right:-12px;margin-left:-12px;border-right:0;border-left:0;border-radius:0;padding-right:12px;padding-left:12px}.executive-v2-performance{padding:15px}.executive-v2-performance-chart>div{grid-template-columns:82px minmax(0,1fr);}.executive-v2-performance-chart strong{grid-column:2}.executive-v2-performance dl{grid-template-columns:1fr}.executive-v2-performance dl>div{border-right:0}.executive-v2-performance dl>div:nth-last-child(-n+2){border-bottom:1px solid #e1e9ef}.executive-v2-performance dl>div:last-child{border-bottom:0}.executive-v2-groups,.executive-v2-groups.two,.executive-v2-area-metrics,.executive-v2-comparison{grid-template-columns:1fr}.executive-v2-groups section,.executive-v2-area-metrics>div,.executive-v2-comparison>div{padding:12px 0;border-right:0;border-bottom:1px solid #e1e9ef}.executive-v2-groups section:last-child,.executive-v2-area-metrics>div:last-child,.executive-v2-comparison>div:last-child{border-bottom:0}.executive-v2-deadlines>button{grid-template-columns:58px minmax(0,1fr)}.executive-v2-deadlines em{grid-column:2}.executive-v2-drawer-actions{grid-template-columns:1fr}}

/* DEMEDICA · Control de visitas y registro de cantidades */
#protocolVisitsView{min-width:0;overflow-x:hidden;background:#f7f9fc}
.protocol-visit-protocol-modal{width:min(720px,calc(100vw - 36px));max-height:min(88vh,720px);overflow:auto}
.protocol-visit-protocol-modal .modal-header{padding-bottom:16px;border-bottom:1px solid #e5ebf2}
.protocol-visit-protocol-modal .modal-header h2{margin-bottom:5px}
.protocol-visit-protocol-modal .modal-header p{max-width:520px;margin:0;color:#6b7e91;font-size:11px;line-height:1.45}
.protocol-visit-protocol-grid{gap:14px 16px;padding-top:18px}
.protocol-visit-protocol-grid label{gap:6px;color:#3e5871;font-size:10px;font-weight:800}
.protocol-visit-protocol-grid input,.protocol-visit-protocol-grid select,.protocol-visit-protocol-grid textarea{width:100%;min-height:42px;border-color:#ccd8e4;border-radius:8px;color:#173753;background:#fff}
.protocol-visit-protocol-grid textarea{min-height:64px;resize:vertical}
.protocol-visit-protocol-notes{margin-top:2px;padding-top:13px;border-top:1px solid #edf1f5}
.protocol-visit-protocol-modal .modal-actions{position:sticky;bottom:0;margin-top:18px;padding-top:14px;border-top:1px solid #e5ebf2;background:#fff}
#protocolVisitsView .medical-panel{min-width:0;overflow:hidden;border-color:#dfe7f0;background:#fff;box-shadow:0 4px 14px rgba(22,52,83,.04)}
#protocolVisitsTabs.protocol-visit-tabs{display:flex;flex-wrap:nowrap;gap:26px;overflow-x:auto;margin-bottom:12px;padding:0 4px;border:0;border-bottom:1px solid #dce5ef;border-radius:0;background:transparent;box-shadow:none;scrollbar-width:thin}
#protocolVisitsTabs.protocol-visit-tabs button{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;min-height:47px;padding:0 1px;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;color:#64758a;background:transparent!important;box-shadow:none!important;font-size:12px;font-weight:700;white-space:nowrap}
#protocolVisitsTabs.protocol-visit-tabs button>span{color:#8290a2;font-size:14px;font-weight:500}
#protocolVisitsTabs.protocol-visit-tabs button:hover{color:#245f9f}
#protocolVisitsTabs.protocol-visit-tabs button.active{color:#075cd6!important;border-bottom-color:#075cd6!important;background:transparent!important;box-shadow:none!important}
#protocolVisitsTabs.protocol-visit-tabs button.active>span{color:#075cd6}
#protocolVisitsCapturePanel{min-width:0;padding:0!important;background:#f7f9fc}
.protocol-visit-capture-shell{min-width:0;padding:22px;border:1px solid #dfe7f0;border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(22,52,83,.04)}
.protocol-visit-capture-header{display:grid;grid-template-columns:minmax(360px,1fr) minmax(570px,1.25fr);gap:24px;align-items:center;padding-bottom:20px;border-bottom:1px solid #e2e8f0}
.protocol-visit-capture-title{display:flex;align-items:center;gap:15px;min-width:0}
.protocol-visit-capture-icon{display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;border:1px solid #cfe0f7;border-radius:11px;color:#0967db;background:#f4f8ff;font-size:24px}
.protocol-visit-capture-title h2{margin:0;color:#102f55;font:800 22px/1.25 var(--font-display)}
.protocol-visit-capture-title p{margin:7px 0 0;color:#687b91;font-size:13px;line-height:1.45}
.protocol-visit-capture-summary{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(150px,.8fr) minmax(250px,1.25fr);gap:10px;min-width:0}
.protocol-visit-capture-summary article{display:flex;align-items:center;gap:11px;min-width:0;min-height:76px;padding:12px 14px;border:1px solid #dfe7f0;border-radius:10px;background:#fff}
.pv-summary-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:8px;color:#0967db;background:#f2f7ff;font-size:18px}
.protocol-visit-capture-summary article>div{min-width:0}.protocol-visit-capture-summary small,.protocol-visit-capture-summary strong,.protocol-visit-capture-summary p{display:block}
.protocol-visit-capture-summary small{color:#63758a;font-size:12px}.protocol-visit-capture-summary strong{margin-top:3px;color:#102f55;font-size:18px;line-height:1.2;font-variant-numeric:tabular-nums}.protocol-visit-capture-summary p{margin:3px 0 0;color:#7d8da0;font-size:12px}
.protocol-visit-capture-summary .pv-period-summary strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.pv-capture-status{display:inline-flex;margin-top:6px;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:800}.pv-capture-status.open{color:#087a4f;background:#e1f6eb}.pv-capture-status.review{color:#8b6508;background:#fff2cc}.pv-capture-status.observed{color:#a14837;background:#fee9e5}.pv-capture-status.approved{color:#075cb4;background:#e5f0ff}.pv-capture-status.closed,.pv-capture-status.void,.pv-capture-status.neutral{color:#58697c;background:#edf1f5}
.protocol-visit-capture-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:20px 0 14px}
.protocol-visit-capture-filters{display:grid;grid-template-columns:minmax(250px,310px) minmax(260px,330px);gap:14px;min-width:0}
.protocol-visit-capture-filters label{display:grid;gap:7px;min-width:0;color:#334d68;font-size:12px;font-weight:750}
.protocol-visit-capture-filters select{width:100%;min-width:0;height:43px;padding:0 38px 0 12px!important;border:1px solid #d4dfeb!important;border-radius:8px!important;color:#173650;background-color:#fff;font-size:13px;font-weight:650;text-overflow:ellipsis}
.protocol-visit-capture-filters select:focus{border-color:#0967db!important;box-shadow:0 0 0 3px rgba(9,103,219,.12)!important}
.pv-period-picker-field{display:grid;gap:7px;min-width:0;color:#334d68;font-size:12px;font-weight:750}
.pv-period-picker{position:relative;min-width:0}
.pv-period-picker-trigger{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;height:43px;padding:0 12px;border:1px solid #d4dfeb;border-radius:8px;color:#173650;background:#fff;text-align:left;font-size:13px;font-weight:650;cursor:pointer}
.pv-period-picker-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-period-picker-trigger>i{color:#617890;font-size:16px;font-style:normal}.pv-period-picker-trigger:hover:not(:disabled){border-color:#a9bfd5;background:#fbfdff}.pv-period-picker-trigger:focus-visible,.pv-period-picker-trigger[aria-expanded="true"]{border-color:#0967db;outline:0;box-shadow:0 0 0 3px rgba(9,103,219,.12)}.pv-period-picker-trigger:disabled{cursor:not-allowed;opacity:.55}
.pv-period-picker-menu{position:absolute;z-index:120;top:calc(100% + 6px);right:0;left:0;display:grid;max-height:280px;padding:6px;overflow-y:auto;border:1px solid #ccd9e6;border-radius:10px;background:#fff;box-shadow:0 16px 38px rgba(20,51,82,.2)}.pv-period-picker-menu[hidden]{display:none!important}
.pv-period-picker-option{display:grid;gap:3px;width:100%;padding:10px 11px;border:0;border-radius:7px;color:#173650;background:#fff;text-align:left;cursor:pointer}.pv-period-picker-option:hover,.pv-period-picker-option:focus-visible{outline:0;background:#eef5ff}.pv-period-picker-option.selected{background:#e7f1ff;color:#075cb4}.pv-period-picker-option strong,.pv-period-picker-option small{display:block}.pv-period-picker-option strong{font-size:12px}.pv-period-picker-option small{color:#6b7f93;font-size:10px;font-weight:550}.pv-period-picker-empty{padding:12px;color:#6b7f93;font-size:11px;text-align:center}
.pv-period-native-select{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.protocol-visit-capture-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0;flex-wrap:wrap}
.pv-action{min-height:42px;padding:0 13px;border-radius:8px;font-size:12px;font-weight:800;white-space:nowrap;transition:border-color .15s ease,background .15s ease,color .15s ease}
.pv-action.secondary{border:1px solid #cfdae7;color:#075cb4;background:#fff}.pv-action.secondary:hover:not(:disabled){border-color:#8db4df;background:#f6f9fd}.pv-action.primary{border:1px solid #075ed0;color:#fff;background:#075ed0;box-shadow:none}.pv-action.primary:hover:not(:disabled){background:#064fae}
.pv-action:disabled{cursor:not-allowed;opacity:.46}.pv-action:focus-visible{outline:3px solid rgba(9,103,219,.18);outline-offset:2px}
.protocol-visit-save-line{display:flex;justify-content:flex-end;min-height:24px;margin-bottom:6px;color:#61758a;font-size:12px}.protocol-visit-save-line span::before{content:"✓";margin-right:6px;color:#0b8c69;font-weight:900}.protocol-visit-save-line span[data-state="saving"]::before{content:"…";color:#0967db}.protocol-visit-save-line span[data-state="error"]::before{content:"!";color:#b42318}
.protocol-visit-quantity-table{width:100%;max-width:100%;max-height:min(61vh,650px);overflow:auto;border:1px solid #dce5ef;border-radius:11px;background:#fff;overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable both-edges;scroll-behavior:auto;scrollbar-width:thin}
.protocol-visit-quantity-table table{width:max-content;min-width:100%;border:0;border-collapse:separate;border-spacing:0;background:#fff}
.protocol-visit-quantity-table th,.protocol-visit-quantity-table td{height:60px;padding:10px 14px;border:0;border-bottom:1px solid #e5ebf2;color:#193754;background:#fff;font-size:12px;vertical-align:middle}
.protocol-visit-quantity-table thead th{position:sticky;z-index:5;top:0;height:60px;color:#52677d;background:#f8fafc;font-size:12px;font-weight:750;text-align:center}
.protocol-visit-quantity-table thead th.pv-doctor-column{text-align:left;text-transform:uppercase}
.protocol-visit-quantity-table tbody tr:hover th,.protocol-visit-quantity-table tbody tr:hover td{background:#fbfdff}
.protocol-visit-quantity-table .pv-doctor-column{position:sticky;z-index:3;left:0;width:330px;min-width:330px;max-width:330px;background:#fff;box-shadow:1px 0 0 #e1e8f0,7px 0 12px rgba(19,54,85,.025)}
.protocol-visit-quantity-table thead .pv-doctor-column{z-index:7;background:#f8fafc}.protocol-visit-quantity-table tfoot .pv-doctor-column{z-index:7;background:#f3f7fb}
.protocol-visit-quantity-table tbody .pv-doctor-column{text-align:left;text-transform:none!important}.protocol-visit-quantity-table tbody .pv-doctor-column strong,.protocol-visit-quantity-table tbody .pv-doctor-column span{display:block;overflow:hidden;text-overflow:ellipsis;text-transform:none!important}
.protocol-visit-quantity-table tbody .pv-doctor-column strong{color:#112f55;font-size:13px;font-weight:800;white-space:nowrap}.protocol-visit-quantity-table tbody .pv-doctor-column span{margin-top:5px;color:#718297;font-size:12px;font-weight:500;white-space:nowrap}
.protocol-visit-quantity-table .pv-event-column{width:var(--pv-event-width);min-width:var(--pv-event-width);max-width:var(--pv-event-width)}.protocol-visit-quantity-table .pv-event-column>.pv-event-label{display:block;margin:0;color:#173650;font-size:12px;font-weight:750;line-height:1.3;text-transform:none!important}
.pv-event-info{display:inline-grid;place-items:center;width:17px;height:17px;margin-left:5px;padding:0;border:1px solid #9badc0;border-radius:50%;color:#5d7187;background:#fff;font-size:10px;font-weight:850;vertical-align:middle}.pv-event-info:focus-visible{outline:3px solid rgba(9,103,219,.18);outline-offset:2px}
.protocol-visit-quantity-table td{text-align:center}.protocol-visit-quantity-table .pv-total-column{width:92px;min-width:92px;text-align:center}.protocol-visit-quantity-table .pv-total-column strong{color:#102f55;font-size:14px;font-variant-numeric:tabular-nums}
.pv-quantity-stepper{display:grid;grid-template-columns:36px 56px 36px;width:130px;height:38px;margin:auto;overflow:hidden;border:1px solid #d5dfeb;border-radius:8px;background:#fff}
.pv-quantity-stepper button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;color:#466079;background:#fff;font-size:17px;font-weight:600}.pv-quantity-stepper button:first-child{border-right:1px solid #e3e9f0}.pv-quantity-stepper button:last-child{border-left:1px solid #e3e9f0}.pv-quantity-stepper button:hover:not(:disabled){color:#075fc8;background:#f3f7fc}.pv-quantity-stepper button:disabled{color:#bdc7d2;background:#fafbfc;cursor:not-allowed}
#protocolVisitsCapturePanel .pv-quantity-stepper input.pv-qty-input{width:56px;min-width:0;height:36px;padding:0!important;border:0!important;border-radius:0!important;color:#173650;background:#fff;font-size:13px;font-weight:750;text-align:center;box-shadow:none!important;appearance:textfield;-moz-appearance:textfield}
#protocolVisitsCapturePanel .pv-quantity-stepper input.pv-qty-input::-webkit-inner-spin-button,#protocolVisitsCapturePanel .pv-quantity-stepper input.pv-qty-input::-webkit-outer-spin-button{margin:0;appearance:none;-webkit-appearance:none}
#protocolVisitsCapturePanel .pv-quantity-stepper input.pv-qty-input:focus{position:relative;z-index:2;outline:2px solid #0967db!important;outline-offset:-2px;box-shadow:none!important}
.pv-quantity-stepper.is-readonly{background:#f8fafc}.pv-quantity-stepper.is-readonly input.pv-qty-input{color:#455d73;background:#f8fafc!important}
.protocol-visit-quantity-table tfoot th{position:sticky;z-index:5;bottom:0;height:54px;border-top:1px solid #cfdbe7;border-bottom:0;color:#173650;background:#f3f7fb;font-size:12px;font-weight:850;text-align:center;font-variant-numeric:tabular-nums}.protocol-visit-quantity-table tfoot th:first-child{text-align:left;text-transform:uppercase}
.pv-capture-empty{display:grid;justify-items:center;min-height:300px;align-content:center;padding:32px;border:1px dashed #cdd9e5;border-radius:11px;color:#6b7e92;background:#fbfcfe;text-align:center}.pv-capture-empty>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:13px;border-radius:11px;color:#0967db;background:#eef5ff;font-size:22px}.pv-capture-empty h3{margin:0;color:#153654;font-size:16px}.pv-capture-empty p{margin:8px 0 16px;font-size:13px}
@media(max-width:1700px){.protocol-visit-capture-toolbar{align-items:stretch;flex-direction:column}.protocol-visit-capture-actions{justify-content:flex-end}}
@media(max-width:1450px){.protocol-visit-capture-header{grid-template-columns:1fr}.protocol-visit-capture-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.protocol-visit-capture-actions{justify-content:flex-start}}
@media(max-width:1100px){.protocol-visit-capture-summary{grid-template-columns:1fr 1fr}.protocol-visit-capture-summary .pv-period-summary{grid-column:1/-1}.protocol-visit-capture-filters{grid-template-columns:1fr 1fr}.protocol-visit-quantity-table .pv-doctor-column{width:290px;min-width:290px;max-width:290px}}
@media(max-width:760px){.protocol-visit-capture-shell{padding:16px}.protocol-visit-capture-title{align-items:flex-start}.protocol-visit-capture-title h2{font-size:20px}.protocol-visit-capture-summary,.protocol-visit-capture-filters{grid-template-columns:1fr}.protocol-visit-capture-summary .pv-period-summary{grid-column:auto}.protocol-visit-capture-actions{display:grid;grid-template-columns:1fr 1fr}.protocol-visit-capture-actions .pv-action.primary{grid-column:1/-1}.protocol-visit-quantity-table .pv-doctor-column{width:250px;min-width:250px;max-width:250px}}
@media(max-width:640px){.protocol-visit-protocol-modal{width:min(100% - 20px,720px);max-height:94vh}.protocol-visit-protocol-grid{grid-template-columns:1fr}.protocol-visit-protocol-grid .full{grid-column:auto}.protocol-visit-protocol-modal .modal-actions{align-items:stretch;flex-direction:column-reverse}.protocol-visit-protocol-modal .modal-actions button{width:100%}}
.receipt-state-note{margin:0 0 16px;padding:13px 16px;border:1px solid #f1d38a;border-left:4px solid #d99a16;border-radius:10px;background:#fff8e5;color:#684c17;font-size:12px}.medical-receipt-table small{display:block;margin-top:5px;color:#708198}.medical-receipt-table .medical-badge{white-space:nowrap}.medical-badge.receipt-not_received,.medical-badge.receipt-draft{background:#edf1f5;color:#58697a}.medical-badge.receipt-sent,.medical-badge.receipt-scheduled{background:#e5efff;color:#1459af}.medical-badge.receipt-received{background:#e2f7fa;color:#087989}.medical-badge.receipt-pending,.medical-badge.receipt-correction_requested{background:#fff3d5;color:#8b6200}.medical-badge.receipt-overdue{background:#ffe3e3;color:#ad2424}.medical-badge.receipt-blocked_physical_receipt{background:#821f2b;color:#fff}.medical-badge.receipt-approved,.medical-badge.receipt-clear{background:#def5e7;color:#137444}.receipt-actions-cell{position:relative;width:52px}.receipt-menu-toggle{min-width:38px!important;padding:7px 10px!important;font-size:20px;line-height:1}.receipt-actions-menu{position:absolute;z-index:80;right:42px;top:8px;width:230px;padding:7px;background:#fff;border:1px solid #d5e1eb;border-radius:11px;box-shadow:0 18px 44px #173d6529}.receipt-actions-menu[hidden]{display:none}.receipt-actions-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:7px;color:#17395e;font:inherit;font-size:12px;cursor:pointer}.receipt-actions-menu button:hover{background:#eef5fb}.receipt-actions-menu button.danger{color:#a32431}.receipt-send-note{display:grid;gap:5px;padding:14px;border-radius:10px;background:#eef7fb;color:#31526f}.receipt-documents{margin:20px 0}.receipt-documents>div{display:flex;justify-content:space-between;padding:11px;border-bottom:1px solid #e1eaf1}.receipt-timeline{margin-top:18px}.receipt-timeline article{display:flex;gap:12px;position:relative;padding:0 0 17px 3px}.receipt-timeline article i{width:11px;height:11px;border-radius:50%;background:#08a4a0;box-shadow:0 0 0 4px #dff6f5;flex:none;margin-top:4px}.receipt-timeline article:not(:last-child):after{content:"";position:absolute;left:8px;top:16px;bottom:2px;border-left:1px solid #bcd4df}.receipt-timeline article div{display:grid}.receipt-timeline article small{color:#74879b;margin-top:3px}.receipt-detail-modal{max-height:88vh;overflow:auto}@media(max-width:900px){.receipt-actions-menu{right:12px;top:44px}.medical-receipt-table{min-width:1180px}}

/* Confirmaciones de pago a proveedores */
.purchase-payment-notification{display:grid;gap:14px;margin-top:16px;padding:16px;border:1px solid #cfe1ec;border-radius:12px;background:#f7fbfd}.purchase-payment-notification.disabled{opacity:.64}.purchase-payment-notification-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.purchase-payment-notification-head strong,.purchase-payment-notification-head small{display:block}.purchase-payment-notification-head strong{color:#113a59;font-size:13px}.purchase-payment-notification-head small{margin-top:4px;color:#6b7f91;font-size:11px}.purchase-notification-switch{display:flex!important;align-items:center;gap:8px;min-width:auto!important;color:#135d78!important;font-weight:800}.purchase-notification-switch input{width:17px!important;height:17px!important}.purchase-notification-recipients{grid-template-columns:repeat(3,minmax(0,1fr))!important}.purchase-notification-recipients label small{display:block;margin-top:5px;color:#728496;font-size:10px;font-weight:500}.purchase-notification-status{margin:0;color:#416579;font-size:11px}.purchase-notification-settings-card{display:grid;gap:14px;margin-bottom:20px;padding:20px;border:1px solid #cfe1ec;border-radius:14px;background:linear-gradient(135deg,#f7fbfd,#fff)}.purchase-notification-settings-card h3{margin:7px 0 4px;color:#123b5c}.purchase-notification-settings-card p{margin:0;color:#62778b;font-size:12px}.purchase-notification-settings-card .form-grid{grid-template-columns:1fr 1.4fr}.purchase-notification-settings-card label small{display:block;margin-top:6px;color:#75879a;font-size:10px;font-weight:500}@media(max-width:900px){.purchase-notification-recipients,.purchase-notification-settings-card .form-grid{grid-template-columns:1fr!important}}

/* Usuarios y accesos: maestro–detalle */
.user-access-workspace{grid-column:1/-1;min-width:0;overflow:hidden;border:1px solid #d8e1eb;border-radius:16px;background:#f6f8fb;box-shadow:0 12px 32px rgba(18,50,82,.08)}
.user-access-header,.user-access-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.user-access-header{padding:24px 26px 17px;background:#fff}.user-access-header h2,.user-access-detail-head h3,.user-access-section h4{margin:0;color:#173a5e}.user-access-header p,.user-access-detail-head p,.user-access-section-head p{margin:5px 0 0;color:#6d7f91;font-size:12px}.user-access-header-actions,.user-access-detail-actions,.user-access-modal-actions,.user-access-security-actions{display:flex;align-items:center;gap:9px}
.user-access-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:13px 26px;border-top:1px solid #edf1f5;border-bottom:1px solid #dce4ed;background:#fff}.user-access-toolbar select,.user-access-toolbar input,.user-access-permission-tools input,.user-access-permission-tools select,.user-access-section-head select,.user-access-modal input,.user-access-modal select,.user-access-modal textarea{min-height:38px;padding:8px 11px;border:1px solid #cdd8e4;border-radius:8px;color:#173a5e;background:#fff;font:inherit;font-size:12px}.user-access-search{display:flex;align-items:center;min-width:240px;border:1px solid #cdd8e4;border-radius:8px;background:#fff}.user-access-search span{padding-left:11px;color:#70849a}.user-access-search input{width:100%;border:0}.user-access-check{display:flex;align-items:center;gap:6px;color:#526a81;font-size:11px}.user-access-clear{border:0;color:#0967c8;background:transparent;font-size:11px;font-weight:750;cursor:pointer}
.user-access-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px 26px}.user-access-kpis button{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border:1px solid #dbe3ec;border-radius:10px;color:#60758a;background:#fff;text-align:left;cursor:pointer}.user-access-kpis button.active{border-color:#1684cf;background:#eef8ff;box-shadow:0 0 0 2px rgba(22,132,207,.12)}.user-access-kpis strong{color:#173a5e;font-size:20px}
.user-access-master-detail{display:grid;grid-template-columns:minmax(420px,42fr) minmax(540px,58fr);min-height:660px;border-top:1px solid #dce4ed;background:#fff}.user-access-master{min-width:0;border-right:1px solid #dce4ed;background:#fbfcfe}.user-access-detail{min-width:0;background:#fff}.user-access-list-head,.user-access-pagination{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;color:#6a7d91;font-size:11px}.user-access-list-head{border-bottom:1px solid #e4eaf0}.user-access-list-head strong{color:#203e5c}.user-access-rows{padding:0 10px}
.user-access-row{position:relative;display:grid;grid-template-columns:38px minmax(150px,1.6fr) minmax(100px,1fr) minmax(90px,.8fr) auto 32px;grid-template-areas:"avatar identity company role status menu" "avatar identity last last last menu";align-items:center;gap:4px 10px;margin:5px 0;padding:11px 8px;border:1px solid transparent;border-radius:10px;color:#284761;cursor:pointer}.user-access-row:hover{background:#f2f6fa}.user-access-row.active{border-color:#91c8e9;background:#eaf6fd;box-shadow:inset 3px 0 #1684cf}.user-access-avatar{grid-area:avatar;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#126fa8;background:#dff2fc;font-size:11px;font-weight:850}.user-access-avatar.large{width:48px;height:48px;font-size:14px}.user-access-identity{grid-area:identity;min-width:0}.user-access-identity strong,.user-access-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-access-identity strong{color:#193b5c;font-size:12px}.user-access-identity small,.user-access-last{color:#75879a;font-size:10px}.user-access-company{grid-area:company}.user-access-role{grid-area:role}.user-access-company,.user-access-role{overflow:hidden;color:#526b82;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.user-access-last{grid-area:last}.user-access-status{grid-area:status;display:inline-flex;width:max-content;padding:4px 7px;border-radius:999px;color:#5d6f80;background:#edf1f4;font-size:9px;font-weight:800}.user-access-status.active{color:#137246;background:#dcf4e7}.user-access-status.invited{color:#765c05;background:#fff1bc}.user-access-status.suspended,.user-access-status.revoked{color:#9b2832;background:#ffe1e3}.user-access-row-menu{grid-area:menu;width:30px;height:30px;border:0;border-radius:7px;color:#4b667e;background:transparent;font-size:20px;cursor:pointer}.user-access-row-menu:hover{background:#fff}
.user-access-skeleton{height:68px;margin:10px 14px;border-radius:10px;background:linear-gradient(90deg,#edf1f5,#f8fafc,#edf1f5);background-size:200% 100%;animation:user-access-loading 1.2s infinite}@keyframes user-access-loading{to{background-position:-200% 0}}.user-access-state{display:grid;justify-items:center;align-content:center;min-height:260px;padding:28px;color:#6d7e8f;text-align:center}.user-access-state h3{margin:0;color:#244563;font-size:15px}.user-access-state p{max-width:390px;margin:7px 0 17px;font-size:11px}.user-access-detail-empty{min-height:620px}
.user-access-detail-head{display:flex;align-items:center;gap:13px;padding:20px 22px;border-bottom:1px solid #e1e8ef}.user-access-detail-head>div:nth-of-type(1){min-width:0;flex:1}.user-access-detail-head h3{font-size:16px}.user-access-detail-head .user-access-status{margin-top:7px}.user-access-back{display:none;border:0;color:#315d80;background:transparent;font-size:20px}.user-access-tabs{display:flex;gap:2px;overflow-x:auto;padding:0 18px;border-bottom:1px solid #e1e8ef}.user-access-tabs button{flex:none;padding:13px 11px;border:0;border-bottom:2px solid transparent;color:#667b8f;background:transparent;font-size:11px;font-weight:750;cursor:pointer}.user-access-tabs button.active{border-bottom-color:#1684cf;color:#126b9f}.user-access-tab-panel{padding:20px;max-height:570px;overflow:auto}
.user-access-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.user-access-summary-grid section,.user-access-permission-summary,.user-access-section{padding:17px;border:1px solid #dee6ee;border-radius:12px;background:#fff}.user-access-summary-grid h4,.user-access-permission-summary h4{margin:0 0 14px;color:#234765}.user-access-summary-grid dl{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;margin:0;font-size:11px}.user-access-summary-grid dt{color:#728497}.user-access-summary-grid dd{margin:0;color:#25445f;font-weight:700;text-align:right}.user-access-permission-summary{margin-top:14px}.user-access-permission-summary>div{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.user-access-permission-summary button{display:grid;gap:3px;padding:12px;border:0;border-radius:9px;color:#667b8e;background:#f2f6f9;cursor:pointer}.user-access-permission-summary strong{color:#173c5c;font-size:18px}.user-access-permission-summary span{font-size:10px}
.user-access-company-table{margin-top:15px;border:1px solid #e0e7ee;border-radius:9px;overflow:hidden}.user-access-company-table>div{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #e7edf2;color:#526b80;font-size:11px}.user-access-company-table>div:last-child{border-bottom:0}.user-access-company-table strong,.user-access-company-table small{display:block}.user-access-company-table strong{color:#23445f}.user-access-company-table small{margin-top:3px;color:#7b8c9d}
.user-access-permission-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.user-access-permission-metrics span{display:grid;gap:4px;padding:10px;border-radius:8px;color:#748597;background:#f4f7fa;font-size:9px}.user-access-permission-metrics strong{color:#244765;font-size:16px}.user-access-permission-tools{display:flex;align-items:center;gap:8px;margin-bottom:13px}.user-access-permission-tools input{flex:1}.user-access-permission-tools label{display:flex;align-items:center;gap:5px;color:#5e7488;font-size:10px}.user-access-accordions{display:grid;gap:8px}.user-access-accordions details{border:1px solid #dfe7ee;border-radius:9px;overflow:hidden}.user-access-accordions summary{display:flex;justify-content:space-between;padding:11px 13px;color:#234766;background:#f8fafc;font-size:11px;font-weight:800;cursor:pointer}.user-access-accordions summary small{color:#75889a;font-weight:600}.user-access-permission-row{display:grid;grid-template-columns:minmax(160px,1fr) auto 150px;align-items:center;gap:10px;padding:10px 13px;border-top:1px solid #e8edf2}.user-access-permission-row.critical{box-shadow:inset 3px 0 #d69618}.user-access-permission-row strong,.user-access-permission-row small{display:block}.user-access-permission-row strong{color:#294a65;font-size:11px}.user-access-permission-row small{margin-top:3px;color:#788a9a;font-size:9px}.user-access-effective{padding:4px 7px;border-radius:999px;font-size:9px;font-weight:750}.user-access-effective.allow{color:#177248;background:#e1f5ea}.user-access-effective.deny{color:#922d37;background:#fde7e9}.user-access-permission-row select{min-height:34px;border:1px solid #ccd8e3;border-radius:7px;color:#264762;background:#fff;font-size:10px}.user-access-pending{position:sticky;z-index:6;bottom:-20px;display:flex;align-items:center;gap:9px;margin:16px -17px -17px;padding:12px 17px;border-top:1px solid #bfd8e8;background:#eef8fe;box-shadow:0 -8px 22px rgba(31,66,96,.1)}.user-access-pending>span{flex:1}.user-access-pending strong,.user-access-pending small{display:block;color:#24526f}.user-access-pending small{margin-top:2px;font-size:9px}
.user-access-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.user-access-security-grid>div{display:grid;gap:5px;padding:12px;border-radius:9px;background:#f5f8fa;color:#738698;font-size:10px}.user-access-security-grid strong{color:#264762}.user-access-timeline{margin-top:16px}.user-access-timeline article{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #e5ebf1}.user-access-timeline time,.user-access-timeline small{color:#76899a;font-size:9px}.user-access-timeline strong{color:#25455f;font-size:11px}.user-access-timeline p{margin:4px 0;color:#5e7488;font-size:10px}
.user-access-portal{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(13,35,56,.42)}.user-access-modal{position:relative;display:grid;gap:12px;width:min(500px,100%);max-height:90vh;overflow:auto;padding:22px;border-radius:14px;background:#fff;box-shadow:0 22px 70px rgba(10,31,50,.25)}.user-access-modal h3,.user-access-modal p{margin:0}.user-access-modal p{color:#667b8f;font-size:11px}.user-access-modal label{display:grid;gap:5px;color:#405d75;font-size:10px;font-weight:750}.user-access-modal textarea{min-height:80px;resize:vertical}.user-access-modal-close{position:absolute;top:10px;right:10px;border:0;color:#60768a;background:transparent;font-size:22px;cursor:pointer}.user-access-modal-actions{justify-content:flex-end}.danger-button{padding:9px 13px;border:1px solid #a82b37;border-radius:8px;color:#fff;background:#b9343f;font:inherit;font-weight:750;cursor:pointer}.user-access-role-delta{display:flex;gap:8px}.user-access-role-delta span,.user-access-role-delta strong{padding:6px 8px;border-radius:7px;color:#4e6a80;background:#f1f5f8;font-size:10px}.user-access-role-delta strong{color:#8d5f05;background:#fff0c4}
.user-access-popover{display:grid;inset:auto;width:220px;padding:6px;border:1px solid #d4dfe9;border-radius:10px;background:#fff;box-shadow:0 17px 46px rgba(17,49,78,.2)}.user-access-popover button{padding:9px 10px;border:0;border-radius:6px;color:#294a65;background:transparent;font:inherit;font-size:11px;text-align:left;cursor:pointer}.user-access-popover button:hover:not(:disabled){background:#eef5fa}.user-access-popover button:disabled{color:#9aa8b5;cursor:not-allowed}
@media(max-width:1200px){.user-access-master-detail{grid-template-columns:minmax(360px,44fr) minmax(470px,56fr)}.user-access-row{grid-template-columns:38px minmax(130px,1fr) minmax(90px,.8fr) auto 30px;grid-template-areas:"avatar identity role status menu" "avatar identity last last menu"}.user-access-company{display:none}.user-access-toolbar{align-items:stretch}.user-access-search{flex:1}.user-access-summary-grid{grid-template-columns:1fr}}
@media(max-width:820px){.user-access-header{align-items:flex-start;flex-direction:column}.user-access-header-actions{width:100%;justify-content:flex-end}.user-access-kpis{grid-template-columns:1fr 1fr;padding:12px 16px}.user-access-toolbar{padding:12px 16px}.user-access-toolbar>*{flex:1 1 150px}.user-access-master-detail{display:block;min-height:600px}.user-access-detail{display:none}.user-access-master-detail.show-detail .user-access-master{display:none}.user-access-master-detail.show-detail .user-access-detail{display:block}.user-access-back{display:block}.user-access-tab-panel{max-height:none}.user-access-detail-empty{display:none}.user-access-row{grid-template-columns:38px minmax(140px,1fr) auto 30px;grid-template-areas:"avatar identity status menu" "avatar identity last menu"}.user-access-role{display:none}}
@media(max-width:560px){.user-access-header{padding:18px 16px}.user-access-header-actions{display:grid;grid-template-columns:1fr 1fr}.user-access-kpis{gap:7px}.user-access-kpis button{padding:10px}.user-access-detail-head{align-items:flex-start;padding:15px}.user-access-detail-actions{margin-left:auto}.user-access-detail-actions button:first-child{display:none}.user-access-tabs{padding:0 8px}.user-access-tab-panel{padding:13px}.user-access-summary-grid{grid-template-columns:1fr}.user-access-permission-summary>div,.user-access-permission-metrics{grid-template-columns:1fr 1fr}.user-access-company-table>div{grid-template-columns:1fr auto}.user-access-company-table>div>span:nth-child(3){display:none}.user-access-permission-tools{align-items:stretch;flex-direction:column}.user-access-permission-tools>*{width:100%}.user-access-permission-row{grid-template-columns:1fr 130px}.user-access-effective{display:none}.user-access-pending{flex-wrap:wrap}.user-access-pending>span{flex-basis:100%}.user-access-security-grid{grid-template-columns:1fr}.user-access-security-actions{align-items:stretch;flex-direction:column}.user-access-timeline article{grid-template-columns:1fr;gap:4px}}

/* Configuración de planillas */
#settingsView{background:#f3f7fb}
#payrollSettingsRoot{width:min(100%,1360px);margin:0 auto;padding:0 4px 34px}
.payroll-settings-shell{display:grid;gap:0;overflow:hidden;border:1px solid #dce5ed;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(20,54,84,.06)}
.payroll-settings-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px 22px}.payroll-settings-header h1{margin:5px 0 6px;color:#102f55;font-size:28px;line-height:1.12}.payroll-settings-header>div>p:last-child{margin:0;color:#697d91;font-size:12px}.payroll-settings-breadcrumb{margin:0;color:#55728d;font-size:10px;font-weight:800}.payroll-settings-breadcrumb span{padding:0 5px;color:#9aacbc}.payroll-settings-header-actions{display:flex;align-items:center;gap:9px;flex:none}.payroll-settings-save-state{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;color:#416579;background:#eff5f7;font-size:10px;font-weight:800}.payroll-settings-save-state i{width:7px;height:7px;border-radius:50%;background:#18a69b}.payroll-settings-save-state.pending{color:#805d08;background:#fff3cf}.payroll-settings-save-state.pending i{background:#d99b18}
.payroll-settings-tabs{display:flex;gap:2px;overflow-x:auto;padding:0 24px;border-top:1px solid #edf1f4;border-bottom:1px solid #dfe6ed;scrollbar-width:thin}.payroll-settings-tabs button{flex:none;padding:14px 13px;border:0;border-bottom:2px solid transparent;color:#62778c;background:transparent;font:750 11px var(--font-body);cursor:pointer}.payroll-settings-tabs button:hover{color:#174c75}.payroll-settings-tabs button.active{border-bottom-color:#0879c8;color:#075f9e}
.payroll-settings-content{min-height:560px;padding:24px 30px 30px;background:#f6f8fb}.payroll-settings-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.payroll-settings-metrics>div{display:grid;gap:5px;padding:15px 16px;border:1px solid #dfe7ee;border-radius:11px;background:#fff}.payroll-settings-metrics span{color:#6e8193;font-size:9px;font-weight:750}.payroll-settings-metrics strong{color:#173c5c;font-size:16px;line-height:1.25;overflow-wrap:anywhere}.payroll-settings-metrics small{color:#7a8d9e;font-size:9px}.payroll-settings-header-actions .primary-button:disabled{color:#75899b!important;border-color:#d6dfe7!important;background:#e8edf2!important;opacity:1!important;box-shadow:none!important}
.payroll-settings-summary-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(270px,3fr);gap:17px}.payroll-settings-card{min-width:0;padding:21px;border:1px solid #dce5ed;border-radius:12px;background:#fff}.payroll-settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.payroll-settings-section-head h2{margin:0;color:#173b5d;font-size:15px}.payroll-settings-section-head p{margin:5px 0 0;color:#718396;font-size:10px;line-height:1.5}.payroll-settings-definition-list{display:grid;grid-template-columns:1fr 1fr;margin:0;border:1px solid #e1e8ee;border-radius:9px;overflow:hidden}.payroll-settings-definition-list>div{display:flex;justify-content:space-between;gap:14px;padding:12px 13px;border-bottom:1px solid #e7edf2;color:#657b8f;font-size:10px}.payroll-settings-definition-list>div:nth-child(odd){border-right:1px solid #e7edf2}.payroll-settings-definition-list>div:nth-last-child(-n+2){border-bottom:0}.payroll-settings-definition-list dd{margin:0;color:#23445f;font-weight:800;text-align:right}.payroll-settings-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.tertiary-button{min-height:38px;padding:8px 11px;border:0;border-radius:8px;color:#12689f;background:transparent;font:750 10px var(--font-body);cursor:pointer}.tertiary-button:hover{background:#eef6fb}
.payroll-settings-company-card{display:flex;align-items:flex-start;flex-direction:column}.payroll-settings-company-logo{display:grid;place-items:center;width:52px;height:52px;margin-bottom:14px;border-radius:12px;color:#fff;background:var(--company-color);font-weight:900}.payroll-settings-company-logo.image{overflow:hidden;border:1px solid #dbe5eb;background:#fff}.payroll-settings-company-logo img{width:100%;height:100%;object-fit:contain}.payroll-settings-company-card>span{color:#74889a;font-size:9px;font-weight:800;text-transform:uppercase}.payroll-settings-company-card h2{margin:6px 0 4px;color:#173b5c;font-size:17px}.payroll-settings-company-card>p{margin:0;color:#6b7e90;font-size:10px}.payroll-settings-company-card dl{width:100%;margin:16px 0}.payroll-settings-company-card dl div{display:grid;gap:4px;padding:10px 0;border-top:1px solid #e6ecf1}.payroll-settings-company-card dt{color:#788b9d;font-size:9px}.payroll-settings-company-card dd{margin:0;color:#294963;font-size:10px;font-weight:750}.payroll-settings-company-card button{margin-top:auto}
.payroll-settings-form-card{width:min(100%,880px);min-height:320px}.payroll-periodicity-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.payroll-periodicity-form label,.payroll-settings-modal label{display:grid;gap:6px;color:#536b81;font-size:10px;font-weight:800}.payroll-periodicity-form input,.payroll-periodicity-form select,.payroll-settings-modal input{width:100%;min-height:43px;padding:9px 11px;border:1px solid #ccd9e4;border-radius:8px;color:#173b5a;background:#fff;font:700 11px var(--font-body)}.payroll-periodicity-form input[readonly]{color:#667b8e;background:#f4f7f9}.payroll-settings-form-note{max-width:680px;margin:20px 0 0;padding:11px 13px;border-left:3px solid #68a8cd;border-radius:6px;color:#526e82;background:#f0f7fb;font-size:10px;line-height:1.5}
.payroll-settings-list-card{padding:0;overflow:hidden}.payroll-settings-list-card>.payroll-settings-section-head{align-items:center;margin:0;padding:20px 21px;border-bottom:1px solid #e2e9ef}.payroll-settings-list-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 21px;background:#f9fbfc}.payroll-settings-list-tools label{display:flex;align-items:center;width:min(360px,100%);border:1px solid #d3dee8;border-radius:8px;background:#fff}.payroll-settings-list-tools label span{padding-left:10px;color:#7890a3}.payroll-settings-list-tools input{width:100%;min-height:38px;padding:8px 10px;border:0;background:transparent;font:inherit;font-size:10px}.payroll-settings-list-tools strong{color:#64798c;font-size:10px}.payroll-settings-list article{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:14px;padding:13px 21px;border-top:1px solid #e5ebf0}.payroll-settings-list article:hover{background:#fbfdfe}.payroll-settings-list article span strong,.payroll-settings-list article span small{display:block}.payroll-settings-list article span strong{color:#254660;font-size:11px}.payroll-settings-list article span small{margin-top:4px;color:#7a8c9d;font-size:9px}.payroll-settings-list article>button{width:32px;height:32px;border:0;border-radius:7px;color:#526d84;background:transparent;font-size:19px;cursor:pointer}.payroll-settings-list article>button:hover{background:#edf3f7}
.payroll-settings-empty{display:grid;justify-items:center;align-content:center;min-height:250px;padding:30px;text-align:center}.payroll-settings-empty[hidden]{display:none!important}.payroll-settings-empty h3{margin:0;color:#294961;font-size:14px}.payroll-settings-empty p{max-width:430px;margin:7px 0 0;color:#788a9b;font-size:10px}.payroll-settings-empty.search-empty{min-height:180px}.payroll-settings-history{padding:0;overflow:hidden}.payroll-settings-history>.payroll-settings-section-head{margin:0;padding:20px 21px;border-bottom:1px solid #e3e9ef}.payroll-settings-history>.payroll-settings-section-head>span{color:#718599;font-size:10px}.payroll-settings-timeline{padding:8px 21px}.payroll-settings-timeline article{display:grid;grid-template-columns:170px 1fr;gap:22px;padding:15px 0;border-bottom:1px solid #e5ebf0}.payroll-settings-timeline time{color:#75899b;font-size:9px}.payroll-settings-timeline strong{color:#264762;font-size:11px}.payroll-settings-timeline p{margin:4px 0;color:#74889b;font-size:9px}.payroll-settings-timeline details{margin-top:7px}.payroll-settings-timeline summary{color:#146b9f;font-size:9px;cursor:pointer}.payroll-settings-timeline pre{max-width:100%;overflow:auto;padding:9px;border-radius:7px;color:#526a7f;background:#f3f6f8;font-size:9px;white-space:pre-wrap}
.payroll-settings-portal{position:fixed;z-index:2200;inset:0;display:grid;place-items:center;padding:18px;background:rgba(13,34,53,.44)}.payroll-settings-modal{position:relative;display:grid;gap:13px;width:min(510px,100%);max-height:90vh;overflow:auto;padding:23px;border-radius:14px;background:#fff;box-shadow:0 25px 70px rgba(13,39,61,.25)}.payroll-settings-modal h3,.payroll-settings-modal p{margin:0}.payroll-settings-modal h3{color:#173a5b;font-size:18px}.payroll-settings-modal p{color:#6c8193;font-size:10px;line-height:1.5}.payroll-settings-modal-kicker{color:#078a9f;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.payroll-settings-modal-close{position:absolute;top:9px;right:10px;width:32px;height:32px;border:0;color:#61798c;background:transparent;font-size:21px;cursor:pointer}.payroll-settings-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.payroll-settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.payroll-settings-backup-actions{display:flex;gap:9px;flex-wrap:wrap;padding-top:5px}.payroll-settings-popover{position:fixed;z-index:2250;display:grid;width:180px;padding:6px;border:1px solid #d4dfe8;border-radius:9px;background:#fff;box-shadow:0 15px 40px rgba(18,51,79,.2)}.payroll-settings-popover button{padding:9px 10px;border:0;border-radius:6px;color:#284963;background:transparent;font:inherit;font-size:10px;text-align:left;cursor:pointer}.payroll-settings-popover button:hover{background:#eef4f8}.payroll-settings-popover button.danger{color:#a32c37}
@media(max-width:1050px){.payroll-settings-summary-grid{grid-template-columns:2fr 1fr}.payroll-settings-definition-list{grid-template-columns:1fr}.payroll-settings-definition-list>div:nth-child(odd){border-right:0}.payroll-settings-definition-list>div:nth-last-child(2){border-bottom:1px solid #e7edf2}}
@media(max-width:800px){#payrollSettingsRoot{padding:0}.payroll-settings-shell{border-radius:12px}.payroll-settings-header{align-items:flex-start;flex-direction:column;padding:21px}.payroll-settings-header-actions{width:100%;flex-wrap:wrap}.payroll-settings-header-actions .primary-button{margin-left:auto}.payroll-settings-tabs{padding:0 10px}.payroll-settings-content{padding:17px}.payroll-settings-metrics{grid-template-columns:1fr 1fr}.payroll-settings-summary-grid{grid-template-columns:1fr}.payroll-settings-company-card button{margin-top:4px}.payroll-settings-timeline article{grid-template-columns:1fr;gap:5px}}
@media(max-width:540px){.payroll-settings-header h1{font-size:23px}.payroll-settings-header-actions .payroll-settings-save-state{flex:1}.payroll-settings-header-actions button{flex:1}.payroll-settings-content{padding:12px}.payroll-settings-metrics{gap:8px}.payroll-settings-metrics>div{padding:12px}.payroll-settings-metrics strong{font-size:14px}.payroll-settings-card{padding:16px}.payroll-periodicity-form,.payroll-settings-form-grid{grid-template-columns:1fr}.payroll-settings-list-card{padding:0}.payroll-settings-list-card>.payroll-settings-section-head{align-items:stretch;flex-direction:column}.payroll-settings-list-card>.payroll-settings-section-head button{width:100%}.payroll-settings-list-tools{align-items:stretch;flex-direction:column}.payroll-settings-list-tools label{width:100%}.payroll-settings-list article{padding:13px 15px}.payroll-settings-inline-actions{align-items:stretch;flex-direction:column}.payroll-settings-inline-actions button{width:100%}.payroll-settings-modal-actions{align-items:stretch;flex-direction:column-reverse}.payroll-settings-modal-actions button{width:100%}.payroll-settings-backup-actions{display:grid}.payroll-settings-definition-list dd{max-width:55%;overflow-wrap:anywhere}}

/* BBS Core unified visual system v2
   The mobile DEMEDICA identity is the source of truth. */
:root{
  /* Compatibility aliases: keep the web app stable when design-system.css and
     styles.css are released at different times. */
  --bbs-navy-900:var(--bbs-color-navy-900,#06152f);
  --bbs-navy-800:var(--bbs-color-navy-800,#09234b);
  --bbs-teal-600:var(--bbs-color-teal-600,var(--bbs-color-brand-600,#0d5cf5));
  --bbs-teal-500:var(--bbs-color-teal-500,var(--bbs-color-brand-500,#286cff));
  --bbs-teal-100:var(--bbs-color-teal-100,var(--bbs-color-brand-100,#dbeaff));
  --bbs-background:var(--bbs-surface-canvas,#f7f9fc);
  --bbs-surface:var(--bbs-surface-primary,#fff);
  --bbs-border:var(--bbs-border-default,#c9d6e8);
  --bbs-success:var(--bbs-color-success-600,#07825d);
  --bbs-warning:var(--bbs-color-warning-600,#a15c00);
  --bbs-danger:var(--bbs-color-danger-600,#b42318);
  --bbs-info:var(--bbs-color-info-600,#1261c9);
  --bbs-shadow-card:var(--bbs-shadow-sm,0 4px 12px rgba(6,27,66,.08));
  --bbs-radius-control:var(--bbs-radius-md,.75rem);
  --bbs-spacing-page:clamp(18px,2.5vw,40px);
  --ink:var(--bbs-text-primary);
  --muted:var(--bbs-text-secondary);
  --line:var(--bbs-border);
  --surface:var(--bbs-surface);
  --canvas:var(--bbs-background);
  --green:var(--bbs-teal-500);
  --green-light:var(--bbs-teal-100);
  --navy:var(--bbs-navy-900);
  --teal:var(--bbs-teal-500);
  --shadow:var(--bbs-shadow-card);
  --shadow-soft:var(--bbs-shadow-card);
  --bbs-navy:var(--bbs-navy-900);
  --bbs-navy-2:var(--bbs-navy-800);
  --bbs-blue:var(--bbs-teal-600);
  --bbs-teal:var(--bbs-teal-500);
  --bbs-page:var(--bbs-background);
  --bbs-line:var(--bbs-border);
}

body{
  color:var(--bbs-text-primary)!important;
  background:var(--bbs-background)!important;
}

.sidebar{
  color:#fff!important;
  background:linear-gradient(180deg,var(--bbs-navy-900) 0%,#0d334a 58%,#082a3f 100%)!important;
  box-shadow:10px 0 28px rgba(16,59,85,.12)!important;
}
.brand{
  border-color:rgba(255,255,255,.09)!important;
  background:rgba(255,255,255,.035)!important;
  box-shadow:none!important;
}
.nav-group-trigger,.nav-item{
  border:1px solid transparent!important;
  border-radius:var(--bbs-radius-control)!important;
  color:rgba(255,255,255,.78)!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nav-group-trigger:hover,.nav-group-trigger.active,.nav-group.open>.nav-group-trigger,
.nav-item:hover,.nav-item.active{
  border-color:rgba(0,165,168,.22)!important;
  color:#fff!important;
  background:rgba(0,165,168,.12)!important;
  box-shadow:inset 3px 0 var(--bbs-teal-500)!important;
}
.nav-group:hover>.nav-group-trigger,
.nav-group.open>.nav-group-trigger,
.nav-group:has(.nav-item.active)>.nav-group-trigger,
.nav-category-trigger:hover,
.nav-category.open>.nav-category-trigger,
.nav-category.pinned>.nav-category-trigger,
.nav-category.active>.nav-category-trigger{
  border-color:rgba(0,165,168,.26)!important;
  color:#fff!important;
  background:linear-gradient(135deg,rgba(0,165,168,.22),rgba(8,119,122,.3))!important;
  box-shadow:inset 3px 0 var(--bbs-teal-500),0 12px 26px rgba(8,42,63,.2)!important;
}
.nav-group-trigger .nav-icon,.nav-item .nav-icon{
  color:#b9d1dc!important;
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.1)!important;
}
.nav-group-trigger:hover .nav-icon,.nav-group-trigger.active .nav-icon,
.nav-group.open>.nav-group-trigger .nav-icon,.nav-item:hover .nav-icon,.nav-item.active .nav-icon{
  color:#fff!important;
  background:rgba(0,165,168,.18)!important;
  border-color:rgba(0,165,168,.38)!important;
}
.nav-item.active::before{background:var(--bbs-teal-500)!important}
.nav-badge{
  color:var(--bbs-navy-900)!important;
  background:#c9ebe8!important;
  border-radius:var(--bbs-radius-pill)!important;
}
.collapse-sidebar{
  border-color:rgba(255,255,255,.1)!important;
  border-radius:var(--bbs-radius-control)!important;
  color:#d8e7ec!important;
  background:rgba(255,255,255,.045)!important;
}

.topbar{
  border:1px solid rgba(214,224,230,.78)!important;
  border-top:0!important;
  border-radius:0 0 var(--bbs-radius-card) var(--bbs-radius-card)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 4px 18px rgba(16,59,85,.045)!important;
}
.view-switcher,.company-selector,.topbar-profile,.icon-button{
  min-height:44px!important;
  border-color:var(--bbs-border)!important;
  border-radius:var(--bbs-radius-control)!important;
  color:var(--bbs-text-primary)!important;
  background:var(--bbs-surface)!important;
  box-shadow:none!important;
}
.view-switcher:hover,.company-selector:hover,.topbar-profile:hover,.icon-button:hover{
  border-color:#aebfc9!important;
  background:#f7f9fa!important;
}
.view-switcher[aria-expanded="true"],.company-selector[aria-expanded="true"],.topbar-profile[aria-expanded="true"]{
  border-color:var(--bbs-teal-500)!important;
  box-shadow:var(--bbs-focus-ring)!important;
}
.sync-indicator i{background:var(--bbs-teal-500)!important;box-shadow:0 0 0 3px rgba(0,165,168,.12)!important}

.primary-button,.dark-button,.bbs-button--primary{
  min-height:42px!important;
  border:1px solid var(--bbs-navy-900)!important;
  border-radius:var(--bbs-radius-control)!important;
  color:#fff!important;
  background:var(--bbs-navy-900)!important;
  box-shadow:var(--bbs-shadow-brand)!important;
}
.primary-button:hover:not(:disabled),.dark-button:hover:not(:disabled),.bbs-button--primary:hover:not(:disabled){
  border-color:var(--bbs-navy-800)!important;
  background:var(--bbs-navy-800)!important;
}
.secondary-button,.bbs-button--secondary{
  min-height:42px!important;
  border:1px solid var(--bbs-border)!important;
  border-radius:var(--bbs-radius-control)!important;
  color:var(--bbs-navy-900)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.secondary-button:hover:not(:disabled),.bbs-button--secondary:hover:not(:disabled){
  border-color:var(--bbs-teal-600)!important;
  color:var(--bbs-teal-600)!important;
  background:#f7fbfb!important;
}
.tertiary-button,.text-button{
  min-height:40px;
  color:var(--bbs-teal-600)!important;
}
.danger-button{
  min-height:42px;
  border:1px solid var(--bbs-danger)!important;
  border-radius:var(--bbs-radius-control)!important;
  color:var(--bbs-danger)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.danger-button:hover:not(:disabled){background:#fff0ef!important}

input:not([type="checkbox"]):not([type="radio"]),select,textarea{
  border-color:var(--bbs-border)!important;
  border-radius:var(--bbs-radius-control)!important;
  color:var(--bbs-text-primary)!important;
  background:#fff!important;
}
input:not([type="checkbox"]):not([type="radio"]):focus-visible,select:focus-visible,textarea:focus-visible,
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{
  outline:3px solid rgba(0,165,168,.28)!important;
  outline-offset:2px!important;
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--bbs-teal-600)!important}

.panel,.bbs-card,.executive-v2 .panel,.executive-v2-kpis article,
.user-access-workspace,.user-access-summary-grid section,.user-access-permission-summary,
.user-access-section,.payroll-settings-card{
  border-color:var(--bbs-border-subtle)!important;
  border-radius:var(--bbs-radius-card)!important;
  background:var(--bbs-surface)!important;
  box-shadow:var(--bbs-shadow-card)!important;
}

.executive-v2-eyebrow,.report-path,.payroll-settings-breadcrumb{
  color:var(--bbs-teal-600)!important;
}
.executive-v2 h1,.executive-v2-section-head h3,.executive-v2-kpis strong{
  color:var(--bbs-navy-900)!important;
}
.executive-v2-kpis article[data-tone="payroll"] .executive-v2-kpi-icon{
  color:var(--bbs-teal-600)!important;
  background:var(--bbs-teal-100)!important;
}
.executive-v2-kpis article[data-tone="neutral"] .executive-v2-kpi-icon,
.executive-v2-kpis article[data-tone="finance"] .executive-v2-kpi-icon{
  color:#28648e!important;
  background:#eaf2fa!important;
}
.executive-v2-tabs{
  gap:8px!important;
  padding:6px!important;
  border-color:var(--bbs-border)!important;
  border-radius:var(--bbs-radius-card)!important;
  background:#fff!important;
}
.executive-v2-tabs button{
  min-height:42px!important;
  border:1px solid transparent!important;
  border-radius:var(--bbs-radius-pill)!important;
  color:var(--bbs-text-secondary)!important;
}
.executive-v2-tabs button:hover{color:var(--bbs-navy-900)!important;background:#f7f9fa!important}
.executive-v2-tabs button.active{
  border-color:var(--bbs-navy-900)!important;
  color:#fff!important;
  background:var(--bbs-navy-900)!important;
  box-shadow:none!important;
}
.executive-v2-table th{
  color:var(--bbs-text-secondary)!important;
  background:#f7f9fa!important;
}
.executive-v2-table td{border-bottom-color:#e8eef1!important}
.executive-v2-table tbody tr:hover{background:#f3fafa!important}
.executive-v2-health.stable{color:var(--bbs-success)!important;background:#e9f6ed!important}
.executive-v2-health.attention,.executive-v2-health.preparing{color:var(--bbs-warning)!important;background:#fff4da!important}
.executive-v2-health.critical{color:var(--bbs-danger)!important;background:#fceae8!important}

.bbs-notice,.user-access-notice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border:1px solid #c9ebe8;
  border-radius:15px;
  color:var(--bbs-navy-900);
  background:var(--bbs-teal-100);
}
.bbs-notice-icon,.user-access-notice-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  color:#fff;
  background:var(--bbs-teal-500);
  font-weight:900;
}
.bbs-notice strong,.bbs-notice span,.user-access-notice strong,.user-access-notice span{display:block}
.bbs-notice strong,.user-access-notice strong{color:#126b6d;font-size:13px}
.bbs-notice span,.user-access-notice span{margin-top:3px;color:#39787a;font-size:12px;line-height:1.5}
.bbs-notice--success{border-color:#cbe8d4;background:#e9f6ed}.bbs-notice--success .bbs-notice-icon{background:var(--bbs-success)}
.bbs-notice--warning{border-color:#ead8a7;background:#fff4da}.bbs-notice--warning .bbs-notice-icon{background:var(--bbs-warning)}
.bbs-notice--danger{border-color:#ebc9c5;background:#fff0ef}.bbs-notice--danger .bbs-notice-icon{background:var(--bbs-danger)}

.user-access-workspace{background:var(--bbs-background)!important}
.user-access-header{padding:22px 24px 18px!important}
.user-access-header h2,.user-access-detail-head h3,.user-access-section h4{color:var(--bbs-navy-900)!important}
.user-access-header p,.user-access-detail-head p,.user-access-section-head p{color:var(--bbs-text-secondary)!important;font-size:12px!important}
.user-access-toolbar{padding:14px 24px!important;border-color:var(--bbs-border-subtle)!important}
.user-access-toolbar select,.user-access-toolbar input,.user-access-permission-tools input,
.user-access-permission-tools select,.user-access-section-head select,
.user-access-modal input,.user-access-modal select,.user-access-modal textarea{
  min-height:42px!important;
  border-color:var(--bbs-border)!important;
  border-radius:var(--bbs-radius-control)!important;
  font-size:12px!important;
}
.user-access-search{min-height:42px;border-color:var(--bbs-border)!important;border-radius:var(--bbs-radius-control)!important}
.user-access-clear{min-height:40px;color:var(--bbs-teal-600)!important}
.user-access-kpis{gap:10px;padding:14px 24px!important}
.user-access-kpis button{
  min-height:62px;
  border-color:var(--bbs-border-subtle)!important;
  border-radius:14px!important;
  color:var(--bbs-text-secondary)!important;
  background:#fff!important;
}
.user-access-kpis button.active{
  border-color:var(--bbs-teal-500)!important;
  color:var(--bbs-navy-900)!important;
  background:var(--bbs-teal-100)!important;
  box-shadow:0 0 0 2px rgba(0,165,168,.1)!important;
}
.user-access-kpis button[data-access-kpi="critical"].active{
  border-color:#f0c6c2!important;
  color:var(--bbs-danger)!important;
  background:#fff0ef!important;
  box-shadow:0 0 0 2px rgba(154,51,45,.08)!important;
}
.user-access-master-detail{border-top-color:var(--bbs-border-subtle)!important}
.user-access-master{border-right-color:var(--bbs-border-subtle)!important;background:#fbfcfc!important}
.user-access-row{
  min-height:64px;
  border-radius:14px!important;
  color:var(--bbs-navy-800)!important;
}
.user-access-row:hover{background:#f3fafa!important}
.user-access-row.active{
  border-color:#c9ebe8!important;
  background:var(--bbs-teal-100)!important;
  box-shadow:inset 3px 0 var(--bbs-teal-500)!important;
}
.user-access-avatar{color:#126b6d!important;background:#dff4f2!important}
.user-access-status{padding:5px 9px!important;border-radius:var(--bbs-radius-pill)!important;font-size:10px!important}
.user-access-status.active{color:var(--bbs-success)!important;background:#e9f6ed!important}
.user-access-status.invited{color:var(--bbs-warning)!important;background:#fff4da!important}
.user-access-status.suspended,.user-access-status.revoked{color:var(--bbs-danger)!important;background:#fceae8!important}
.user-access-tabs{
  gap:8px!important;
  padding:10px 18px!important;
  border-bottom-color:var(--bbs-border-subtle)!important;
}
.user-access-tabs button{
  min-height:40px!important;
  padding:8px 14px!important;
  border:1px solid var(--bbs-border)!important;
  border-radius:var(--bbs-radius-pill)!important;
  color:var(--bbs-text-secondary)!important;
  background:#fff!important;
  font-size:12px!important;
}
.user-access-tabs button.active{
  border-color:var(--bbs-navy-900)!important;
  color:#fff!important;
  background:var(--bbs-navy-900)!important;
}
.user-access-summary-grid section,.user-access-permission-summary,.user-access-section{padding:16px!important}
.user-access-permission-summary button,.user-access-permission-metrics span{
  border:1px solid var(--bbs-border-subtle)!important;
  border-radius:12px!important;
  background:#f7f9fa!important;
}
.user-access-permission-metrics span{font-size:10px!important}
.user-access-accordions details{border-color:var(--bbs-border)!important;border-radius:12px!important}
.user-access-accordions summary{min-height:44px;color:var(--bbs-navy-800)!important;background:#f7f9fa!important;font-size:12px!important}
.user-access-permission-row{min-height:48px;border-top-color:var(--bbs-border-subtle)!important}
.user-access-permission-row strong{font-size:12px!important}
.user-access-permission-row small{font-size:10px!important}
.user-access-permission-row.critical{
  background:#fffafa!important;
  box-shadow:inset 3px 0 var(--bbs-danger)!important;
}
.user-access-effective{font-size:10px!important}
.user-access-effective.allow{color:var(--bbs-success)!important;background:#e9f6ed!important}
.user-access-effective.deny{color:var(--bbs-danger)!important;background:#fceae8!important}
.user-access-pending{border-color:#c9ebe8!important;background:var(--bbs-teal-100)!important}

table th{color:var(--bbs-text-secondary)!important;background:#f7f9fa!important}
table td{color:var(--bbs-text-primary)!important}
table tbody tr:hover{background:#f3fafa}

@media (min-width:781px) and (max-width:1179px){
  .view{padding-inline:var(--bbs-spacing-page)!important}
  .executive-v2-summary-layout{grid-template-columns:1fr!important}
  .executive-v2-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .user-access-master-detail{grid-template-columns:minmax(320px,42fr) minmax(430px,58fr)!important}
  button,.nav-group-trigger,.nav-item{min-height:44px}
}
@media (max-width:900px){
  body.sidebar-collapsed .sidebar,.sidebar{
    transform:translateX(-105%)!important;
    transition:transform var(--bbs-duration-normal) var(--bbs-ease-standard)!important;
  }
  body.sidebar-collapsed .sidebar.open,.sidebar.open{transform:translateX(0)!important}
  body.sidebar-collapsed .main-content,.main-content{
    width:100%!important;
    margin-left:0!important;
  }
}
@media (max-width:820px){
  .user-access-workspace{border-radius:14px!important}
  .user-access-header{padding:18px 16px!important}
  .user-access-toolbar,.user-access-kpis{padding-inline:16px!important}
  .user-access-master-detail{display:block!important}
  .user-access-tabs{padding-inline:12px!important}
}
@media (max-width:560px){
  .executive-v2-kpis{grid-template-columns:1fr 1fr!important}
  .user-access-header-actions{grid-template-columns:1fr!important}
  .user-access-kpis{grid-template-columns:1fr 1fr!important}
  .user-access-tabs button{min-height:44px!important}
  .user-access-permission-row{grid-template-columns:1fr!important}
  .user-access-permission-row select{width:100%;min-height:44px}
}

/* BBS Core sidebar palette: corporate navy and electric blue.
   Keep this independent from company accent colors such as DEMEDICA teal. */
.sidebar{
  color:#fff!important;
  background:
    radial-gradient(circle at 22% -4%,rgba(40,108,255,.24),transparent 30%),
    linear-gradient(180deg,#061b42 0%,#082653 52%,#061b42 100%)!important;
  box-shadow:10px 0 30px rgba(6,27,66,.18)!important;
}
.nav-category-trigger,
.nav-group-trigger,
.nav-item{
  border-color:rgba(145,185,255,.12)!important;
  color:rgba(238,245,255,.88)!important;
  background:rgba(255,255,255,.045)!important;
}
.nav-category-trigger:hover,
.nav-category.open>.nav-category-trigger,
.nav-category.pinned>.nav-category-trigger,
.nav-category.active>.nav-category-trigger,
.nav-category:has(.nav-item.active)>.nav-category-trigger,
.nav-group-trigger:hover,
.nav-group-trigger.active,
.nav-group.open>.nav-group-trigger,
.nav-item:hover,
.nav-item.active{
  border-color:rgba(93,146,255,.72)!important;
  color:#fff!important;
  background:linear-gradient(135deg,#0d5cf5 0%,#0847ce 100%)!important;
  box-shadow:inset 3px 0 #5d92ff,0 8px 18px rgba(8,71,206,.24)!important;
}
.nav-category-trigger:hover .nav-icon,
.nav-category.open>.nav-category-trigger .nav-icon,
.nav-category.active>.nav-category-trigger .nav-icon,
.nav-group-trigger:hover .nav-icon,
.nav-group-trigger.active .nav-icon,
.nav-group.open>.nav-group-trigger .nav-icon,
.nav-item:hover .nav-icon,
.nav-item.active .nav-icon{
  border-color:rgba(255,255,255,.34)!important;
  color:#fff!important;
  background:rgba(255,255,255,.13)!important;
}
.sidebar-collapse-button{
  border-color:rgba(145,185,255,.2)!important;
  color:rgba(238,245,255,.88)!important;
  background:rgba(255,255,255,.045)!important;
}
.sidebar-collapse-button:hover{background:rgba(13,92,245,.24)!important}

/* Compact payroll novelty workspace */
body{
  background:
    radial-gradient(circle at 82% 4%,rgba(91,141,239,.10),transparent 30%),
    linear-gradient(135deg,#eaf1f8 0%,#f4f7fb 48%,#edf3f9 100%)!important;
  background-attachment:fixed!important;
}
.app-shell,.main-content{
  background:transparent!important;
}
.main-content{min-height:100vh}
.view{background:transparent!important}
.payroll-summary .highlight{
  position:relative;
  border-color:#a9c6fa!important;
  background:linear-gradient(135deg,#edf4ff 0%,#f8fbff 100%)!important;
  box-shadow:inset 4px 0 #0d5cf5,0 10px 24px rgba(8,71,206,.08)!important;
}
.payroll-summary .highlight::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:64px;
  height:64px;
  border-radius:0 14px 0 64px;
  background:rgba(40,108,255,.07);
  pointer-events:none;
}
.payroll-summary .highlight span{
  color:#315f9c!important;
  font-weight:800!important;
}
.payroll-summary .highlight strong{
  color:#061b42!important;
  font-weight:850!important;
}
.payroll-matrix-panel{
  border-radius:16px!important;
  box-shadow:0 8px 28px rgba(6,27,66,.06)!important;
}
.payroll-matrix-header{
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) auto!important;
  align-items:center!important;
  gap:20px!important;
  min-height:0!important;
  padding:18px 20px!important;
  border-bottom:1px solid var(--bbs-border-subtle,#e2e9f3)!important;
}
.payroll-matrix-title>span{
  display:block;
  margin-bottom:5px;
  color:#0d5cf5;
  font-size:8px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.payroll-matrix-title h3{margin:0!important;font-size:17px!important}
.payroll-matrix-title p{max-width:620px;margin:5px 0 0!important;line-height:1.5}
.payroll-matrix-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  width:auto!important;
  max-width:none!important;
}
.payroll-matrix-actions>button,
.payroll-matrix-settings>summary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px!important;
  padding:8px 11px!important;
  border:1px solid var(--bbs-border,#c9d6e8)!important;
  border-radius:8px!important;
  color:#173b5c!important;
  background:#fff!important;
  box-shadow:none!important;
  font-size:9px!important;
  font-weight:800;
  white-space:nowrap;
}
.payroll-matrix-actions>#payrollMatrixRecalculateBtn{
  border-color:#0d5cf5!important;
  color:#fff!important;
  background:linear-gradient(135deg,#0d5cf5,#0847ce)!important;
  box-shadow:0 8px 18px rgba(8,71,206,.18)!important;
}
.payroll-matrix-settings{position:relative}
.payroll-matrix-settings>summary{list-style:none;cursor:pointer}
.payroll-matrix-settings>summary::-webkit-details-marker{display:none}
.payroll-matrix-settings>summary::after{content:"⌄";margin-left:7px;color:#64748b}
.payroll-matrix-settings[open]>summary{border-color:#91b9ff!important;background:#eef5ff!important}
.payroll-matrix-settings>div{
  position:absolute;
  z-index:80;
  top:calc(100% + 7px);
  right:0;
  display:grid;
  gap:6px;
  width:210px;
  padding:8px;
  border:1px solid var(--bbs-border,#c9d6e8);
  border-radius:10px;
  background:#fff;
  box-shadow:0 16px 40px rgba(6,27,66,.16);
}
.payroll-matrix-settings>div button{
  width:100%;
  min-height:36px!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:7px!important;
  color:#173b5c!important;
  background:#fff!important;
  box-shadow:none!important;
  font-size:9px!important;
  text-align:left;
}
.payroll-matrix-settings>div button:hover{background:#eef5ff!important}
.payroll-matrix-tabs{
  gap:22px!important;
  padding:0 20px!important;
  border-bottom:1px solid var(--bbs-border-subtle,#e2e9f3)!important;
  background:#fff;
}
.payroll-matrix-tab{
  min-height:43px!important;
  padding:11px 1px 9px!important;
  border:0!important;
  border-bottom:3px solid transparent!important;
  border-radius:0!important;
  color:#64748b!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:9px!important;
}
.payroll-matrix-tab:hover{color:#0847ce!important}
.payroll-matrix-tab.active{
  border-bottom-color:#0d5cf5!important;
  color:#0847ce!important;
  background:transparent!important;
  box-shadow:none!important;
}
.payroll-matrix-layout{
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
  padding:14px 16px 16px!important;
  background:#f6f8fc!important;
}
.payroll-matrix-main,.payroll-matrix-summary{
  border-color:var(--bbs-border-subtle,#e2e9f3)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.payroll-matrix-scroll{max-height:520px!important}
.payroll-matrix-summary{padding:14px 16px!important}
.payroll-matrix-summary h4{margin-bottom:10px!important}
.matrix-summary-grid{
  grid-template-columns:repeat(6,minmax(120px,1fr))!important;
  gap:8px!important;
}
.matrix-summary-grid article{
  min-height:70px;
  padding:11px 12px!important;
  background:#f8faff!important;
}
.matrix-summary-grid strong{margin-top:6px!important;font-size:14px!important}
.matrix-alert-list{
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:10px!important;
}
.payroll-matrix-footer{
  padding:12px 16px!important;
  background:#fff!important;
}
@media(max-width:1180px){
  .payroll-matrix-header{grid-template-columns:1fr!important;align-items:start!important}
  .payroll-matrix-actions{justify-content:flex-start!important}
  .matrix-summary-grid{grid-template-columns:repeat(3,minmax(130px,1fr))!important}
}
@media(max-width:700px){
  .payroll-matrix-header{padding:15px!important}
  .payroll-matrix-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .payroll-matrix-actions>button,.payroll-matrix-settings,.payroll-matrix-settings>summary{width:100%!important}
  .payroll-matrix-settings>div{right:auto;left:0;width:min(260px,calc(100vw - 48px))}
  .payroll-matrix-tabs{gap:16px!important;padding:0 15px!important}
  .payroll-matrix-layout{padding:10px!important}
  .matrix-summary-grid{grid-template-columns:1fr 1fr!important}
  .matrix-alert-list{grid-template-columns:1fr}
}

/* Payroll workspace interaction and accessibility refinements */
#payrollView{
  overflow-x:hidden;
  color:#10213d;
}
#payrollView .payroll-heading{
  align-items:flex-start;
  gap:20px;
}
#payrollView .payroll-heading h1{
  color:#082b5c;
  font-size:clamp(27px,2.2vw,32px);
  letter-spacing:-.025em;
}
#payrollView .heading-actions{
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:9px;
}
#payrollView .heading-actions button{
  min-height:42px;
  border-radius:11px;
}
#payrollView .period-bar{
  grid-template-columns:minmax(250px,360px) minmax(220px,1fr) auto auto;
  min-height:70px;
  padding:14px 18px;
  border-color:#d9e2ef;
  border-radius:14px;
}
#payrollView .payroll-period-selector{
  display:grid;
  gap:5px;
  min-width:0;
  color:#40516a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#payrollView .payroll-period-selector select{
  width:100%;
  min-height:42px;
  padding:0 38px 0 12px;
  border:1px solid #cbd8e8;
  border-radius:10px;
  background:#fff;
  color:#0b2850;
  font:700 12px inherit;
}
#payrollView .payroll-period-selector small{
  color:#6d7c90;
  font-size:9px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}
#payrollView .period-status::before{
  content:"●";
  margin-right:6px;
  font-size:7px;
}
#payrollView .period-status.closed::before{content:"🔒";font-size:10px}
#payrollView .period-status.draft::before{content:"◷";font-size:10px}
#payrollView .period-status.review::before{content:"↻";font-size:10px}
#payrollView .period-status.approved::before{content:"✓";font-size:10px}

#payrollView .payroll-summary{
  gap:14px;
}
#payrollView .payroll-summary>div{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
  min-height:94px;
  padding:17px 18px;
  border:1px solid #d9e2ef;
  border-radius:15px;
  background:#fff;
  box-shadow:0 3px 12px rgba(8,43,92,.035);
}
.payroll-summary-icon{
  display:grid!important;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  padding:0!important;
  border-radius:11px;
  color:#155eef!important;
  background:#eef4ff;
}
.payroll-summary-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.payroll-summary-copy{
  display:grid;
  min-width:0;
  gap:5px;
}
.payroll-summary-copy>span{
  color:#667085!important;
  font-size:10px!important;
  font-weight:650!important;
}
.payroll-summary-copy>strong{
  color:#10213d;
  font-size:clamp(19px,1.5vw,24px)!important;
  line-height:1.1;
  white-space:nowrap;
}
.payroll-summary .highlight .payroll-summary-icon{
  color:#fff!important;
  background:#155eef;
}

.real-estate-note{
  display:block!important;
  margin:0 0 16px!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid #d9e2ef!important;
  border-radius:13px!important;
  background:#fff!important;
}
.real-estate-note[hidden]{display:none!important}
.real-estate-note>summary{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:10px 14px;
  list-style:none;
  cursor:pointer;
}
.real-estate-note>summary::-webkit-details-marker{display:none}
.real-estate-note>summary:hover{background:#f8faff}
.deduction-note-icon{
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  padding:0!important;
  border-radius:50%!important;
  color:#fff!important;
  background:#155eef!important;
  font-size:11px!important;
  font-weight:900!important;
}
.deduction-note-label{
  padding:0!important;
  color:#155eef!important;
  background:transparent!important;
  font-size:10px!important;
  font-weight:800!important;
  white-space:nowrap;
}
.real-estate-note>summary p{
  color:#667085!important;
  font-size:10px!important;
}
.deduction-note-chevron{
  padding:0!important;
  color:#667085!important;
  background:transparent!important;
  font-size:15px!important;
  transition:transform .18s ease;
}
.real-estate-note[open] .deduction-note-chevron{transform:rotate(180deg)}
.deduction-detail-summary{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
  padding:12px 14px 14px;
  border-top:1px solid #e8edf5;
  background:#f8faff;
}
.deduction-detail-summary>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid #e1e8f2;
  border-radius:9px;
  background:#fff;
}
.deduction-detail-summary span{color:#667085;font-size:10px}
.deduction-detail-summary strong{color:#10213d;font-size:11px}
.deduction-detail-summary>p{grid-column:1/-1;color:#667085;font-size:10px}

.payroll-matrix-operation-status{
  min-height:0;
  padding:0 20px;
  color:#667085;
  font-size:10px;
  transition:.18s ease;
}
.payroll-matrix-operation-status:not(:empty){
  min-height:34px;
  padding-top:9px;
  padding-bottom:9px;
  border-bottom:1px solid #e8edf5;
}
.payroll-matrix-operation-status.loading{color:#155eef;background:#f5f8ff}
.payroll-matrix-operation-status.success{color:#027a48;background:#ecfdf3}
.payroll-matrix-operation-status.error{color:#b42318;background:#fff4f2}
#payrollMatrixRecalculateBtn.is-loading::before{
  content:"";
  width:12px;
  height:12px;
  margin-right:7px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:50%;
  animation:payroll-spin .7s linear infinite;
}
#payrollMatrixRecalculateBtn.is-complete{background:#039855!important;border-color:#039855!important}
@keyframes payroll-spin{to{transform:rotate(360deg)}}

.payroll-matrix-tabs{
  overflow-x:auto;
  scrollbar-width:thin;
}
.payroll-matrix-tab{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  font-size:10px!important;
}
.payroll-matrix-tab-icon{
  display:grid;
  place-items:center;
  width:17px;
  height:17px;
  color:#8290a5;
  font-size:12px;
  font-weight:850;
}
.payroll-matrix-tab.active .payroll-matrix-tab-icon{color:#155eef}

.payroll-matrix-main{min-width:0;overflow:hidden}
.payroll-matrix-toolbar{
  min-height:64px;
  padding:14px 16px!important;
  border-bottom-color:#e8edf5!important;
}
.payroll-matrix-toolbar h4{color:#10213d;font-size:14px!important}
.payroll-matrix-toolbar p{margin-top:5px!important;color:#667085!important;font-size:10px!important}
.payroll-matrix-access-note{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 16px;
  border-bottom:1px solid #f2ddb6;
  color:#9a5b13;
  background:#fffaeb;
  font-size:10px;
  font-weight:700;
}
.payroll-matrix-scroll{
  width:100%;
  max-width:100%;
  overflow:auto!important;
  overscroll-behavior:contain;
  scrollbar-color:#a8b6c9 #eef2f7;
}
.payroll-matrix-scroll:focus-visible{
  outline:2px solid #155eef;
  outline-offset:-2px;
}
.payroll-matrix-table{
  min-width:1510px!important;
  font-variant-numeric:tabular-nums;
}
.payroll-matrix-table th{
  height:45px!important;
  padding:9px 10px!important;
  color:#667085!important;
  background:#f4f7fb!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.045em;
  line-height:1.25;
  text-transform:uppercase;
  white-space:normal;
}
.payroll-matrix-table td{
  height:58px!important;
  padding:8px 10px!important;
  border-bottom:1px solid #e8edf5;
  background:#fff;
}
.payroll-matrix-table tbody tr:hover td{background:#f9fbff}
.payroll-matrix-table th:first-child,
.payroll-matrix-table td:first-child{
  width:220px!important;
  min-width:220px!important;
}
.payroll-matrix-table tbody tr:hover td:first-child{background:#f9fbff!important}
.payroll-matrix-money{
  text-align:right;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.payroll-matrix-input-wrap{
  position:relative;
  min-width:110px;
  padding-bottom:12px;
}
.payroll-matrix-cell{
  width:100%!important;
  height:36px;
  padding:7px 9px!important;
  border-color:#cfd9e7!important;
  border-radius:9px!important;
  color:#10213d!important;
  background:#fff!important;
  font-size:11px!important;
  font-variant-numeric:tabular-nums;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.payroll-matrix-cell::placeholder{color:#98a2b3;font-weight:500}
.payroll-matrix-cell:hover:not(:disabled){border-color:#98afd0!important}
.payroll-matrix-cell:focus{
  outline:none!important;
  border-color:#155eef!important;
  box-shadow:0 0 0 3px rgba(21,94,239,.14)!important;
}
.payroll-matrix-cell:disabled{
  border-color:#e1e7ef!important;
  color:#596579!important;
  background:#f2f4f7!important;
  cursor:not-allowed;
  opacity:1;
}
.payroll-matrix-cell-status{
  position:absolute;
  right:2px;
  bottom:0;
  min-height:10px;
  color:#667085;
  font-size:8px;
  font-weight:750;
  white-space:nowrap;
}
.payroll-matrix-input-wrap[data-save-state="pending"] .payroll-matrix-cell{
  border-color:#f2b94b!important;
  background:#fffdf5!important;
}
.payroll-matrix-input-wrap[data-save-state="pending"] .payroll-matrix-cell-status{color:#b54708}
.payroll-matrix-input-wrap[data-save-state="saved"] .payroll-matrix-cell{
  border-color:#6ce9a6!important;
  background:#f6fef9!important;
}
.payroll-matrix-input-wrap[data-save-state="saved"] .payroll-matrix-cell-status{color:#027a48}
.payroll-matrix-input-wrap[data-save-state="error"] .payroll-matrix-cell{
  border-color:#f97066!important;
  background:#fff6f5!important;
}
.payroll-matrix-input-wrap[data-save-state="error"] .payroll-matrix-cell-status{color:#b42318}
.payroll-matrix-empty{
  display:grid;
  place-items:center;
  min-height:230px;
  padding:32px;
  text-align:center;
}
.payroll-matrix-empty>span{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:13px;
  color:#155eef;
  background:#eef4ff;
  font-size:20px;
}
.payroll-matrix-empty h4{margin:12px 0 4px;color:#10213d}
.payroll-matrix-empty p{margin:0;color:#667085;font-size:11px}

@media (max-width:1280px){
  #payrollView .payroll-heading{display:grid!important;grid-template-columns:1fr}
  #payrollView .heading-actions{justify-content:flex-start}
  #payrollView .payroll-summary>div{padding:14px;gap:10px}
  .payroll-summary-icon{flex-basis:34px;width:34px;height:34px}
}
@media (max-width:1024px){
  #payrollView .payroll-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .payroll-matrix-header{grid-template-columns:1fr!important}
  .payroll-matrix-actions{justify-content:flex-start!important}
}
@media (max-width:768px){
  #payrollView{padding-inline:14px!important}
  #payrollView .payroll-heading h1{font-size:26px}
  #payrollView .heading-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  #payrollView .heading-actions button{width:100%}
  #payrollView .period-bar{grid-template-columns:1fr auto!important}
  #payrollView .period-bar button{grid-column:1/-1!important;width:100%}
  .real-estate-note>summary{grid-template-columns:auto 1fr auto}
  .real-estate-note>summary p{grid-column:1/-1;padding-left:31px}
  .payroll-matrix-actions{grid-template-columns:1fr 1fr!important}
  .payroll-matrix-actions>#payrollMatrixRecalculateBtn{grid-column:1/-1}
  .payroll-matrix-table th:first-child,.payroll-matrix-table td:first-child{width:190px!important;min-width:190px!important}
}
@media (max-width:520px){
  #payrollView .payroll-summary{grid-template-columns:1fr!important}
  #payrollView .heading-actions{grid-template-columns:1fr}
  #payrollView .period-bar{grid-template-columns:1fr!important}
  #payrollView .period-bar>.period-status{justify-self:start}
  .payroll-matrix-actions{grid-template-columns:1fr!important}
  .payroll-matrix-actions>#payrollMatrixRecalculateBtn{grid-column:auto}
  .matrix-summary-grid{grid-template-columns:1fr!important}
}
.personnel-action-preview-modal {
  width: min(1120px, 96vw);
  max-width: 1120px;
  height: min(92vh, 900px);
  display: flex;
  flex-direction: column;
}

.personnel-action-preview-frame {
  width: 100%;
  min-height: 0;
  flex: 1;
  border: 1px solid #dbe4e8;
  border-radius: 12px;
  background: #eef2f4;
}

.personnel-action-preview-modal .modal-actions {
  flex: 0 0 auto;
}
.restaurant-ai-recipe-modal{max-width:1120px;width:min(1120px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.restaurant-ai-dictation{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.restaurant-ai-error{margin:14px 0;padding:12px 14px;border:1px solid #ef9a9a;border-radius:10px;background:#fff4f4;color:#8b1f1f}
.restaurant-ai-review-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}
.restaurant-ai-review-lines{display:grid;gap:12px;margin-top:16px}
.restaurant-ai-line{display:grid;grid-template-columns:minmax(180px,1.7fr) minmax(90px,.55fr) minmax(100px,.6fr) minmax(220px,1.5fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--border-color,#d9e0e7);border-radius:12px;background:#fff}
.restaurant-ai-line.low-confidence{background:#fff8d7;border-color:#e7c755;box-shadow:inset 4px 0 #e7b900}
.restaurant-ai-line label{margin:0}
.restaurant-ai-line-status{align-self:center;min-width:120px;font-size:.78rem}
.restaurant-ai-line-status strong{display:block;color:#765d00}
.restaurant-ai-warning{margin:8px 0;padding:10px 12px;border-left:4px solid #e7b900;background:#fff8d7;border-radius:6px}
.restaurant-ai-unmatched{color:#a14b00;font-weight:700}
.restaurant-invoice-reconciliation-modal{max-width:1180px;width:min(1180px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.restaurant-invoice-review-lines{display:grid;gap:12px;margin:16px 0}
.restaurant-invoice-line{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(230px,1.35fr) 100px 90px 120px;gap:10px;align-items:end;padding:13px;border:1px solid var(--border-color,#d9e0e7);border-radius:12px;background:#fff}
.restaurant-invoice-line.review{background:#fff8d7;border-color:#e7c755}.restaurant-invoice-line.unmatched{background:#fff3e8;border-color:#e8a15f}
.restaurant-invoice-line .full-line{grid-column:1/-1}.restaurant-invoice-line small{display:block;margin-top:5px}
.restaurant-price-warning-ack{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:10px;background:#fff8d7;border:1px solid #e7c755}
.restaurant-price-dashboard{display:grid;gap:18px}.restaurant-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.restaurant-price-card{padding:14px;border:1px solid var(--border-color,#d9e0e7);border-radius:12px;background:#fff}.restaurant-price-card h4{margin:0 0 4px}.restaurant-price-card strong{font-size:1.15rem}
.restaurant-price-mini-chart{display:flex;align-items:end;gap:3px;height:54px;margin-top:10px}.restaurant-price-mini-chart i{flex:1;min-width:4px;background:#2f7f75;border-radius:3px 3px 0 0}.restaurant-price-mini-chart i.alert{background:#d59d00}
@media(max-width:900px){.restaurant-invoice-line{grid-template-columns:1fr 1fr}.restaurant-invoice-line label:first-child,.restaurant-invoice-line label:nth-child(2),.restaurant-invoice-line .full-line{grid-column:1/-1}.restaurant-price-grid{grid-template-columns:1fr}}
@media(max-width:900px){.restaurant-ai-line{grid-template-columns:1fr 1fr}.restaurant-ai-line label:first-child,.restaurant-ai-line label:nth-child(4),.restaurant-ai-line-status{grid-column:1/-1}}
/* Preparacion ejecutiva de planilla. Se mantiene en la hoja principal para que
   despliegues antiguos y caches corporativos no dejen el modulo sin formato. */
#payrollView .payroll-preparation-card{display:grid;gap:20px;padding:22px 24px;margin:0 0 16px;background:linear-gradient(135deg,#fff 0%,#f4f9ff 100%);border:1px solid #cdddec;border-radius:16px;box-shadow:0 8px 28px rgba(23,54,84,.07)}
#payrollView .payroll-preparation-meta{display:grid;grid-template-columns:1.35fr 1.3fr 1.2fr .8fr .7fr 1fr;gap:18px;width:100%}
#payrollView .payroll-preparation-meta>div,#payrollView .payroll-preparation-kpis>div{display:grid;align-content:start;gap:5px;min-width:0}
#payrollView .payroll-preparation-meta span,#payrollView .payroll-preparation-kpis span{font-size:11px;line-height:1.2;color:#687b90;text-transform:uppercase;letter-spacing:.055em}
#payrollView .payroll-preparation-meta strong{font-size:14px;line-height:1.25;color:#102f50;overflow-wrap:anywhere}
#payrollView .payroll-preparation-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:9px;width:100%}
#payrollView .payroll-preparation-actions button{min-height:40px;padding:9px 15px}
#payrollView .payroll-preparation-kpis{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:12px;margin:16px 0}
#payrollView .payroll-preparation-kpis>div{min-height:78px;padding:15px 17px;border:1px solid #d9e4ed;border-radius:13px;background:#fff;box-shadow:0 3px 12px rgba(23,54,84,.035)}
#payrollView .payroll-preparation-kpis strong{font-size:20px;line-height:1.15;color:#102f50}
#payrollView .payroll-preparation-kpis .warning{border-color:#efd58d;background:#fffaf0}
#payrollView .payroll-preparation-kpis .danger{border-color:#efbcbc;background:#fff6f6}
#payrollView .payroll-alert-center{margin:16px 0;border-radius:15px;overflow:hidden}
#payrollView .payroll-alert-center .panel-header{padding:18px 20px}
#payrollView .payroll-alert-list{display:grid;gap:9px;padding:0 18px 18px}
#payrollView .payroll-alert-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:12px 14px;border:1px solid #dfe8ef;border-radius:11px;background:#fff}
#payrollView .payroll-alert-item.blocking{border-left:4px solid #c92c38;background:#fffafa}
#payrollView .payroll-alert-item.warning{border-left:4px solid #dca01e;background:#fffdf8}
#payrollView .payroll-alert-item p{margin:3px 0 0;color:#64748b;font-size:12px;line-height:1.4}
#payrollView .payroll-alert-severity{font-size:10px;font-weight:800;text-transform:uppercase;border-radius:999px;padding:5px 9px;background:#edf2f7;color:#42566e}
#payrollView .payroll-secondary-view{margin:16px 0;border-radius:12px;overflow:hidden}
#payrollView .payroll-secondary-view>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:15px 18px;color:#123152;background:#f9fbfd}
#payrollView .payroll-secondary-view>summary span{font-size:12px;color:#6c7b8f;font-weight:500}
#payrollView .payroll-secondary-view[open]>summary{border-bottom:1px solid #e2e8f0}
#payrollView #payrollPreparationFilters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#payrollView #payrollPreparationFilters .filter-button{min-height:34px;padding:7px 11px;white-space:nowrap}
#payrollView #payrollPreparationFilters select{width:auto;min-width:175px;min-height:36px;padding:7px 32px 7px 10px;border:1px solid #d2dee8;border-radius:9px;background-color:#fff;color:#28425e;font-size:12px}
#payrollView .table-panel{border-radius:15px;overflow:hidden}
#payrollView .table-toolbar{align-items:flex-start;gap:14px;padding:16px 18px}
#payrollView .table-scroll{overflow:auto;max-width:100%;scrollbar-gutter:stable}
#payrollView .table-scroll table{min-width:1540px;font-size:12px}
#payrollView .table-scroll th{padding:12px 10px;white-space:nowrap;font-size:10px;letter-spacing:.045em}
#payrollView .table-scroll td{padding:12px 10px;vertical-align:middle;white-space:nowrap}
#payrollView .table-scroll th:first-child,#payrollView .table-scroll td:first-child{position:sticky;left:0;z-index:2;background:inherit;min-width:220px}
#payrollView .table-scroll th:last-child,#payrollView .table-scroll td:last-child{position:sticky;right:0;z-index:2;background:inherit;min-width:120px}
#payrollView .table-scroll thead th:first-child,#payrollView .table-scroll thead th:last-child{z-index:3;background:#f5f8fb}
#payrollView .payroll-state-stack{display:grid;gap:5px;min-width:132px}
#payrollView .payroll-state-badge,#payrollView .payroll-alert-chip{display:inline-flex;width:max-content;max-width:160px;padding:5px 8px;border-radius:999px;font-size:10px;line-height:1.2;font-weight:750}
#payrollView .payroll-state-badge.ready{background:#dcf6e7;color:#187148}
#payrollView .payroll-state-badge.review,#payrollView .payroll-alert-chip.warning{background:#fff0c9;color:#8b5b00}
#payrollView .payroll-state-badge.danger,#payrollView .payroll-alert-chip.blocking{background:#ffe0e0;color:#a91f2b}
#payrollView .payroll-state-badge.neutral{background:#edf2f7;color:#516276}
#payrollView .payroll-breakdown-cell{font-variant-numeric:tabular-nums}
#payrollView .payroll-employee-open{display:block;width:100%;padding:0;border:0;background:transparent;color:#0756c9;text-align:left;font-weight:700;cursor:pointer}
#payrollView .payroll-table-row.has-blocker{background:#fff8f8}
#payrollView .payroll-table-row.has-warning{background:#fffdf7}
.payroll-bulk-modal,.payroll-import-modal,.payroll-employee-detail-modal{max-width:900px}
.payroll-bulk-modal select[multiple]{min-height:150px}
.payroll-import-preview{max-height:380px;overflow:auto;margin-top:14px}
.payroll-import-preview table{width:100%;font-size:12px}
.import-valid{color:#187148}.import-invalid{color:#a91f2b;font-weight:700}
.payroll-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.payroll-detail-grid>div{padding:12px;border:1px solid #dfe7ee;border-radius:10px}
.payroll-detail-grid span{display:block;font-size:11px;color:#6b7b8e}
.payroll-detail-section{margin-top:16px}.payroll-detail-section table{width:100%;font-size:13px}
.payroll-audit-timeline{display:grid;gap:8px}.payroll-audit-timeline div{padding:9px 11px;background:#f5f8fb;border-radius:8px;font-size:12px}
@media(max-width:1180px){#payrollView .payroll-preparation-meta{grid-template-columns:repeat(3,1fr)}#payrollView .payroll-preparation-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){#payrollView .payroll-preparation-meta,#payrollView .payroll-preparation-kpis,.payroll-detail-grid{grid-template-columns:1fr 1fr}#payrollView .payroll-alert-item{grid-template-columns:1fr}#payrollView .payroll-preparation-actions button{flex:1 1 45%}#payrollView .table-toolbar{display:grid}}

/* Maestro de clientes DEMEDICA */
.demedica-customer-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.demedica-customer-toolbar h3,.demedica-customer-toolbar p{margin:0}.demedica-customer-toolbar p{margin-top:5px;color:#66798d}.demedica-customer-toolbar label{min-width:310px;font-size:11px;font-weight:750;color:#5d7186;text-transform:uppercase;letter-spacing:.04em}.demedica-customer-toolbar input{width:100%;margin-top:6px}
.demedica-customer-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:15px}.demedica-customer-card{display:grid;gap:16px;padding:18px;border:1px solid #dce6ef;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(17,48,78,.045)}.customer-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.customer-card-head h3,.customer-card-head p{margin:0}.customer-card-head h3{margin-top:4px;font-size:17px;color:#123254}.customer-card-head p,.customer-card-head>div>span{font-size:12px;color:#6c7d90}.demedica-customer-card dl,.customer-summary-columns dl{display:grid;gap:0;margin:0}.demedica-customer-card dl{grid-template-columns:1fr 1fr}.demedica-customer-card dl>div,.customer-summary-columns dl>div{padding:10px 0;border-top:1px solid #edf1f5}.demedica-customer-card dt,.customer-summary-columns dt{font-size:10px;color:#748598;text-transform:uppercase;letter-spacing:.045em}.demedica-customer-card dd,.customer-summary-columns dd{margin:4px 0 0;color:#173959;font-weight:650}.customer-card-actions{display:flex;gap:8px;margin-top:auto}
.demedica-customer-modal{width:min(1080px,calc(100vw - 32px));max-width:1080px;max-height:92vh;overflow:auto}.demedica-customer-modal form{display:grid;gap:18px}.demedica-customer-modal .customer-form-section{padding:18px;border:1px solid #dce5ed;border-radius:14px;background:#fbfdff}.demedica-customer-modal .customer-section-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.demedica-customer-modal .customer-section-title>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0a56ca;color:#fff;font-weight:800}.demedica-customer-modal .customer-section-title h3,.demedica-customer-modal .customer-section-title p{margin:0}.demedica-customer-modal .customer-section-title h3{color:#123354}.demedica-customer-modal .customer-section-title p{margin-top:3px;color:#6b7d90;font-size:12px}.demedica-customer-modal .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.demedica-customer-modal .form-grid label{min-width:0}.demedica-customer-modal .form-grid input,.demedica-customer-modal .form-grid select,.demedica-customer-modal .form-grid textarea{width:100%}.check-line{display:flex;align-items:center;gap:8px;min-height:40px}.check-line input{width:auto!important}
.demedica-customer-profile{width:min(1240px,calc(100vw - 28px));max-width:1240px;max-height:94vh;overflow:auto}.customer-profile-tabs{display:flex;gap:5px;overflow:auto;padding:0 0 13px;border-bottom:1px solid #dfe7ee}.customer-profile-tabs button{white-space:nowrap;border:0;border-radius:9px;padding:9px 12px;background:#eef3f7;color:#536b82;font-weight:700}.customer-profile-tabs button.active{background:#0a56ca;color:#fff}.customer-profile-content{padding-top:18px}.customer-kpis{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin-bottom:16px}.customer-kpis article{display:grid;gap:5px;padding:15px;border:1px solid #dce6ee;border-radius:12px;background:#f9fbfd}.customer-kpis span,.customer-kpis small{font-size:11px;color:#6b7d8f}.customer-kpis strong{font-size:19px;color:#153755}.customer-summary-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.customer-summary-columns>section{padding:17px;border:1px solid #dce5ed;border-radius:13px;background:#fff}.customer-summary-columns h3{margin:0 0 12px;color:#143657}.profile-panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.profile-panel-head h3,.profile-panel-head p{margin:0}.profile-panel-head p{margin-top:4px;color:#6d7e90}.customer-danger-zone{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px;border:1px solid #efcccc;border-radius:12px;background:#fff8f8;color:#8b3b43}.demedica-customer-record{width:min(780px,calc(100vw - 32px));max-width:780px}.demedica-customer-record .form-grid{grid-template-columns:1fr 1fr;gap:13px}.demedica-customer-record .form-grid .full{grid-column:1/-1}.demedica-customer-record .form-grid input,.demedica-customer-record .form-grid select,.demedica-customer-record .form-grid textarea{width:100%}.demedica-customer-record .form-grid select[multiple]{min-height:110px}
@media(max-width:1050px){.demedica-customer-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.demedica-customer-modal .form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.demedica-customer-toolbar{display:grid;align-items:stretch}.demedica-customer-toolbar label{min-width:0}.demedica-customer-grid,.customer-kpis,.customer-summary-columns,.demedica-customer-modal .form-grid,.demedica-customer-record .form-grid{grid-template-columns:1fr}.demedica-customer-modal .form-grid .full,.demedica-customer-record .form-grid .full{grid-column:auto}.customer-card-actions{display:grid}.demedica-customer-card dl{grid-template-columns:1fr}.profile-panel-head{align-items:flex-start}.demedica-customer-modal,.demedica-customer-profile{width:calc(100vw - 14px)}}

/* Workspace dedicado de factura DEMEDICA */
#fiscalView.invoice-workspace-open>.page-heading,#fiscalView.invoice-workspace-open>.fiscal-summary,#fiscalView.invoice-workspace-open>.fiscal-tabs,#fiscalView.invoice-workspace-open>.fiscal-panel{display:none!important}.demedica-invoice-workspace{margin:-8px -8px 0;min-height:calc(100vh - 112px);background:#f5f8fb;color:#133451}.invoice-workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 26px 18px;background:#fff;border-bottom:1px solid #dce6ee}.invoice-back-button{padding:0;border:0;background:none;color:#557087;font-weight:700;cursor:pointer}.invoice-title-row{display:flex;align-items:center;gap:12px;margin:11px 0 5px}.invoice-title-row h1{margin:0;color:#0c3146;font-size:27px;letter-spacing:.02em}.invoice-draft-badge{padding:5px 9px;border-radius:999px;background:#eef2f5;color:#55697b;font-size:10px;font-weight:850;letter-spacing:.08em}.invoice-workspace-header p{margin:0;color:#677b8e;font-size:12px}.invoice-workspace-layout{display:grid;grid-template-columns:minmax(0,72fr) minmax(280px,28fr);gap:18px;align-items:start;padding:20px 24px 96px}.invoice-workspace-main{display:grid;gap:15px}.invoice-workspace-section,.invoice-side-card{padding:20px;border:1px solid #dce5ed;border-radius:13px;background:#fff;box-shadow:0 3px 12px rgba(14,45,72,.025)}.invoice-workspace-section>h2,.invoice-section-heading h2,.invoice-side-card>h2,.invoice-side-title h2{margin:0;color:#113550;font-size:13px;letter-spacing:.045em;text-transform:uppercase}.invoice-workspace-section>h2 span,.invoice-section-heading h2 span{color:#289273}.invoice-customer-search{position:relative;margin-top:15px}.invoice-customer-search label{font-size:11px;font-weight:750;color:#5d7287}.invoice-customer-search input{width:100%;margin-top:6px;padding:12px 14px}.invoice-autocomplete-results{position:absolute;z-index:12;top:100%;left:0;right:0;max-height:280px;overflow:auto;border:1px solid #ccdbe6;border-radius:10px;background:#fff;box-shadow:0 14px 32px rgba(15,49,74,.16)}.invoice-autocomplete-results button{display:grid;width:100%;padding:11px 13px;border:0;border-bottom:1px solid #edf1f4;background:#fff;text-align:left;color:#173b57}.invoice-autocomplete-results button:hover,.invoice-autocomplete-results button:focus{background:#f0f7fb}.invoice-autocomplete-results small{margin-top:3px;color:#6b7f91}.invoice-selected-customer{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin-top:13px;padding:15px;border:1px solid #dce8e4;border-radius:11px;background:#f7fbfa}.invoice-selected-customer.empty{display:block;color:#697d8f;background:#fafcfd}.invoice-selected-customer h3,.invoice-selected-customer p{margin:0}.invoice-selected-customer h3{font-size:16px}.invoice-selected-customer dl{display:grid;gap:7px;margin:0}.invoice-selected-customer dt{font-size:9px;color:#6d8191;text-transform:uppercase}.invoice-selected-customer dd{margin:2px 0 0;font-size:12px;font-weight:650}.invoice-selected-customer .customer-warning{grid-column:1/-1;padding:9px 11px;border-radius:8px;background:#fff5dd;color:#8b5d00;font-size:12px}.invoice-selected-customer .customer-actions{grid-column:1/-1}.invoice-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:15px}.invoice-data-grid input,.invoice-data-grid select,.invoice-reference-grid input,.invoice-reference-grid select{width:100%}.invoice-exchange-rate small{display:block;margin-top:5px;color:#687d8f}.invoice-reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:15px}.invoice-reference-grid .wide{grid-column:1/-1}.invoice-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.invoice-lines-table-wrap{margin-top:15px;overflow:auto}.invoice-lines-table{width:100%;min-width:850px;border-collapse:collapse;font-size:12px}.invoice-lines-table th{padding:10px 8px;border-bottom:1px solid #d7e2ea;color:#607588;font-size:9px;text-align:left;text-transform:uppercase}.invoice-lines-table td{padding:13px 8px;border-bottom:1px solid #e7edf2;vertical-align:top}.invoice-lines-table td.num{text-align:right;font-variant-numeric:tabular-nums}.invoice-lines-table td strong{display:block;color:#173a56}.invoice-lines-table td small{display:block;margin-top:3px;color:#718495}.invoice-line-menu{position:relative}.invoice-line-menu summary{cursor:pointer;list-style:none;font-size:18px}.invoice-line-menu div{position:absolute;right:0;z-index:5;display:grid;min-width:125px;padding:5px;border:1px solid #d6e1e9;border-radius:9px;background:#fff;box-shadow:0 9px 22px rgba(13,47,72,.13)}.invoice-line-menu button{padding:8px;border:0;background:#fff;text-align:left}.invoice-notes-section{display:grid;grid-template-columns:1fr 1fr;gap:14px}.invoice-notes-section textarea{width:100%;resize:vertical}.invoice-fiscal-sidebar{position:sticky;top:14px;display:grid;gap:14px}.invoice-side-card h2{margin-bottom:14px}.invoice-side-card dl{display:grid;gap:0;margin:0}.invoice-side-card dl>div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #edf1f4}.invoice-side-card dt{color:#64798c;font-size:11px}.invoice-side-card dd{margin:0;color:#183b56;font-size:11px;font-weight:750;text-align:right;overflow-wrap:anywhere}.invoice-total-payable{display:grid;gap:6px;margin-top:16px;padding-top:15px;border-top:2px solid #2f9675}.invoice-total-payable span{font-size:11px;font-weight:800;text-transform:uppercase}.invoice-total-payable strong{font-size:28px;color:#0d344d}.invoice-side-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.invoice-side-title h2{margin-bottom:0}.invoice-validation-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.invoice-validation-list li{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:start;font-size:11px;line-height:1.4}.invoice-validation-list li.ok{color:#216f55}.invoice-validation-list li.blocker{color:#a13942}.invoice-validation-list li.warning{color:#8a6008}.invoice-validation-list li span:first-child{font-weight:900}.invoice-workspace-actions{position:sticky;z-index:20;bottom:0;display:grid;grid-template-columns:auto auto 1fr auto auto;gap:9px;padding:13px 24px;border-top:1px solid #d7e2ea;background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(15,46,70,.08);backdrop-filter:blur(8px)}.invoice-drawer-backdrop{position:fixed;z-index:1500;inset:0;background:rgba(8,28,46,.38)}.invoice-line-drawer{position:fixed;z-index:1501;top:0;right:0;width:min(480px,100vw);height:100vh;padding:22px;background:#fff;box-shadow:-18px 0 42px rgba(9,38,60,.2);overflow:auto}.invoice-line-drawer form{display:grid;gap:15px}.invoice-line-drawer header{display:flex;justify-content:space-between;align-items:flex-start}.invoice-line-drawer header span{color:#289273;font-size:10px;font-weight:800;text-transform:uppercase}.invoice-line-drawer header h2{margin:4px 0 0}.invoice-line-drawer textarea,.invoice-line-drawer input,.invoice-line-drawer select{width:100%}.invoice-line-drawer footer{display:flex;justify-content:flex-end;gap:9px;padding-top:10px}.invoice-line-calculation{padding:13px;border-radius:10px;background:#f1f7f5;color:#164a3b;font-weight:750}.invoice-confirm-dialog{position:fixed;z-index:1700;inset:0;display:grid;place-items:center;padding:20px;background:rgba(7,29,47,.48)}.invoice-confirm-dialog>div{width:min(430px,100%);padding:25px;border-radius:14px;background:#fff;box-shadow:0 22px 55px rgba(5,27,44,.25)}.invoice-confirm-dialog h2{margin:0 0 12px}.invoice-confirm-dialog>div>strong{display:block;margin:9px 0;font-size:27px;color:#0d3b54}.invoice-confirm-dialog small{display:block;color:#657a8c}.invoice-confirm-dialog footer{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.invoice-issued-view{padding:40px;text-align:center}.invoice-issued-view h1{margin:12px 0 5px;color:#0d344d}.invoice-issued-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:24px}.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}
@media(max-width:1100px){.invoice-workspace-layout{grid-template-columns:1fr}.invoice-fiscal-sidebar{position:static;grid-template-columns:repeat(3,1fr)}.invoice-data-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.demedica-invoice-workspace{margin:0}.invoice-workspace-header,.invoice-section-heading{align-items:flex-start}.invoice-workspace-layout{padding:12px 10px 92px}.invoice-workspace-header{padding:16px 13px}.invoice-data-grid,.invoice-reference-grid,.invoice-notes-section,.invoice-fiscal-sidebar,.invoice-selected-customer{grid-template-columns:1fr}.invoice-reference-grid .wide{grid-column:auto}.invoice-workspace-actions{grid-template-columns:1fr 1fr;padding:10px}.invoice-workspace-actions span{display:none}.invoice-workspace-actions button{min-width:0}.invoice-lines-table{min-width:760px}}
.invoice-confirm-dialog[hidden],.invoice-line-drawer[hidden],.invoice-drawer-backdrop[hidden]{display:none!important}
.invoice-workspace-main{min-width:0}
.invoice-validation-list small{display:block;margin-top:2px;line-height:1.35}

/* Preparación de planilla por concepto */
#payrollView.concept-workspace-open>:not(#payrollConceptWorkspace){display:none!important}
.payroll-concept-workspace{margin:-8px;min-height:calc(100vh - 104px);background:#f4f7fa;color:#173854}
.pcw-header{display:flex;justify-content:space-between;gap:24px;padding:22px 28px 18px;border-bottom:1px solid #dce5ed;background:#fff}.pcw-header h1,.pcw-header p{margin:0}.pcw-header h1{margin:7px 0 5px;color:#0b3451;font-size:27px}.pcw-header p{margin-top:9px;color:#6b7e90;font-size:11px;font-weight:750;text-transform:uppercase}.pcw-header>div>span{color:#667b8e;font-size:12px}.pcw-back{padding:0;border:0;background:none;color:#2b6a91;font-weight:750;cursor:pointer}.pcw-save-state{display:flex;align-items:center;align-self:flex-start;gap:7px;padding:7px 11px;border-radius:999px;background:#eaf7f1;color:#27755c;font-size:11px;font-weight:800}.pcw-save-state i{width:7px;height:7px;border-radius:50%;background:#34a47c}.pcw-save-state.pending{background:#fff2d7;color:#8b6100}.pcw-save-state.pending i{background:#d69a18}
.pcw-progress{display:grid;grid-template-columns:repeat(5,1fr);padding:0 28px;border-bottom:1px solid #dce5ed;background:#fff}.pcw-progress button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:8px;border:0;border-bottom:3px solid transparent;background:#fff;color:#6b7e90;font-size:11px;font-weight:750}.pcw-progress button span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #cbd8e2;border-radius:50%;font-size:10px}.pcw-progress button.active{border-bottom-color:#1365cf;color:#114c83}.pcw-progress button.active span{border-color:#1365cf;background:#1365cf;color:#fff}.pcw-progress button.done{color:#24785d}.pcw-progress button.done span{border-color:#36a57d;background:#e9f7f1}
.pcw-stage{position:relative;display:grid;gap:17px;max-width:1440px;margin:0 auto;padding:24px 28px 94px}.pcw-stage-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.pcw-stage-head h2,.pcw-stage-head p{margin:0}.pcw-stage-head h2{margin:4px 0 6px;color:#103854;font-size:22px}.pcw-stage-head>div>span,.pcw-approval>div>span{color:#2a9772;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.pcw-stage-head p{max-width:760px;color:#667b8e;font-size:12px}.pcw-stage>footer{position:fixed;z-index:25;right:18px;bottom:0;left:var(--sidebar-width,250px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 28px;border-top:1px solid #d7e2ea;background:rgba(255,255,255,.97);box-shadow:0 -7px 22px rgba(17,47,70,.08);backdrop-filter:blur(8px)}
.pcw-kpis{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}.pcw-kpis article{display:grid;gap:5px;padding:15px 17px;border:1px solid #dce6ee;border-radius:12px;background:#fff}.pcw-kpis article.warning{border-color:#efd99c;background:#fffaf0}.pcw-kpis span{color:#6c7f90;font-size:10px;font-weight:750;text-transform:uppercase}.pcw-kpis strong{font-size:23px;color:#123b59}
.pcw-table-wrap{overflow:auto;border:1px solid #dce5ed;border-radius:12px;background:#fff}.pcw-table-wrap table{width:100%;border-collapse:collapse;font-size:12px}.pcw-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid #d7e2ea;background:#f6f9fb;color:#617588;font-size:9px;text-align:left;text-transform:uppercase}.pcw-table-wrap td{padding:12px;border-bottom:1px solid #e8eef2;vertical-align:middle}.pcw-table-wrap td>small,.pcw-table-wrap td>strong{display:block}.pcw-table-wrap td>small{margin-top:3px;color:#718496}.pcw-kind,.pcw-row-state,.pcw-alert{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:750}.pcw-kind.income,.pcw-row-state.saved,.pcw-row-state.automatic{background:#e9f7f1;color:#26745a}.pcw-kind.deduction{background:#fff0ef;color:#a04e4b}.pcw-row-state{background:#edf2f6;color:#687c8d}.pcw-row-state.pending{background:#fff2d6;color:#886000}.pcw-alert.blocking{background:#ffeded;color:#a53f49}.pcw-alert.warning{background:#fff4dc;color:#8a6205}.pcw-exceptions{display:grid;gap:7px;padding:14px;border:1px solid #eedb9f;border-radius:11px;background:#fffbf1;color:#805e0c}.pcw-exceptions span{font-size:12px}
.pcw-concept-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pcw-concept-groups>section{padding:18px;border:1px solid #dce5ed;border-radius:13px;background:#fff}.pcw-concept-groups h3{margin:0 0 13px;color:#143b58}.pcw-concept-list{display:grid;gap:8px}.pcw-concept-list label{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:11px;border:1px solid #e1e8ee;border-radius:10px;cursor:pointer}.pcw-concept-list label:has(input:checked){border-color:#72a8e4;background:#f2f8ff}.pcw-concept-list strong,.pcw-concept-list small{display:block}.pcw-concept-list small{margin-top:3px;color:#6d8091}.pcw-new-concept{margin-top:12px;padding:8px;border:0;background:none;color:#1763b8;font-weight:750;cursor:pointer}
.pcw-capture-summary{display:flex;flex-wrap:wrap;gap:9px}.pcw-capture-summary span{padding:8px 11px;border:1px solid #dce5ed;border-radius:9px;background:#fff;color:#64798b;font-size:11px}.pcw-capture-summary strong{color:#173e5c}.pcw-capture-tools{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(150px,auto));gap:9px}.pcw-capture-tools input,.pcw-capture-tools select,.pcw-bulk-apply input{width:100%}.pcw-bulk-apply{display:grid;grid-template-columns:auto minmax(130px,190px) auto 1fr;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dce5ed;border-radius:10px;background:#fff}.pcw-bulk-apply label{font-size:11px;font-weight:700}.pcw-capture-table{min-width:800px}.pcw-capture-table th:nth-child(2),.pcw-capture-table td:nth-child(2){position:sticky;left:0;background:inherit}.pcw-capture-table td:nth-child(2){background:#fff}.pcw-value-input{width:130px;text-align:right;font-variant-numeric:tabular-nums}.pcw-concept-index{display:flex;gap:8px;overflow:auto;padding:3px}.pcw-concept-index button{display:grid;grid-template-columns:26px minmax(150px,1fr);grid-template-areas:'n t' 'n s';align-items:center;min-width:230px;padding:10px;border:1px solid #dce5ed;border-radius:10px;background:#fff;text-align:left}.pcw-concept-index button>span{grid-area:n;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf3f8}.pcw-concept-index strong{grid-area:t}.pcw-concept-index small{grid-area:s;color:#708394}.pcw-concept-index button.active{border-color:#2979d6;background:#f2f8ff}
.pcw-comparison{display:flex;justify-content:space-between;gap:15px;padding:13px 16px;border:1px solid #cfe5dc;border-radius:11px;background:#f1faf6;color:#27654f}.pcw-ready-count{font-size:12px;color:#63798b}.pcw-table-wrap details summary{cursor:pointer;font-weight:750}.pcw-table-wrap details span{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:#607487}.pcw-approval{max-width:900px}.pcw-approval-card{display:grid;justify-items:start;gap:11px;padding:24px;border:1px solid #dce5ed;border-radius:14px;background:#fff}.pcw-approval-card h3,.pcw-approval-card p{margin:0}.pcw-dialog{position:fixed;z-index:1800;inset:0;display:grid;place-items:center;padding:20px;background:rgba(7,29,47,.5)}.pcw-dialog[hidden]{display:none!important}.pcw-dialog>div{width:min(1100px,100%);max-height:90vh;overflow:auto;padding:22px;border-radius:15px;background:#fff;box-shadow:0 22px 55px rgba(5,27,44,.25)}.pcw-dialog header{display:flex;justify-content:space-between;gap:15px}.pcw-dialog header h2{margin:4px 0 15px}.pcw-dialog header span{color:#2a9772;font-size:10px;font-weight:800;text-transform:uppercase}.pcw-dialog header button{align-self:flex-start;border:0;background:none;font-size:24px}.pcw-dialog form{margin-bottom:18px;padding:16px;border:1px solid #dce5ed;border-radius:12px;background:#f8fafc}.pcw-dialog .form-grid{grid-template-columns:repeat(3,1fr);gap:11px}.pcw-dialog input,.pcw-dialog select{width:100%}.has-blocker{background:#fff8f8}.has-warning{background:#fffcf4}
.pcw-review-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px}.pcw-review-summary>span{padding:6px 9px;border-radius:999px;background:#eaf7f1;color:#27745a;font-size:10px}.pcw-review-summary>span.blocking{background:#ffeded;color:#a43d47}.pcw-review-summary>span.warning{background:#fff3d8;color:#896000}.pcw-review-state{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pcw-inline-action{padding:5px 8px;border:1px solid #9abbd8;border-radius:8px;background:#fff;color:#185b93;font-size:10px;font-weight:800;cursor:pointer}.pcw-inline-action:hover{background:#eef7ff}
.pcw-inline-action.edit{border-color:#d3dee7;color:#335f7d}.pcw-inline-action.edit:hover{background:#f1f6f9}
.pcw-permanent-bulk{width:min(1080px,100%)}.pcw-permanent-bulk header p{margin:5px 0 0;color:#657b8e;font-size:12px}.pcw-permanent-bulk form{margin:0;padding:0;border:0;background:#fff}.pcw-permanent-toolbar{display:grid;grid-template-columns:minmax(230px,1fr) minmax(230px,1fr) auto;align-items:end;gap:12px;margin-bottom:13px;padding:15px;border:1px solid #dce5ed;border-radius:12px;background:#f7fafc}.pcw-permanent-toolbar label{display:grid;gap:6px;color:#5f7487;font-size:10px;font-weight:800;text-transform:uppercase}.pcw-permanent-toolbar input,.pcw-permanent-toolbar select{width:100%}.pcw-scope-note{display:flex;justify-content:space-between;gap:15px;margin-bottom:12px;padding:10px 12px;border-radius:9px;background:#eef7ff;color:#245b84}.pcw-scope-note span{font-size:11px}.pcw-permanent-value{width:150px;text-align:right;font-variant-numeric:tabular-nums}.pcw-current-period-check{display:flex!important;align-items:center;gap:8px;margin:14px 0;color:#34566f;font-size:12px;font-weight:750}.pcw-current-period-check input{width:auto!important}.pcw-permanent-bulk form>footer{display:flex;justify-content:flex-end;gap:9px;padding-top:12px}
.pcw-loan-reschedule{width:min(820px,100%)}.pcw-loan-reschedule header p{margin:4px 0 15px;color:#63798b}.pcw-loan-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 14px}.pcw-loan-summary article{display:grid;gap:4px;padding:13px;border:1px solid #dce5ed;border-radius:11px;background:#f8fafc}.pcw-loan-summary span,.pcw-loan-summary small{color:#63798b;font-size:10px}.pcw-loan-summary strong{font-size:18px}.pcw-loan-reschedule form{margin:0}.pcw-loan-reschedule label small{display:block;margin-top:4px;color:#718496;font-size:10px}.pcw-loan-history-note{display:flex;gap:10px;margin-top:14px;padding:11px 13px;border-radius:10px;background:#fff7e6;color:#77530b}.pcw-loan-history-note span{font-size:11px}.pcw-loan-preview{display:grid;gap:3px;margin-top:12px;padding:13px;border:1px solid #bcdccc;border-radius:10px;background:#eff9f4;color:#176044}.pcw-loan-preview span{font-size:11px}.pcw-loan-preview.invalid{border-color:#efb8b8;background:#fff2f2;color:#a32d2d}.pcw-loan-reschedule form>footer{display:flex;justify-content:flex-end;gap:9px;padding-top:14px}
.pcw-approval-closed{max-width:1120px}.pcw-approval-closed .pcw-approval-card{width:100%}.pcw-final-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;width:100%;margin-top:8px}.pcw-final-report-grid>button{display:grid;grid-template-columns:42px 1fr;gap:3px 11px;align-items:center;padding:14px;border:1px solid #d8e3ec;border-radius:12px;background:#fff;color:#143b5b;text-align:left}.pcw-final-report-grid>button:hover{border-color:#72a7d0;background:#f6fbff}.pcw-final-report-grid>button>span{grid-row:1/4;display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#eaf4ff;color:#1769aa;font-size:10px;font-weight:850}.pcw-final-report-grid strong,.pcw-final-report-grid small,.pcw-final-report-grid b{grid-column:2}.pcw-final-report-grid small{color:#647a8c;font-size:10px;font-weight:500}.pcw-final-report-grid b{margin-top:4px;color:#1769aa;font-size:10px}.pcw-report-preview{width:min(1100px,96vw)}.pcw-report-preview header p{margin:3px 0 12px;color:#64798b}.pcw-report-preview>footer{display:flex;justify-content:flex-end;gap:9px;padding-top:12px}.pcw-report-preview>footer a{text-decoration:none}.pcw-pdf-preview{width:min(1280px,96vw);height:min(90vh,920px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden!important}.pcw-pdf-reader{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border:1px solid #cfdbe4;border-radius:10px;overflow:hidden;background:#525659}.pcw-pdf-toolbar{display:flex;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid #2e3338;background:#323639;color:#fff}.pcw-pdf-toolbar button{display:grid;place-items:center;min-width:32px;height:30px;padding:0 8px;border:1px solid #62686d;border-radius:6px;background:#454a4f;color:#fff;font-weight:800}.pcw-pdf-toolbar button:disabled{opacity:.4}.pcw-pdf-toolbar span{min-width:85px;text-align:center;font-size:11px;font-weight:750}.pcw-pdf-toolbar i{flex:1}.pcw-pdf-canvas-viewport{min-height:0;padding:20px;overflow:auto;text-align:center}.pcw-pdf-canvas-viewport canvas{display:inline-block;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.3)}.pcw-pdf-loading,.pcw-pdf-error{display:grid;place-items:center;align-content:center;gap:5px;min-height:65vh;color:#fff}.pcw-pdf-error span{font-size:11px}.pcw-report-preview-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:11px}.pcw-report-preview-summary article{display:grid;gap:4px;padding:11px;border:1px solid #dce5ed;border-radius:9px;background:#f7fafc}.pcw-report-preview-summary span{color:#687d8e;font-size:9px}.pcw-report-paper{max-height:58vh;overflow:auto;border:1px solid #dce5ed;border-radius:10px}.pcw-report-paper table{width:100%;border-collapse:collapse}.pcw-report-paper th,.pcw-report-paper td{padding:9px;border-bottom:1px solid #e4ebf0;text-align:left;font-size:10px}.pcw-report-paper th{position:sticky;top:0;background:#123b5d;color:#fff}.pcw-report-paper td small{display:block;color:#718596}.pcw-receipt-preview-list{display:grid;gap:0}.pcw-receipt-preview-list article{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #e4ebf0}.pcw-receipt-preview-list article>span{display:grid;place-items:center;width:35px;height:35px;border-radius:8px;background:#eaf4ff;color:#1769aa;font-size:9px;font-weight:850}.pcw-receipt-preview-list small{display:block;margin-top:2px;color:#718596}
.pcw-closed-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pcw-closed-summary article{display:grid;gap:5px;padding:14px 16px;border:1px solid #d7e2eb;border-radius:11px;background:#fff}.pcw-closed-summary span{color:#657b8d;font-size:9px;font-weight:750;text-transform:uppercase}.pcw-closed-summary strong{color:#0d3555;font-size:17px}.pcw-closed-actions{display:flex;align-items:center;gap:9px;padding:14px 16px;border:1px solid #cfe3da;border-radius:11px;background:#f3faf7}.pcw-closed-actions>div{display:grid;gap:3px;margin-right:auto}.pcw-closed-actions small{color:#607a70}.pcw-closed-payroll-table{max-height:390px}.pcw-closed-payroll-table small{display:block;margin-top:3px;color:#718597}.pcw-closed-reports{display:grid;gap:8px;padding:17px;border:1px solid #d7e2eb;border-radius:12px;background:#fff}.pcw-closed-reports h3{margin:2px 0}.pcw-closed-reports p{margin:0;color:#687d8e}.pcw-closed-reports>div:first-child>span{color:#168060;font-size:9px;font-weight:850;text-transform:uppercase}@media(max-width:760px){.pcw-closed-summary{grid-template-columns:repeat(2,1fr)}.pcw-closed-actions{align-items:stretch;flex-direction:column}.pcw-closed-actions>div{margin-right:0}.pcw-final-report-grid{grid-template-columns:1fr}}
@media(max-width:760px){.pcw-permanent-toolbar,.pcw-loan-summary,.pcw-final-report-grid,.pcw-report-preview-summary{grid-template-columns:1fr}.pcw-scope-note,.pcw-loan-history-note{display:grid}.pcw-permanent-bulk,.pcw-loan-reschedule{width:100%}.pcw-pdf-reader iframe{min-height:60vh}}
@media(max-width:1100px){.pcw-capture-tools{grid-template-columns:1fr 1fr}.pcw-stage>footer{left:76px}.pcw-dialog .form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.payroll-concept-workspace{margin:0}.pcw-header,.pcw-stage-head,.pcw-comparison{display:grid}.pcw-header{padding:16px}.pcw-progress{grid-template-columns:repeat(5,minmax(90px,1fr));padding:0;overflow:auto}.pcw-progress button{display:grid}.pcw-progress button span{margin:auto}.pcw-stage{padding:18px 12px 90px}.pcw-concept-groups,.pcw-kpis,.pcw-capture-tools,.pcw-dialog .form-grid{grid-template-columns:1fr}.pcw-bulk-apply{grid-template-columns:1fr 1fr}.pcw-stage>footer{left:0;right:0;padding:10px 12px}.pcw-stage>footer span{display:none}.pcw-stage>footer button{min-width:0}.pcw-dialog{padding:7px}}
/* FiscalDocumentWorkspace v2 — factura y comprobante de retención */
.fiscal-document-workspace[hidden],.demedica-invoice-workspace[hidden]{display:none!important}.compact-button{min-height:34px;padding:7px 11px}.workspace-select-label{display:grid;gap:6px;margin-top:15px}.workspace-select-label select{width:100%}.workspace-help{display:block;margin-top:10px;color:#687d8f}.fiscal-identity-card{grid-template-columns:1fr}.customer-identity-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.fiscal-identity-card>dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:4px}.fiscal-identity-card>dl>div{padding:9px 10px;border:1px solid #dfebe7;border-radius:9px;background:#fff}.invoice-notes-section label{display:grid;gap:5px}.invoice-notes-section label small{color:#6d8191;font-weight:500}.fiscal-validation-heading{display:grid;gap:10px;margin-bottom:13px}.fiscal-validation-heading>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.fiscal-validation-heading h2{margin:0;color:#113550;font-size:13px;letter-spacing:.045em;text-transform:uppercase}.fiscal-validation-heading strong{color:#2a7d64;font-size:12px}.fiscal-validation-heading progress{width:100%;height:7px;border:0;border-radius:999px;overflow:hidden;background:#e8eef2}.fiscal-validation-heading progress::-webkit-progress-bar{background:#e8eef2}.fiscal-validation-heading progress::-webkit-progress-value{background:#2f9675}.fiscal-validation-heading progress::-moz-progress-bar{background:#2f9675}.fiscal-validation-toggle{margin-top:12px}.invoice-validation-list small{display:block;margin-top:2px;color:inherit;opacity:.82}.fiscal-action-status{display:flex;align-items:center;gap:8px;min-width:180px;color:#6c7d8b}.fiscal-action-status>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#fff0d0;color:#8b6000;font-weight:900}.fiscal-action-status>span.ready{background:#e4f6ee;color:#177153}.fiscal-action-status>span.blocked{background:#fff0d0;color:#8b6000}.fiscal-action-status strong{font-size:11px}.invoice-workspace-actions{grid-template-columns:auto auto auto 1fr auto auto}.withholding-lines-table{min-width:690px}.withholding-lines-table select,.withholding-lines-table input{width:100%;min-width:110px}.withholding-lines-table td:first-child{min-width:285px}.fiscal-auto-badge{display:inline-flex;margin-top:6px;padding:3px 6px;border-radius:999px;background:#e5f6ef;color:#176b50;font-size:9px;font-weight:800}.icon-button{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d5e1e9;border-radius:8px;background:#fff;color:#9f3540;font-size:18px}.invoice-line-menu[open]>div{display:grid}.invoice-line-menu:not([open])>div{display:none}
@media(max-width:1100px){.fiscal-identity-card>dl{grid-template-columns:repeat(2,1fr)}.invoice-workspace-actions{grid-template-columns:auto auto 1fr auto auto}.invoice-workspace-actions .fiscal-action-status{grid-column:1/-1}}
@media(max-width:760px){.fiscal-identity-card>dl{grid-template-columns:1fr}.customer-identity-heading{display:grid}.invoice-workspace-actions{grid-template-columns:1fr 1fr}.invoice-workspace-actions .fiscal-action-status{grid-column:1/-1}.withholding-lines-table{min-width:0}.withholding-lines-table thead{display:none}.withholding-lines-table,.withholding-lines-table tbody,.withholding-lines-table tr,.withholding-lines-table td{display:block;width:100%}.withholding-lines-table tr{display:grid;gap:9px;margin-bottom:12px;padding:13px;border:1px solid #dce5ed;border-radius:11px;background:#fff}.withholding-lines-table td{padding:0;border:0}.withholding-lines-table td:first-child{min-width:0}}
/* Registro de servicios publicos y recurrentes dentro de CxP */
.payment-type-modal{max-width:760px}.payment-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:8px 0 4px}.payment-type-grid button{display:grid;gap:8px;text-align:left;padding:22px;border:1px solid #cbd9e8;border-radius:16px;background:#fff;color:#0a2448;cursor:pointer;transition:.18s ease}.payment-type-grid button:hover,.payment-type-grid button:focus-visible{border-color:#1261d8;box-shadow:0 12px 28px #1261d824;transform:translateY(-1px)}.payment-type-grid button>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eaf2ff;color:#1261d8;font-size:22px}.payment-type-grid strong{font-size:16px}.payment-type-grid small{color:#60738c;line-height:1.45}
.utility-payment-request-modal{max-width:1040px}.utility-payment-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.utility-service-selector{display:grid;grid-template-columns:1fr auto;column-gap:8px}.utility-service-selector>select{grid-column:1}.utility-service-selector>button{grid-column:2;grid-row:1/3;align-self:end;white-space:nowrap}.utility-payment-summary{align-self:start;position:sticky;top:12px;padding:22px;border:1px solid #d8e4f1;border-radius:16px;background:linear-gradient(160deg,#f8fbff,#eef5ff);box-shadow:0 10px 28px #173d6b12}.utility-payment-summary>span{font-size:11px;font-weight:800;letter-spacing:.14em;color:#1261d8}.utility-payment-summary h3{margin:10px 0 4px;color:#0a2448}.utility-payment-summary p{margin:0 0 18px;color:#62748b}.utility-payment-summary dl{display:grid;gap:10px;margin:0}.utility-payment-summary dl div{display:flex;justify-content:space-between;gap:14px;padding-top:10px;border-top:1px solid #d8e4f1}.utility-payment-summary dt{color:#687b91}.utility-payment-summary dd{margin:0;font-weight:750;text-align:right;color:#0a2448}.utility-specific-fields{border:1px solid #d7e3ef;border-radius:12px;padding:14px}.utility-specific-fields legend{padding:0 7px;font-weight:750;color:#15365f}.utility-file-field small{display:block;margin-top:6px;color:#5d7189}.utility-registry-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin:14px 0}.utility-registry-filters label{font-size:11px;font-weight:700;color:#61738a}.utility-registry-filters select,.utility-registry-filters input{width:100%;margin-top:4px}.payment-registry-type{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eaf2ff;color:#1259bf;font-size:11px;font-weight:750}.payment-registry-beneficiary strong,.payment-registry-beneficiary small{display:block}.payment-registry-attachments{display:grid;gap:4px}.payment-registry-attachments button{border:0;background:transparent;color:#1261d8;text-align:left;padding:0;cursor:pointer}.utility-service-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-top:12px}.utility-service-catalog article{padding:14px;border:1px solid #dae5f1;border-radius:12px;background:#fff}.utility-service-catalog strong,.utility-service-catalog span,.utility-service-catalog small{display:block}.utility-service-catalog span{color:#536b85;margin-top:4px}.utility-service-catalog small{color:#73859a;margin-top:6px}
@media(max-width:850px){.payment-type-grid{grid-template-columns:1fr}.utility-payment-layout{grid-template-columns:1fr}.utility-payment-summary{position:static}.utility-registry-filters{grid-template-columns:1fr 1fr}}

/* BBS Status & Badge System — progressive global migration. */
:where(.request-status,.medical-badge,.treasury-status,.period-status,.status-badge,.certificate-status,.accounting-status,.user-access-status,.exchange-status-badge){display:inline-flex!important;align-items:center!important;width:max-content!important;min-height:24px!important;padding:4px 8px!important;border:1px solid var(--bbs-status-neutral-border)!important;border-radius:var(--bbs-radius-sm)!important;background:var(--bbs-status-neutral-bg)!important;color:var(--bbs-status-neutral-text)!important;font-size:11px!important;font-weight:700!important;line-height:1.15!important;white-space:nowrap!important}
:where(.request-status,.medical-badge,.treasury-status,.period-status,.status-badge,.certificate-status,.accounting-status,.user-access-status,.exchange-status-badge):where(.info,.processing,.scheduled,.sent,.review){border-color:var(--bbs-status-info-border)!important;background:var(--bbs-status-info-bg)!important;color:var(--bbs-status-info-text)!important}
:where(.request-status,.medical-badge,.treasury-status,.period-status,.status-badge,.certificate-status,.accounting-status,.user-access-status,.exchange-status-badge):where(.approved,.active,.available,.paid,.closed,.completed,.valid,.vigente,.reconciled,.credit){border-color:var(--bbs-status-success-border)!important;background:var(--bbs-status-success-bg)!important;color:var(--bbs-status-success-text)!important}
:where(.request-status,.medical-badge,.treasury-status,.period-status,.status-badge,.certificate-status,.accounting-status,.user-access-status,.exchange-status-badge):where(.pending,.warning,.draft,.observed,.partial,.invited,.quarantine){border-color:var(--bbs-status-warning-border)!important;background:var(--bbs-status-warning-bg)!important;color:var(--bbs-status-warning-text)!important}
:where(.request-status,.medical-badge,.treasury-status,.period-status,.status-badge,.certificate-status,.accounting-status,.user-access-status,.exchange-status-badge):where(.rejected,.danger,.overdue,.expired,.blocked,.void,.voided,.cancelled,.negative){border-color:var(--bbs-status-danger-border)!important;background:var(--bbs-status-danger-bg)!important;color:var(--bbs-status-danger-text)!important}
.nav-badge,.nav-category-badge{min-width:22px;min-height:22px;padding:3px 6px;border:1px solid #f5c650;border-radius:999px;background:#ffd45e;color:#17233b;font-size:11px;font-weight:850;line-height:1;text-align:center}.nav-badge[hidden],.nav-category-badge[hidden]{display:none!important}

/* Compras y auxiliar CxP — contrast, hierarchy and controlled density. */
.supplier-ap-shell{color:var(--bbs-text-primary)}.supplier-ap-shell .purchase-ap-head{box-shadow:none}.supplier-ap-shell .purchase-ap-head h2{color:var(--bbs-text-primary)}.supplier-ap-shell .purchase-ap-head p,.supplier-ap-shell .purchase-ap-head small{color:var(--bbs-text-secondary)}
.supplier-credit-note-modal{width:min(94vw,760px)}.supplier-credit-note-modal .modal-header p{margin:5px 0 0;color:#64748b;font-size:12px}.supplier-credit-note-modal form{padding:20px}.supplier-credit-note-modal label small{display:block;margin-top:5px;color:#0b57d0;font-weight:750}.supplier-credit-note-summary{display:grid;gap:4px;margin:16px 0;padding:13px 15px;border:1px solid #f0d58b;border-radius:11px;background:#fff9e8;color:#6b531d}.supplier-credit-note-summary span{font-size:11px}.supplier-credit-note-modal .modal-actions{padding:14px 0 0}
.supplier-ap-shell .purchase-ap-metrics{gap:8px}.supplier-ap-shell .purchase-ap-metrics article{min-height:82px;padding:12px 14px;box-shadow:none}.supplier-ap-shell .purchase-ap-metrics span{color:var(--bbs-text-secondary);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.supplier-ap-shell .purchase-ap-metrics strong{color:var(--bbs-text-primary);font-variant-numeric:tabular-nums}.supplier-ap-shell .purchase-ap-metrics small{color:var(--bbs-text-secondary)}
.supplier-ap-toolbar{border-color:var(--bbs-border-subtle);box-shadow:none}.supplier-ap-toolbar label{color:var(--bbs-text-primary)}.supplier-ap-toolbar input,.supplier-ap-toolbar select{border-color:var(--bbs-border-default);color:var(--bbs-text-primary)}
.supplier-ap-table-wrap{box-shadow:none}.supplier-ap-table th{color:var(--bbs-text-secondary);background:var(--bbs-surface-secondary)}.supplier-ap-table td{color:var(--bbs-text-primary);font-variant-numeric:tabular-nums}.supplier-ap-table td small{color:var(--bbs-text-secondary);font-size:10px}.supplier-ap-name{color:var(--bbs-text-primary);font-weight:800}.supplier-ap-table tbody tr{transition:background var(--bbs-duration-fast) var(--bbs-ease-standard)}.supplier-ap-table tbody tr:hover{background:#f8fbff}.supplier-ap-detail-button{background:#fff;border-color:var(--bbs-border-default)}
@media(max-width:720px){.company-menu[data-bbs-floating-mobile="sheet"]{width:auto!important;max-width:none!important;padding:12px;border-radius:18px 18px 12px 12px}.company-menu-options{max-height:min(58dvh,480px)}.supplier-ap-shell .purchase-ap-metrics{grid-template-columns:1fr 1fr}.supplier-ap-shell .purchase-ap-metrics article{min-height:74px}}
.treasury-card-action-popover,.user-access-popover,.payroll-settings-popover,.purchase-ap-menu-portal{z-index:var(--bbs-layer-popover)!important}.supplier-ap-drawer,.invoice-line-drawer{z-index:var(--bbs-layer-drawer)!important}.modal,.user-access-portal:not(.user-access-popover),.payroll-settings-portal:not(.payroll-settings-popover),.purchase-ap-pdf-preview,#supplierPaymentModal,#supplierAmountSelectionModal,#supplierCreditNoteModal{z-index:var(--bbs-layer-modal)!important}.invoice-confirm-dialog,.pcw-dialog{z-index:var(--bbs-layer-critical)!important}.toast{z-index:var(--bbs-layer-toast)!important}

/* Supplier payments: make invoice selection and payment data easy to scan. */
.supplier-ap-invoice-table th.supplier-ap-select-cell{position:sticky;left:0;z-index:2;width:78px;min-width:78px;background:#eaf2ff;color:#0b57d0}
.supplier-ap-invoice-table th.supplier-ap-select-cell::after{content:"Pagar";display:block;margin-top:4px;font-size:8px;font-weight:900;letter-spacing:.08em}
.supplier-ap-invoice-table td.supplier-ap-select-cell{position:sticky;left:0;z-index:1;width:78px;min-width:78px;background:#f8fbff}
.supplier-ap-invoice-table tr.is-selected td.supplier-ap-select-cell{background:#dceaff}
.supplier-ap-invoice-table td.supplier-ap-select-cell::after{content:"Incluir";display:block;margin-top:4px;color:#47617e;font-size:8px;font-weight:800}
.supplier-ap-select-cell input{width:22px;height:22px;cursor:pointer}
.supplier-ap-invoice-table tbody tr:has(.supplier-ap-invoice-check:not(:disabled)){cursor:pointer}
.supplier-ap-invoice-table tbody tr:has(.supplier-ap-invoice-check:not(:disabled)):hover{background:#f1f6ff}
.supplier-ap-selection-bar{position:sticky;top:0;z-index:4;box-shadow:0 10px 24px rgba(11,50,111,.1)}
#supplierPayablesDrawer .pay-fiscal-purchase{display:none}
.supplier-payment-modal>.modal-header{padding:22px 26px}
.supplier-payment-modal>.modal-header p{margin-top:6px;color:#526984}
.supplier-payment-fields{grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 22px 14px}
.supplier-payment-fields::before{content:"Datos del pago";grid-column:1/-1;color:#0c2447;font-size:12px;font-weight:900}
.supplier-payment-fields label:nth-of-type(8){grid-column:span 2}
.supplier-payment-fields .full{grid-column:1/-1}
.supplier-payment-distribution{justify-content:flex-start;padding:4px 22px 14px;border-top:1px solid #e7edf5}
.supplier-payment-distribution::before{content:"Aplicación a facturas";align-self:end;margin-right:auto;color:#0c2447;font-size:12px;font-weight:900}
.supplier-payment-application-table{margin:0 22px}
.supplier-payment-totals{margin:14px 22px 0;padding:14px 16px;border-radius:10px;background:#f4f7fb}
.supplier-payment-modal .modal-actions{margin:0 22px;padding:18px 0 22px}
@media(max-width:800px){.supplier-payment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-payment-fields label:nth-of-type(8){grid-column:1/-1}}
@media(max-width:560px){.supplier-payment-fields{grid-template-columns:1fr}.supplier-payment-fields label:nth-of-type(8){grid-column:auto}.supplier-payment-distribution{align-items:stretch;flex-direction:column}.supplier-payment-distribution::before{align-self:auto}.supplier-payment-application-table{margin:0 12px}.supplier-payment-totals{margin:12px 12px 0}.supplier-payment-modal .modal-actions{margin:0 12px}}

/* Supplier invoice ledger: compact financial table with quiet selection controls. */
.supplier-ap-invoice-table-wrap{border-color:#d7e1ed;border-radius:10px;box-shadow:0 1px 2px rgba(15,35,65,.035)}
.supplier-ap-invoice-table{min-width:980px;table-layout:fixed}
.supplier-ap-invoice-table th,.supplier-ap-invoice-table td{padding:11px 9px;border-bottom-color:#e4ebf3;font-size:10px;line-height:1.25}
.supplier-ap-invoice-table th{height:44px;background:#f7f9fc;color:#52647d;font-size:8px;font-weight:850;letter-spacing:.055em}
.supplier-ap-invoice-table tbody tr{height:68px;background:#fff}
.supplier-ap-invoice-table tbody tr:hover{background:#f8fbff}
.supplier-ap-invoice-table tr.is-selected{background:#eef5ff;box-shadow:inset 3px 0 #1268ff}
.supplier-ap-invoice-table th.supplier-ap-select-cell,.supplier-ap-invoice-table td.supplier-ap-select-cell{position:static;width:46px;min-width:46px;padding-left:12px;padding-right:8px;background:inherit}
.supplier-ap-invoice-table th.supplier-ap-select-cell::after,.supplier-ap-invoice-table td.supplier-ap-select-cell::after{content:none}
.supplier-ap-select-cell input{width:18px;height:18px;margin:0;accent-color:#1268ff}
.supplier-ap-invoice-table th:nth-child(2){width:88px}.supplier-ap-invoice-table th:nth-child(3){width:214px}.supplier-ap-invoice-table th:nth-child(4){width:116px}.supplier-ap-invoice-table th:nth-child(5){width:104px}.supplier-ap-invoice-table th:nth-child(6){width:116px}.supplier-ap-invoice-table th:nth-child(7){width:104px}.supplier-ap-invoice-table th:nth-child(8){width:96px}.supplier-ap-invoice-table th:nth-child(9){width:100px}
.supplier-ap-invoice-table td:nth-child(3) strong{display:block;overflow:hidden;color:#09264c;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.supplier-ap-invoice-table td:nth-child(3) small{overflow:hidden;max-width:198px;text-overflow:ellipsis;white-space:nowrap}
.supplier-ap-invoice-table td small{margin-top:3px;color:#74849b;font-size:8px}
.supplier-ap-invoice-table td.money{color:#1e3859;white-space:nowrap}
.supplier-ap-invoice-table td.money strong{color:#071f42;font-size:10.5px}
.supplier-ap-invoice-table td:nth-child(8){text-align:center}
.supplier-ap-row-actions{min-width:90px;flex-wrap:nowrap;justify-content:flex-end;gap:5px}
.supplier-ap-row-actions button{min-height:32px;padding:5px 8px;border-radius:8px;font-size:9px;white-space:nowrap}
.supplier-ap-row-actions .purchase-ap-menu-trigger{width:32px;min-width:32px;padding:0}
.supplier-ap-selection-bar{top:8px;margin:0 0 10px;padding:9px 12px;border-radius:9px;background:#edf5ff;box-shadow:0 6px 18px rgba(11,50,111,.09)}
.supplier-ap-pagination{padding:10px 4px 2px}
@media(max-width:760px){.supplier-ap-invoice-table{min-width:900px}.supplier-ap-invoice-table th,.supplier-ap-invoice-table td{padding-top:9px;padding-bottom:9px}.supplier-ap-invoice-table tbody tr{height:62px}}
@media(max-width:560px){.supplier-ap-invoice-table{min-width:0}.supplier-ap-invoice-table tbody tr{height:auto}.supplier-ap-invoice-table th.supplier-ap-select-cell,.supplier-ap-invoice-table td.supplier-ap-select-cell{width:auto;min-width:0;padding:0;background:transparent}.supplier-ap-invoice-table td:nth-child(3) small{max-width:none}.supplier-ap-row-actions{min-width:0}}

/* Supplier detail is a workspace, not a narrow corner drawer. */
@media(min-width:768px){
  .supplier-ap-drawer{inset:clamp(12px,1.2vw,20px) clamp(12px,1.2vw,20px) clamp(12px,1.2vw,20px) calc(var(--bbs-shell-inline-size,244px) + clamp(12px,1.2vw,20px));width:auto;height:auto;overflow:hidden;border:1px solid #d5e0ec;border-radius:16px;background:#f7f9fc;box-shadow:0 28px 80px rgba(5,25,55,.24);animation:supplierWorkspaceIn .18s ease-out}
  .supplier-ap-drawer>header{padding:18px 22px}
  .supplier-ap-drawer h2{font-size:22px}
  .supplier-ap-drawer-metrics{padding:11px 18px}
  .supplier-ap-drawer-content{padding:14px 18px}
  .supplier-ap-drawer>footer{padding:12px 20px}
}
@keyframes supplierWorkspaceIn{from{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}
@media(max-width:767px){.supplier-ap-drawer{inset:0;width:100vw;height:100dvh;border:0;border-radius:0;box-shadow:none}}

/* Continuous supplier invoice list: one scroll surface instead of pages. */
.supplier-ap-drawer-content:has(.supplier-ap-invoice-table-wrap){display:flex;min-height:0;overflow:hidden;flex-direction:column}
.supplier-ap-drawer-content:has(.supplier-ap-invoice-table-wrap) .supplier-ap-invoice-table-wrap{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.supplier-ap-invoice-table thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 #d8e2ee}
.supplier-ap-pagination{display:none!important}
@media(max-width:560px){.supplier-ap-invoice-table thead th{position:static}.supplier-ap-drawer-content:has(.supplier-ap-invoice-table-wrap){overflow:auto}.supplier-ap-drawer-content:has(.supplier-ap-invoice-table-wrap) .supplier-ap-invoice-table-wrap{overflow:visible}}

/* Premium accounts payable auxiliary: finance first, actions on demand. */
.premium-supplier-ap .purchase-ap-head{padding:16px 18px;border-radius:10px}.premium-supplier-ap .purchase-ap-head p{margin-top:4px;color:var(--bbs-text-primary);font-size:12px}.premium-supplier-ap .purchase-ap-head small{margin-top:3px;font-weight:650}.premium-supplier-ap .purchase-ap-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border:1px solid var(--bbs-border-subtle);border-radius:10px;background:#fff;overflow:hidden}.premium-supplier-ap .purchase-ap-metrics article{min-height:68px!important;padding:12px 14px!important;border:0;border-right:1px solid var(--bbs-border-subtle);border-radius:0;box-shadow:none!important}.premium-supplier-ap .purchase-ap-metrics article:last-child{border-right:0}.premium-supplier-ap .purchase-ap-metrics strong{margin:5px 0 0;font-size:17px}.premium-supplier-ap .purchase-ap-metrics .is-overdue strong{color:#b42318}.premium-supplier-ap .supplier-ap-toolbar{grid-template-columns:minmax(260px,2fr) minmax(145px,1fr) minmax(235px,1.45fr) repeat(3,minmax(125px,1fr));gap:9px;padding:12px}.premium-supplier-ap .supplier-ap-toolbar input,.premium-supplier-ap .supplier-ap-toolbar select{min-height:36px}.supplier-ap-toolbar-secondary{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto auto;gap:9px;align-items:center;padding-top:10px;border-top:1px solid var(--bbs-border-subtle)}
.supplier-ap-overflow,.supplier-ap-export{position:relative}.supplier-ap-overflow summary,.supplier-ap-export summary{display:flex;min-width:38px;min-height:38px;align-items:center;justify-content:center;padding:7px 11px;border:1px solid var(--bbs-border-default);border-radius:8px;background:#fff;color:var(--bbs-text-primary);font-weight:800;cursor:pointer;list-style:none}.supplier-ap-export summary{gap:6px;min-width:105px;font-size:12px}.supplier-ap-overflow summary::-webkit-details-marker,.supplier-ap-export summary::-webkit-details-marker{display:none}.supplier-ap-overflow[open] summary,.supplier-ap-export[open] summary{border-color:#7ca7e8;outline:2px solid rgba(30,105,220,.1)}.supplier-ap-overflow>div,.supplier-ap-export>div{position:absolute;top:calc(100% + 7px);right:0;z-index:8;display:grid;min-width:220px;padding:6px;border:1px solid var(--bbs-border-subtle);border-radius:10px;background:#fff;box-shadow:0 16px 36px rgba(15,35,65,.16)}.supplier-ap-overflow button,.supplier-ap-export button{min-height:36px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:var(--bbs-text-primary);font:700 12px var(--font-body);text-align:left;cursor:pointer}.supplier-ap-overflow button:hover:not(:disabled),.supplier-ap-export button:hover{background:#f3f7fb}.supplier-ap-overflow button:disabled{color:#9aa7b8;cursor:not-allowed}
.supplier-ap-summary-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.supplier-ap-summary-actions details{position:relative}.supplier-ap-summary-actions summary{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--bbs-border-default);border-radius:8px;background:#fff;cursor:pointer;list-style:none}.supplier-ap-summary-actions summary::-webkit-details-marker{display:none}.supplier-ap-summary-actions details>div{position:absolute;top:calc(100% + 5px);right:0;z-index:7;display:grid;min-width:190px;padding:5px;border:1px solid var(--bbs-border-subtle);border-radius:9px;background:#fff;box-shadow:0 14px 32px rgba(15,35,65,.16)}.supplier-ap-summary-actions details button{min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:var(--bbs-text-primary);font:700 11px var(--font-body);text-align:left}.supplier-ap-summary-actions details button:hover{background:#f3f7fb}
.supplier-ap-overflow summary::marker,.supplier-ap-export summary::marker,.supplier-ap-summary-actions summary::marker{content:""}
@media(max-width:1180px){.premium-supplier-ap .purchase-ap-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.premium-supplier-ap .purchase-ap-metrics article:nth-child(3){border-right:0}.premium-supplier-ap .purchase-ap-metrics article:nth-child(-n+3){border-bottom:1px solid var(--bbs-border-subtle)}.premium-supplier-ap .supplier-ap-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.premium-supplier-ap .supplier-ap-search{grid-column:span 2}}
@media(max-width:720px){.premium-supplier-ap .purchase-ap-create{grid-template-columns:1fr auto auto}.premium-supplier-ap .purchase-ap-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-supplier-ap .purchase-ap-metrics article:nth-child(n){border-right:1px solid var(--bbs-border-subtle);border-bottom:1px solid var(--bbs-border-subtle)}.premium-supplier-ap .purchase-ap-metrics article:nth-child(2n){border-right:0}.premium-supplier-ap .purchase-ap-metrics article:nth-last-child(-n+2){border-bottom:0}.premium-supplier-ap .supplier-ap-toolbar{grid-template-columns:1fr}.premium-supplier-ap .supplier-ap-search{grid-column:auto}.supplier-ap-toolbar-secondary{grid-template-columns:1fr auto}.supplier-ap-toolbar-secondary>span{display:none}.supplier-ap-toolbar-secondary .supplier-ap-compare{grid-column:1/-1}.supplier-ap-overflow>div,.supplier-ap-export>div{position:fixed;inset:auto 12px 12px;min-width:0;padding:10px;border-radius:14px}.supplier-ap-overflow button,.supplier-ap-export button{min-height:44px}}
@media(max-width:720px){.premium-supplier-ap .supplier-ap-table td:nth-child(3),.premium-supplier-ap .supplier-ap-table td:nth-child(4),.premium-supplier-ap .supplier-ap-table td:nth-child(7),.premium-supplier-ap .supplier-ap-table td:nth-child(9){display:none}.premium-supplier-ap .supplier-ap-table td:nth-child(5),.premium-supplier-ap .supplier-ap-table td:nth-child(6),.premium-supplier-ap .supplier-ap-table td:nth-child(8),.premium-supplier-ap .supplier-ap-table td:nth-child(10),.premium-supplier-ap .supplier-ap-table td:nth-child(11){display:block}.premium-supplier-ap .supplier-ap-table td[data-label]::before{display:block;margin-bottom:3px;color:var(--bbs-text-secondary);font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;content:attr(data-label)}.premium-supplier-ap .supplier-ap-summary-actions{justify-content:flex-start}}
@media(max-width:720px){.premium-supplier-ap .supplier-ap-table td[data-label]{display:none}.premium-supplier-ap .supplier-ap-table td[data-label="Facturas"],.premium-supplier-ap .supplier-ap-table td[data-label="Saldo"],.premium-supplier-ap .supplier-ap-table td[data-label="Vencido"],.premium-supplier-ap .supplier-ap-table td[data-label="Próximo vencimiento"],.premium-supplier-ap .supplier-ap-table td[data-label="Estado"],.premium-supplier-ap .supplier-ap-table td[data-label="Acciones"]{display:block}}

/* Compras: tabs compactos, accesibles y consistentes con BBS Core. */
.fiscal-tabs.purchase-module-tabs{display:flex!important;height:44px;margin-bottom:12px;padding:6px!important;gap:0!important;overflow-x:auto;overflow-y:hidden;border:1px solid #e6eaf2!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;scrollbar-width:thin;scrollbar-color:#aeb9c8 transparent;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.fiscal-tabs.purchase-module-tabs button{position:relative;display:inline-flex;flex:1 0 160px;min-width:0;height:32px;align-items:center;justify-content:center;gap:8px;padding:0 14px!important;border:0!important;border-right:1px solid #eef1f5!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;color:#334155!important;font:500 14px/1.1 var(--font-body);white-space:nowrap;cursor:pointer;transition:color 120ms ease,background-color 120ms ease,border-color 120ms ease}
.fiscal-tabs.purchase-module-tabs button[hidden]{display:none!important}
.fiscal-tabs.purchase-module-tabs button:last-child{border-right-color:transparent!important}
.fiscal-tabs.purchase-module-tabs button:hover:not(:disabled){color:#0d47a1!important;background:#f1f5f9!important}
.fiscal-tabs.purchase-module-tabs button.active{color:#0d47a1!important;background:#f0f6ff!important;box-shadow:none!important}
.fiscal-tabs.purchase-module-tabs button.active::after{position:absolute;right:8px;bottom:-6px;left:8px;height:3px;border-radius:3px 3px 0 0;background:#0d47a1;content:""}
.fiscal-tabs.purchase-module-tabs button:focus-visible{z-index:2;outline:2px solid #0d47a1!important;outline-offset:2px}
.fiscal-tabs.purchase-module-tabs button:disabled{color:#a6adb8!important;cursor:not-allowed;opacity:.72}
.fiscal-tabs.purchase-module-tabs .fiscal-tab-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1023px){.fiscal-tabs.purchase-module-tabs button{flex-basis:150px;padding-inline:11px!important;font-size:13px}}
@media(max-width:767px){.fiscal-tabs.purchase-module-tabs{scroll-snap-type:x proximity}.fiscal-tabs.purchase-module-tabs button{flex:0 0 158px;min-width:158px;scroll-snap-align:start;font-size:12px}.fiscal-tabs.purchase-module-tabs::-webkit-scrollbar{height:4px}.fiscal-tabs.purchase-module-tabs::-webkit-scrollbar-thumb{border-radius:999px;background:#aeb9c8}}
@media(prefers-reduced-motion:reduce){.fiscal-tabs.purchase-module-tabs button{transition:none}}
/* LAB-PDF-1: the preview embeds the exact generated PDF instead of a parallel HTML replica. */
.labor-settlement-pdf-preview{position:fixed;inset:0;z-index:14000;display:grid;place-items:center;padding:20px;background:rgba(6,24,39,.72);backdrop-filter:blur(8px)}
.labor-settlement-pdf-preview>section{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,96vw);height:min(920px,95vh);overflow:hidden;border:1px solid #d7e2ed;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(4,30,54,.28)}
.labor-settlement-pdf-preview header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid #dce6ef}
.labor-settlement-pdf-preview header span{display:block;margin-bottom:4px;color:#0d74a1;font-size:10px;font-weight:800;letter-spacing:.09em}
.labor-settlement-pdf-preview header h2{margin:0;color:#07264c;font-size:22px}
.labor-settlement-pdf-preview header p{margin:5px 0 0;color:#64748b;font-size:13px}
.labor-settlement-pdf-preview header button{width:38px;height:38px;border:1px solid #d7e2ed;border-radius:10px;background:#fff;color:#183b63;font-size:24px;line-height:1}
.labor-settlement-pdf-frame{min-height:0;padding:14px;background:#eaf0f5}
.labor-settlement-pdf-frame iframe{width:100%;height:100%;border:0;border-radius:10px;background:#4b5563}
.labor-settlement-pdf-preview footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #dce6ef;background:#fff}
.labor-settlement-pdf-preview footer button{min-height:40px;padding:0 16px;border:1px solid #cbd9e7;border-radius:10px;background:#fff;color:#092b55;font-weight:700}
.labor-settlement-pdf-preview footer .primary-button{border-color:#07264c;background:#07264c;color:#fff}
@media(max-width:767px){.labor-settlement-pdf-preview{padding:0}.labor-settlement-pdf-preview>section{width:100vw;height:100dvh;border:0;border-radius:0}.labor-settlement-pdf-preview header{padding:14px}.labor-settlement-pdf-preview header h2{font-size:18px}.labor-settlement-pdf-preview header p{display:none}.labor-settlement-pdf-frame{padding:6px}.labor-settlement-pdf-preview footer{padding:10px}.labor-settlement-pdf-preview footer button{padding:0 11px;font-size:12px}}
