:root { --navy:#17324d; --blue:#246b9e; --surface:#f4f7fa; --line:#d7dee5; }
html,body { margin:0; font-family:"Segoe UI",system-ui,sans-serif; color:#25394c; background:var(--surface); font-size:14px; }
a { color:var(--blue); } h1 { font-size:1.9rem; font-weight:650; } h2 { font-size:1.3rem; } h3 { font-size:1.15rem; }
.btn { min-height:38px; padding:7px 16px; border-radius:5px; font-weight:600; }
.btn-primary { --bs-btn-bg:var(--blue); --bs-btn-border-color:var(--blue); --bs-btn-hover-bg:#1c577f; --bs-btn-hover-border-color:#1c577f; }
.btn-outline-primary { --bs-btn-color:var(--blue); --bs-btn-border-color:var(--blue); }
.form-control { min-height:38px; border-color:#becbd7; } .form-control:focus { border-color:var(--blue); box-shadow:0 0 0 .2rem #246b9e25; }
.desktop-menu { padding:8px 22px; background:white; display:flex; flex-wrap:wrap; gap:25px; border-bottom:1px solid var(--line); }
.desktop-menu a { color:#25394c; text-decoration:none; padding:3px 0; } .desktop-menu a:hover { text-decoration:underline; }
.agency-header { background:var(--navy); color:white; padding:22px 26px; display:flex; justify-content:space-between; gap:20px; align-items:center; }
.agency-name { font-size:21px; font-weight:600; letter-spacing:.035em; } .agency-user { color:#c9d9e8; margin-top:4px; }
.header-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; } .header-actions form { margin:0; }
.workspace { padding:26px; flex:1; max-width:1800px; } .workspace-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.eyebrow,.account-kicker { font-size:11px; font-weight:700; letter-spacing:.14em; margin-bottom:8px; }
.foundation-note { background:#eaf2f8; border:1px solid #cbdde9; color:#34536f; }
.workspace-card { display:flex; flex-direction:column; height:100%; padding:22px; background:white; border:1px solid var(--line); border-top:3px solid var(--blue); border-radius:6px; text-decoration:none; color:inherit; }
.workspace-card:hover { border-color:var(--blue); box-shadow:0 3px 14px #17324d0c; }
.card-label { font-size:19px; font-weight:650; } .card-description { color:#657789; margin:8px 0 25px; } .card-link { color:var(--blue); font-weight:600; margin-top:auto; }
.workspace-panel { background:white; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.panel-tabs { display:flex; border-bottom:1px solid var(--line); background:#f8fafc; gap:5px; padding:0 16px; }
.panel-tabs>* { padding:14px 18px; text-decoration:none; color:#52697c; } .panel-tabs .active { color:var(--navy); font-weight:650; border-bottom:3px solid var(--blue); }
.panel-body { padding:24px; } .empty-state { text-align:center; padding:45px 20px; color:#657789; } .empty-state h3 { color:#34536f; } .empty-symbol { margin:auto auto 16px; border-radius:50%; width:44px; height:44px; background:#edf3f8; display:grid; place-items:center; font-size:22px; }
.search-toolbar { display:flex; gap:12px; align-items:flex-end; padding:22px; } .result-summary { padding:10px 22px; background:#f8fafc; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:#657789; font-size:12px; }
.table>thead>tr>th { background:#f2f5f8; color:#425466; font-size:12px; white-space:nowrap; padding:13px 18px; } .table>tbody>tr>td { padding:14px 18px; border-color:#e8edf2; }
.status-pill { background:#edf3f8; padding:4px 9px; border-radius:4px; font-size:12px; color:#34536f; }
.status-bar { background:white; border-top:1px solid var(--line); padding:10px 26px; display:flex; gap:16px; justify-content:space-between; color:#657789; font-size:12px; }
.account-body { min-height:100vh; display:grid; place-items:center; padding:32px; background:#eaf0f5; }
.account-shell { display:grid; grid-template-columns:1fr 1fr; width:min(960px,100%); box-shadow:0 16px 60px #17324d12; border-radius:12px; overflow:hidden; background:white; }
.account-brand { background:var(--navy); color:white; padding:55px 42px; display:flex; flex-direction:column; align-items:flex-start; }
.brand-mark { width:56px; height:56px; border:1px solid #ffffff55; display:grid; place-items:center; border-radius:10px; font-family:Georgia,serif; font-size:36px; margin-bottom:52px; }
.account-brand h2 { font-size:36px; font-weight:600; line-height:1.2; margin:15px 0 24px; }.account-brand>p:not(.account-kicker) { color:#c9d9e8; max-width:270px; line-height:1.7; }
.account-product { font-size:12px; margin-top:auto; padding-top:70px; color:#c9d9e8; }.account-form { padding:58px 42px; align-self:center; }.account-form>p { line-height:1.65; margin-bottom:24px; }.account-form .account-kicker { color:var(--blue); }
:focus-visible { outline:3px solid #a17413; outline-offset:3px; }
/* FocusOnNavigate keeps the page heading accessible without drawing a box around it. */
h1:focus { outline:none; }
@media(max-width:800px) { .agency-header { align-items:flex-start; flex-direction:column; } .agency-name { font-size:18px; } .workspace { padding:18px; } .account-shell { grid-template-columns:1fr; max-width:480px; } .account-brand { padding:25px 30px; } .brand-mark,.account-product,.account-brand>p:not(.account-kicker) { display:none; } .account-brand h2 { font-size:24px; margin:8px 0 0; } .account-form { padding:32px 28px; } .account-body { padding:18px; } .search-toolbar { flex-wrap:wrap; } .search-toolbar>div { width:100%; } .status-bar { flex-direction:column; gap:4px; } }
/* Persistent agency navigation follows the supplied product-guide layout direction. */
.desktop-shell { flex-direction:row; }
.left-navigation { width:246px; flex:0 0 246px; background:#122b42; color:#c9d9e8; min-height:100vh; display:flex; flex-direction:column; }
.sidebar-brand { min-height:99px; display:flex; gap:12px; align-items:center; color:white; text-decoration:none; padding:20px; border-bottom:1px solid #ffffff15; font-size:23px; letter-spacing:.02em; }
.sidebar-monogram { border:1px solid #90a9bc66; border-radius:8px; width:38px; height:42px; display:grid; place-items:center; font-family:Georgia,serif; font-size:31px; }
.sidebar-brand small { display:block; font-size:7px; letter-spacing:.09em; color:#9eb5c9; margin-top:4px; }
.navigation-disclosure { padding:16px 12px; }.navigation-disclosure summary { padding:8px 9px; font-size:12px; color:#a9c0d3; cursor:pointer; }
.navigation-label { color:#93abc0; font-size:10px; letter-spacing:.12em; font-weight:650; padding:20px 12px 0; margin-bottom:8px; }
.left-navigation nav a { display:flex; align-items:center; gap:10px; padding:11px 10px; margin:3px 0; color:#d5e1eb; text-decoration:none; font-size:13px; border-radius:5px; border-left:3px solid transparent; }
.left-navigation nav a:hover { background:#ffffff0c; color:white; }.left-navigation nav a.active { background:#244762; border-left-color:#7fb9df; color:white; font-weight:600; }
.nav-symbol { width:22px; text-align:center; color:#a8c3d8; font-size:18px; line-height:1; }.sidebar-footer { margin-top:auto; font-size:10px; padding:22px; border-top:1px solid #ffffff15; color:#93abc0; }
.connection-dot { display:inline-block; width:6px; height:6px; background:#8db3cb; border-radius:50%; margin-right:7px; }.main-column { min-width:0; flex:1; display:flex; flex-direction:column; }.agency-header { min-height:99px; }.agency-name { font-size:17px; }.signed-in-user { color:#d4e3ee; font-size:13px; margin-right:8px; }
@media(max-width:1100px) { .left-navigation { width:220px; flex-basis:220px; }.agency-header { align-items:flex-start; flex-direction:column; gap:12px; }.header-actions .btn { padding:5px 10px; font-size:12px; }.agency-name { font-size:15px; } }
@media(max-width:700px) { .desktop-shell { flex-direction:column; }.left-navigation { min-height:0; width:100%; flex:0 0 auto; }.sidebar-brand { min-height:70px; padding:12px 20px; }.navigation-disclosure { padding:6px 12px; }.navigation-disclosure nav { display:grid; grid-template-columns:1fr 1fr; }.navigation-label { grid-column:1/-1; padding-top:12px; }.sidebar-footer { display:none; }.agency-header { min-height:0; padding:18px; }.workspace-heading { align-items:flex-start; }.workspace-heading>.btn { white-space:nowrap; }.agency-user { font-size:12px; } }
/* Shared responsive form and QuickGrid patterns. */
.sidebar-brand { gap:0; padding-left:24px; }
.account-brand { justify-content:center; }.account-brand .account-kicker { margin-top:25px; }
.live-search { flex:1; min-width:230px; }.input-group-text { background:#f2f5f8; color:#657789; }
.grid-pagination { border-top:1px solid var(--line); padding:16px 22px; }.grid-open { padding:6px; font-size:17px; }
.quickgrid { width:100%; }.quickgrid .col-header-content { padding:0; }.quickgrid .col-title { padding:0; font-weight:650; color:#425466; }.quickgrid button.col-title { background:transparent; border:0; min-height:26px; }.quickgrid .sort-indicator { margin-left:8px; }
.quickgrid tbody tr:not(:has(>td:not(:empty))) { display:none; }.quickgrid .col-options-button { display:none; }
.form-panel { padding:24px; margin-bottom:18px; }.form-section-title { display:flex; align-items:center; gap:12px; margin-bottom:20px; color:var(--blue); }.form-section-title h2 { margin:0; color:var(--navy); font-size:17px; }.form-section-title>.bi { font-size:20px; }
.form-actions { display:flex; gap:10px; justify-content:flex-end; padding:16px 0; }.form-label { font-weight:600; font-size:13px; }.validation-message { color:#b42318; font-size:12px; margin-top:5px; }.validation-summary:not(:has(ul)) { display:none; }
.record-tabs { display:flex; gap:24px; flex-wrap:wrap; margin-bottom:20px; border-bottom:1px solid var(--line); }.record-tabs>* { padding:12px 0; text-decoration:none; }.record-tabs .active { border-bottom:3px solid var(--blue); font-weight:650; }
.selected-record { border:1px solid #bfd5e2; background:#f2f7fa; padding:12px; border-radius:5px; }.picker-results { max-height:300px; overflow:auto; }.picker-option { display:block; width:100%; text-align:left; padding:10px 14px; background:white; border:1px solid var(--line); border-top:0; }.picker-option:hover,.picker-option:focus { background:#edf4fa; }.picker-option small { display:block; color:#657789; }
.readonly-value { margin:0; padding:9px 0; min-height:38px; white-space:pre-wrap; overflow-wrap:anywhere; border-bottom:1px solid #e7edf2; }.readonly-label { font-size:12px; color:#657789; margin:0; }.bi { line-height:1; }.empty-icon { font-size:30px; display:block; margin-bottom:16px; }
@media(max-width:700px) { .form-panel { padding:18px; }.grid-pagination { padding:12px; }.search-toolbar { gap:10px; }.live-search { width:100%; } }
/* Customer workspace: compact tabbed ledger, with editing on its own route. */
.desktop-shell:has(.customer-ledger) .agency-header { min-height:64px; padding:10px 20px; }
.desktop-shell:has(.customer-ledger) .sidebar-brand { min-height:64px; padding:12px 20px; }
.desktop-shell:has(.customer-ledger) .left-navigation { width:212px; flex-basis:212px; }
.workspace:has(.customer-ledger) { padding:14px 18px; }
.customer-ledger { font-size:12px; color:#25394c; }
.ledger-breadcrumb { display:flex; gap:9px; color:#657789; font-size:11px; margin-bottom:10px; }
.ledger-breadcrumb a { text-decoration:none; }
.ledger-identity { display:flex; align-items:center; gap:12px; padding:0 0 16px; }
.ledger-identity-icon { display:grid; place-items:center; width:40px; height:40px; border:1px solid #d7dee5; background:white; border-radius:4px; flex-shrink:0; color:#246b9e; font-size:20px; }
.ledger-identity-text { min-width:0; }.ledger-identity h1 { font-size:22px; font-weight:650; letter-spacing:-.4px; margin:0; }
.ledger-identity-meta { display:flex; flex-wrap:wrap; gap:5px 14px; font-size:11px; color:#657789; margin-top:5px; }
.ledger-client-status { font-weight:650; color:#34536f; }.ledger-header-actions { margin-left:auto; display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.ledger-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:6px 10px; min-height:31px; background:white; color:#34536f; border:1px solid #cbd6df; border-radius:3px; text-decoration:none; font-size:12px; font-weight:600; }
.ledger-button:hover { background:#edf3f8; }.ledger-button-primary { background:#246b9e; color:white; border-color:#246b9e; }.ledger-button-primary:hover { background:#1c577f; color:white; }
.ledger-tabs { display:flex; gap:0; flex-wrap:wrap; border-bottom:1px solid #cad6df; margin:0 0 12px; }
.ledger-tab { padding:10px 13px 8px; border:0; border-bottom:2px solid transparent; background:transparent; color:#5c7183; font-size:12px; }
.ledger-tab.is-active { color:#205f8a; font-weight:650; border-bottom-color:#246b9e; }.ledger-tab>span { font-size:11px; margin-left:4px; color:#748695; }.ledger-tab-planned { margin-left:auto; color:#738391; }.ledger-tab-planned small { margin-left:5px; font-size:10px; }
.ledger-snapshot { display:grid; grid-template-columns:1.05fr 1fr 1.1fr; background:white; border:1px solid #d7dee5; margin-bottom:12px; }
.ledger-snapshot>div { padding:12px 15px; border-right:1px solid #d7dee5; min-width:0; }.ledger-snapshot>div:last-child { border:0; }
.ledger-snapshot h2 { font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:#657789; margin:0 0 9px; font-weight:600; }.ledger-contact-name { font-weight:650; margin:0 0 6px; }.ledger-contact-line { display:flex; align-items:baseline; gap:7px; margin-top:5px; overflow-wrap:anywhere; flex-wrap:wrap; }.ledger-contact-line>.bi { color:#718697; }.ledger-secondary-phone { color:#657789; font-size:11px; }
.ledger-facts { display:grid; grid-template-columns:auto minmax(0,1fr); gap:5px 12px; font-size:11px; margin:0; }.ledger-facts dt { color:#657789; font-weight:400; }.ledger-facts dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.ledger-note-preview { margin:0 0 7px; white-space:pre-wrap; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }.ledger-text-action { padding:0; border:0; background:none; color:#246b9e; font-size:11px; }
.ledger-content { display:flex; flex-direction:column; gap:12px; }.ledger-panel { background:white; border:1px solid #d7dee5; min-width:0; }
.ledger-panel-header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 12px; border-bottom:1px solid #d7dee5; min-height:36px; }
.ledger-panel-header h2 { font-size:12px; margin:0; font-weight:650; }.ledger-panel-header h2>span { margin-left:5px; font-size:11px; color:#657789; }.ledger-panel-header>a,.ledger-panel-header>span { font-size:11px; text-decoration:none; }.ledger-panel-header>span { color:#657789; }
.ledger-grid-search { display:flex; padding:8px 12px; border-bottom:1px solid #e3e9ee; }.ledger-grid-search .form-label { font-size:11px; font-weight:400; margin:0 0 3px; }.ledger-grid-search .form-text { display:none; }.ledger-grid-search .live-search { min-width:0; max-width:340px; }.ledger-grid-search .form-control,.ledger-grid-search .input-group-text { min-height:30px; padding:4px 8px; font-size:12px; }.ledger-grid-search .btn { min-height:30px; padding:4px 9px; font-size:12px; }
.ledger-table { width:100%; font-size:11px; margin:0; }.table.ledger-table>thead>tr>th { padding:7px 11px; background:#f2f5f8; font-size:11px; font-weight:500; }.table.ledger-table>tbody>tr>td { padding:8px 11px; line-height:1.35; }.ledger-table a { text-decoration:none; font-weight:500; }.ledger-table tr:hover>td { background:#f1f7fb; }
.ledger-grid-footer { padding:7px 12px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid #e3e9ee; font-size:11px; color:#657789; }.ledger-grid-footer .paginator { margin:0; padding:0; font-size:11px; }.ledger-message { padding:18px 12px; color:#657789; margin:0; font-size:12px; }
.ledger-overview-bottom { display:grid; grid-template-columns:1.25fr 1fr; gap:12px; }.ledger-activity-row { display:grid; grid-template-columns:48px minmax(0,1fr); gap:8px; padding:10px 12px; border-bottom:1px solid #e3e9ee; font-size:11px; }.ledger-activity-row:last-child { border-bottom:0; }.ledger-activity-row time { color:#657789; }.ledger-activity-row strong { display:block; font-weight:600; }.ledger-activity-row p { color:#657789; margin:3px 0 0; }
.ledger-task-row { display:flex; gap:8px; padding:10px 12px; border-bottom:1px solid #e3e9ee; color:#25394c; text-decoration:none; font-size:11px; }.ledger-task-row:hover { background:#f1f7fb; }.ledger-task-row:last-child { border-bottom:0; }.ledger-task-row>.bi { color:#657789; margin-top:2px; }.ledger-task-row>span { margin-left:auto; color:#657789; }.ledger-task-row strong { font-weight:600; }.ledger-task-row p { margin:3px 0 0; color:#657789; }.ledger-task-row .ledger-overdue { color:#ad3f36; }.ledger-panel-foot { padding:9px 12px; border-top:1px solid #e3e9ee; }
.ledger-full-notes { padding:16px; white-space:pre-wrap; overflow-wrap:anywhere; }.ledger-account-footer { display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between; color:#718391; font-size:10px; padding:12px 0; }
@media(max-width:1050px) { .ledger-snapshot { grid-template-columns:1fr 1fr; }.ledger-snapshot>div:last-child { grid-column:1/-1; border-top:1px solid #d7dee5; }.ledger-snapshot>div:nth-child(2) { border-right:0; }.ledger-identity { flex-wrap:wrap; }.ledger-header-actions { margin-left:0; }.ledger-overview-bottom { grid-template-columns:1fr; } }
@media(max-width:700px) { .desktop-shell:has(.customer-ledger) .left-navigation { width:100%; flex-basis:auto; }.workspace:has(.customer-ledger) { padding:14px; }.ledger-identity h1 { font-size:20px; }.ledger-snapshot { grid-template-columns:1fr; }.ledger-snapshot>div { border-right:0; border-bottom:1px solid #d7dee5; }.ledger-snapshot>div:last-child { border-top:0; }.ledger-tabs { gap:0; }.ledger-tab { padding:10px 9px 8px; }.ledger-tab-planned { margin-left:0; }.ledger-panel-header { flex-wrap:wrap; }.ledger-account-footer { font-size:11px; } }
@media(pointer:coarse) { .ledger-button,.ledger-tab,.ledger-text-action { min-height:44px; }.ledger-grid-search .form-control { font-size:16px; min-height:44px; }.ledger-grid-search .btn { min-height:44px; } }
/* Agency Home retains the web shell with the WPF operational dashboard structure. */
.agency-home { font-size:13px; }.home-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }.home-heading h1 { font-size:25px; margin-bottom:4px; }.home-actions { display:flex; gap:7px; }.home-shortcuts { display:flex; flex-wrap:wrap; gap:8px 22px; margin-bottom:20px; }.home-shortcuts a { display:flex; align-items:center; gap:6px; text-decoration:none; color:#34536f; font-size:12px; }
.home-task-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:12px; }.home-metric { display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:16px 20px; background:white; border:1px solid #d7dee5; border-top:3px solid #246b9e; border-radius:4px; text-align:left; }.home-metric>span { font-size:11px; color:#657789; letter-spacing:.055em; }.home-metric>strong { font-size:29px; font-weight:650; line-height:1.25; color:#17324d; font-variant-numeric:tabular-nums; }.home-metric>small { font-size:11px; color:#718391; }.home-metric-today { border-top-color:#a96612; }.home-metric-today>strong { color:#a96612; }.home-metric-overdue { border-top-color:#b42318; }.home-metric-overdue>strong { color:#b42318; }.home-metric:hover { background:#f9fbfd; }
.home-finance-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:white; border:1px solid #d7dee5; margin-bottom:22px; }.home-finance-metrics>div { padding:13px 16px; border-right:1px solid #d7dee5; }.home-finance-metrics>div:last-child { border-right:0; }.home-finance-metrics span { display:block; font-size:10px; letter-spacing:.03em; color:#657789; margin-bottom:5px; }.home-finance-metrics strong { font-size:19px; font-weight:650; color:#25394c; font-variant-numeric:tabular-nums; }
.home-work-tabs { display:flex; gap:0; border-bottom:1px solid #cad6df; }.home-work-tabs button { display:flex; gap:7px; align-items:center; padding:11px 18px; font-weight:600; font-size:13px; color:#657789; border:0; border-bottom:3px solid transparent; background:transparent; }.home-work-tabs button.is-active { border-bottom-color:#246b9e; color:#205f8a; background:white; }.home-work-panel { border-top:0; }
.home-filter-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; padding:15px 16px 8px; }.home-filter-toolbar>div:first-child { min-width:205px; }.home-filter-toolbar label { font-size:11px; font-weight:600; display:block; margin-bottom:5px; }.home-filter-toolbar .live-search { max-width:450px; }.home-filter-toolbar .live-search .form-text { display:none; }.home-filter-toolbar .form-control,.home-filter-toolbar .form-select,.home-filter-toolbar .input-group-text { font-size:12px; min-height:34px; padding:6px 10px; }.home-filter-toolbar .btn { min-height:34px; padding:6px 10px; }.home-range-hint { padding:0 16px 12px; margin:0; color:#657789; font-size:11px; }.home-table { width:100%; margin:0; font-size:12px; }.table.home-table>thead>tr>th { padding:10px 14px; font-size:11px; font-weight:600; background:#f2f5f8; }.table.home-table>tbody>tr>td { padding:11px 14px; }.home-table a { text-decoration:none; }.home-table tr:has(.home-overdue)>td { background:#fff4f3; color:#a52f27; }.home-table .home-overdue { color:#ad3328; font-weight:650; }.home-table .col-title { font-size:11px; }.home-renewal-table td,.home-renewal-table th { white-space:nowrap; }
.home-renewal-counts { display:flex; flex-wrap:wrap; gap:12px 28px; padding:14px 16px 6px; font-size:12px; }.home-renewal-counts strong { margin-left:7px; }.home-renewal-counts>span:first-child strong { color:#b42318; }.home-retention { padding:5px 16px 10px; margin:0; border-bottom:1px solid #e3e9ee; color:#657789; font-size:11px; }.home-retention strong { color:#34536f; }.home-warning { color:#9a3b32; background:#fff5f3; padding:9px 13px; border-left:3px solid #bd6d5c; font-size:12px; margin:8px 0; }
@media(max-width:1100px) { .home-finance-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }.home-finance-metrics>div { border-bottom:1px solid #e3e9ee; }.home-finance-metrics strong { font-size:17px; } }
@media(max-width:700px) { .home-heading { flex-wrap:wrap; }.home-actions { width:100%; }.home-task-metrics { gap:7px; }.home-metric { padding:12px 10px; }.home-metric>strong { font-size:25px; }.home-metric>small { display:none; }.home-finance-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.home-finance-metrics>div { padding:11px; }.home-filter-toolbar .live-search { width:100%; }.home-filter-toolbar>div:first-child { width:100%; }.home-work-tabs button { padding:11px 13px; } }
@media(pointer:coarse) { .home-filter-toolbar .form-control,.home-filter-toolbar .form-select { font-size:16px; min-height:44px; }.home-work-tabs button,.home-metric { min-height:44px; } }
.carrier-active-field { display:flex; align-items:flex-end; padding-bottom:8px; }.carrier-active-field label { display:flex; gap:7px; align-items:center; min-height:30px; }.carrier-workspace .ledger-facts dd { overflow-wrap:anywhere; }
.maintenance-workspace { display:flex; align-items:center; gap:14px; padding:20px; color:#25394c; text-decoration:none; }.maintenance-workspace:hover { background:#f1f7fb; }.maintenance-workspace>.bi:first-child { font-size:24px; color:#246b9e; }.maintenance-workspace>div { flex:1; }.maintenance-workspace strong { display:block; margin-bottom:4px; font-size:16px; }.maintenance-workspace span { color:#657789; font-size:12px; }

/* Reference maintenance: hierarchy and adjacent editor */
.maintenance-split{display:grid;grid-template-columns:minmax(270px,330px) minmax(0,1fr);gap:18px;align-items:start}
.lob-navigation{position:sticky;top:16px;max-height:calc(100vh - 140px);overflow:auto}
.lob-tree-toolbar{padding:16px;border-bottom:1px solid var(--border-color,#dce3eb)}
.lob-tree-list{list-style:none;margin:0;padding:7px}
.lob-tree-list .lob-tree-list{padding:0 0 0 18px}
.lob-tree-row{display:flex;align-items:center;border-radius:5px;margin:2px 0}
.lob-tree-row:hover{background:#f1f5f9}.lob-tree-row.selected{background:#e3edf7;box-shadow:inset 3px 0 #225887}
.lob-expander,.lob-node{border:0;background:transparent;color:inherit;text-align:left}
.lob-expander,.lob-expander-spacer{width:24px;flex:0 0 24px}.lob-expander{padding:8px 3px}
.lob-node{display:flex;gap:8px;align-items:center;padding:9px 6px;flex:1;min-width:0}.lob-node span{overflow-wrap:anywhere}.lob-node small{display:block;font-size:.7rem;color:#65778a;margin-top:2px}
.lob-editor{min-width:0}.lob-editor .form-panel{margin-bottom:16px}.lob-empty{padding:54px 24px;text-align:center;color:#65778a}.lob-empty>.bi{font-size:2rem}.lob-empty h2{font-size:1.2rem;margin-top:15px}
@media(max-width:900px){.maintenance-split{grid-template-columns:1fr}.lob-navigation{position:static;max-height:380px}}
.contact-audit-snapshot{white-space:pre-wrap;overflow-wrap:anywhere;max-width:580px;max-height:360px;overflow:auto;font-size:11px;background:#f4f7fa;padding:12px;border:1px solid #d7dee5}
.renewal-compare-selectors{display:grid;grid-template-columns:1fr 1fr;gap:18px}.renewal-comparison{table-layout:fixed}.renewal-comparison th:first-child{width:20%}.renewal-comparison td{white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top}.renewal-comparison tbody th{color:#65778a;font-weight:600}
@media(max-width:700px){.renewal-compare-selectors{grid-template-columns:1fr}.renewal-comparison{min-width:580px}}
.policy-detail-facts{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:9px 18px;padding:18px;margin:0}.policy-detail-facts dt{font-size:12px;color:#65778a}.policy-detail-facts dd{margin:0}.coverage-row-editor{padding:18px;border-top:2px solid #315b7e;background:#f7f9fc}.coverage-row-editor .form-actions{margin-top:15px}
@media(max-width:700px){.policy-detail-facts{grid-template-columns:1fr;gap:4px}.policy-detail-facts dd{margin-bottom:10px}}

/* Guided quote intake: persistent context, coverage-specific navigation, explicit draft saves. */
.workspace:has(.intake-journey){padding:14px 18px;max-width:none;min-width:0}
.intake-journey{max-width:1500px;margin:0 auto}
.intake-context{position:sticky;top:0;z-index:15;background:var(--surface);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0 16px;border-bottom:1px solid var(--line);margin-bottom:16px}
.intake-context h1{font-size:23px;margin:0 0 7px}.intake-context .eyebrow{font-size:10px;margin-bottom:5px;color:#657789}
.intake-context-meta{display:flex;flex-wrap:wrap;gap:7px 16px;font-size:12px;color:#657789}.intake-context-meta strong{color:#25394c}.intake-save-state{color:#345b74}
.intake-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:18px;align-items:start}.intake-sidebar{position:sticky;top:110px;background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden}
.intake-nav-caption{font-size:10px;letter-spacing:.1em;color:#6b7e90;font-weight:650;margin:0;padding:17px 14px 10px}.intake-sidebar nav{padding:0 5px 8px}
.intake-step{width:100%;display:flex;align-items:center;gap:9px;text-align:left;border:0;border-left:3px solid transparent;border-radius:3px;background:transparent;color:#4d6377;font-size:12px;line-height:1.4;padding:11px 9px;margin-bottom:2px}.intake-step:hover{background:#f0f5f9}.intake-step.is-current{background:#e8f1f8;color:#17496d;border-left-color:var(--blue);font-weight:650}.intake-step-mark{color:#6f8898;font-size:14px;flex:0 0 15px}.intake-step-count{margin-left:auto;background:#fff2db;color:#7e581a;border-radius:10px;min-width:21px;padding:1px 6px;font-size:10px;text-align:center}.intake-sidebar-note{border-top:1px solid #e8edf2;display:flex;gap:9px;padding:14px;color:#6b7e90;font-size:11px}.intake-sidebar-note p{margin:0}
.intake-content{min-width:0;min-height:480px;background:#fff;border:1px solid var(--line);border-radius:5px;padding:20px 22px}.intake-section-heading{padding-bottom:17px;margin-bottom:20px;border-bottom:1px solid #e6ecf1}.intake-section-heading>p{font-size:10px;letter-spacing:.12em;color:#6e8293;margin-bottom:5px}.intake-section-title{font-size:21px;margin:0 0 6px}.intake-section-title:focus{outline:none}.intake-section-heading>span{font-size:12px;color:#6a7d8e}
.intake-form-section{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #e6ecf1}.intake-form-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.intake-form-section>h3{font-size:14px;font-weight:650;margin:0 0 15px}.intake-content .form-label{font-size:12px}.intake-content .form-control,.intake-content .form-select{font-size:13px;min-height:34px}.intake-content .form-text{font-size:11px;line-height:1.5}.intake-content .ledger-panel{box-shadow:none}.intake-product-options{display:flex;gap:10px;flex-wrap:wrap}.intake-product-option{display:flex;align-items:center;gap:7px;border:1px solid #d0dce6;border-radius:4px;background:#f8fafc;padding:9px 12px;font-size:12px}.intake-product-option:has(input:checked){border-color:#91b4ce;background:#eaf3fa;color:#17496d}
.intake-source-note{padding:14px;background:#f4f7fa;border-left:3px solid #c6d5e1;color:#657b8d;font-size:11px;line-height:1.6}.intake-notice{padding:10px 14px;color:#28634b;background:#edf7f1;border:1px solid #d0e5d8;font-size:12px}
.intake-review-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:#f4f7fa;padding:17px;margin-bottom:23px}.intake-review-summary span{display:block;font-size:10px;letter-spacing:.08em;color:#6b7e90;margin-bottom:5px}.intake-review-summary strong{font-size:13px;font-weight:600}.intake-checklist{list-style:none;padding:0;margin:0;display:grid;gap:12px}.intake-checklist li{display:flex;gap:10px;align-items:baseline;font-size:13px}.intake-checklist .bi{color:#b07828}.intake-checklist button{background:none;border:0;padding:0;color:#246b9e;text-align:left;font-size:13px;line-height:1.5}.intake-checklist button:hover{text-decoration:underline}.intake-check-passed{color:#28734d;font-size:13px;margin:0}.intake-check-passed .bi{margin-right:7px}
.intake-commandbar{position:sticky;bottom:0;z-index:16;border:1px solid var(--line);border-top:2px solid #c5d7e5;background:#fff;box-shadow:0 -3px 12px #17324d09;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 15px;margin-top:18px}.intake-command-status{font-size:11px;color:#597185}.intake-command-status span{display:block;color:#9b6b22;margin-top:4px}.intake-command-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.intake-commandbar .ledger-button{font-size:12px;min-height:34px}.intake-commandbar .ledger-text-action{font-size:11px;margin-left:3px}
@media(max-width:1050px){.intake-layout{grid-template-columns:190px minmax(0,1fr);gap:12px}.intake-content{padding:17px}.intake-commandbar{align-items:flex-start}.intake-command-status{width:100%}}
@media(max-width:760px){.intake-context{position:static;align-items:flex-start}.intake-context h1{font-size:20px}.intake-layout{grid-template-columns:1fr}.intake-sidebar{position:static}.intake-sidebar nav{display:flex;overflow-x:auto;gap:4px;padding:5px}.intake-step{width:auto;flex:0 0 auto;margin:0;padding:9px 10px;border-left:0;border-bottom:3px solid transparent}.intake-step.is-current{border-bottom-color:var(--blue)}.intake-nav-caption,.intake-sidebar-note{display:none}.intake-content{padding:16px;min-height:360px}.intake-commandbar{padding:10px}.intake-command-actions{gap:6px}.intake-commandbar .ledger-button{padding:7px 9px}.intake-review-summary{grid-template-columns:1fr}.intake-context-meta{display:grid;gap:4px}}

/* Private quote-report preview; the same content feeds the PDF renderer. */
.quote-report-shell{max-width:1000px;margin:0 auto;padding:24px;color:#23364a}
.report-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.quote-report-document{background:#fff;border:1px solid #d5dfe9;padding:38px 44px;overflow-wrap:anywhere}
.quote-report-document h1{font-size:1.55rem;font-weight:700;margin-bottom:12px}.quote-report-document header>div{font-size:.86rem}
.report-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:2px solid #23364a;margin-top:18px;padding-top:18px}.report-title h2{font-size:1.6rem;font-weight:700}
.report-notice{padding:12px;background:#edf3f8;font-size:.88rem}.report-generated,.quote-report-document footer{font-size:.76rem;color:#536272}
.report-section{margin-top:22px}.report-section h3{font-size:1rem;font-weight:700;background:#edf3f8;padding:10px;margin-bottom:0;break-after:avoid}
.report-field{display:grid;grid-template-columns:minmax(140px,28%) minmax(0,1fr);gap:16px;border-bottom:1px solid #dce3ea;padding:8px 10px;font-size:.84rem;break-inside:avoid}.report-field dt{font-weight:600}.report-field dd{margin:0;white-space:pre-wrap}.quote-report-document footer{border-top:1px solid #dce3ea;margin-top:28px;padding-top:12px}
@media(max-width:600px){.quote-report-shell{padding:12px}.quote-report-document{padding:20px 14px}.report-title{display:block}.report-field{grid-template-columns:1fr;gap:3px}}
@media print{@page{size:letter;margin:15mm}.no-print{display:none!important}body{background:#fff!important}.quote-report-shell{max-width:none;margin:0;padding:0}.quote-report-document{border:0;padding:0}.report-section{break-inside:auto}.report-field{break-inside:auto}.report-section h3{break-after:avoid}h1,h2,h3{color:#23364a!important}}

.phone-number-input{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.phone-number-input .phone-segment{width:calc(3ch + 1rem);min-width:0;flex:none;text-align:center;font-variant-numeric:tabular-nums;padding-inline:.25rem}.phone-number-input .phone-segment-line{width:calc(4ch + 1rem)}.phone-editor .form-text{white-space:normal;overflow-wrap:anywhere}.phone-number-input .invalid{border-color:#b02a37}
