.site-nav a.is-current { border-color: var(--coral); color: var(--navy); }

.advisor-hero { background: #173e22; color: #fff; padding: 58px 22px; }
.advisor-hero-inner { align-items: center; display: grid; gap: 60px; grid-template-columns: minmax(0,1.35fr) minmax(250px,.65fr); margin: 0 auto; max-width: 1180px; }
.advisor-hero h1 { font-size: 46px; line-height: 1.08; margin: 0; max-width: 800px; }
.advisor-hero p:not(.eyebrow) { color: #d2e1cf; font-size: 16px; font-weight: 650; line-height: 1.65; margin: 18px 0 0; max-width: 780px; }
.advisor-assurance { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 24px; }
.advisor-assurance span { align-items: center; color: #f3f7f1; display: inline-flex; font-size: 11px; font-weight: 900; gap: 7px; }
.advisor-assurance i { color: #f3cc54; }
.advisor-hero-mark { align-items: center; border: 1px solid rgba(255,255,255,.24); display: grid; justify-items: center; min-height: 220px; padding: 26px; position: relative; }
.advisor-hero-mark::before { border-left: 4px solid var(--coral); content: ""; inset: 18px auto 18px 18px; position: absolute; }
.advisor-hero-mark::after { border-bottom: 4px solid var(--gold); bottom: 18px; content: ""; left: 18px; position: absolute; width: 54%; }
.advisor-hero-mark i { color: #f3cc54; font-size: 54px; }
.advisor-hero-mark strong { font-size: 24px; margin-top: 15px; }
.advisor-hero-mark span { color: #d2e1cf; font-size: 15px; font-weight: 900; }
.advisor-hero-mark small { color: #fff; font-size: 12px; font-weight: 900; }

.assessment-section { background: #f1f6ef; padding: 42px 22px 76px; }
.assessment-layout { align-items: start; display: grid; gap: 22px; grid-template-columns: 285px minmax(0,1fr); margin: 0 auto; max-width: 1180px; }
.assessment-progress { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--green); padding: 22px; position: sticky; top: 96px; }
.assessment-progress ol { display: grid; gap: 0; list-style: none; margin: 18px 0 0; padding: 0; }
.assessment-progress li { align-items: center; border-left: 2px solid #dbe5d8; display: grid; gap: 10px; grid-template-columns: 34px minmax(0,1fr); min-height: 66px; padding: 7px 0 7px 15px; position: relative; }
.assessment-progress li > span { align-items: center; background: #edf3eb; border: 1px solid #cfddcb; border-radius: 50%; color: #667168; display: flex; font-size: 11px; font-weight: 950; height: 30px; justify-content: center; width: 30px; }
.assessment-progress li strong, .assessment-progress li small { display: block; }
.assessment-progress li strong { color: #536057; font-size: 12px; }
.assessment-progress li small { color: #879087; font-size: 9px; margin-top: 3px; }
.assessment-progress li.is-active { border-left-color: var(--gold); }
.assessment-progress li.is-active > span { background: var(--navy); border-color: var(--navy); color: #fff; }
.assessment-progress li.is-active strong { color: var(--navy); }
.assessment-progress li.is-complete { border-left-color: var(--green); }
.assessment-progress li.is-complete > span { background: var(--green); border-color: var(--green); color: #fff; }
.live-score { background: #173e22; color: #fff; margin-top: 20px; padding: 16px; }
.live-score span, .live-score small { display: block; }
.live-score span { color: #bcd0b9; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.live-score strong { color: #fff; display: block; font-size: 32px; margin: 6px 0 4px; }
.live-score strong.has-score { color: #f3cc54; }
.live-score small { color: #c8d8c5; font-size: 9px; line-height: 1.45; }
.assessment-privacy { align-items: flex-start; border-top: 1px solid var(--line); display: flex; gap: 9px; margin-top: 18px; padding-top: 16px; }
.assessment-privacy > i { color: var(--green); margin-top: 2px; }
.assessment-privacy p { margin: 0; }
.assessment-privacy strong, .assessment-privacy span { display: block; }
.assessment-privacy strong { color: var(--navy); font-size: 10px; }
.assessment-privacy span { color: var(--muted); font-size: 9px; line-height: 1.45; margin-top: 4px; }

.assessment-form { background: #fff; border: 1px solid var(--line); min-width: 0; padding: 28px; scroll-margin-top: 94px; }
.assessment-step { animation: assessmentReveal .22s ease; }
@keyframes assessmentReveal { from { opacity: .35; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.assessment-step-heading { border-bottom: 1px solid var(--line); margin-bottom: 24px; padding-bottom: 18px; }
.assessment-step-heading > span { color: var(--coral); display: block; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.assessment-step-heading h2 { color: var(--navy); font-size: 28px; margin: 6px 0 0; }
.assessment-step-heading p { color: var(--muted); font-size: 13px; line-height: 1.55; margin: 8px 0 0; }
.assessment-grid { display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.assessment-form .form-field input, .assessment-form .form-field select { background: #f8faf7; min-height: 46px; }
.assessment-actions { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 10px; grid-template-columns: minmax(120px,1fr) auto minmax(120px,1fr); margin-top: 26px; padding-top: 18px; }
.assessment-actions > span { color: var(--muted); font-size: 10px; font-weight: 900; text-align: center; }
.assessment-actions .btn:first-child { justify-self: start; }
.assessment-actions .btn:not(:first-child) { justify-self: end; }
.readiness-list { display: grid; gap: 14px; }
.readiness-question { border: 1px solid var(--line); margin: 0; padding: 16px; }
.readiness-question legend { align-items: flex-start; display: flex; gap: 10px; padding: 0 8px 0 0; }
.readiness-question legend > i { align-items: center; background: #e8f2e5; color: var(--green); display: flex; flex: 0 0 auto; height: 36px; justify-content: center; width: 36px; }
.readiness-question legend strong, .readiness-question legend small { display: block; }
.readiness-question legend strong { color: var(--navy); font-size: 13px; }
.readiness-question legend small { color: var(--muted); font-size: 10px; line-height: 1.4; margin-top: 3px; }
.readiness-options { display: grid; gap: 7px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 12px; }
.readiness-options label { cursor: pointer; min-width: 0; position: relative; }
.readiness-options input { opacity: 0; position: absolute; }
.readiness-options label > span { background: #f8faf7; border: 1px solid #dce5d9; display: block; min-height: 78px; padding: 11px; }
.readiness-options b, .readiness-options small { display: block; }
.readiness-options b { color: #3b4e40; font-size: 11px; }
.readiness-options small { color: #778079; font-size: 9px; line-height: 1.4; margin-top: 4px; }
.readiness-options input:checked + span { background: #e9f4e6; border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.readiness-options input:focus-visible + span { outline: 3px solid rgba(47,122,62,.2); outline-offset: 2px; }
.priority-selector { border: 0; margin: 0; padding: 0; }
.priority-selector legend { color: var(--navy); font-size: 12px; font-weight: 950; margin-bottom: 10px; }
.priority-selector > div { display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.priority-selector label { cursor: pointer; position: relative; }
.priority-selector input { opacity: 0; position: absolute; }
.priority-selector label > span { align-items: center; background: #f8faf7; border: 1px solid var(--line); color: #4d5c50; display: flex; font-size: 11px; font-weight: 850; gap: 9px; min-height: 46px; padding: 10px; }
.priority-selector label i { align-items: center; border: 1px solid #bdcdbb; color: transparent; display: flex; height: 20px; justify-content: center; width: 20px; }
.priority-selector input:checked + span { background: #e9f4e6; border-color: var(--green); color: var(--navy); }
.priority-selector input:checked + span i { background: var(--green); border-color: var(--green); color: #fff; }
.contact-grid { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 22px; }

.proposal-page { background: #edf3eb; }
.proposal-nav { grid-template-columns: 190px minmax(0,1fr) auto; }
.proposal-nav-label { color: var(--navy); font-size: 12px; font-weight: 900; text-align: center; }
.proposal-nav-label i { color: var(--green); margin-right: 6px; }
.proposal-shell { padding: 34px 20px 70px; }
.proposal-document { background: #fff; border: 1px solid var(--line); box-shadow: 0 20px 52px rgba(23,62,34,.12); margin: 0 auto; max-width: 1120px; }
.proposal-cover { background: #173e22; color: #fff; padding: 34px 38px; }
.proposal-brand { align-items: center; border-bottom: 1px solid rgba(255,255,255,.2); display: flex; justify-content: space-between; margin-bottom: 36px; padding-bottom: 18px; }
.proposal-brand img { background: #fff; height: 66px; object-fit: contain; padding: 4px; width: 178px; }
.proposal-brand span { color: #f3cc54; font-size: 11px; font-weight: 950; text-transform: uppercase; }
.proposal-cover-grid { align-items: end; display: grid; gap: 30px; grid-template-columns: minmax(0,1fr) auto; }
.proposal-cover h1 { font-size: 40px; line-height: 1.08; margin: 0; }
.proposal-cover-grid > div:first-child > p:last-child { color: #c9dbc6; font-size: 13px; font-weight: 800; margin: 12px 0 0; }
.proposal-reference { border-left: 4px solid var(--coral); display: grid; min-width: 220px; padding: 8px 0 8px 16px; }
.proposal-reference span { color: #bcd0b9; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.proposal-reference strong { font-size: 13px; margin-top: 4px; }
.proposal-reference small { color: #f3cc54; font-size: 10px; font-weight: 850; margin-top: 6px; }
.proposal-summary { align-items: stretch; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 330px minmax(0,1fr); }
.score-panel { background: #eef5eb; border-right: 1px solid var(--line); padding: 30px; }
.score-value strong, .score-value span { display: block; }
.score-value strong { color: var(--navy); font-size: 48px; line-height: 1; }
.score-value span { color: var(--muted); font-size: 11px; font-weight: 950; margin-top: 7px; text-transform: uppercase; }
.score-panel meter { height: 20px; margin-top: 18px; width: 100%; }
.score-panel meter::-webkit-meter-bar { background: #dbe5d8; border: 0; }
.score-panel meter::-webkit-meter-optimum-value { background: var(--green); }
.score-panel.is-critical meter::-webkit-meter-optimum-value { background: var(--coral); }
.score-panel.is-watch meter::-webkit-meter-optimum-value { background: var(--gold); }
.score-panel p { color: #4f5f53; font-size: 12px; line-height: 1.6; margin: 18px 0 0; }
.summary-copy { padding: 30px; }
.summary-copy h2 { color: var(--navy); font-size: 28px; margin: 0; }
.summary-copy > p:not(.eyebrow) { color: var(--muted); font-size: 13px; line-height: 1.6; }
.summary-copy dl { display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 20px 0 0; }
.summary-copy dl div { border-left: 3px solid var(--gold); padding: 4px 10px; }
.summary-copy dt { color: #7a847c; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.summary-copy dd { color: #34463a; font-size: 11px; font-weight: 850; margin: 5px 0 0; }
.proposal-section { border-bottom: 1px solid var(--line); padding: 34px 38px; }
.proposal-section-heading { align-items: end; display: grid; gap: 30px; grid-template-columns: minmax(0,1fr) minmax(260px,.65fr); margin-bottom: 22px; }
.proposal-section-heading h2 { color: var(--navy); font-size: 26px; margin: 0; }
.proposal-section-heading > p { color: var(--muted); font-size: 11px; line-height: 1.55; margin: 0; }
.recommendation-list { border: 1px solid var(--line); }
.recommendation-list article { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 12px; grid-template-columns: 28px 36px minmax(0,1fr) auto; padding: 14px; }
.recommendation-list article:first-child { border-top: 0; }
.recommendation-number { align-items: center; background: var(--navy); color: #fff; display: flex; font-size: 10px; font-weight: 950; height: 24px; justify-content: center; width: 24px; }
.recommendation-list article > i { color: var(--green); font-size: 18px; text-align: center; }
.recommendation-list strong { color: var(--navy); font-size: 13px; }
.recommendation-list p { color: var(--muted); font-size: 10px; line-height: 1.45; margin: 4px 0 0; }
.recommendation-list em { background: #f8eed0; color: #785600; font-size: 9px; font-style: normal; font-weight: 950; padding: 6px 8px; text-transform: uppercase; }
.readiness-breakdown { background: #f8faf7; }
.readiness-breakdown-grid { display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.readiness-breakdown-grid article { align-items: center; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--coral); display: grid; gap: 10px; grid-template-columns: 36px minmax(0,1fr) auto; min-height: 68px; padding: 11px; }
.readiness-breakdown-grid article.level-1 { border-left-color: var(--gold); }
.readiness-breakdown-grid article.level-2 { border-left-color: var(--green); }
.readiness-breakdown-grid article > i { color: var(--navy); font-size: 17px; text-align: center; }
.readiness-breakdown-grid strong, .readiness-breakdown-grid span { display: block; }
.readiness-breakdown-grid strong { color: #34463a; font-size: 11px; }
.readiness-breakdown-grid span { color: var(--muted); font-size: 9px; margin-top: 3px; }
.readiness-breakdown-grid b { color: var(--navy); font-size: 13px; }
.implementation-timeline { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.implementation-timeline article { border: 1px solid var(--line); border-top: 4px solid var(--green); padding: 18px; }
.implementation-timeline article:nth-child(2) { border-top-color: var(--gold); }
.implementation-timeline article:nth-child(3) { border-top-color: var(--coral); }
.implementation-timeline article > span { color: var(--coral); font-size: 9px; font-weight: 950; text-transform: uppercase; }
.implementation-timeline h3 { color: var(--navy); font-size: 16px; margin: 6px 0 12px; }
.implementation-timeline ul { color: #465549; display: grid; font-size: 10px; font-weight: 850; gap: 6px; margin: 0; padding-left: 16px; }
.implementation-timeline p { border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; line-height: 1.5; margin: 15px 0 0; padding-top: 12px; }
.proposal-next-step { align-items: center; background: #7e251f; color: #fff; display: grid; gap: 30px; grid-template-columns: minmax(0,1fr) auto; padding: 32px 38px; }
.proposal-next-step h2 { font-size: 25px; margin: 0; }
.proposal-next-step p:not(.eyebrow) { color: #f1ddda; font-size: 12px; line-height: 1.6; margin: 10px 0 0; }
.proposal-next-step > div:last-child { display: flex; flex-direction: column; gap: 8px; }
.proposal-footer { align-items: center; background: #f2f6f0; color: #617064; display: flex; flex-wrap: wrap; font-size: 9px; font-weight: 850; gap: 12px; justify-content: space-between; padding: 14px 38px; }

.company-login-page { background: #173e22; min-height: 100vh; }
.company-login-shell { align-items: center; display: flex; min-height: 100vh; padding: 30px 20px; }
.company-login-panel { background: #fff; border-top: 6px solid var(--gold); display: grid; grid-template-columns: minmax(0,1.15fr) minmax(380px,.85fr); margin: 0 auto; max-width: 1040px; min-height: 570px; overflow: hidden; position: relative; }
.company-login-brand { align-items: center; display: flex; grid-column: 1 / -1; justify-content: space-between; min-height: 82px; padding: 12px 28px; }
.company-login-brand img { height: 58px; object-fit: contain; width: 164px; }
.company-login-brand span { background: #edf5eb; color: var(--navy); font-size: 13px; font-weight: 950; padding: 9px 12px; text-transform: uppercase; }
.company-login-brand span i { color: var(--green); margin-right: 5px; }
.company-login-copy { background: #f0f5ed; border-top: 1px solid var(--line); padding: 48px; }
.company-login-copy h1 { color: var(--navy); font-size: 38px; line-height: 1.1; margin: 0; }
.company-login-copy > p:not(.eyebrow) { color: var(--muted); font-size: 16px; line-height: 1.65; }
.company-login-copy ul { display: grid; gap: 10px; list-style: none; margin: 28px 0 0; padding: 0; }
.company-login-copy li { align-items: center; color: #465549; display: flex; font-size: 14px; font-weight: 850; gap: 9px; }
.company-login-copy li i { color: var(--coral); width: 18px; }
.company-login-form { border-top: 1px solid var(--line); padding: 48px 38px; }
.company-login-form .form-field { display: block; margin-top: 14px; }
.company-login-form .form-heading strong { font-size: 18px; }
.company-login-form .form-heading small { font-size: 13px; }
.company-login-form .form-field > span { font-size: 14px; }
.company-login-form .form-field input { font-size: 16px; min-height: 48px; }
.company-login-form .btn { font-size: 14px; }
.company-login-back { color: var(--navy); display: block; font-size: 13px; font-weight: 900; margin-top: 18px; text-align: center; }

.intelligence-dashboard-page { background: #eef4ec; }
.intelligence-dashboard-header { align-items: center; background: #173e22; color: #fff; display: grid; gap: 18px; grid-template-columns: 180px minmax(0,1fr) auto; min-height: 78px; padding: 10px max(22px, calc((100vw - 1240px) / 2)); }
.intelligence-dashboard-header img { background: #fff; height: 56px; object-fit: contain; padding: 3px; width: 156px; }
.intelligence-dashboard-header div { display: grid; }
.intelligence-dashboard-header span { color: #f3cc54; font-size: 12px; font-weight: 950; text-transform: uppercase; }
.intelligence-dashboard-header strong { font-size: 18px; margin-top: 3px; }
.intelligence-dashboard-shell { margin: 0 auto; max-width: 1280px; padding: 36px 22px 70px; }
.dashboard-title { align-items: end; display: grid; gap: 24px; grid-template-columns: minmax(0,1fr) auto; }
.dashboard-title h1 { color: var(--navy); font-size: 34px; line-height: 1.1; margin: 0; }
.dashboard-title p:not(.eyebrow) { color: var(--muted); font-size: 16px; line-height: 1.65; margin: 10px 0 0; max-width: 820px; }
.dashboard-title-actions { display: flex; gap: 8px; }
.dashboard-metrics { display: grid; gap: 10px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 28px; }
.dashboard-metrics article { align-items: center; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--green); display: grid; gap: 13px; grid-template-columns: 48px minmax(0,1fr); min-height: 118px; padding: 16px; }
.dashboard-metrics article:nth-child(2) { border-top-color: var(--gold); }
.dashboard-metrics article:nth-child(3) { border-top-color: var(--coral); }
.dashboard-metrics article:nth-child(4) { border-top-color: var(--navy); }
.dashboard-metrics article > i { align-items: center; background: #eaf3e7; color: var(--green); display: flex; font-size: 19px; height: 46px; justify-content: center; width: 46px; }
.dashboard-metrics article:nth-child(2) > i { background: #fbf2d7; color: #8b6500; }
.dashboard-metrics article:nth-child(3) > i { background: #f9e9e7; color: var(--coral); }
.dashboard-metrics article:nth-child(4) > i { background: #e7eee5; color: var(--navy); }
.dashboard-metrics span, .dashboard-metrics strong, .dashboard-metrics small { display: block; }
.dashboard-metrics span { color: #5e6c61; font-size: 12px; font-weight: 950; text-transform: uppercase; }
.dashboard-metrics strong { color: var(--navy); font-size: 31px; margin-top: 4px; }
.dashboard-metrics small { color: var(--muted); font-size: 13px; line-height: 1.4; margin-top: 4px; }
.dashboard-grid { display: grid; gap: 14px; grid-template-columns: minmax(0,1.45fr) minmax(330px,.55fr); margin-top: 14px; }
.dashboard-panel { background: #fff; border: 1px solid var(--line); padding: 22px; }
.dashboard-panel-heading { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin-bottom: 18px; padding-bottom: 14px; }
.dashboard-panel-heading h2 { color: var(--navy); font-size: 21px; margin: 0; }
.dashboard-panel-heading > span { background: #edf4eb; color: #435148; font-size: 12px; font-weight: 950; padding: 7px 9px; text-transform: uppercase; }
.demand-bars { display: grid; gap: 13px; }
.demand-bars > div { align-items: center; display: grid; gap: 14px; grid-template-columns: minmax(220px,.85fr) minmax(240px,1.15fr); }
.demand-bars strong, .demand-bars small { display: block; }
.demand-bars strong { color: #35463a; font-size: 14px; }
.demand-bars small { color: #68746b; font-size: 12px; margin-top: 3px; }
.demand-bars meter { height: 18px; width: 100%; }
.demand-bars meter::-webkit-meter-bar { background: #e1e9df; border: 0; }
.demand-bars meter::-webkit-meter-optimum-value { background: var(--green); }
.stage-list { display: grid; gap: 8px; }
.stage-list > div { align-items: center; background: #f8faf7; border: 1px solid #e1e8df; display: grid; gap: 8px; grid-template-columns: 10px minmax(0,1fr) auto; min-height: 40px; padding: 8px; }
.stage-dot { background: var(--green); border-radius: 50%; height: 8px; width: 8px; }
.stage-list > div:nth-child(1) .stage-dot { background: var(--coral); }
.stage-list > div:nth-child(2) .stage-dot { background: var(--gold); }
.stage-list strong { color: #465549; font-size: 14px; }
.stage-list b { color: var(--navy); font-size: 16px; }
.priority-summary { border-left: 4px solid var(--gold); margin-top: 16px; padding: 8px 12px; }
.priority-summary span, .priority-summary strong { display: block; }
.priority-summary span { color: #657168; font-size: 12px; font-weight: 950; text-transform: uppercase; }
.priority-summary strong { color: var(--navy); font-size: 15px; margin-top: 5px; }
.recent-panel { margin-top: 14px; }
.dashboard-table-wrap { overflow-x: auto; }
.dashboard-table { border-collapse: collapse; min-width: 1080px; width: 100%; }
.dashboard-table th { background: #e8f1e6; color: #405046; font-size: 12px; padding: 13px 11px; text-align: left; text-transform: uppercase; }
.dashboard-table td { border-bottom: 1px solid var(--line); color: #48564d; font-size: 13px; line-height: 1.45; padding: 14px 11px; vertical-align: middle; }
.dashboard-table td > strong, .dashboard-table td > small { display: block; }
.dashboard-table td > strong { color: #34463a; font-size: 14px; }
.dashboard-table td > small { color: #69746c; font-size: 12px; margin-top: 4px; }
.score-badge { display: inline-block; font-size: 13px; padding: 6px 8px; }
.score-low { background: #f8e5e2; color: #8a251d; }
.score-watch { background: #fbf1d2; color: #785600; }
.score-good { background: #e6f2e3; color: #17612d; }
.table-action { color: var(--green); font-weight: 950; white-space: nowrap; }
.dashboard-empty { align-items: center; color: var(--muted); display: flex; flex-direction: column; justify-content: center; min-height: 220px; padding: 30px; text-align: center; }
.dashboard-empty i { color: #9aac9b; font-size: 34px; }
.dashboard-empty strong { color: var(--navy); font-size: 16px; margin-top: 10px; }
.dashboard-empty p { font-size: 14px; line-height: 1.55; max-width: 420px; }
.lower-grid { grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); }
.compact-list { display: grid; gap: 6px; }
.compact-list > div { align-items: center; border-bottom: 1px solid var(--line); display: flex; font-size: 14px; justify-content: space-between; padding: 11px 2px; }
.compact-list span { color: #526057; }
.compact-list b { color: var(--navy); }
.responsible-note { align-items: flex-start; display: flex; gap: 15px; }
.responsible-note i { align-items: center; background: #f8eadf; color: var(--coral); display: flex; flex: 0 0 auto; font-size: 22px; height: 54px; justify-content: center; width: 54px; }
.responsible-note p { color: var(--muted); font-size: 14px; line-height: 1.7; margin: 0; }
.dashboard-footer { background: #102b19; color: #d5e2d3; display: flex; flex-wrap: wrap; font-size: 12px; font-weight: 800; gap: 12px; justify-content: space-between; padding: 20px max(22px, calc((100vw - 1240px) / 2)); }

/* Company workspace readability: this private operational screen should never use preview-sized text. */
.company-login-page .eyebrow,
.intelligence-dashboard-page .eyebrow { font-size: 14px; }
.company-login-page .btn,
.intelligence-dashboard-page .btn { font-size: 15px; min-height: 46px; padding: 11px 16px; }
.company-login-brand span { font-size: 14px; }
.company-login-copy > p:not(.eyebrow) { font-size: 17px; }
.company-login-copy li { font-size: 16px; }
.company-login-form .form-heading strong { font-size: 20px; }
.company-login-form .form-heading small,
.company-login-form .form-field > span,
.company-login-back { font-size: 15px; }
.company-login-form .form-field input { font-size: 17px; }
.intelligence-dashboard-header span { font-size: 13px; }
.intelligence-dashboard-header strong { font-size: 20px; }
.dashboard-title h1 { font-size: 38px; }
.dashboard-title p:not(.eyebrow) { font-size: 17px; }
.dashboard-metrics article { min-height: 132px; padding: 19px; }
.dashboard-metrics span { font-size: 14px; }
.dashboard-metrics strong { font-size: 34px; }
.dashboard-metrics small { font-size: 15px; }
.dashboard-panel { padding: 26px; }
.dashboard-panel-heading h2 { font-size: 23px; }
.dashboard-panel-heading > span { font-size: 13px; }
.demand-bars strong,
.stage-list strong,
.compact-list > div,
.responsible-note p { font-size: 16px; }
.demand-bars small,
.priority-summary span { font-size: 14px; }
.stage-list b,
.priority-summary strong { font-size: 17px; }
.dashboard-table th { font-size: 14px; }
.dashboard-table td,
.score-badge { font-size: 15px; }
.dashboard-table td > strong { font-size: 16px; }
.dashboard-table td > small { font-size: 14px; }
.dashboard-empty strong { font-size: 18px; }
.dashboard-empty p { font-size: 16px; }
.dashboard-footer { font-size: 14px; }

.dashboard-header-actions { align-items: center; display: flex !important; gap: 8px; }
.dashboard-header-actions form { margin: 0; }
.dashboard-header-actions .btn { white-space: nowrap; }
.dashboard-notice { align-items: flex-start; background: #e8f6e5; border: 1px solid #a7cfa5; color: #185529; display: grid; font-size: 15px; font-weight: 800; gap: 10px; grid-template-columns: 20px minmax(0,1fr) 32px; line-height: 1.5; margin-bottom: 20px; padding: 13px 14px; }
.dashboard-notice.is-danger { background: #fff0ee; border-color: #e0aaa4; color: #84271d; }
.dashboard-notice.is-warning { background: #fff7df; border-color: #e6cb7d; color: #6b4d00; }
.dashboard-notice > i { margin-top: 3px; }
.dashboard-notice button { align-items: center; background: transparent; border: 0; color: inherit; cursor: pointer; display: flex; font-size: 18px; height: 30px; justify-content: center; width: 30px; }

.company-security-dialog { background: transparent; border: 0; margin: auto; max-height: calc(100vh - 30px); max-width: 980px; padding: 0; width: calc(100% - 30px); }
.company-security-dialog::backdrop { background: rgba(10,31,18,.78); backdrop-filter: blur(3px); }
.company-security-frame { background: #fff; border-top: 6px solid var(--gold); box-shadow: 0 28px 80px rgba(0,0,0,.38); max-height: calc(100vh - 30px); overflow-y: auto; scrollbar-color: #477e51 #e4ece2; scrollbar-width: auto; }
.company-security-frame::-webkit-scrollbar { width: 12px; }
.company-security-frame::-webkit-scrollbar-track { background: #e4ece2; }
.company-security-frame::-webkit-scrollbar-thumb { background: #477e51; border: 2px solid #e4ece2; }
.company-security-header { align-items: flex-start; background: #173e22; color: #fff; display: flex; justify-content: space-between; padding: 25px 28px; }
.company-security-header span { color: #f3cc54; display: block; font-size: 13px; font-weight: 950; text-transform: uppercase; }
.company-security-header h2 { font-size: 30px; margin: 6px 0 0; }
.company-security-header p { color: #d4e3d1; font-size: 15px; line-height: 1.5; margin: 7px 0 0; }
.company-security-close { align-items: center; background: #fff; border: 2px solid #fff; border-radius: 50%; color: #173e22; cursor: pointer; display: flex; flex: 0 0 auto; font-size: 20px; height: 42px; justify-content: center; width: 42px; }
.company-security-close:hover, .company-security-close:focus-visible { background: #f3cc54; border-color: #f3cc54; }
.company-security-tabs { background: #eef4ec; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 0 22px; }
.company-security-tabs button { align-items: center; background: transparent; border: 0; border-bottom: 4px solid transparent; color: #506056; cursor: pointer; display: flex; font-size: 14px; font-weight: 900; gap: 8px; justify-content: center; min-height: 58px; padding: 10px; }
.company-security-tabs button.is-active { background: #fff; border-bottom-color: var(--green); color: var(--navy); }
.company-security-tabs button i { color: var(--green); }
.company-security-content { padding: 28px; }
.company-security-content [data-security-panel][hidden] { display: none; }
.security-section-heading { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin-bottom: 16px; padding-bottom: 15px; }
.security-section-heading span { color: var(--coral); display: block; font-size: 13px; font-weight: 950; text-transform: uppercase; }
.security-section-heading h3 { color: var(--navy); font-size: 24px; margin: 5px 0 0; }
.security-section-heading > i { align-items: center; background: #e7f1e4; color: var(--green); display: flex; font-size: 22px; height: 50px; justify-content: center; width: 50px; }
.security-guidance { color: #536158; font-size: 15px; line-height: 1.65; margin: 0 0 20px; }
.security-form-grid { display: grid; gap: 15px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.security-form-grid .form-field > span, .security-inline-form .form-field > span { font-size: 14px; }
.security-form-grid .form-field input, .security-inline-form .form-field input { font-size: 16px; min-height: 48px; }
.security-form-grid .form-field small { color: #69766d; display: block; font-size: 13px; line-height: 1.45; margin-top: 6px; }
.password-requirements { align-items: flex-start; background: #f5f8f3; border-left: 4px solid var(--gold); color: #516057; display: flex; font-size: 14px; gap: 12px; line-height: 1.5; padding: 13px 14px; }
.password-requirements > i { color: #188242; font-size: 20px; margin-top: 2px; }
.password-requirements strong { color: var(--navy); display: block; font-size: 15px; }
.security-form-grid > .btn { justify-self: start; min-width: 240px; }
.session-evidence { border-top: 1px solid var(--line); margin: 0 0 22px; }
.session-evidence > div { border-bottom: 1px solid var(--line); display: grid; gap: 16px; grid-template-columns: 170px minmax(0,1fr); padding: 13px 4px; }
.session-evidence dt { color: #667269; font-size: 13px; font-weight: 950; text-transform: uppercase; }
.session-evidence dd { color: #35463a; font-size: 15px; font-weight: 750; margin: 0; overflow-wrap: anywhere; }
.security-status-live { color: #13713a; }
.security-status-live i { font-size: 8px; margin-right: 6px; }
.security-callout { align-items: flex-start; background: #eef5ec; border-left: 4px solid var(--green); display: flex; gap: 14px; margin-bottom: 18px; padding: 15px; }
.security-callout > i { color: var(--green); font-size: 25px; }
.security-callout strong { color: var(--navy); font-size: 16px; }
.security-callout p { color: #536158; font-size: 14px; line-height: 1.55; margin: 4px 0 0; }
.security-inline-form { align-items: end; border-top: 1px solid var(--line); display: grid; gap: 12px; grid-template-columns: minmax(260px,1fr) auto; padding-top: 18px; }
.btn.btn-danger { background: #a92f26; border-color: #a92f26; color: #fff; }
.btn.btn-danger:hover { background: #85251e; border-color: #85251e; }
.recovery-code-notice { align-items: flex-start; background: #fff3cf; border: 1px solid #e2c36b; color: #654900; display: flex; gap: 12px; margin-bottom: 16px; padding: 14px; }
.recovery-code-notice > i { font-size: 21px; }
.recovery-code-notice strong { color: #604600; display: block; font-size: 16px; }
.recovery-code-notice p { font-size: 14px; margin: 3px 0 0; }
.recovery-code-grid { background: #173e22; display: grid; gap: 1px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 20px; padding: 1px; }
.recovery-code-grid code { background: #fff; color: #173e22; font-size: 16px; font-weight: 900; padding: 13px; text-align: center; }
.recovery-code-summary { align-items: center; background: #f3f7f1; border: 1px solid var(--line); display: grid; gap: 6px 18px; grid-template-columns: minmax(0,1fr) auto; margin-bottom: 20px; padding: 18px; }
.recovery-code-summary span { color: #536158; font-size: 15px; font-weight: 850; }
.recovery-code-summary strong { color: var(--navy); font-size: 34px; grid-row: 1 / 3; grid-column: 2; }
.recovery-code-summary small { color: #6d786f; font-size: 13px; }
.security-history-wrap { border: 1px solid var(--line); overflow-x: auto; }
.security-history-table { border-collapse: collapse; min-width: 900px; width: 100%; }
.security-history-table th { background: #e9f1e7; color: #405046; font-size: 13px; padding: 12px; text-align: left; text-transform: uppercase; }
.security-history-table td { border-top: 1px solid var(--line); color: #526057; font-size: 14px; line-height: 1.45; padding: 13px 12px; vertical-align: top; }
.security-history-table td strong { color: var(--navy); font-size: 15px; }
.security-device-cell { max-width: 280px; overflow-wrap: anywhere; }
.security-outcome { display: inline-block; font-size: 12px; font-weight: 950; padding: 5px 7px; text-transform: uppercase; white-space: nowrap; }
.security-outcome.is-success { background: #e4f2e2; color: #17612d; }
.security-outcome.is-failed { background: #fae8e5; color: #8a251d; }
.security-history-empty { align-items: center; background: #f7faf6; color: #69766d; display: flex; flex-direction: column; min-height: 220px; padding: 30px; text-align: center; }
.security-history-empty > i { color: #91a691; font-size: 34px; }
.security-history-empty strong { color: var(--navy); font-size: 17px; margin-top: 10px; }
.security-history-empty p { font-size: 14px; margin: 7px 0 0; }

.metric-card-link { color: var(--green); display: inline-flex; font-size: 12px; font-weight: 950; gap: 6px; margin-top: 8px; text-decoration: none; }
.metric-card-link:hover { color: var(--navy); }
.demo-request-panel { margin-top: 14px; scroll-margin-top: 18px; }
.demo-queue-heading { align-items: flex-end; }
.demo-queue-heading p:not(.eyebrow) { color: var(--muted); font-size: 15px; line-height: 1.5; margin: 6px 0 0; }
.demo-status-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.demo-status-filters a { align-items: center; background: #f3f7f1; border: 1px solid var(--line); color: #526057; display: inline-flex; font-size: 14px; font-weight: 900; gap: 10px; min-height: 40px; padding: 8px 11px; text-decoration: none; }
.demo-status-filters a b { align-items: center; background: #fff; border-radius: 50%; color: var(--navy); display: inline-flex; font-size: 12px; height: 24px; justify-content: center; min-width: 24px; padding: 0 5px; }
.demo-status-filters a.is-active { background: var(--navy); border-color: var(--navy); color: #fff; }
.demo-status-filters a.is-active b { background: #f3cc54; }
.demo-request-table { min-width: 1040px; }
.demo-request-table td > small { display: block; }
.demo-area-list { display: flex; flex-wrap: wrap; gap: 5px; }
.demo-area-list span { background: #edf4eb; color: #3f5845; font-size: 11px; font-weight: 900; padding: 4px 6px; }
.demo-status { align-items: center; display: inline-flex; font-size: 12px; font-weight: 950; gap: 6px; padding: 6px 8px; text-transform: uppercase; white-space: nowrap; }
.demo-status i { font-size: 7px; }
.demo-status.is-new { background: #e7f0f8; color: #235b82; }
.demo-status.is-contacted { background: #fff2cc; color: #705400; }
.demo-status.is-scheduled { background: #e4f2e2; color: #17612d; }
.demo-status.is-closed { background: #e9ece9; color: #4c5950; }
.table-action-button { align-items: center; background: var(--navy); border: 1px solid var(--navy); color: #fff; cursor: pointer; display: inline-flex; font-size: 13px; font-weight: 900; gap: 7px; min-height: 38px; padding: 8px 11px; }
.table-action-button:hover { background: var(--green); border-color: var(--green); }
.demo-queue-limit { color: var(--muted); font-size: 13px; margin: 14px 0 0; }
.demo-queue-limit i { color: var(--green); margin-right: 5px; }

.demo-request-dialog { background: transparent; border: 0; margin: auto; max-height: calc(100vh - 30px); max-width: 920px; padding: 0; width: calc(100% - 30px); }
.demo-request-dialog::backdrop { background: rgba(10,31,18,.78); backdrop-filter: blur(3px); }
.demo-request-frame { background: #fff; border-top: 6px solid var(--gold); box-shadow: 0 28px 80px rgba(0,0,0,.38); max-height: calc(100vh - 30px); overflow-y: auto; scrollbar-color: #477e51 #e4ece2; scrollbar-width: auto; }
.demo-request-frame::-webkit-scrollbar { width: 12px; }
.demo-request-frame::-webkit-scrollbar-track { background: #e4ece2; }
.demo-request-frame::-webkit-scrollbar-thumb { background: #477e51; border: 2px solid #e4ece2; }
.demo-request-header { align-items: flex-start; background: #173e22; color: #fff; display: flex; justify-content: space-between; padding: 25px 28px; }
.demo-request-header span { color: #f3cc54; display: block; font-size: 13px; font-weight: 950; text-transform: uppercase; }
.demo-request-header h2 { font-size: 29px; margin: 6px 0 0; }
.demo-request-header p { color: #d4e3d1; font-size: 15px; font-weight: 800; margin: 7px 0 0; }
.demo-request-content { padding: 26px 28px 30px; }
.demo-request-summary { background: #edf4eb; border-left: 5px solid var(--green); display: grid; gap: 1px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 20px; }
.demo-request-summary > div { background: #f8faf7; padding: 14px; }
.demo-request-summary span { color: #68756c; display: block; font-size: 12px; font-weight: 950; text-transform: uppercase; }
.demo-request-summary strong { color: var(--navy); display: block; font-size: 15px; margin-top: 5px; }
.demo-detail-grid { display: grid; gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.demo-detail-grid > section, .demo-focus-section, .demo-action-section { border: 1px solid var(--line); padding: 18px; }
.demo-detail-heading { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 12px; margin-bottom: 12px; padding-bottom: 12px; }
.demo-detail-heading > i { align-items: center; background: #e8f2e5; color: var(--green); display: flex; flex: 0 0 auto; font-size: 18px; height: 40px; justify-content: center; width: 40px; }
.demo-detail-heading span { color: var(--coral); display: block; font-size: 11px; font-weight: 950; text-transform: uppercase; }
.demo-detail-heading h3 { color: var(--navy); font-size: 18px; margin: 3px 0 0; }
.demo-detail-grid dl { margin: 0; }
.demo-detail-grid dl > div { border-bottom: 1px solid #e6ece4; display: grid; gap: 10px; grid-template-columns: 130px minmax(0,1fr); padding: 9px 0; }
.demo-detail-grid dt { color: #6a766d; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.demo-detail-grid dd { color: #35463a; font-size: 14px; font-weight: 800; margin: 0; overflow-wrap: anywhere; }
.demo-contact-actions { display: flex; gap: 8px; margin-top: 13px; }
.demo-focus-section, .demo-action-section { margin-top: 18px; }
.demo-modal-areas { display: flex; flex-wrap: wrap; gap: 7px; }
.demo-modal-areas span { background: #173e22; color: #fff; font-size: 13px; font-weight: 900; padding: 7px 9px; }
.demo-request-message { background: #f7faf6; border-left: 4px solid var(--gold); margin-top: 14px; padding: 13px 15px; }
.demo-request-message span { color: #68756c; display: block; font-size: 11px; font-weight: 950; text-transform: uppercase; }
.demo-request-message p { color: #3f5044; font-size: 15px; line-height: 1.6; margin: 6px 0 0; white-space: pre-line; }
.demo-follow-up-evidence { background: #fff8e7; border: 1px solid #e7d197; display: grid; gap: 18px; grid-template-columns: minmax(200px,.6fr) minmax(0,1.4fr); margin-top: 18px; padding: 15px; }
.demo-follow-up-evidence span { color: #755900; display: block; font-size: 11px; font-weight: 950; text-transform: uppercase; }
.demo-follow-up-evidence strong, .demo-follow-up-evidence p { color: #4f420f; font-size: 14px; line-height: 1.5; margin: 5px 0 0; }
.demo-action-form { display: grid; gap: 13px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.demo-action-form .form-field > span { font-size: 13px; }
.demo-action-form .form-field select, .demo-action-form .form-field input, .demo-action-form .form-field textarea { font-size: 15px; }
.demo-action-form > .btn { justify-self: start; min-width: 235px; }

.brief-subscriber-panel { margin-top: 14px; }
.brief-queue-heading { align-items: flex-start; }
.brief-queue-heading p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.55; margin: 7px 0 0; max-width: 850px; }
.brief-subscriber-summary { display: grid; gap: 10px; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0 0 16px; }
.brief-subscriber-summary article { background: #f7faf6; border: 1px solid #dce6da; border-left: 4px solid var(--green); min-height: 88px; padding: 13px 14px; }
.brief-subscriber-summary article:nth-child(2) { border-left-color: var(--gold); }
.brief-subscriber-summary article:nth-child(3) { border-left-color: var(--navy); }
.brief-subscriber-summary article.is-alert { border-left-color: var(--coral); }
.brief-subscriber-summary span, .brief-subscriber-summary strong, .brief-subscriber-summary small { display: block; }
.brief-subscriber-summary span { color: #657269; font-size: 11px; font-weight: 950; text-transform: uppercase; }
.brief-subscriber-summary strong { color: var(--navy); font-size: 26px; margin-top: 3px; }
.brief-subscriber-summary small { color: #68756c; font-size: 12px; margin-top: 3px; }
.brief-subscriber-filters { align-items: end; background: #edf4eb; display: grid; gap: 10px; grid-template-columns: minmax(180px,.65fr) minmax(230px,1fr) auto auto; margin-bottom: 16px; padding: 13px; }
.brief-subscriber-filters label > span { color: #4b5b50; display: block; font-size: 11px; font-weight: 950; margin-bottom: 5px; text-transform: uppercase; }
.brief-subscriber-filters select { background: #fff; border: 1px solid #b9cbb7; color: #26392c; font-size: 14px; min-height: 42px; padding: 8px 10px; width: 100%; }
.brief-subscriber-filters .btn { min-height: 42px; white-space: nowrap; }
.brief-subscriber-table { min-width: 1240px; }
.brief-topic-list { display: flex; flex-wrap: wrap; gap: 4px; }
.brief-topic-list span { background: #edf4eb; color: #3f5845; font-size: 11px; font-weight: 850; padding: 4px 6px; }
.brief-status { align-items: center; display: inline-flex; font-size: 11px; font-weight: 950; gap: 6px; padding: 6px 8px; text-transform: uppercase; white-space: nowrap; }
.brief-status i { font-size: 7px; }
.brief-status.is-active { background: #e4f2e2; color: #17612d; }
.brief-status.is-pending { background: #fff2cc; color: #705400; }
.brief-status.is-paused { background: #e7f0f8; color: #235b82; }
.brief-status.is-unsubscribed { background: #e9ece9; color: #4c5950; }
.brief-delivery { align-items: center; color: #17612d; display: inline-flex; font-size: 12px; font-weight: 900; gap: 6px; }
.brief-delivery.is-failed { color: #982a20; }
.brief-awaiting { color: #715600; font-size: 12px; font-weight: 900; white-space: nowrap; }
.brief-awaiting i { margin-right: 5px; }
.brief-status-form { align-items: center; display: flex; gap: 5px; }
.brief-status-form select { background: #fff; border: 1px solid #b9cbb7; color: #2c3e31; font-size: 12px; min-height: 36px; padding: 6px; }
.brief-status-form button { align-items: center; background: var(--navy); border: 0; color: #fff; cursor: pointer; display: flex; height: 36px; justify-content: center; width: 36px; }
.brief-status-form button:hover { background: var(--green); }

.brief-publisher-panel { margin-top: 14px; padding: 0; overflow: hidden; }
.brief-publisher-heading { align-items: flex-start; background: #173e22; border: 0; margin: 0; padding: 24px; }
.brief-publisher-heading h2 { color: #fff; font-size: 25px; }
.brief-publisher-heading .eyebrow { color: #f3cc54; }
.brief-publisher-heading p:not(.eyebrow) { color: #c9dbc6; font-size: 14px; line-height: 1.6; margin: 8px 0 0; max-width: 820px; }
.brief-process-form .btn { background: transparent; border-color: rgba(255,255,255,.35); color: #fff; white-space: nowrap; }
.brief-process-form .btn:hover { background: #fff; color: #173e22; }
.brief-publisher-metrics { background: #edf4eb; display: grid; gap: 1px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.brief-publisher-metrics article { align-items: center; background: #f9fbf8; display: grid; gap: 4px 11px; grid-template-columns: 40px minmax(0,1fr); min-height: 96px; padding: 15px 18px; }
.brief-publisher-metrics article > i { align-items: center; background: #e3efe0; color: #246a34; display: flex; font-size: 17px; grid-row: 1 / 4; height: 40px; justify-content: center; width: 40px; }
.brief-publisher-metrics article:nth-child(2) > i { background: #fff3d2; color: #846100; }
.brief-publisher-metrics article:nth-child(3) > i { background: #e7edef; color: #173e22; }
.brief-publisher-metrics article:nth-child(4) > i { background: #f9e6e7; color: #9b1f2f; }
.brief-publisher-metrics span, .brief-publisher-metrics strong, .brief-publisher-metrics small { display: block; }
.brief-publisher-metrics span { color: #647168; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.brief-publisher-metrics strong { color: #173e22; font-size: 24px; line-height: 1; }
.brief-publisher-metrics small { color: #738078; font-size: 11px; }
.brief-publisher-layout { display: grid; grid-template-columns: minmax(0,1fr) 285px; }
.brief-campaign-form { min-width: 0; padding: 24px; }
.brief-form-title { align-items: center; border-bottom: 1px solid #dce6da; display: grid; gap: 12px; grid-template-columns: 44px minmax(0,1fr) auto; margin-bottom: 20px; padding-bottom: 16px; }
.brief-form-title > span { align-items: center; background: #173e22; color: #fff; display: flex; font-size: 18px; height: 44px; justify-content: center; width: 44px; }
.brief-form-title strong, .brief-form-title small { display: block; }
.brief-form-title strong { color: #173e22; font-size: 17px; }
.brief-form-title small { color: #68756c; font-size: 12px; margin-top: 3px; }
.brief-form-title button { background: #f8ecec; border: 1px solid #e2b7bb; color: #8d2430; cursor: pointer; font-size: 12px; font-weight: 900; min-height: 36px; padding: 7px 10px; }
.brief-form-grid { display: grid; gap: 13px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.brief-form-grid .span-2 { grid-column: 1 / -1; }
.brief-form-grid .form-field > span, .brief-delivery-options .form-field > span { color: #35463a; font-size: 13px; font-weight: 900; }
.brief-form-grid input, .brief-form-grid textarea, .brief-delivery-options input { background: #f9fbf8; border: 1px solid #bfcfbc; color: #273a2c; font: inherit; font-size: 15px; min-height: 45px; padding: 11px 12px; width: 100%; }
.brief-form-grid textarea { line-height: 1.6; resize: vertical; }
.brief-form-grid input:focus, .brief-form-grid textarea:focus, .brief-delivery-options input:focus { border-color: #2f7a3e; box-shadow: 0 0 0 3px rgba(47,122,62,.14); outline: 0; }
.brief-form-grid .form-field small, .brief-delivery-options .form-field small { color: #748079; display: block; font-size: 11px; margin-top: 5px; }
.brief-choice-group { border: 1px solid #d9e4d7; margin: 18px 0 0; padding: 15px; }
.brief-choice-group legend { color: #173e22; font-size: 13px; font-weight: 950; padding: 0 7px; }
.brief-choice-group > p { color: #6b786f; font-size: 11px; margin: 0 0 11px; }
.brief-choice-grid { display: grid; gap: 7px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.brief-choice-grid.is-roles { grid-template-columns: repeat(4,minmax(0,1fr)); }
.brief-choice-grid label { cursor: pointer; min-width: 0; position: relative; }
.brief-choice-grid input { opacity: 0; position: absolute; }
.brief-choice-grid label > span { align-items: center; background: #f8faf7; border: 1px solid #d5e0d3; color: #526158; display: flex; font-size: 11px; font-weight: 850; gap: 7px; min-height: 42px; padding: 8px; }
.brief-choice-grid label i { align-items: center; border: 1px solid #b9c9b6; color: transparent; display: flex; flex: 0 0 auto; height: 20px; justify-content: center; width: 20px; }
.brief-choice-grid input:checked + span { background: #e7f2e4; border-color: #2f7a3e; color: #173e22; }
.brief-choice-grid input:checked + span i { background: #2f7a3e; border-color: #2f7a3e; color: #fff; }
.brief-choice-grid input:focus-visible + span { outline: 3px solid rgba(47,122,62,.18); outline-offset: 2px; }
.brief-audience-estimate { align-items: center; background: #fff5d8; border-left: 4px solid #a97813; display: grid; gap: 13px; grid-template-columns: 42px minmax(0,1fr); margin-top: 16px; padding: 13px 15px; }
.brief-audience-estimate > i { align-items: center; background: #173e22; color: #f3cc54; display: flex; height: 42px; justify-content: center; width: 42px; }
.brief-audience-estimate span, .brief-audience-estimate strong, .brief-audience-estimate small { display: block; }
.brief-audience-estimate span { color: #715600; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.brief-audience-estimate strong { color: #3f370e; font-size: 16px; margin-top: 3px; }
.brief-audience-estimate small { color: #71683d; font-size: 11px; margin-top: 3px; }
.brief-delivery-options { display: grid; gap: 13px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 18px; }
.brief-delivery-options input[type="file"] { padding: 8px; }
.brief-existing-attachment { background: #e7f2e4; color: #245b30 !important; display: block; font-size: 11px !important; font-weight: 900; margin-top: 6px; padding: 7px; }
.brief-form-actions { align-items: center; border-top: 1px solid #dce6da; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; padding-top: 17px; }
.brief-form-actions .btn { min-height: 42px; }
.brief-publisher-guide { background: #173e22; display: grid; gap: 1px; padding: 1px 0; }
.brief-publisher-guide > div { background: rgba(255,255,255,.045); padding: 20px; }
.brief-publisher-guide i { color: #f3cc54; font-size: 18px; }
.brief-publisher-guide strong { color: #fff; display: block; font-size: 14px; margin-top: 10px; }
.brief-publisher-guide p { color: #c7d8c4; font-size: 12px; line-height: 1.55; margin: 6px 0 0; }
.brief-campaign-history { border-top: 1px solid #dce6da; padding: 24px; }
.brief-history-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 14px; }
.brief-history-heading span { color: #9b1f2f; display: block; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.brief-history-heading h3 { color: #173e22; font-size: 19px; margin: 4px 0 0; }
.brief-history-heading > small { color: #6c786f; font-size: 11px; }
.brief-campaign-table { min-width: 1100px; }
.brief-campaign-table td:first-child { min-width: 275px; }
.brief-campaign-table .brief-topic-list { margin-top: 7px; }
.brief-campaign-status { align-items: center; background: #e9ece9; color: #4c5950; display: inline-flex; font-size: 11px; font-weight: 950; gap: 6px; padding: 6px 8px; text-transform: uppercase; }
.brief-campaign-status i { font-size: 7px; }
.brief-campaign-status.is-sent { background: #e4f2e2; color: #17612d; }
.brief-campaign-status.is-scheduled { background: #fff2cc; color: #705400; }
.brief-campaign-status.is-queued, .brief-campaign-status.is-sending { background: #e4edf6; color: #235b82; }
.brief-campaign-status.is-partial, .brief-campaign-status.is-failed { background: #f8e4e4; color: #922530; }
.brief-failure-reason { color: #922530 !important; max-width: 220px; }
.brief-campaign-controls { display: flex; flex-wrap: wrap; gap: 5px; }
.brief-campaign-controls form { margin: 0; }
.brief-campaign-controls button { align-items: center; background: #edf4eb; border: 1px solid #cbd9c8; color: #294732; cursor: pointer; display: inline-flex; font-size: 11px; font-weight: 900; gap: 5px; min-height: 34px; padding: 6px 8px; }
.brief-campaign-controls button:hover { background: #173e22; border-color: #173e22; color: #fff; }
.brief-preview-dialog { background: transparent; border: 0; max-height: calc(100vh - 24px); max-width: 720px; padding: 0; width: calc(100% - 24px); }
.brief-preview-dialog::backdrop { background: rgba(10,30,16,.75); }
.brief-preview-frame { background: #fff; border-top: 6px solid #c80024; max-height: calc(100vh - 24px); overflow-y: auto; }
.brief-preview-frame > header { align-items: flex-start; background: #173e22; color: #fff; display: flex; justify-content: space-between; padding: 24px 28px; }
.brief-preview-frame > header span { color: #f3cc54; display: block; font-size: 11px; font-weight: 950; text-transform: uppercase; }
.brief-preview-frame > header h2 { color: #fff; font-size: 26px; margin: 7px 0 0; }
.brief-preview-frame > header button { align-items: center; background: #fff; border: 0; color: #173e22; cursor: pointer; display: flex; height: 38px; justify-content: center; width: 38px; }
.brief-preview-content { padding: 28px; }
.brief-preview-content > p { color: #607066; font-size: 16px; line-height: 1.65; margin: 0 0 20px; }
.brief-preview-content > article { color: #35463a; font-size: 16px; line-height: 1.75; white-space: pre-line; }
.brief-preview-content > a { background: #c80024; color: #fff; display: inline-block; font-weight: 900; margin-top: 20px; padding: 13px 18px; text-decoration: none; }
.brief-preview-topics { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 24px; }
.brief-preview-topics span { background: #edf4eb; color: #34503b; font-size: 11px; font-weight: 900; padding: 6px 8px; }
.brief-preview-frame > footer { background: #f3f7f1; color: #627067; font-size: 12px; line-height: 1.5; padding: 16px 28px; }
.brief-preview-frame > footer i { color: #2f7a3e; margin-right: 6px; }

.brochure-download-panel { margin-top: 14px; }
.brochure-download-heading > div > p:last-child { color: var(--muted); font-size: 15px; line-height: 1.55; margin: 7px 0 0; max-width: 780px; }
.brochure-download-heading > .table-action { background: #edf4eb; padding: 9px 11px; }
.brochure-download-summary { display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 18px; }
.brochure-download-summary article { align-items: center; background: #f7faf6; border: 1px solid var(--line); border-left: 4px solid var(--green); display: grid; gap: 4px 12px; grid-template-columns: 42px minmax(0,1fr); min-height: 94px; padding: 13px; }
.brochure-download-summary article:nth-child(2) { border-left-color: var(--coral); }
.brochure-download-summary article:nth-child(3) { border-left-color: var(--gold); }
.brochure-download-summary article > i { align-items: center; background: #e8f1e6; color: var(--green); display: flex; font-size: 18px; grid-row: 1 / 4; height: 42px; justify-content: center; width: 42px; }
.brochure-download-summary article:nth-child(2) > i { background: #f9e9e7; color: var(--coral); }
.brochure-download-summary article:nth-child(3) > i { background: #fbf2d7; color: #816000; }
.brochure-download-summary span, .brochure-download-summary strong, .brochure-download-summary small { display: block; }
.brochure-download-summary span { color: #5e6c61; font-size: 13px; font-weight: 950; text-transform: uppercase; }
.brochure-download-summary strong { color: var(--navy); font-size: 27px; }
.brochure-download-summary small { color: var(--muted); font-size: 13px; }
.brochure-download-table { min-width: 760px; }

@media (max-width: 980px) {
    .advisor-hero-inner, .assessment-layout, .proposal-summary, .dashboard-grid, .lower-grid { grid-template-columns: 1fr; }
    .advisor-hero-mark { min-height: 170px; }
    .assessment-progress { position: static; }
    .assessment-progress ol { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .assessment-progress li { border-left: 0; border-top: 2px solid #dbe5d8; min-height: 78px; padding: 12px 6px 4px; }
    .live-score { display: inline-block; margin-right: 10px; vertical-align: top; width: calc(50% - 8px); }
    .assessment-privacy { border: 1px solid var(--line); display: inline-flex; margin-top: 20px; min-height: 106px; padding: 14px; vertical-align: top; width: calc(50% - 8px); }
    .score-panel { border-bottom: 1px solid var(--line); border-right: 0; }
    .dashboard-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .company-login-panel { grid-template-columns: 1fr; }
    .company-login-copy, .company-login-form { padding: 34px; }
    .brief-subscriber-summary, .brief-publisher-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .brief-subscriber-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .brief-publisher-layout { grid-template-columns: 1fr; }
    .brief-publisher-guide { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .brief-choice-grid.is-roles { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .brief-delivery-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .brochure-download-summary { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .advisor-hero { padding: 44px 18px; }
    .advisor-hero h1 { font-size: 36px; }
    .advisor-hero-mark { display: none; }
    .assessment-section { padding-inline: 14px; }
    .assessment-progress ol { grid-template-columns: 1fr; }
    .assessment-progress li { border-left: 2px solid #dbe5d8; border-top: 0; min-height: 58px; padding: 6px 0 6px 12px; }
    .live-score, .assessment-privacy { display: flex; margin: 16px 0 0; width: 100%; }
    .live-score { display: block; }
    .assessment-form { padding: 20px 16px; }
    .assessment-grid, .priority-selector > div, .readiness-options, .summary-copy dl, .readiness-breakdown-grid, .implementation-timeline { grid-template-columns: 1fr; }
    .assessment-form .span-2 { grid-column: auto; }
    .readiness-question { padding: 12px; }
    .assessment-actions { grid-template-columns: 1fr 1fr; }
    .assessment-actions > span { display: none; }
    .proposal-nav { grid-template-columns: minmax(0,1fr) auto; }
    .proposal-nav-label { display: none; }
    .proposal-nav .site-nav-actions .btn-quiet { display: none; }
    .proposal-shell { padding: 16px 8px 40px; }
    .proposal-cover, .proposal-section, .proposal-next-step { padding: 26px 20px; }
    .proposal-cover-grid, .proposal-section-heading, .proposal-next-step { grid-template-columns: 1fr; }
    .proposal-cover h1 { font-size: 32px; }
    .proposal-reference { min-width: 0; }
    .proposal-brand { align-items: flex-start; flex-direction: column; gap: 12px; }
    .recommendation-list article { align-items: start; grid-template-columns: 28px 32px minmax(0,1fr); }
    .recommendation-list em { grid-column: 3; justify-self: start; }
    .proposal-footer { align-items: flex-start; flex-direction: column; }
    .company-login-shell { padding: 14px; }
    .company-login-panel { min-height: 0; }
    .company-login-brand { align-items: flex-start; flex-direction: column; gap: 10px; }
    .company-login-copy, .company-login-form { padding: 26px 20px; }
    .company-login-copy h1 { font-size: 32px; }
    .intelligence-dashboard-header { grid-template-columns: minmax(100px,1fr) auto; }
    .intelligence-dashboard-header > div { display: none; }
    .intelligence-dashboard-header .dashboard-header-actions { display: flex !important; }
    .dashboard-header-actions .btn { font-size: 0; min-width: 44px; padding-inline: 12px; }
    .dashboard-header-actions .btn i { font-size: 16px; margin: 0; }
    .intelligence-dashboard-shell { padding-inline: 14px; }
    .dashboard-title { align-items: start; grid-template-columns: 1fr; }
    .dashboard-title-actions { flex-wrap: wrap; }
    .dashboard-metrics { grid-template-columns: 1fr; }
    .demand-bars > div { grid-template-columns: 1fr; }
    .dashboard-title h1 { font-size: 34px; }
    .dashboard-panel { padding: 22px 18px; }
    .dashboard-panel-heading { align-items: flex-start; gap: 10px; }
    .company-security-dialog { max-height: calc(100vh - 12px); width: calc(100% - 12px); }
    .company-security-frame { max-height: calc(100vh - 12px); }
    .company-security-header { padding: 21px 18px; }
    .company-security-header h2 { font-size: 27px; }
    .company-security-tabs { display: flex; overflow-x: auto; padding: 0 8px; }
    .company-security-tabs button { flex: 0 0 auto; font-size: 13px; min-width: 130px; }
    .company-security-content { padding: 22px 16px; }
    .security-section-heading h3 { font-size: 21px; }
    .security-form-grid { grid-template-columns: 1fr; }
    .security-form-grid .span-2 { grid-column: auto; }
    .security-form-grid > .btn { justify-self: stretch; min-width: 0; }
    .session-evidence > div { grid-template-columns: 1fr; gap: 5px; }
    .security-inline-form { grid-template-columns: 1fr; }
    .recovery-code-grid { grid-template-columns: 1fr; }
    .demo-queue-heading { align-items: flex-start; }
    .demo-status-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .demo-status-filters a { justify-content: space-between; }
    .demo-request-dialog { max-height: calc(100vh - 12px); width: calc(100% - 12px); }
    .demo-request-frame { max-height: calc(100vh - 12px); }
    .demo-request-header { padding: 21px 18px; }
    .demo-request-header h2 { font-size: 25px; }
    .demo-request-content { padding: 20px 14px 24px; }
    .demo-request-summary, .demo-detail-grid, .demo-follow-up-evidence, .demo-action-form { grid-template-columns: 1fr; }
    .demo-detail-grid dl > div { grid-template-columns: 1fr; gap: 4px; }
    .demo-contact-actions { flex-direction: column; }
    .demo-action-form .span-2 { grid-column: auto; }
    .demo-action-form > .btn { justify-self: stretch; min-width: 0; }
    .brief-subscriber-summary, .brief-subscriber-filters, .brief-publisher-metrics, .brief-form-grid, .brief-choice-grid, .brief-choice-grid.is-roles, .brief-delivery-options, .brief-publisher-guide { grid-template-columns: 1fr; }
    .brief-form-grid .span-2 { grid-column: auto; }
    .brief-publisher-heading { gap: 16px; }
    .brief-publisher-heading, .brief-history-heading { align-items: flex-start; flex-direction: column; }
    .brief-form-title { grid-template-columns: 42px minmax(0,1fr); }
    .brief-form-title button { grid-column: 1 / -1; }
    .brief-form-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .brief-form-actions .btn { width: 100%; }
}

@media print {
    @page { margin: 12mm; size: A4 portrait; }
    .no-print { display: none !important; }
    .proposal-page { background: #fff; }
    .proposal-shell { padding: 0; }
    .proposal-document { border: 0; box-shadow: none; max-width: none; }
    .proposal-cover { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .proposal-section, .proposal-summary, .proposal-next-step { break-inside: avoid; }
    .recommendation-list article, .readiness-breakdown-grid article, .implementation-timeline article { break-inside: avoid; }
    .proposal-next-step { background: #7e251f !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
