/* ZeroniX Agency OS v1.7 — production visual system and regression fixes */
:root{
  --zx-bg:#08101d;--zx-bg-2:#0d1727;--zx-surface:#ffffff;--zx-surface-2:#f5f8fc;
  --zx-text:#152238;--zx-muted:#56657a;--zx-border:#d9e2ee;--zx-border-strong:#b9c7d9;
  --zx-brand:#2463eb;--zx-brand-2:#16a5b8;--zx-brand-dark:#1746b5;
  --zx-success:#157a56;--zx-warning:#915d00;--zx-danger:#b42336;--zx-info:#2456a6;
  --zx-shadow:0 18px 55px rgba(18,35,63,.12);--zx-radius:20px;
  --zx-font:Inter,Manrope,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--zx-font);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg,video,canvas{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}
:focus-visible{outline:3px solid rgba(36,99,235,.55)!important;outline-offset:3px!important}
[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Public website — explicit readable colour system */
.public-site{background:var(--zx-bg);color:#eef4ff;overflow-x:hidden}.public-site main{min-width:0}.public-site h1,.public-site h2,.public-site h3,.public-site h4,.public-site strong{color:#fff}.public-site p,.public-site li,.public-site small{color:#c9d4e5}.public-site a{overflow-wrap:anywhere}.public-site .section-heading p,.public-site .hero-lead{color:#cbd7e9!important}.public-site .service-index-card,.public-site .contact-card,.public-site .planner-card,.public-site .planner-aside{color:var(--zx-text)!important}.public-site .service-index-card h2,.public-site .service-index-card h3,.public-site .contact-card h2,.public-site .contact-card h3,.public-site .planner-card h2,.public-site .planner-card h3,.public-site .planner-card legend,.public-site .planner-aside h2,.public-site .planner-aside h3{color:var(--zx-text)!important}.public-site .service-index-card p,.public-site .service-index-card li,.public-site .contact-card p,.public-site .contact-card small,.public-site .planner-card p,.public-site .planner-card small,.public-site .planner-aside p,.public-site .planner-aside small{color:var(--zx-muted)!important}
.public-site .field>span,.public-site label,.public-site .choice-card b{color:var(--zx-text)!important}.public-site input,.public-site textarea,.public-site select{width:100%;max-width:100%;min-width:0;color:var(--zx-text)!important;background:#fff!important;border:1px solid var(--zx-border-strong)!important}.public-site input::placeholder,.public-site textarea::placeholder{color:#7b899d!important}.public-site textarea{resize:vertical;min-height:110px}.public-site .form-grid>*{min-width:0}
.site-header{z-index:500}.primary-nav a{white-space:nowrap}.site-footer a,.site-footer p,.site-footer span{color:#cbd7e9}.footer-grid h2{color:#fff}
.hero h1,.page-hero h1{font-size:clamp(2.35rem,5.4vw,4.75rem)!important;line-height:1.02!important;letter-spacing:-.045em!important;text-wrap:balance}.page-hero.compact h1{font-size:clamp(2.2rem,4.8vw,4rem)!important}.hero p,.page-hero p{max-width:760px;line-height:1.72}.service-grid,.services-index-grid,.portfolio-grid,.contact-grid{align-items:stretch}.service-card,.service-index-card,.portfolio-card,.contact-card{min-width:0}.service-card h3,.service-card p{overflow-wrap:break-word}.services-index-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important}.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))!important}.contact-grid.enhanced-contact{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important}

