/* ZeroniX Agency OS v1.8 — production UI corrections and referral programme */
:root{--zx-text:#111c32;--zx-muted:#5a6880;--zx-border:#d9e2ee;--zx-surface:#fff;--zx-soft:#f4f7fb;--zx-navy:#0f2238;--zx-blue:#2468e8;--zx-cyan:#20a8c7;--zx-orange:#ff5a36;--zx-success:#087a55;--zx-warning:#945c00;--zx-danger:#b42318}
*,*::before,*::after{box-sizing:border-box}
.dashboard-main,.client-main,.dashboard-content,.client-content,.panel,.panel-body,.detail-card,.field,.project-summary-card,.document-record-v18{min-width:0}
.dashboard-content,.client-content{overflow-x:clip}
.dashboard-title h1,.panel h2,.panel h3,.detail-card h2,.detail-card h3,.document-record-v18 h3,.project-summary-card h2{color:var(--zx-text);word-break:normal;overflow-wrap:break-word}
.dashboard-title p,.panel p,.panel small,.detail-card p,.detail-card small,.field small,.form-help,.notification-item small{color:var(--zx-muted)}
.field span,.field>span,.consent span,.data-table th{color:#26354d}
input,textarea,select{max-width:100%;min-width:0;color:#172238;background:#fff;border-color:#cbd7e6}
textarea{resize:vertical}
.alert,.notification-item,.badge,.action-item,.manager-card{word-break:normal;overflow-wrap:break-word}

/* Dashboard shell: exactly one sidebar offset */
.dashboard-shell{display:grid!important;grid-template-columns:256px minmax(0,1fr)!important;min-height:100vh}
.dashboard-sidebar{position:sticky!important;top:0!important;left:auto!important;width:auto!important;min-height:100vh;max-height:100vh;overflow:auto}
.dashboard-main{margin-left:0!important;width:auto!important;max-width:none!important}
.dashboard-topbar,.client-topbar{min-width:0}
.dashboard-content{width:100%;max-width:1600px;margin:0 auto;padding:28px clamp(18px,2.4vw,40px) 60px}
.client-shell{display:grid!important;grid-template-columns:250px minmax(0,1fr)!important}
.client-sidebar{position:sticky!important;top:0!important;left:auto!important;width:auto!important;max-height:100vh;overflow:auto}
.client-main{margin-left:0!important}.client-content{width:100%;max-width:1450px;margin:0 auto;padding:26px clamp(16px,2.4vw,36px) 60px}

/* Project browser */
.project-browser{overflow:hidden}
.project-filter-bar,.document-filter-bar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(160px,1fr)) auto auto;gap:12px;align-items:end;padding:18px;border-bottom:1px solid var(--zx-border);background:#fbfcfe}
.project-filter-bar .field,.document-filter-bar .field{margin:0}.project-filter-submit{align-self:end}
.status-filter-strip{display:flex;gap:9px;overflow-x:auto;padding:14px 18px;border-bottom:1px solid var(--zx-border);scrollbar-width:thin;background:#fff}
.status-filter-chip{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;min-height:40px;padding:8px 13px;border:1px solid #d7e1ee;border-radius:999px;color:#34445e;background:#fff;text-decoration:none;white-space:nowrap;font-size:.9rem;font-weight:650}
.status-filter-chip strong{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#edf3fc;color:#2057b7;font-size:.75rem}
.status-filter-chip.active{background:linear-gradient(135deg,#2369e9,#20a5c5);color:#fff;border-color:transparent;box-shadow:0 8px 22px rgba(35,105,233,.2)}
.status-filter-chip.active strong{background:rgba(255,255,255,.2);color:#fff}
.project-results-header{padding:18px 20px}.project-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px;background:#f7f9fc}
.project-summary-card{display:flex;flex-direction:column;gap:16px;padding:22px;background:#fff;border:1px solid var(--zx-border);border-radius:20px;box-shadow:0 12px 35px rgba(17,39,72,.07);transition:transform .2s ease,box-shadow .2s ease}
.project-summary-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(17,39,72,.12)}
.project-summary-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.project-summary-card h2{font-size:1.22rem;line-height:1.25;margin:5px 0}.project-summary-card p{margin:0}.project-service-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#44617f;font-weight:750}
.project-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.progress-track{height:8px;background:#e7edf6;border-radius:99px;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#2468e8,#20a8c7);border-radius:inherit}
.project-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.project-metric{padding:12px;background:#f6f8fc;border:1px solid #e1e8f2;border-radius:13px}.project-metric span{display:block;color:#66758b;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.project-metric strong{display:block;margin-top:5px;color:#111c32;font-size:.96rem;line-height:1.3;white-space:normal;word-break:normal}.project-metric small{display:block;margin-top:3px;font-size:.72rem}
.project-summary-meta,.project-summary-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.project-summary-card>footer{margin-top:auto;padding-top:2px}.project-summary-card>footer .btn{flex:1 1 180px;text-align:center}

/* Document Studio */
.document-library-panel{overflow:hidden}.document-filter-bar{grid-template-columns:minmax(250px,2fr) minmax(210px,1.6fr) minmax(140px,1fr) minmax(140px,1fr) auto auto}
.document-table-head,.document-record-v18{display:grid;grid-template-columns:minmax(260px,2.1fr) minmax(180px,1.3fr) minmax(130px,.85fr) minmax(120px,.75fr) minmax(190px,1fr);gap:16px;align-items:center}
.document-table-head{padding:10px 20px;background:#f1f5fa;border-top:1px solid var(--zx-border);border-bottom:1px solid var(--zx-border);color:#65748a;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:750}
.document-register-v18{background:#fff}.document-record-v18{padding:17px 20px;border-bottom:1px solid #e5ebf3}.document-record-v18:last-child{border-bottom:0}.document-record-v18>*{min-width:0}.document-primary{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:start}.document-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eaf1ff;color:#2468e8}.document-primary h3{margin:0 0 4px;font-size:1rem;line-height:1.35;white-space:normal;word-break:normal;overflow-wrap:break-word}.document-primary p,.document-primary small,.document-context span,.document-context small,.document-state small,.document-commercial small{display:block;margin:2px 0;color:#66758a;line-height:1.45;white-space:normal;word-break:normal;overflow-wrap:break-word}.document-context strong,.document-commercial strong{display:block;color:#172238;line-height:1.35}.document-state{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.document-actions-v18{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap}.document-actions-v18 form{margin:0}.document-more{position:relative}.document-more summary{list-style:none;cursor:pointer;padding:8px 11px;border:1px solid #ced9e8;border-radius:9px;font-weight:650;color:#33445f}.document-more summary::-webkit-details-marker{display:none}.document-more>div{position:absolute;z-index:20;right:0;top:calc(100% + 6px);width:min(320px,80vw);padding:12px;background:#fff;border:1px solid var(--zx-border);border-radius:13px;box-shadow:0 18px 50px rgba(17,39,72,.18)}.document-more .email-document-form{display:grid;gap:8px;margin-bottom:10px}.document-more input{width:100%}
.document-builder-v18{position:fixed;z-index:1000;inset:24px max(24px,calc((100vw - 1100px)/2));overflow:auto;display:none;background:#fff;box-shadow:0 30px 90px rgba(9,24,46,.3)}.document-builder-v18.open{display:block}.document-wizard-form{padding:20px}.document-wizard-form fieldset{margin:0 0 16px;padding:18px;border:1px solid #dce5f0;border-radius:16px;background:#fbfcfe}.document-wizard-form legend{padding:0 8px;color:#15233a;font-size:1rem;font-weight:750}.document-wizard-form legend b{display:inline-grid;place-items:center;width:27px;height:27px;margin-right:7px;border-radius:50%;background:#2468e8;color:#fff}.document-wizard-actions{position:sticky;bottom:0;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px;background:rgba(255,255,255,.96);border-top:1px solid var(--zx-border);backdrop-filter:blur(10px)}

/* Conversations */
.conversation-stream .chat-message,.chat-message{word-break:normal!important;overflow-wrap:break-word!important;min-width:44px!important;max-width:min(72%,680px)!important;white-space:normal}.conversation-stream .chat-row>div{min-width:0;max-width:80%}.message-sender{display:block;white-space:normal}.conversation-composer input{min-width:0}

/* Referral public and portal */
.nav-referral{color:#ffad86!important}.referral-home-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:32px;align-items:center;padding:clamp(26px,4vw,54px);border:1px solid rgba(255,102,56,.24);border-radius:28px;background:radial-gradient(circle at 85% 20%,rgba(255,91,54,.16),transparent 35%),linear-gradient(135deg,#101e31,#162a42);color:#fff;box-shadow:0 25px 60px rgba(5,16,32,.2)}.referral-home-card h2,.referral-home-card p{color:#fff}.referral-home-card p{opacity:.78}.referral-home-steps,.referral-steps{display:grid;gap:11px}.referral-home-steps>div,.referral-steps>div{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.07)}.referral-home-steps b,.referral-steps b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#ff5a36,#ff9a5c);color:#fff}.referral-home-steps strong,.referral-home-steps small,.referral-steps strong,.referral-steps small{display:block}.referral-home-steps small{color:rgba(255,255,255,.68)}
.referral-hero-grid,.referral-application-grid,.referral-client-intro,.referral-client-grid,.referral-admin-layout,.referral-detail-grid,.referral-ledger-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.referral-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.referral-rule-grid article,.referral-step-card{padding:22px;border:1px solid var(--zx-border);border-radius:18px;background:#fff}.referral-application-form{padding:22px}.referral-terms-list{display:grid;gap:9px;margin:0;padding-left:20px}.referral-portal-shell{max-width:1250px;margin:0 auto;padding:24px}.referral-portal-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--zx-border);border-radius:18px;background:#fff}.referral-portal-content{padding:22px 0}.referral-share-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:20px;padding:22px}.copy-link-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.copy-link-row input{flex:1 1 260px}.referral-message-list{display:grid;gap:9px;max-height:380px;overflow:auto;margin-bottom:13px}.referral-message{padding:11px 13px;border-radius:12px;background:#f2f5f9}.referral-message.team{background:#e9f1ff}.referral-message.partner{background:#eaf9f2}.referral-message p{margin:4px 0}.referral-status-text{font-size:1.1rem!important}.referral-kpis .kpi-card{min-height:150px}

/* Admin referral centre */
.referral-admin-layout{grid-template-columns:minmax(0,1.5fr) minmax(310px,.65fr);margin:18px 0}.referral-partner-list{display:grid}.referral-partner-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 16px;border-top:1px solid #e4eaf2;text-decoration:none;color:#19263b}.referral-partner-row:hover,.referral-partner-row.active{background:#f1f6ff}.referral-partner-row small{display:block;color:#66758a}.referral-partner-detail{margin-top:18px}.referral-detail-grid{padding:18px}.referral-ledger-grid{padding:0 18px 18px}.mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mini-kpis>div{padding:12px;border-radius:12px;background:#f3f6fa}.mini-kpis span,.mini-kpis strong{display:block}.inline-reject{display:flex;gap:7px;flex:1 1 320px}.inline-reject input{flex:1}.referral-admin-side{display:grid;align-content:start;gap:16px}

/* Chatbot final constraints */
.chat-panel{grid-template-rows:auto auto minmax(130px,1fr) auto auto auto!important;max-height:min(720px,calc(100dvh - 24px))!important}
.chat-messages{min-height:0!important;overflow-y:auto!important}.chat-choices{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;max-height:190px!important;overflow-y:auto!important;overscroll-behavior:contain;padding:10px 12px!important}.chat-choices:empty{display:none!important}.chat-choice{width:100%!important;min-width:0!important;min-height:42px!important;white-space:normal!important;text-align:left!important;line-height:1.25!important}.chat-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:10px 12px!important}.chat-form input{height:44px!important;min-height:44px!important;padding:9px 12px!important}.chat-form .btn,.chat-form button{height:44px!important;min-height:44px!important;padding:8px 14px!important}

@media(max-width:1180px){.project-filter-bar,.document-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.project-search,.document-search{grid-column:1/-1}.project-card-grid{grid-template-columns:1fr}.project-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.document-table-head{display:none}.document-record-v18{grid-template-columns:minmax(0,1.6fr) minmax(160px,1fr) minmax(130px,.8fr);align-items:start}.document-commercial{grid-column:2}.document-actions-v18{grid-column:3;grid-row:1/3}.referral-admin-layout,.referral-share-card{grid-template-columns:1fr}}
@media(max-width:1000px){.dashboard-shell,.client-shell{display:block!important}.dashboard-sidebar,.client-sidebar{position:fixed!important;z-index:1100;left:0!important;top:0!important;width:min(290px,86vw)!important;transform:translateX(-105%);transition:transform .22s ease}.nav-open .dashboard-sidebar,.nav-open .client-sidebar{transform:translateX(0)}.dashboard-main,.client-main{width:100%!important}.dashboard-content,.client-content{padding-top:72px}.referral-home-card,.referral-hero-grid,.referral-application-grid,.referral-client-grid,.referral-detail-grid,.referral-ledger-grid{grid-template-columns:1fr}.referral-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.dashboard-content,.client-content{padding-left:12px;padding-right:12px}.project-filter-bar,.document-filter-bar{grid-template-columns:1fr}.project-filter-bar .btn,.document-filter-bar .btn{width:100%}.status-filter-strip{padding:12px}.project-card-grid{padding:12px}.project-summary-card{padding:16px}.project-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.document-record-v18{display:flex;flex-direction:column;align-items:stretch;padding:15px}.document-actions-v18{justify-content:flex-start}.document-builder-v18{inset:8px}.document-wizard-form{padding:12px}.document-wizard-form fieldset{padding:13px}.document-wizard-actions{flex-direction:column}.document-wizard-actions .btn{width:100%}.referral-rule-grid{grid-template-columns:1fr}.referral-home-card{padding:24px 18px}.referral-portal-shell{padding:10px}.referral-portal-topbar{align-items:flex-start;flex-wrap:wrap}.referral-share-card{padding:16px}.copy-link-row>*{width:100%}.chat-panel{inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}.chat-choices{grid-template-columns:1fr!important;max-height:160px!important}}
@media(max-width:430px){.project-metrics{grid-template-columns:1fr}.project-summary-card>footer{flex-direction:column}.project-summary-card>footer .btn{width:100%;flex:auto}.kpi-grid{grid-template-columns:1fr 1fr!important}.kpi-card strong{font-size:1.35rem}.chat-choices{max-height:145px!important}}
@media(prefers-reduced-motion:reduce){.project-summary-card,.dashboard-sidebar,.client-sidebar{transition:none!important}}
/* Public referral page components */
.referral-page-hero{background:radial-gradient(circle at 85% 25%,rgba(255,91,54,.18),transparent 32%),#0b1422;color:#fff}.referral-page-hero h1,.referral-page-hero p{color:#fff}.referral-page-hero p{opacity:.78}.referral-policy-card{padding:24px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}.referral-policy-card p{color:rgba(255,255,255,.75)}.referral-flow-mini{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}.referral-flow-mini span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.78rem}.referral-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.referral-step-grid article{padding:22px;border:1px solid var(--zx-border);border-radius:18px;background:#fff}.referral-step-grid b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#2468e8,#20a8c7);color:#fff}.referral-step-grid h3{margin:14px 0 7px}.referral-benefit-grid,.referral-apply-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:34px;align-items:start}.referral-rule-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.referral-rule-list span{padding:12px;border-radius:12px;background:#fff;border:1px solid #dce5ef;color:#23344d}.referral-application-form{padding:22px;border:1px solid var(--zx-border);border-radius:22px;background:#fff;box-shadow:0 16px 45px rgba(17,39,72,.08)}
@media(max-width:900px){.referral-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.referral-benefit-grid,.referral-apply-grid{grid-template-columns:1fr}}
@media(max-width:560px){.referral-step-grid,.referral-rule-list{grid-template-columns:1fr}}

/* v1.8 final anti-collapse and chatbot acceptance overrides */
.status-filter-chip,.status-filter-chip *{
  min-width:0;
  word-break:normal!important;
  overflow-wrap:normal!important;
  white-space:nowrap!important;
}
.project-summary-card,.project-summary-card *{
  min-width:0;
  word-break:normal!important;
}
.project-summary-card p,.project-summary-card small,.project-summary-card strong,.project-summary-card a{
  overflow-wrap:break-word!important;
}
.document-record-v18,.document-record-v18 *{
  min-width:0;
  word-break:normal!important;
}
.document-primary h3,.document-primary p,.document-primary small,.document-secondary p,.document-state p,.document-commercial p{
  overflow-wrap:break-word!important;
  white-space:normal!important;
}
.document-actions-v18 .btn{
  white-space:nowrap!important;
}
.chat-panel{
  width:min(460px,calc(100vw - 24px))!important;
  height:min(660px,calc(100dvh - 24px))!important;
  max-height:calc(100dvh - 24px)!important;
  grid-template-rows:auto auto minmax(96px,1fr) minmax(0,190px) auto auto!important;
}
.chat-reference{min-height:0!important}
.chat-messages{height:auto!important;min-height:96px!important}
.chat-choices{
  min-height:0!important;
  max-height:190px!important;
  scrollbar-gutter:stable both-edges;
}
.chat-form input{
  font-size:16px!important;
  line-height:1.2!important;
}
@media(max-height:620px) and (min-width:721px){
  .chat-panel{
    height:calc(100dvh - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    grid-template-rows:auto auto minmax(72px,1fr) minmax(0,138px) auto auto!important;
  }
  .chat-choices{max-height:138px!important}
}
@media(max-width:720px){
  .chat-panel{
    height:100dvh!important;
    max-height:100dvh!important;
    grid-template-rows:auto auto minmax(84px,1fr) minmax(0,170px) auto auto!important;
  }
  .chat-choices{max-height:170px!important}
}
@media(max-width:430px){
  .chat-panel{grid-template-rows:auto auto minmax(78px,1fr) minmax(0,154px) auto auto!important}
  .chat-choices{max-height:154px!important}
}
