/* EBR shared screen theme. Printed documents intentionally retain their own styles. */
@media screen {
html body.ebr-pro,html body.ebr-dark-login{--ui-bg:#0f172a;--ui-surface:#1e293b;--ui-border:#38475e;--ui-text:#f8fafc;--ui-muted:#a7b5c9;color-scheme:dark;background:var(--ui-bg)!important;color:var(--ui-text)!important;font-family:Inter,"Segoe UI",system-ui,sans-serif;line-height:1.5}
html body.ebr-pro *,html body.ebr-dark-login *{box-sizing:border-box}
html body.ebr-pro [hidden],html body.ebr-dark-login [hidden]{display:none!important}
html body.ebr-pro :is(.app-shell,.main-content,.content-wrap){background:var(--ui-bg)!important;min-width:0;max-width:100%}
html body.ebr-pro :is(.sidebar,.topbar,.app-footer){background:#111c2e!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}
html body.ebr-pro .sidebar{box-shadow:8px 0 32px #0002}
html body.ebr-pro .brand{min-height:96px!important;padding:16px!important}
html body.ebr-pro .brand-logo-wrap{width:84px!important;height:68px!important;padding:5px!important;border-radius:12px}
html body.ebr-pro .main-nav a{color:#bdc9da!important;border-radius:10px;margin:2px 10px}
html body.ebr-pro .main-nav a:hover{background:#243249!important;color:#fff!important}
html body.ebr-pro .main-nav a.active{color:#fff!important;background:#dc26261f!important;box-shadow:inset 3px 0 #ef4444;border-color:#dc26264d!important}
html body.ebr-pro :is(.nav-icon,.avatar){background:#2a384d!important;color:#f8fafc!important}
html body.ebr-pro :is(.card,.stat-card,.kpi-card,.executive-card,.operation-strip,.client-overview,.hr-balance-card,.table-wrap,.np-card,.filters,.client-filter-bar,.modal-content,.modal-card,.global-client-search-results,.client-mobile-actions){background:var(--ui-surface)!important;color:var(--ui-text)!important;border:1px solid var(--ui-border)!important;border-radius:16px;box-shadow:0 8px 24px #00000012}
html body.ebr-pro :is(.card-header,.card-body,.card-footer,.operation-strip>*,.detail-item,.client-overview-values>div){background:transparent!important;border-color:var(--ui-border)!important}
html body.ebr-pro :is(h1,h2,h3,h4,.stat-value,.kpi-value,.executive-value,.bar-value,.dash-cc-value,.detail-value,.ui-card-toggle){color:var(--ui-text)!important}
html body.ebr-pro :is(.muted,.text-muted,.subtitle,.eyebrow,.detail-label,.form-help,.help-text,.stat-label,.executive-label,.client-overview p,.client-overview-values span,.topbar small,.app-footer){color:var(--ui-muted)!important}
html body.ebr-pro a:not(.btn):not(.main-nav a){color:#a6c8ff}
html body.ebr-pro :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),select,textarea),html body.ebr-dark-login :is(input,select){background:#111c2e!important;color:#f8fafc!important;border:1px solid #52627a!important;border-radius:10px;min-height:44px;max-width:100%;font:inherit}
html body.ebr-pro input::placeholder,html body.ebr-dark-login input::placeholder{color:#a7b5c9;opacity:1}
html body.ebr-pro :is(button,a,input,select,textarea,summary):focus-visible,html body.ebr-dark-login :is(button,a,input,select):focus-visible{outline:3px solid #60a5fa!important;outline-offset:3px}
html body.ebr-pro :is(.btn,.menu-button,.sidebar-close,.ui-section-nav button){background:#28384f!important;color:#f8fafc!important;border:1px solid #52627a!important;border-radius:10px;box-shadow:none;min-height:40px;line-height:1.35}
html body.ebr-pro .btn:is(.btn-primary,.btn-payment),html body.ebr-dark-login .btn-primary{background:#dc2626!important;color:#fff!important;border-color:#ef4444!important}
html body.ebr-pro :is(.btn:hover,.ui-section-nav button:hover){filter:brightness(1.15)}
html body.ebr-pro .btn:is(.btn-danger,.btn-soft-danger){background:#ef444414!important;color:#fecaca!important;border-color:#a44850!important}
html body.ebr-pro .btn:is(.btn-call,.btn-whatsapp){background:#10b98114!important;color:#a7f3d0!important;border-color:#38836c!important}
html body.ebr-pro .ui-section-nav button[aria-pressed=true]{background:#dc2626!important;color:white!important;border-color:#ef4444!important}
html body.ebr-pro :is(.badge,.pill,.status-badge){border-radius:99px;padding:4px 10px;font-size:12px;line-height:1.4}
html body.ebr-pro :is(.badge-success,.badge-active,.status-active,.pill-success){background:#064e3b!important;color:#a7f3d0!important}
html body.ebr-pro :is(.badge-warning,.status-pending,.pill-warning){background:#713f12!important;color:#fde68a!important}
html body.ebr-pro :is(.badge-danger,.status-overdue,.pill-danger){background:#7f1d1d!important;color:#fecaca!important}
html body.ebr-pro :is(.alert,.ui-help,.ui-net-preview){background:#172f49!important;color:#dbeafe!important;border:1px solid #436385!important}
html body.ebr-pro :is(table,thead,tbody,tr,td,th){border-color:var(--ui-border)!important}
html body.ebr-pro :is(table,tbody,tr,td){background:transparent!important;color:var(--ui-text)!important}
html body.ebr-pro th{background:#172236!important;color:#bfcde0!important;font-size:12px;letter-spacing:.04em}
html body.ebr-pro tbody tr:hover{background:#ffffff05!important}
html body.ebr-pro td::before{color:var(--ui-muted)!important}
html body.ebr-pro :is(.executive-grid,.dashboard-pro-grid,.dashboard-grid,.dash-cc-grid)>*{min-width:0}
html body.ebr-pro .executive-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px}
html body.ebr-pro .executive-grid>*{background:var(--ui-surface)!important;color:var(--ui-text)!important;border:1px solid var(--ui-border)!important;border-radius:16px;padding:20px;box-shadow:none}
html body.ebr-pro .executive-grid>:first-child{border-top:3px solid #ef4444!important}
html body.ebr-pro .executive-card strong{color:#f8fafc!important}
html body.ebr-pro .executive-card.success strong{color:#6ee7b7!important}
html body.ebr-pro .executive-card.danger strong{color:#fca5a5!important}
html body.ebr-pro .executive-card :is(span,small){color:#bfcde0!important}
html body.ebr-pro .executive-card::after{background:#ffffff04!important}
html body.ebr-pro .command-hero{background:radial-gradient(ellipse at top right,#7f1d1d66,transparent 65%),#111c2e!important;border:1px solid var(--ui-border);border-radius:18px}
html body.ebr-pro .command-hero p,html body.ebr-pro :is(.dash-cc-period,.dash-cc-legend){color:#bfcde0!important}
html body.ebr-pro .btn.btn-command{background:#dc2626!important;border-color:#ef4444!important;color:white!important}
html body.ebr-pro :is(.bar-track,.progress-track,.rank-track){background:#334155!important}
html body.ebr-pro :is(.bar-fill,.dash-cc-current){background:linear-gradient(0deg,#b91c1c,#ef4444)!important;border-radius:6px 6px 0 0}
html body.ebr-pro .dash-cc-prev{background:linear-gradient(0deg,#2563eb,#93c5fd)!important;border-radius:6px 6px 0 0}
html body.ebr-pro .dash-cc-chart{border-color:var(--ui-border)!important;max-width:100%}
html body.ebr-pro .dash-cc-col{min-width:0!important;flex:1}
html body.ebr-pro .bar-chart-pro{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important;min-width:0}
html body.ebr-pro .bar-column{min-width:0!important;width:auto!important}
html body.ebr-pro .bar-column>span{color:#bdc9da!important}
html body.ebr-pro .infortecs-credit{color:#fca5a5}
html body.ebr-pro .ui-client-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:14px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:16px}
html body.ebr-pro .ui-client-toolbar .page-actions{flex:1;margin:0!important;min-width:0}
html body.ebr-pro .ui-client-toolbar .client-filter-bar{margin:0!important;border:0!important;box-shadow:none;padding:0}
html body.ebr-pro .ui-toolbar-search{flex:1 1 280px;margin:0!important;min-width:0}
html body.ebr-pro .ui-toolbar-search input{width:100%}
html body.ebr-pro[data-page=clients] .table-actions.ui-client-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center;width:100%}
html body.ebr-pro[data-page=clients] .table-actions.ui-client-actions>a{width:auto!important;flex:1 1 70px!important;min-height:44px!important;font-size:13px!important;padding:10px!important;white-space:normal!important}
html body.ebr-pro[data-page=clients] .ui-client-actions>.ui-more{flex:0 0 auto;min-width:44px}
html body.ebr-pro[data-page=clients] .ui-more>summary{display:flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;background:#28384f;color:#f8fafc;border:1px solid #52627a;border-radius:10px;min-height:42px;min-width:44px;font-size:24px}
html body.ebr-pro .ui-more>summary::-webkit-details-marker{display:none}
html body.ebr-pro[data-page=clients] .ui-client-actions>.ui-more[open]{flex:1 0 100%;width:100%}
html body.ebr-pro[data-page=clients] .ui-more[open]>summary{width:44px;margin-left:auto;margin-bottom:8px}
html body.ebr-pro[data-page=clients] .ui-more-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;background:#111c2e;border:1px solid #52627a;border-radius:12px;white-space:normal}
html body.ebr-pro[data-page=clients] .ui-more-items>*{min-width:0!important;width:100%!important;margin:0!important}
html body.ebr-pro[data-page=clients] .ui-more-items :is(.btn,button){width:100%!important;min-height:42px!important;font-size:13px!important;white-space:normal!important;justify-content:center}
html body.ebr-dark-login .login-page{min-height:100vh;background:radial-gradient(ellipse at 90% 10%,#7f1d1d33,transparent 50%),#0f172a!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
html body.ebr-dark-login :is(.login-panel,.login-side){background:transparent!important;color:#f8fafc!important;min-width:0}
html body.ebr-dark-login .login-card{width:100%;max-width:460px;padding:32px;background:#1e293bee!important;border:1px solid #52627a;border-top:3px solid #dc2626;border-radius:22px;box-shadow:0 24px 70px #0005}
html body.ebr-dark-login :is(h1,h2,label){color:#f8fafc!important}
html body.ebr-dark-login :is(p,.login-side-badge){color:#a7b5c9!important}
html body.ebr-dark-login .login-logo{max-width:140px!important;max-height:100px!important;object-fit:contain;background:white;padding:8px;border-radius:12px}
html body.ebr-dark-login .login-form{display:grid;gap:16px}
html body.ebr-dark-login .login-form label{display:block}
html body.ebr-dark-login .login-form input:not([type=checkbox]){display:block;width:100%}
html body.ebr-dark-login .login-form button[type=submit]{background:#dc2626!important;color:white!important;border:1px solid #ef4444;border-radius:10px;min-height:48px}
@media(max-width:1100px){html body.ebr-pro .executive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:767px){
html body.ebr-pro .executive-grid{gap:10px}
html body.ebr-pro .executive-grid>*{padding:14px}
html body.ebr-pro :is(.dash-cc-grid,.dashboard-pro-grid){grid-template-columns:minmax(0,1fr)!important}
html body.ebr-pro .ui-card-table tbody tr{background:#1e293b!important;border:1px solid #52627a!important;box-shadow:none!important}
html body.ebr-pro .dash-cc-chart{gap:6px!important}
html body.ebr-pro .dash-cc-barbox{width:clamp(20px,7vw,38px)!important}
html body.ebr-pro .bar-value{font-size:12px!important}
html body.ebr-pro .bar-column>span{font-size:10px!important}
html body.ebr-pro .ui-client-toolbar{padding:10px}
html body.ebr-pro .ui-client-toolbar>*{width:100%}
html body.ebr-dark-login .login-page{display:block!important}
html body.ebr-dark-login .login-panel{padding:24px 16px!important;min-height:100vh}
html body.ebr-dark-login .login-card{padding:24px 18px}
html body.ebr-dark-login .login-side{display:none!important}
}
@media(max-width:380px){html body.ebr-pro .executive-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(prefers-reduced-motion:reduce){html body.ebr-pro *,html body.ebr-dark-login *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
}
@media print{.ui-client-toolbar,.ui-more{display:none!important}}

/* 3.9.9.1: module surfaces and foregrounds must be updated together. */
@media screen {
html body.ebr-pro :is(label,legend,.form-group label,.collector-filter-row label,.permission-group-title,.specific-group-title,.role-combo){color:#e2e8f0!important}
html body.ebr-pro :is(.code-chip,code,kbd,.cc-mode,.iw-badge){background:#334155!important;color:#f8fafc!important;border-color:#64748b!important}
html body.ebr-pro :is(.cc-card,.cc-summary>div,.collector-kpi,.collector-filter-card,.collection-client,.visit-modal,.collector-empty,.client-details-grid>div,.finance-kpis article,.account-kpis>div,.payment-total,.role-choice,.general-sector-card,.specific-access-box summary,.role-permission-summary summary,.permission-group-title,.iw-card,.iw-kpi,.iw-item-editor,.sp-site-card,.ebr-origin-form,.print-confirm-panel){background:#1e293b!important;color:#f8fafc!important;border-color:#475569!important}
html body.ebr-pro .content-wrap :is(section,article,div)[style*="background:#fff"],
html body.ebr-pro .content-wrap :is(section,article,div)[style*="background: #fff"],
html body.ebr-pro .content-wrap :is(section,article,div)[style*="background:white"],
html body.ebr-pro .content-wrap :is(section,article,div)[style*="background: white"],
html body.ebr-pro .content-wrap :is(section,article,div)[style*="background:#f8"],
html body.ebr-pro .content-wrap :is(section,article,div)[style*="background:#f9"]{background:#1e293b!important;color:#f8fafc!important;border-color:#475569!important}
html body.ebr-pro :is(.collector-sticky-tabs,.collector-search-sticky,.collector-mobile-nav){background:#0f172a!important;color:#f8fafc!important}
html body.ebr-pro :is(.cc-tabs,.collector-tabs,.collector-day-pills,.iw-tabs) a{background:#28384f!important;color:#e2e8f0!important;border:1px solid #52627a!important}
html body.ebr-pro :is(.cc-tabs,.collector-tabs,.collector-day-pills,.iw-tabs) a.active{background:#b91c1c!important;color:#fff!important;border-color:#ef4444!important}
html body.ebr-pro :is(.collector-kpi strong,.finance-kpis strong,.account-kpis strong,.client-more summary,.cc-sector-label,.cc-vbar-value,.cc-month-value,.role-permission-summary summary strong,.payment-total span){color:#f8fafc!important}
html body.ebr-pro :is(.collector-kpi span,.collection-client .meta,.client-summary,.client-details-grid b,.cc-legend,.cc-vbar-period,.cc-month-label,.finance-kpis span,.finance-kpis small,.account-kpis span,.payment-summary-grid span,.iw-note,.iw-kpi small,.role-choice small,.general-sector-card small,.permission-row small,.specific-access-box summary span){color:#bac8db!important}
html body.ebr-pro :is(.cc-good,.iw-stock-ok,.text-success,.amount-success,.payment-total strong){color:#6ee7b7!important}
html body.ebr-pro :is(.cc-bad,.iw-stock-low,.sp-site-total,.text-danger){color:#fca5a5!important}
html body.ebr-pro :is(.cc-warn,.text-warning){color:#fde68a!important}
html body.ebr-pro [style*="color:#14804a"],html body.ebr-pro [style*="color:#12824a"],html body.ebr-pro [style*="color:#0d6f4b"],html body.ebr-pro [style*="color: #0d6f4b"]{color:#6ee7b7!important}
html body.ebr-pro [style*="color:#b42318"],html body.ebr-pro [style*="color:#b91c1c"]{color:#fca5a5!important}
html body.ebr-pro :is(.role-choice,.general-sector-card):has(input:checked){background:#173b4b!important;border-color:#5eead4!important}
html body.ebr-pro .permission-pill{background:#064e3b!important;color:#a7f3d0!important}
html body.ebr-pro :is(.receipt-lock-box,.next-visit,.cc-closed){background:#422f15!important;color:#fde68a!important;border-color:#a16207!important}
html body.ebr-pro .receipt-lock-box.locked{background:#064e3b!important;color:#a7f3d0!important}
html body.ebr-pro .ui-client-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}
html body.ebr-pro .ui-client-toolbar .ui-toolbar-search{width:100%!important;min-width:0!important;max-width:100%!important}
html body.ebr-pro .ui-client-toolbar .page-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;width:100%!important;min-width:0!important;gap:12px!important}
html body.ebr-pro .ui-client-toolbar .page-actions>.left{flex:1 1 180px!important;width:auto!important;min-width:0!important}
html body.ebr-pro .ui-client-toolbar .page-actions>.right{display:flex!important;flex-wrap:wrap!important;flex:1 1 400px!important;width:auto!important;min-width:0!important;gap:8px!important}
html body.ebr-pro .ui-client-toolbar .page-actions>.right>.btn{flex:1 1 140px!important;width:auto!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;height:auto!important}
html body.ebr-pro .ui-client-toolbar .client-filter-bar{display:flex!important;flex-wrap:wrap!important;gap:8px!important;min-width:0!important}
@media(max-width:991px){
html body.ebr-pro .ui-client-toolbar .page-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
html body.ebr-pro .ui-client-toolbar .page-actions>.left{width:100%!important}
html body.ebr-pro .ui-client-toolbar .page-actions>.right{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
html body.ebr-pro .ui-client-toolbar .page-actions>.right>.btn{width:100%!important;min-height:48px!important;padding:12px 8px!important;font-size:13px!important}
html body.ebr-pro .ui-client-toolbar .client-filter-bar button{width:100%!important}
}
@media(max-width:359px){html body.ebr-pro .ui-client-toolbar .page-actions>.right{grid-template-columns:minmax(0,1fr)!important}}
}

/* 3.9.9.2: actual wizard, client names and collector detail disclosures. */
@media screen {
html body.ebr-pro .clients-fit-table td[data-label="Cliente"] strong,
html body.ebr-pro .clients-fit-table td:nth-child(2)>strong,
html body.ebr-pro :is(.collection-client .amount,.collection-client .mobile-amount,.collection-client .desktop-amount){color:#f8fafc!important}
html body.ebr-pro .client-more>summary,
html body.ebr-pro .client-more[open]>summary{background:#28384f!important;color:#e2e8f0!important;border-color:#64748b!important}
html body.ebr-pro :is(.form-section,.is-wizard .form-section,.plan-group,.plan-group.special,.plan-quick-btn,.install-summary>div,.wizard-actions,.location-coordinates,.verification-fields,.photo-upload-status,.capture-audit){background:#1e293b!important;color:#f8fafc!important;border-color:#475569!important}
html body.ebr-pro :is(.form-section-title,.install-subsection-title,.notes-subtitle,.install-summary strong,.plan-quick-btn strong,.plan-quick-btn span){color:#f8fafc!important}
html body.ebr-pro :is(.step-intro,.install-summary span,.install-summary small,.form-section .help-text,.gps-accuracy){color:#bac8db!important}
html body.ebr-pro .plan-quick-btn{box-shadow:none!important}
html body.ebr-pro .plan-quick-btn.selected{background:#3d202c!important;border:2px solid #fb7185!important;box-shadow:0 0 0 1px #fb7185!important}
html body.ebr-pro .wizard-step-chip.active{background:#b91c1c!important;color:#fff!important}
html body.ebr-pro .step-kicker{background:#1e3a5f!important;color:#bfdbfe!important}
html body.ebr-pro :is(.plan-quick-btn .price,.plan-quick-btn b){color:#fda4af!important}
html body.ebr-pro :is(.service-auto-card .auto-value,.new-location-photo-preview,.existing-location-photo){background:#1e293b!important;color:#e2e8f0!important;border-color:#475569!important}
html body.ebr-pro :is(.service-auto-card .auto-value.success,.photo-upload-status.ready){background:#064e3b!important;color:#a7f3d0!important}
html body.ebr-pro .photo-upload-status.error{background:#7f1d1d!important;color:#fecaca!important}
}

/* 3.9.9.3: ONU, GPS and network project component family. Screen only. */
@media screen {
html body.ebr-pro :is(.np-map-toolbar,.np-draw-hud,.np-item,.np-route-ready){background:#1e293b!important;color:#f8fafc!important;border-color:#475569!important}
html body.ebr-pro :is(.np-icon-btn,.np-draw-hud button){background:#28384f!important;color:#f8fafc!important;border-color:#64748b!important}
html body.ebr-pro .np-route-ready.ready{background:#064e3b!important;color:#a7f3d0!important}
html body.ebr-pro :is(.np-muted,.np-project-card>p,.np-quote-header p,.np-quote-sync span,.np-create-quote p){color:#bac8db!important}
html body.ebr-pro :is(.inventory-inline-help,.location-capture-card,.location-save-bar,.location-verification-summary>div,.client-photo-evidence,.tech-check,.assign-tech-panel,.np-headline,.np-toolbar,.np-quote-sync,.np-project-card,.np-mini-metrics span,.np-quote-totals div,.np-metrics div,.metric-card,.np-modal-card,.np-table-wrap,.np-quote-doc,.np-map-legend,.route-status,.quick-help,.fiber-builder-title,.fiber-preview-card,.np-create-quote){background:#1e293b!important;color:#f8fafc!important;border-color:#475569!important;box-shadow:none!important}
html body.ebr-pro :is(.inventory-inline-help span,.inventory-inline-help strong,.tech-check span,.np-project-card h3,.np-project-card-top strong,.np-mini-metrics b,.np-metrics strong,.metric-card strong,.np-quote-totals strong,.fiber-builder-title strong){color:#f8fafc!important}
html body.ebr-pro :is(.np-headline p,.np-toolbar p,.np-card-foot,.np-card-foot span,.np-mini-metrics span,.np-breadcrumb span,.np-modal-head span,.np-table td small,.np-metrics span,.np-quote-totals span,.metric-card span,.fiber-builder-title span,.quick-help,.route-status,.location-verification-summary span){color:#bac8db!important}
html body.ebr-pro .tech-check:has(input:checked){background:#173b4b!important;color:#ccfbf1!important;border-color:#5eead4!important;box-shadow:inset 3px 0 #5eead4!important}
html body.ebr-pro .tech-check input{accent-color:#0d9488}
html body.ebr-pro .np-modal-head button,html body.ebr-pro .strand-picker button{background:#28384f!important;color:#f8fafc!important;border-color:#64748b!important}
html body.ebr-pro .np-quote-totals .grand{background:#102b3a!important;color:#f8fafc!important;border-color:#5eead4!important}
html body.ebr-pro .np-cost-col{color:#fda4af!important}
html body.ebr-pro .gps-status.good{color:#6ee7b7!important}
html body.ebr-pro .gps-status.bad{color:#fca5a5!important}
html body.ebr-pro .gps-status.warn{color:#fde68a!important}
html body.ebr-pro .gps-status.waiting{color:#93c5fd!important}
html body.ebr-pro :is(.np-status,.np-status-draft){background:#312e81!important;color:#e0e7ff!important}
html body.ebr-pro .np-status-review{background:#78350f!important;color:#fde68a!important}
html body.ebr-pro :is(.np-status-approved,.np-status-completed){background:#064e3b!important;color:#a7f3d0!important}
html body.ebr-pro .np-status-execution{background:#1e3a8a!important;color:#dbeafe!important}
html body.ebr-pro .np-status-cancelled{background:#7f1d1d!important;color:#fecaca!important}
@media(max-width:600px){
html body.ebr-pro .np-project-grid{grid-template-columns:minmax(0,1fr)!important}
html body.ebr-pro .np-headline,html body.ebr-pro .np-project-card,html body.ebr-pro .tech-check{min-width:0;overflow-wrap:anywhere}
}
}

/* 3.9.9.4: white warehouse document preview needs its own dark ink.
   Deliberately exclude .iw-actions controls and standalone print documents. */
@media screen {
html body.ebr-pro section.iw-doc{background:#fff!important;color:#172033!important;border-color:#cbd5e1!important}
html body.ebr-pro section.iw-doc :is(.iw-doc-title,.iw-doc-title h2,.iw-doc-title span,.iw-doc-title strong,.iw-doc-lines,.iw-doc-row,.iw-doc-row span,.iw-doc-row strong,.iw-total),
html body.ebr-pro section.iw-doc>p,
html body.ebr-pro section.iw-doc>p :is(b,strong,span){color:#172033!important}
html body.ebr-pro section.iw-doc .muted{color:#475569!important}
html body.ebr-pro section.iw-doc .iw-doc-row{border-color:#cbd5e1!important}
html body.ebr-pro section.iw-doc .iw-total{font-weight:800}
}

/* 3.9.9.5 Shared semantic contrast rules.
   Do not redefine --black globally: legacy CSS also uses it as a background.
   Do not force every descendant white: document/map surfaces must stay legible. */
@media screen {
html body.ebr-pro{--ebr-ink:#f8fafc;--ebr-secondary:#bac8db;--ebr-panel:#1e293b;--ebr-raised:#28384f;--ebr-line:#52627a;--ink:#f8fafc;--ink-2:#e2e8f0;--surface:#1e293b;--canvas:#0f172a;--line:#52627a;--soft:#28384f}
html body.ebr-pro :is(.network-search,.network-layers){background:var(--ebr-panel)!important;color:var(--ebr-ink)!important;border-color:var(--ebr-line)!important}
html body.ebr-pro :is(.client-lookup-option-main span,.client-lookup-option-side small,.network-search-empty,.network-search>span,.network-search>button,.field-help){color:var(--ebr-secondary)!important}
html body.ebr-pro :is(.detail-item strong,.detail-item b,.map-summary strong,.equipment-readonly strong,.client-selected-card strong,.client-lookup-option,.client-lookup-option-side,.global-result-main,.location-card strong,.form-section strong,.network-stats b,.network-search-results b,.network-sheet-head strong){color:var(--ebr-ink)!important}
html body.ebr-pro :is(.detail-item>span,.progress-value,.stat-foot,.page-intro,.client-selected-context,.client-lookup-empty,.network-stats span,.network-search-results small,.location-hierarchy-note,.summary-box small,.kpi-pill span){color:var(--ebr-secondary)!important}
html body.ebr-pro :is(.empty-state,.import-drop,.summary-box,.kpi-pill,.map-summary,.equipment-readonly,.client-lookup-results,.client-selected-card,.global-search-results,.ticket-timeline-item,.network-stats>div,.network-search-results,.network-sheet-card,.network-tabs,.location-card,.quick-sheet,.collector-zone-option,.gps-live-status,.location-hierarchy-note,.install-card,.requirement){background:var(--ebr-panel)!important;color:var(--ebr-ink)!important;border-color:var(--ebr-line)!important}
html body.ebr-pro :is(.client-lookup-option,.network-search-results button){background:var(--ebr-panel)!important;color:var(--ebr-ink)!important}
html body.ebr-pro :is(.client-lookup-option:hover,.client-lookup-option.is-active,.global-search-result:hover,.global-search-result.is-active,.network-search-results button:hover){background:#324860!important;color:var(--ebr-ink)!important}
html body.ebr-pro :is(.pagination a,.pagination span,.filter-chip,.global-result-plan,.global-result-action,.client-lookup-clear,.global-search-clear,.sheet-close,.network-layers-head button,.network-map-quickbar button,.network-draw-actions button,.network-sheet-head>button,.network-tabs button){background:var(--ebr-raised)!important;color:var(--ebr-ink)!important;border-color:var(--ebr-line)!important}
html body.ebr-pro :is(.pagination a.active,.pagination span.active,.filter-chip.active,.network-tabs button.active){background:#b91c1c!important;color:white!important;border-color:#ef4444!important}
html body.ebr-pro :is(.location-card.ready,.gps-live-status.good,.system-status){background:#064e3b!important;color:#a7f3d0!important;border-color:#38836c!important}
html body.ebr-pro .client-lookup-empty.is-error{background:#7f1d1d!important;color:#fecaca!important}
html body.ebr-pro :is(.data-flag,.status-gray){background:#334155!important;color:#e2e8f0!important}
html body.ebr-pro :is(.data-flag.ok,.badge.location-ok,.badge.habitual,.iw-badge.converted){background:#064e3b!important;color:#a7f3d0!important}
html body.ebr-pro :is(.data-flag.pending,.badge.location-missing,.badge.reminder,.iw-badge.open){background:#713f12!important;color:#fde68a!important}
html body.ebr-pro .badge.overdue-badge{background:#7f1d1d!important;color:#fecaca!important}
html body.ebr-pro .iw-danger-box{background:#3d202c!important;color:#fecaca!important;border-color:#f87171!important}
html body.ebr-pro .global-result-action:is(.is-call,.is-whatsapp,.is-payment){background:#064e3b!important;color:#a7f3d0!important}
html body.ebr-pro .global-result-action.is-ticket{background:#7f1d1d!important;color:#fecaca!important}
/* White map popups remain a separate readable surface; tiles and fiber colors untouched. */
html body.ebr-pro .leaflet-popup-content-wrapper,
html body.ebr-pro .leaflet-popup-tip{background:#fff!important;color:#172033!important}
html body.ebr-pro .leaflet-popup-content,
html body.ebr-pro .leaflet-popup-content :is(h1,h2,h3,p,strong,b,label){color:#172033!important}
html body.ebr-pro .leaflet-popup-content a:not(.btn):not(.map-popup-actions a){color:#07549a!important}
html body.ebr-pro .leaflet-popup-content .map-popup-actions a{color:#fff!important}
html body.ebr-pro .leaflet-popup-content .map-popup-actions a:nth-child(3){color:#172033!important}
html body.ebr-pro .leaflet-container .leaflet-control-attribution{background:#fff!important;color:#172033!important}
html body.ebr-pro .leaflet-container .leaflet-control-attribution a{color:#07549a!important}
/* Semantic detail labels and values in all modules, not just client_view. */
html body.ebr-pro .detail-item{border-bottom:1px solid #475569!important}
}