/* Chatbot — six stable zones. Choices are always visible and independently scrollable. */
.chat-launcher{z-index:980!important;min-height:48px!important;padding:.65rem 1rem!important}.chat-panel{
  position:fixed!important;z-index:1000!important;right:18px!important;bottom:18px!important;left:auto!important;top:auto!important;
  display:grid!important;grid-template-rows:68px auto minmax(150px,1fr) auto 58px 34px!important;
  width:min(430px,calc(100vw - 24px))!important;height:min(660px,calc(100dvh - 36px))!important;
  min-height:min(510px,calc(100dvh - 24px))!important;max-height:calc(100dvh - 24px)!important;
  overflow:hidden!important;border-radius:22px!important;border:1px solid #cad5e3!important;
  background:#f6f8fc!important;color:var(--zx-text)!important;box-shadow:0 28px 90px rgba(6,16,32,.38)!important;
  isolation:isolate!important;
}
.chat-panel[hidden]{display:none!important}.chat-header{height:auto!important;min-height:68px!important;padding:.72rem .8rem!important;background:linear-gradient(135deg,#153a75,#176f7d)!important;border-bottom:0!important;color:#fff!important}.chat-agent{display:flex!important;align-items:center!important;gap:.65rem!important;min-width:0!important}.chat-agent>div{min-width:0!important}.chat-agent strong{display:block!important;color:#fff!important;font-size:.93rem!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.chat-agent small{display:block!important;color:#dcecff!important;font-size:.68rem!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.chat-avatar{width:38px!important;height:38px!important;flex:0 0 38px!important;border-radius:13px!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.16)!important;color:#fff!important;font-weight:800!important;background-size:cover!important;background-position:center!important}.chat-avatar.has-image{font-size:0!important}.chat-header-actions{display:flex!important;gap:.35rem!important}.chat-header .icon-btn{width:34px!important;height:34px!important;min-width:34px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important}
.chat-reference{padding:.38rem .8rem!important;background:#eaf1fb!important;color:#35506f!important;border-bottom:1px solid #d4dfec!important;font-size:.72rem!important;line-height:1.25!important;overflow-wrap:anywhere!important}.chat-reference strong{color:#17395f!important}
.chat-messages{height:auto!important;min-height:0!important;padding:.8rem!important;overflow-y:auto!important;overflow-x:hidden!important;background:#f3f6fb!important;overscroll-behavior:contain!important;scrollbar-gutter:stable!important;display:flex!important;flex-direction:column!important;gap:.55rem!important}.chat-row{display:flex!important;align-items:flex-end!important;gap:.42rem!important;min-width:0!important}.chat-row.user{justify-content:flex-end!important}.chat-row>div{max-width:82%!important;min-width:0!important}.chat-message{width:auto!important;min-width:0!important;max-width:100%!important;padding:.63rem .76rem!important;border-radius:14px!important;font-size:.84rem!important;line-height:1.43!important;overflow-wrap:anywhere!important;word-break:normal!important;white-space:pre-wrap!important}.chat-message.bot{color:#203049!important;background:#fff!important;border:1px solid #dce5ef!important}.chat-message.user{color:#fff!important;background:linear-gradient(135deg,#245fdd,#168da2)!important}.chat-message.team{color:#17324f!important;background:#e5f4ff!important;border:1px solid #b8daef!important}.message-sender{display:block!important;color:#486a89!important;font-size:.66rem!important;font-weight:700!important;margin:0 0 .2rem .15rem!important}.message-avatar{width:28px!important;height:28px!important;flex:0 0 28px!important;border-radius:50%!important;object-fit:cover!important;display:grid!important;place-items:center!important;background:#255fcf!important;color:#fff!important;font-size:.72rem!important;font-weight:800!important}
.chat-choices{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.45rem!important;align-content:start!important;min-height:0!important;max-height:190px!important;padding:.58rem .68rem!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scrollbar-gutter:stable!important;background:#fff!important;border-top:1px solid #dce5ef!important;border-bottom:1px solid #dce5ef!important}.chat-choices:empty{display:none!important}.chat-choice{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-width:0!important;min-height:42px!important;max-width:none!important;padding:.55rem .62rem!important;border-radius:11px!important;border:1px solid #cbd8e7!important;background:#f6f9fd!important;color:#18304d!important;font-size:.75rem!important;line-height:1.25!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important;transition:background .15s ease,border-color .15s ease,transform .15s ease!important}.chat-choice:hover,.chat-choice:focus-visible{background:#eaf2ff!important;border-color:#6c9ee9!important;transform:translateY(-1px)!important}
.chat-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:.45rem!important;min-height:58px!important;padding:.55rem .65rem!important;background:#fff!important;border-top:0!important}.chat-form input{width:100%!important;height:42px!important;min-height:42px!important;max-height:42px!important;padding:.55rem .7rem!important;border:1px solid #bdcadb!important;border-radius:11px!important;background:#f8fafc!important;color:#16283f!important;font-size:.82rem!important}.chat-form .btn{height:42px!important;min-height:42px!important;padding:.5rem .8rem!important;border-radius:11px!important}.chat-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.6rem!important;min-height:34px!important;padding:.3rem .72rem!important;background:#edf3fa!important;color:#64748b!important;border-top:1px solid #dbe4ee!important;font-size:.67rem!important}.chat-human-link{color:#205bb7!important;font-weight:750!important}.chat-panel.human-active{grid-template-rows:68px auto minmax(180px,1fr) 58px 34px!important}.chat-panel.human-active .chat-choices{display:none!important}
.chat-panel .chat-messages::-webkit-scrollbar,.chat-panel .chat-choices::-webkit-scrollbar{width:9px}.chat-panel .chat-messages::-webkit-scrollbar-thumb,.chat-panel .chat-choices::-webkit-scrollbar-thumb{background:#9eb0c5;border:2px solid transparent;border-radius:999px;background-clip:padding-box}

/* Dashboard / client portal — one consistent, high-contrast application shell */
.dashboard-body,.client-body{background:#edf2f8!important;color:var(--zx-text)!important;overflow-x:hidden!important}.dashboard-body *,.client-body *{min-width:0}.dashboard-shell{display:grid!important;grid-template-columns:260px minmax(0,1fr)!important;min-height:100dvh!important;width:100%!important}.dashboard-sidebar{position:sticky!important;inset:0 auto auto 0!important;width:auto!important;height:100dvh!important;padding:1rem .8rem!important;background:#0f1c2f!important;border-right:1px solid rgba(255,255,255,.09)!important;overflow-y:auto!important}.dashboard-main{width:100%!important;min-width:0!important;margin:0!important;padding:0!important}.dashboard-topbar{position:sticky!important;top:0!important;z-index:90!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important;min-height:72px!important;height:auto!important;padding:.75rem clamp(1rem,2vw,1.65rem)!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--zx-border)!important;backdrop-filter:blur(15px)!important}.dashboard-content{width:100%!important;max-width:1680px!important;margin:0 auto!important;padding:clamp(1rem,2vw,1.75rem)!important;overflow-x:hidden!important}.dashboard-sidebar .brand span,.dashboard-sidebar .brand span span,.sidebar-user strong{color:#fff!important}.sidebar-user small{color:#b7c6dc!important}.dashboard-nav a{color:#cbd7e8!important}.dashboard-nav a:hover,.dashboard-nav a.active{color:#fff!important;background:rgba(73,124,230,.2)!important}.dashboard-title h1,.client-title h1,.panel h1,.panel h2,.panel h3,.detail-card h2,.detail-card h3,.manager-card strong,.team-card strong{color:var(--zx-text)!important}.dashboard-title p,.client-title p,.panel p,.panel small,.detail-card p,.detail-card small,.manager-card small,.team-card p,.team-card small{color:var(--zx-muted)!important}.dashboard-title{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:1rem!important}.dashboard-title h1{font-size:clamp(1.75rem,3vw,2.5rem)!important;line-height:1.1!important;letter-spacing:-.03em!important}.panel,.detail-card,.manager-card,.team-card,.kpi-card,.action-centre,.payment-summary-card,.document-client-card,.requirement-card{background:#fff!important;color:var(--zx-text)!important;border:1px solid var(--zx-border)!important;border-radius:var(--zx-radius)!important;box-shadow:0 9px 28px rgba(32,55,86,.06)!important;overflow:hidden!important}.panel-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.8rem!important;padding:1rem 1.15rem!important;background:#f8fafc!important;border-bottom:1px solid var(--zx-border)!important}.panel-body{padding:1.1rem!important}.dashboard-grid,.detail-grid,.kpi-grid,.form-grid,.action-centre,.settings-layout,.portfolio-manager-layout,.team-layout,.finance-layout{min-width:0!important}.dashboard-grid>* ,.detail-grid>* ,.kpi-grid>* ,.form-grid>* ,.action-centre>* ,.settings-layout>* ,.portfolio-manager-layout>* ,.team-layout>* ,.finance-layout>*{min-width:0!important}.kpi-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:1rem!important}.dashboard-grid,.detail-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))!important;gap:1rem!important}.field{display:grid!important;gap:.38rem!important;min-width:0!important}.field>span,.field label{color:#253750!important;font-weight:700!important;font-size:.78rem!important}.field small{color:#64748b!important}.field input,.field textarea,.field select{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;color:#17263b!important;background:#fff!important;border:1px solid #c4d0df!important;border-radius:11px!important;padding:.7rem .75rem!important;line-height:1.35!important}.field input,.field select{min-height:43px!important}.field textarea{min-height:92px!important;resize:vertical!important}.field input::placeholder,.field textarea::placeholder{color:#8390a2!important}.data-table{width:100%!important;color:var(--zx-text)!important}.data-table th{color:#344861!important;background:#f4f7fb!important}.data-table td{color:#26384f!important}.data-table small{color:#65758a!important}.table-wrap{max-width:100%!important;overflow:auto!important}.alert,.notification-item,.action-item,.health-row,.submitted-value,.vault-client-item,.hosting-recommendation{color:var(--zx-text)!important}.alert strong,.notification-item strong,.action-item strong,.health-row strong,.submitted-value strong,.vault-client-item strong{color:var(--zx-text)!important}.alert p,.alert small,.notification-item small,.action-item small,.health-row small,.submitted-value p,.vault-client-item small{color:var(--zx-muted)!important}.alert-success{background:#e8f7f0!important;border-color:#a9dbc6!important}.alert-warning{background:#fff5dc!important;border-color:#e5c77d!important}.alert-error{background:#ffe9ec!important;border-color:#efb3bd!important}.notification-drawer{background:#fff!important;color:var(--zx-text)!important;border:1px solid var(--zx-border)!important;box-shadow:var(--zx-shadow)!important}.notification-item.unread{background:#eaf2ff!important;border-left:4px solid var(--zx-brand)!important}.nav-alert{background:#e43d55!important;color:#fff!important}.project-tabs{position:sticky!important;top:72px!important;z-index:45!important;display:flex!important;gap:.4rem!important;padding:.58rem!important;background:#fff!important;border:1px solid var(--zx-border)!important;border-radius:16px!important;overflow-x:auto!important;white-space:nowrap!important}.project-tabs a{flex:0 0 auto!important;color:#41556e!important}.project-tabs a.active{color:#fff!important;background:var(--zx-brand)!important}.message-bubble,.conversation-bubble{max-width:min(78%,680px)!important;width:max-content!important;min-width:42px!important;overflow-wrap:anywhere!important;word-break:normal!important}.payment-kpis,.payment-card-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:.8rem!important}.payment-kpis>* ,.payment-card-grid>*{min-width:0!important}.payment-kpis strong,.payment-card-grid strong{font-size:clamp(1.15rem,2.3vw,1.65rem)!important;overflow-wrap:anywhere!important}.proposal-shell{width:min(1040px,100%)!important;margin:1.5rem auto!important}.proposal-body{font-size:16px!important;line-height:1.68!important;color:#25364e!important}.proposal-body p,.proposal-body li,.proposal-body td,.proposal-body label,.proposal-body small{color:#35475f!important}.proposal-body h1,.proposal-body h2,.proposal-body h3,.proposal-body strong,.proposal-body th{color:#14243a!important}.proposal-meta{color:#25364e!important}.proposal-meta strong,.proposal-meta span{color:#25364e!important}

/* Website CMS usability */
.cms-layout{display:grid!important;grid-template-columns:240px minmax(0,1fr)!important;gap:1rem!important;align-items:start!important}.cms-pages{position:sticky!important;top:88px!important}.cms-page-link{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.5rem!important;padding:.65rem .7rem!important;color:#31455e!important;border-radius:10px!important}.cms-page-link.active{background:#e7efff!important;color:#184ca5!important}.manager-grid{display:grid!important;gap:.8rem!important}.manager-card>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.75rem!important;padding:1rem!important;cursor:pointer!important}.manager-card[open]>summary{border-bottom:1px solid var(--zx-border)!important}.style-control-grid{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:.7rem!important}.site-settings-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important;gap:1rem!important}.cms-tabs{display:flex!important;gap:.5rem!important;flex-wrap:wrap!important;margin-bottom:1rem!important}.cms-tabs a{padding:.55rem .8rem!important;border-radius:10px!important;background:#fff!important;border:1px solid var(--zx-border)!important;color:#354a64!important}.cms-tabs a.active{background:var(--zx-brand)!important;color:#fff!important}

/* Client portal */
.client-shell{display:grid!important;grid-template-columns:248px minmax(0,1fr)!important;min-height:100dvh!important}.client-sidebar{position:sticky!important;top:0!important;height:100dvh!important;overflow-y:auto!important;background:#0f1c2f!important;color:#fff!important}.client-sidebar a{color:#cbd7e8!important}.client-sidebar a.active,.client-sidebar a:hover{color:#fff!important;background:rgba(73,124,230,.2)!important}.client-main{min-width:0!important}.client-topbar{min-height:72px!important;height:auto!important;background:#fff!important;border-bottom:1px solid var(--zx-border)!important}.client-content{width:100%!important;max-width:1560px!important;margin:0 auto!important;padding:clamp(1rem,2vw,1.75rem)!important;overflow-x:hidden!important}.client-body .panel-body,.client-body .detail-card,.client-body .document-client-card,.client-body .requirement-card,.client-body .vault-client-item{color:var(--zx-text)!important}.client-body .panel-body p,.client-body .detail-card p,.client-body .document-client-card p,.client-body .requirement-card p{color:var(--zx-muted)!important}

@media(max-width:1050px){
  .dashboard-shell{grid-template-columns:220px minmax(0,1fr)!important}.client-shell{grid-template-columns:210px minmax(0,1fr)!important}.cms-layout{grid-template-columns:1fr!important}.cms-pages{position:static!important}.cms-pages .panel-body{display:flex!important;gap:.4rem!important;overflow-x:auto!important}.cms-page-link{flex:0 0 auto!important}
}
@media(max-width:760px){
  .dashboard-shell,.client-shell{display:block!important}.dashboard-sidebar,.client-sidebar{position:fixed!important;z-index:700!important;left:0!important;top:0!important;bottom:0!important;width:min(290px,88vw)!important;height:100dvh!important;transform:translateX(-105%)!important;transition:transform .22s ease!important;border-right:1px solid rgba(255,255,255,.12)!important}.dashboard-body.nav-open .dashboard-sidebar,.client-body.nav-open .client-sidebar{transform:none!important}.dashboard-topbar,.client-topbar{padding-left:3.4rem!important;min-height:64px!important}.dashboard-topbar>.toolbar,.client-topbar>.toolbar{gap:.35rem!important}.dashboard-topbar .live-clock,.dashboard-topbar .btn-secondary{display:none!important}.dashboard-content,.client-content{padding:.85rem!important;padding-bottom:1.2rem!important}.dashboard-title{grid-template-columns:1fr!important}.project-tabs{top:64px!important}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.chat-panel{inset:0!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important;grid-template-rows:64px auto minmax(120px,1fr) auto 56px 32px!important}.chat-header{min-height:64px!important}.chat-choices{grid-template-columns:1fr!important;max-height:184px!important}.chat-form{min-height:56px!important}.chat-form input{height:40px!important;min-height:40px!important;max-height:40px!important}.chat-form .btn{height:40px!important;min-height:40px!important}.chat-launcher{right:10px!important;bottom:10px!important}.primary-nav{max-height:calc(100dvh - var(--header));overflow-y:auto}.footer-grid{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .kpi-grid{grid-template-columns:1fr!important}.dashboard-topbar>div:first-child small{display:none!important}.notification-button{min-width:42px!important}.panel-header{align-items:flex-start!important;flex-direction:column!important}.toolbar{flex-wrap:wrap!important}.btn{white-space:normal!important;text-align:center!important}.chat-row>div{max-width:88%!important}.chat-choices{max-height:170px!important}.hero h1,.page-hero h1{font-size:clamp(2rem,12vw,3rem)!important}.project-tabs{border-radius:12px!important}.payment-kpis,.payment-card-grid{grid-template-columns:1fr!important}
}
@media(max-height:620px) and (min-width:761px){.chat-panel{height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important;bottom:6px!important;right:6px!important;grid-template-rows:60px auto minmax(110px,1fr) auto 52px 30px!important}.chat-header{min-height:60px!important}.chat-choices{max-height:150px!important}.chat-form{min-height:52px!important}.chat-form input,.chat-form .btn{height:38px!important;min-height:38px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media print{.chat-launcher,.chat-panel,.site-header,.site-footer,.dashboard-sidebar,.dashboard-topbar,.client-sidebar,.client-topbar,.mobile-nav-button{display:none!important}.proposal-shell{width:100%!important;margin:0!important;border:0!important;box-shadow:none!important}.proposal-body{font-size:10.5pt!important}}

/* v1.7 production hardening: content must remain readable even if animation JavaScript is unavailable. */
.reveal{opacity:1!important;transform:none!important}
.reveal.visible{animation:zx-reveal-in .46s ease both}
@keyframes zx-reveal-in{from{opacity:.35;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Currency and financial values never split across lines. */
.kpi-card strong,.finance-card strong,.project-payment-card strong,.payment-stage>strong{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;font-variant-numeric:tabular-nums}
.kpi-card strong{font-size:clamp(1.55rem,2.1vw,2rem)!important}
.finance-summary.compact{grid-template-columns:1fr!important;gap:.55rem!important}
.finance-summary.compact .finance-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.75rem!important;min-height:62px!important}
.finance-summary.compact .finance-card strong{font-size:clamp(1.05rem,1.55vw,1.35rem)!important}

/* Proposal tables use explicit contrast on dark headers and totals. */
.proposal-body .proposal-section table thead th,.proposal-body .proposal-section table tfoot th{color:#fff!important;background:#12304f!important}
.proposal-body .proposal-section table tbody td{color:#26384f!important;background:#fff!important}
.proposal-body .proposal-section table{width:100%!important;border-collapse:collapse!important}
.proposal-body .proposal-section table th,.proposal-body .proposal-section table td{padding:.72rem .8rem!important;border:1px solid #d8e1ec!important}
.proposal-body .proposal-section table th:last-child,.proposal-body .proposal-section table td:last-child{text-align:right!important;white-space:nowrap!important}

/* New CMS, integration and public-contact layouts. */
.settings-stack{display:grid!important;gap:1rem!important}.inline-test-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:.55rem!important;align-items:end!important}.cms-brand-preview{display:grid!important;gap:1rem!important}.cms-brand-preview img{max-height:72px!important;width:auto!important;object-fit:contain!important}.search-preview{display:grid!important;gap:.25rem!important;padding:1rem!important;border:1px solid var(--zx-border)!important;border-radius:14px!important;background:#f8fafc!important}.search-preview strong{color:#164dab!important;font-size:1.08rem!important}.search-preview span{color:#14733e!important;font-size:.78rem!important}.search-preview p{color:#4e5f75!important;margin:.2rem 0 0!important}.contact-form-layout{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:clamp(1.2rem,4vw,3.5rem)!important;align-items:start!important}.contact-lead-form{padding:clamp(1rem,2vw,1.5rem)!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:20px!important;background:rgba(255,255,255,.055)!important}.extra-contact-list{margin-top:1rem!important;padding:1.25rem!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important}.extra-contact-list h2{font-size:1.1rem!important}.contact-link-grid{display:flex!important;gap:.6rem!important;flex-wrap:wrap!important}.contact-link-grid a{padding:.55rem .75rem!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:10px!important;color:#eef4ff!important}.cms-section-image{display:block!important;width:min(100%,980px)!important;max-height:520px!important;object-fit:cover!important;margin:1rem auto!important;border-radius:20px!important}.cms-section-body{max-width:850px!important;color:inherit!important;line-height:1.75!important}.custom-content-section .cms-items{margin-top:1rem!important}

/* Sidebar footer identity remains readable. */
.client-sidebar footer strong,.dashboard-sidebar footer strong{color:#fff!important}.client-sidebar footer small,.dashboard-sidebar footer small{color:#aebfd4!important}

@media(max-width:760px){
 .dashboard-topbar,.client-topbar{padding-left:4.4rem!important}
 .dashboard-topbar>div:first-child,.client-topbar>div:first-child{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 .contact-form-layout{grid-template-columns:1fr!important}
 .inline-test-form{grid-template-columns:1fr!important}
 .finance-summary.compact .finance-card{display:grid!important;justify-content:start!important}
}

/* v1.7 final public-surface contrast corrections. */
.public-site .service-index-card,
.public-site .contact-card,
.public-site .planner-card,
.public-site .planner-aside,
.public-site .contact-lead-form{
  background:#fff!important;
  color:var(--zx-text)!important;
  border:1px solid var(--zx-border)!important;
  box-shadow:var(--zx-shadow)!important;
}
.public-site .service-index-card h2,
.public-site .service-index-card h3,
.public-site .contact-card h2,
.public-site .contact-card h3,
.public-site .planner-card h2,
.public-site .planner-card h3,
.public-site .planner-card legend,
.public-site .planner-aside h2,
.public-site .planner-aside h3,
.public-site .contact-lead-form h2,
.public-site .contact-lead-form h3,
.public-site .contact-lead-form .field>span,
.public-site .contact-lead-form .consent span{
  color:var(--zx-text)!important;
}
.public-site .service-index-card p,
.public-site .service-index-card li,
.public-site .service-index-card small,
.public-site .contact-card p,
.public-site .contact-card small,
.public-site .planner-card p,
.public-site .planner-card small,
.public-site .planner-aside p,
.public-site .planner-aside small,
.public-site .planner-aside li,
.public-site .contact-lead-form p,
.public-site .contact-lead-form small,
.public-site .contact-lead-form .form-status,
.public-site .contact-lead-form .consent span{
  color:var(--zx-muted)!important;
}
.public-site .service-index-card .eyebrow,
.public-site .contact-card .eyebrow,
.public-site .planner-card .eyebrow,
.public-site .planner-aside .eyebrow{
  color:var(--zx-brand)!important;
}
.public-site .service-index-number{color:rgba(36,99,235,.14)!important}
.public-site .choice-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;gap:.75rem!important}
.public-site .choice-card{min-width:0!important;cursor:pointer!important}
.public-site .choice-card>span{
  display:block!important;
  height:100%!important;
  padding:1rem!important;
  border:1px solid var(--zx-border)!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  color:var(--zx-text)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.public-site .choice-card b{display:block!important;color:var(--zx-text)!important;line-height:1.35!important}
.public-site .choice-card small{display:block!important;margin-top:.3rem!important;color:var(--zx-muted)!important;line-height:1.45!important}
.public-site .choice-card:hover>span{border-color:#8eabdc!important;box-shadow:0 10px 30px rgba(36,99,235,.11)!important;transform:translateY(-2px)!important}
.public-site .choice-card input:checked+span{border-color:var(--zx-brand)!important;background:#edf4ff!important;box-shadow:0 0 0 3px rgba(36,99,235,.12)!important}
.public-site .planner-progress{color:var(--zx-text)!important}
.public-site .planner-progress>div{background:#dfe7f1!important}
.public-site .planner-progress i{background:linear-gradient(90deg,var(--zx-brand),var(--zx-brand-2))!important}
.public-site .planner-aside ol{padding-left:1.2rem!important}.public-site .planner-aside b{color:var(--zx-text)!important}
.public-site .privacy-note{color:var(--zx-muted)!important;background:#f3f6fb!important;border:1px solid var(--zx-border)!important}
.public-site .privacy-note a{color:var(--zx-brand)!important}
.public-site .contact-lead-form .field>span{font-weight:700!important}
.public-site .contact-lead-form .consent{align-items:flex-start!important;color:var(--zx-muted)!important}
.public-site .contact-lead-form .consent input{width:18px!important;height:18px!important;min-width:18px!important;margin-top:.15rem!important}
.public-site .contact-lead-form .form-status.success{color:var(--zx-success)!important}.public-site .contact-lead-form .form-status.error{color:var(--zx-danger)!important}
.public-site .contact-card .text-link{color:var(--zx-brand)!important;font-weight:800!important}
.public-site .contact-card .contact-icon{color:var(--zx-brand)!important;background:#edf4ff!important;border-color:#cfe0fa!important}
.public-site .planner-section,.public-site .contact-form-section{overflow:hidden!important}
@media(max-width:640px){.public-site .choice-grid{grid-template-columns:1fr!important}.public-site .service-index-card,.public-site .contact-card,.public-site .planner-card,.public-site .planner-aside,.public-site .contact-lead-form{border-radius:16px!important;padding:1rem!important}}
/* Reliability over speculative rendering: sections always paint and remain screenshot/SEO-test visible. */
.public-site .section{content-visibility:visible!important;contain-intrinsic-size:auto!important}
/* Portfolio result strips use dark text on the light accent surface. */
.public-site .portfolio-result,.public-site .portfolio-result strong{color:#0d2731!important}
/* Final chatbot density: all desktop service choices fit without an oversized composer. */
@media(min-width:761px) and (min-height:621px){
 .chat-choices{max-height:210px!important;padding:.5rem .62rem!important;gap:.36rem!important}
 .chat-choice{min-height:38px!important;padding:.44rem .56rem!important;font-size:.735rem!important}
 .chat-form{min-height:54px!important;padding:.45rem .6rem!important}
 .chat-form input,.chat-form .btn{height:40px!important;min-height:40px!important;max-height:40px!important}
}
