/* Console layout. Homepage styling remains in firm.css. */
.portal-page { --ink:#1d293b; --muted:#617084; --line:#dce3ec; --blue:#2158d5; --surface:#fff; --canvas:#f4f6f9; --nav:#15263f; margin:0; max-width:none; min-height:100vh; background:var(--canvas); font-size:14px; }
.portal-page [hidden] { display:none!important; }
.portal-page * { box-sizing:border-box; }
.portal-page h1,.portal-page h2,.portal-page h3,.portal-page h4 { color:var(--ink); letter-spacing:-.025em; line-height:1.3; margin:0; }
.portal-page h1 { font-size:32px; font-weight:750; }
.portal-page h2 { font-size:27px; font-weight:730; }
.portal-page h3 { font-size:17px; font-weight:660; }
.portal-page h4 { font-size:14px; }
.portal-page p { line-height:1.55; }
.portal-page button,.portal-page input,.portal-page textarea,.portal-page select { font:inherit; }
.portal-page button,.portal-page summary { cursor:pointer; }
.portal-page button:disabled { opacity:.5; cursor:not-allowed; }
.portal-page button[aria-busy=true] { cursor:wait; }
.portal-page a:focus-visible,.portal-page button:focus-visible,.portal-page summary:focus-visible { outline:3px solid #6295ff; outline-offset:3px; }
.portal-main { max-width:1040px; padding:46px 32px 60px; margin:auto; min-width:0; }
.is-signed-in .portal-main { max-width:none; margin-left:232px; padding:100px 40px 40px; }
#dashboard { max-width:1240px; margin:auto; }
.portal-heading { margin:0 0 28px; }
.portal-heading .auth-brand { display:block; font-size:17px; font-weight:750; color:var(--nav); text-decoration:none; margin-bottom:36px; }
.portal-heading p { margin-top:10px; color:var(--muted); }
.app-sidebar { width:232px; position:fixed; inset:0 auto 0 0; z-index:50; display:flex; flex-direction:column; padding:28px 14px 18px; background:var(--nav); color:#d8e3f2; }
.app-brand { font-size:25px; line-height:1.05; letter-spacing:-.045em; font-weight:720; color:#fff; text-decoration:none; padding:0 14px 32px; }
.app-brand span { display:block; font-size:10px; color:#a5b5cd; font-weight:600; letter-spacing:.16em; margin-top:15px; }
.portal-nav { display:flex; flex-direction:column; align-items:stretch; gap:5px; }
.portal-nav a { display:flex; gap:12px; align-items:center; padding:13px 13px; min-height:48px; border-radius:6px; font-size:13px; font-weight:500; line-height:1.45; color:#bfcce0; text-decoration:none; }
.portal-nav a:hover { background:#223854; color:white; text-decoration:none!important; }
.portal-nav a[aria-current=page] { background:#eaf0ff; color:#173d8b; font-weight:660; }
.portal-nav a .icon { flex-shrink:0; width:18px; height:18px; }
#staff-nav { margin-top:18px; border-top:1px solid #40506a; border-radius:0 0 6px 6px; }
.sidebar-help { margin-top:auto; display:flex; flex-direction:column; align-items:start; gap:9px; padding:28px 14px 18px; font-size:11px; color:#a9bad3; }
.sidebar-help a { color:#d4e1f3; text-decoration:none; font-size:13px; }
.sidebar-help .privacy-link { font-size:11px; color:#a9bad3; }
#logout { color:#cbd8ec; font-size:12px; text-align:left; padding:12px 14px; text-decoration:none; border-top:1px solid #344762; width:100%; }
.app-header { position:fixed; top:0; left:232px; right:0; height:64px; display:flex; gap:15px; align-items:center; padding:0 40px; background:#ffffffed; border-bottom:1px solid var(--line); z-index:30; }
#app-section-name { font-size:13px; font-weight:650; }
.app-account { margin-left:auto; display:flex; gap:12px; align-items:center; font-size:12px; color:var(--muted); }
#app-account-initials { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#e7edf6; color:#345078; font-size:11px; font-weight:650; }
#menu-toggle { display:none; }
#sidebar-scrim { position:fixed; inset:0; border:0; background:#0b172775; z-index:40; }
.icon { display:inline-block; width:20px; height:20px; background:currentColor; mask:var(--icon) center/contain no-repeat; -webkit-mask:var(--icon) center/contain no-repeat; }
.skip-link { z-index:100; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:28px; }
.section-heading.compact { margin-bottom:18px; }
.section-intro { color:var(--muted); font-size:14px; margin-top:7px; max-width:750px; }
.eyebrow { color:var(--muted); font-size:10px; font-weight:680; letter-spacing:.14em; margin-bottom:7px; }
.welcome-line { margin-top:7px; color:var(--muted); }
.quiet-note { color:var(--muted); font-size:12px; margin-top:28px; }
.portal-section { min-width:0; }
.dashboard-layout { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(240px,1fr); gap:28px; }
.dashboard-main,.dashboard-aside { min-width:0; }
.dashboard-aside { border:1px solid var(--line); background:white; border-radius:10px; padding:24px; align-self:start; }
.dashboard-aside h3 { margin-bottom:13px; }
.dashboard-aside .record { padding:12px 0; }
.dashboard-aside .record h3 { font-size:14px; }
.dashboard-aside .record-body { font-size:13px; }
.dashboard-aside .record-list { margin-top:0; }
.dashboard-aside .empty-state { padding:0; background:none; border:0; font-size:13px; }
.aside-divider { border-top:1px solid var(--line); margin:24px 0; }
.next-actions { display:flex; flex-direction:column; gap:13px; margin-bottom:25px; }
.next-action { display:flex; align-items:flex-start; gap:16px; padding:22px; border:1px solid var(--line); border-radius:9px; background:white; }
.next-action.attention { border-left:3px solid #e2bd55; }
.next-action .action-icon { color:#58718f; margin-top:3px; flex:0 0 21px; }
.action-copy { flex:1; min-width:0; }
.action-copy h3 { font-size:15px; margin-bottom:6px; }
.action-copy p { font-size:13px; color:var(--muted); }
.next-action .secondary-button { font-size:12px; padding:9px 11px; min-height:38px; flex-shrink:0; }
.case-glance { border:1px solid var(--line); border-radius:9px; background:white; padding:24px; }
.case-glance > div { display:flex; align-items:center; gap:12px; margin-bottom:15px; }
.case-glance .icon { color:#5f7894; }
.case-glance > p { margin-top:5px; }
.case-glance > a { margin-top:14px; }
.workspace-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line); margin-bottom:26px; overflow-x:auto; scrollbar-width:thin; }
.workspace-tabs button { border:0; border-bottom:2px solid transparent; background:none; color:var(--muted); padding:15px 0; min-height:48px; flex-shrink:0; font-size:13px; }
.workspace-tabs button[aria-selected=true] { color:var(--blue); border-color:var(--blue); font-weight:650; }
.workspace-panel { min-width:0; }
.panel-heading { margin-bottom:20px; }
.panel-heading p { margin-top:7px; }
.stack-form { display:flex; flex-direction:column; gap:19px; max-width:780px; margin-top:22px; }
.stack-form label,.select-label { display:flex; flex-direction:column; gap:7px; font-weight:600; font-size:13px; line-height:1.5; min-width:0; }
.stack-form input:not([type=hidden]),.stack-form textarea,.stack-form select,#staff-client,.document-search { width:100%; min-width:0; border:1px solid #b9c5d4; border-radius:5px; color:var(--ink); background:white; padding:11px 12px; font-size:14px; line-height:1.45; }
.stack-form input[readonly] { background:#eef2f7; color:#58667a; }
.stack-form textarea { resize:vertical; min-height:88px; }
.stack-form :is(input,textarea,select):focus,#staff-client:focus,.document-search:focus { outline:2px solid #5c89ee; outline-offset:2px; }
#case-form,#profile-form { background:white; padding:28px; border:1px solid var(--line); border-radius:9px; }
.two-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.help,.optional,.muted { color:var(--muted); font-weight:400; }
.help { font-size:12px; line-height:1.55; }
.stack-form > .help { margin-top:-6px; }
.portal-page .button { font-size:13px; min-height:44px; padding:11px 18px; border-radius:5px; align-self:flex-start; font-weight:620; }
.secondary-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 15px; min-height:42px; border:1px solid #b9c7dc; border-radius:5px; color:#274779; font-size:13px; font-weight:560; text-decoration:none; background:white; align-self:flex-start; }
.secondary-button:hover { background:#eff4fd; border-color:#8aabd8; }
.text-button { display:inline-flex; align-items:center; gap:6px; border:0; background:none; color:var(--blue); padding:9px 0; font-size:13px; line-height:1.4; text-decoration:none; align-self:flex-start; }
.text-button:hover { text-decoration:underline; }
.button-row,.record-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:8px; }
.status { color:#245c48; background:#e8f4ee; border-radius:6px; font-size:13px; padding:12px 16px; margin-bottom:20px; }
.status:empty { display:none; }
.error-box { border:1px solid #d29699; border-left:3px solid #b94148; border-radius:5px; background:#fff5f5; color:#822c31; padding:15px 18px; margin-bottom:20px; font-size:14px; line-height:1.5; }
.auth-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr); gap:48px; align-items:start; }
.auth-panel { background:white; border:1px solid var(--line); border-radius:10px; padding:28px; }
.auth-switch { display:flex; gap:25px; border-bottom:1px solid var(--line); margin-bottom:22px; }
.auth-switch button { padding:0 0 14px; border:0; border-bottom:2px solid transparent; background:none; color:var(--muted); font-weight:600; }
.auth-switch button[aria-pressed=true] { color:var(--blue); border-bottom-color:var(--blue); }
.auth-panel h2 { font-size:23px; }
.auth-aside { padding:24px 0; }
.auth-aside h2 { font-size:23px; max-width:290px; }
.auth-aside p { margin-top:18px; color:var(--muted); font-size:14px; }
.auth-aside > a { display:inline-block; margin-top:24px; font-size:13px; }
.password-control { position:relative; display:block; }
.stack-form .password-control input { padding-right:69px; }
.password-toggle { position:absolute; top:1px; right:1px; bottom:1px; width:60px; border:0; border-radius:0 4px 4px 0; background:#f1f4f8; color:#385581; font-size:12px!important; }
.recovery-panel { padding:28px; background:#fffbeb; border:1px solid #e0cb8e; border-radius:9px; max-width:760px; margin:24px 0; }
.recovery-panel p { margin-top:16px; }
.recovery-panel label { display:block; font-size:13px; margin-top:20px; }
#recovery-output { width:100%; font:600 16px ui-monospace,monospace; border:1px solid #b8a86f; border-radius:5px; padding:15px; margin:8px 0 15px; }
.security-choices { display:grid; gap:13px; max-width:740px; }
.security-choices button { display:flex; align-items:center; gap:17px; background:white; border:1px solid var(--line); border-radius:8px; padding:20px; text-align:left; color:var(--ink); }
.security-choices button:hover { border-color:#91afd8; }
.security-choices button>span:nth-child(2) { flex:1; font-weight:640; }
.security-choices small { display:block; color:var(--muted); margin-top:6px; font-weight:400; font-size:12px; }
.security-choices .icon { color:#607d9f; flex-shrink:0; }
.security-action { border:1px solid var(--line); padding:25px; background:white; border-radius:8px; max-width:650px; }
.record-list { margin-top:20px; }
.record { border-top:1px solid var(--line); padding:22px 0; }
.record:first-child { border-top:0; }
.record h3 { margin:5px 0 8px; font-size:17px; }
.record-meta { font-size:11px; color:var(--muted); margin-bottom:6px; }
.record-body { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; }
.record .status-badge { display:inline-flex; background:#eaf0f8; color:#48627f; border-radius:4px; font-size:11px; line-height:1.5; padding:4px 7px; margin-bottom:7px; }
.empty-state { padding:26px; border:1px dashed #c8d2df; background:#fafbfd; border-radius:8px; color:var(--muted); font-size:13px; line-height:1.6; }
.chat-workspace { border:1px solid var(--line); background:white; border-radius:10px; overflow:hidden; display:flex; flex-direction:column; height:min(700px,calc(100dvh - 240px)); min-height:420px; }
.chat-header { display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--line); padding:17px 23px; flex-shrink:0; }
.chat-header strong { display:block; font-size:13px; font-weight:640; }
.chat-header span:not(.chat-avatar) { display:block; font-size:11px; color:var(--muted); margin-top:4px; }
.chat-avatar { width:34px; height:34px; border-radius:50%; background:#eaf0fb; color:#325a99; display:grid; place-items:center; font-size:11px; font-weight:650; }
.message-list { display:flex; flex-direction:column; gap:22px; padding:26px; flex:1; overflow-y:auto; min-height:120px; background:#fbfcfe; overscroll-behavior:contain; }
.message { max-width:80%; padding:14px 18px; border:1px solid #e0e7f0; background:white; border-radius:0 10px 10px; align-self:flex-start; }
.message.client { align-self:flex-end; border-radius:10px 0 10px 10px; background:#eaf1ff; border-color:#dce7fc; }
#staff-messages .message.staff { align-self:flex-end; border-radius:10px 0 10px 10px; background:#eaf1ff; }
#staff-messages .message.client { align-self:flex-start; border-radius:0 10px 10px; background:white; }
.message p:last-child { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; }
.message-meta { font-size:10px; color:#577092; font-weight:540; margin-bottom:7px; }
.message-list .empty-state { align-self:center; margin:auto; max-width:360px; border:0; background:none; text-align:center; }
.chat-composer { margin:0; max-width:none; padding:17px 23px; gap:12px; border-top:1px solid var(--line); flex-shrink:0; }
.chat-composer label { font-size:11px; color:var(--muted); }
.chat-composer textarea { min-height:64px; max-height:180px; }
.chat-composer .button { align-self:flex-end; }
.chat-composer p.help { display:none; }
.compose-details,.upload-details,.matter-details,.staff-prepare-panel,.case-data-details { border:1px solid var(--line); border-radius:8px; background:white; padding:17px 20px; margin:16px 0; }
.compose-details>summary,.upload-details>summary,.matter-details>summary,.staff-prepare-panel>summary,.case-data-details>summary { font-size:13px; font-weight:650; cursor:pointer; line-height:1.5; }
.compose-details>summary .icon { width:16px; height:16px; vertical-align:middle; margin-right:5px; }
.compose-details[open],.upload-details[open],.matter-details[open],.staff-prepare-panel[open] { padding:22px; }
.compose-details>p,.staff-prepare-panel>p { margin-top:18px; }
.staff-console { margin-top:22px; }
.client-selector { display:grid; grid-template-columns:minmax(250px,530px) auto; align-items:end; gap:10px 20px; padding:20px; background:white; border:1px solid var(--line); border-radius:8px; }
.client-selector label { grid-column:1/-1; }
.client-context { margin:27px 0 14px; padding-left:14px; border-left:3px solid #849bbd; }
.client-context h3 { font-size:22px; }
.client-context p { font-size:12px; margin-top:5px; }
.integration-details { font-size:11px; color:var(--muted); margin-top:30px; }
.integration-details p { margin-top:14px; }
#staff-dashboard-actions { margin:20px 0 30px; }
#staff-agreement-composer { margin-top:0; }
.case-details { margin:24px 0; max-width:900px; }
.case-details dt { font-size:12px; color:var(--muted); font-weight:600; margin-top:20px; }
.case-details dd { margin:7px 0 0; font-size:14px; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }
.staff-request-status { padding:9px; border:1px solid #b9c5d4; border-radius:4px; }
.panel { padding:22px; border:1px solid var(--line); border-radius:8px; background:white; }
.panel p+p { margin-top:12px; }
.panel>a,.panel>button { margin-top:15px; }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
.service-grid .panel p { font-size:13px; }
.service-price { font-size:25px!important; font-weight:700; margin-bottom:12px; }
.service-kicker { font-size:10px!important; font-weight:680; color:var(--muted); letter-spacing:.1em; margin-bottom:10px; }
.resource-panel { margin-top:24px; }
.subheading,.billing-heading { margin-top:28px; }
@media (min-width:1600px) { .is-signed-in .portal-main { padding-inline:64px; } }
@media (max-width:1180px) { .is-signed-in .portal-main { padding-inline:27px; } .app-header { padding-inline:27px; } .dashboard-layout { grid-template-columns:1fr; } .dashboard-aside { display:grid; grid-template-columns:1fr; } .next-action { align-items:flex-start; } }
@media (max-width:850px) { .app-sidebar { transform:translateX(-100%); transition:transform .18s ease; } .menu-open .app-sidebar { transform:translateX(0); } .app-header { left:0; padding:0 21px; height:60px; } .is-signed-in .portal-main { margin-left:0; padding:86px 22px 35px; } #menu-toggle { display:grid; place-items:center; width:40px; height:40px; border:0; background:none; color:#38506f; padding:8px; margin-left:-8px; } .app-account>span:first-child { display:none; } .portal-page h2 { font-size:25px; } }
@media (max-width:600px) { .portal-main { padding:30px 20px; } .auth-layout { grid-template-columns:1fr; gap:18px; } .auth-aside { padding:10px 3px; } .auth-aside h2 { max-width:none; font-size:20px; } .auth-panel { padding:23px; } .portal-heading .auth-brand { margin-bottom:26px; } .section-heading { align-items:flex-start; margin-bottom:23px; } .section-heading>.secondary-button { font-size:11px; padding:9px; min-height:40px; } .section-heading>.secondary-button .icon { display:none; } .dashboard-layout { gap:20px; } .next-action { flex-wrap:wrap; gap:12px; padding:19px; } .next-action .action-copy { flex:1 1 calc(100% - 40px); } .next-action>.secondary-button { margin-left:33px; } .two-fields,.service-grid { grid-template-columns:1fr; } #case-form,#profile-form,.security-action { padding:20px; } .workspace-tabs { gap:22px; margin-bottom:22px; } .workspace-tabs button { font-size:12px; } .chat-workspace { height:calc(100dvh - 240px); min-height:430px; } .message-list { padding:18px 14px; gap:18px; } .message { max-width:93%; padding:13px; } .chat-header,.chat-composer { padding:15px; } .chat-header span:not(.chat-avatar) { font-size:10px; } .client-selector { grid-template-columns:1fr; padding:17px; } .client-selector .text-button { margin-top:0; } .quiet-note { font-size:11px; } .portal-page .stack-form input:not([type=hidden]),.portal-page .stack-form textarea,.portal-page .stack-form select { font-size:16px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .app-sidebar { transition:none; } }

.affirm-option { margin-top: 20px; padding-top: 20px; border-top: 1px solid #ccd4e4; }
.affirm-button { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; font-size: 14px; }
.affirm-button img { width: 64px; height: auto; }
.affirm-option .help { margin-top: 12px; }
.payment-return-note { background: #f0f4fc; border-left: 3px solid var(--blue); padding: 16px 18px; margin-top: 20px; color: #465574; font-size: 14px; line-height: 1.55; }
.service-price span { display: block; font-size: 15px; font-weight: 500; letter-spacing: 0; margin-top: 5px; }
.service-grid .affirm-button { margin-top: 12px; }
.financing-service-note { margin-top: 18px; }
.unavailable-card { color: #616978; background: #f1f2f5; border-color: #dddfe5; }
.unavailable-card .service-kicker { color: #70798b; }
.unavailable-card button:disabled { opacity: 1; border-color: #b8becb; color: #6b7484; cursor: not-allowed; background: #e5e7ec; }
.representation-summary { margin-top: 30px; }
.agreement-text { max-height: 520px; overflow: auto; padding: 24px; border: 1px solid #d0d7e5; background: #fafbfe; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; margin-top: 20px; }
.checkbox-label { display: flex !important; flex-direction: row !important; gap: 12px !important; align-items: flex-start; font-size: 14px !important; font-weight: 400 !important; line-height: 1.6 !important; }
.stack-form .checkbox-label input { width: 18px; height: 18px; margin-top: 3px; flex: 0 0 18px; accent-color: var(--blue); }
#staff-billing-terms { display: grid; gap: 18px; border-left: 3px solid var(--yellow); padding-left: 18px; }
.staff-work-section { border-top: 1px solid #ccd4e4; margin-top: 27px; padding-top: 22px; }
.staff-work-section > summary { font-size: 21px; font-weight: 700; cursor: pointer; padding-block: 5px; }
.staff-work-section[open] > summary { margin-bottom: 20px; }
.document-meta { color: #58647a; font-size: 13px; line-height: 1.5; margin-top: 7px; }
.record-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 15px; }
.record-actions button, .record-actions a { margin-top: 0; }
.record .status-badge { display: inline-block; padding: 4px 9px; background: #f0f3fa; color: #465779; font-size: 12px; margin-bottom: 8px; }
.staff-request-status { min-width: 120px; padding: 8px; font: inherit; border: 1px solid #a4b0c6; }
.plan-details { display: grid; grid-template-columns: max-content 1fr; column-gap: 22px; row-gap: 11px; margin: 18px 0; }
.plan-details dt { font-size: 13px; color: #56617a; }
.plan-details dd { margin: 0; font-size: 15px; overflow-wrap: anywhere; }
.account-notice { margin-bottom: 24px; padding: 18px 21px; background: #fff7d4; border-left: 3px solid #c3a02c; }
@media (max-width: 760px) { .agreement-text { padding: 17px; font-size: 15px; } .plan-details { grid-template-columns: 1fr; row-gap: 5px; } .plan-details dd { margin-bottom: 10px; } }
.purchase-agreement-label { display: flex; flex-direction: column; gap: 7px; margin-top: 22px; font-size: 13px; font-weight: 650; }
.purchase-agreement-label select, #billing-consent-agreement { display: block; width: 100%; max-width: 100%; min-width: 0; font: inherit; font-size: 14px; padding: 10px; border: 1px solid #a9b5cc; background: #fff; color: var(--ink); }
#billing-consent-agreement { margin-block: 9px 18px; }
.capture-control { margin-top: 18px; border: 1px solid #d1d9e8; padding: 17px; }
.capture-control .checkbox-label input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; }
.document-disclaimer { margin-top: 15px; max-width: 850px; }
.upload-details, .matter-details, .staff-prepare-panel { border: 1px solid #ccd4e4; padding: 19px 22px; margin-top: 20px; }
.upload-details > summary, .matter-details > summary, .staff-prepare-panel > summary { cursor: pointer; font-weight: 650; font-size: 17px; }
.staff-prepare-panel > p { margin-top: 16px; }
.document-source-details > summary, .document-edit > summary { cursor: pointer; color: var(--blue); line-height: 1.5; font-size: 14px; }
.document-source-details[open] { display: grid; gap: 18px; }
.document-source-details label { margin-top: 17px; }
.document-browser { display: grid; grid-template-columns: minmax(180px, 230px) minmax(0, 1fr); gap: 28px; margin-top: 30px; align-items: start; }
.document-tree { display: block; border: 1px solid #d4dbea; padding: 14px; background: #f6f8fc; min-width: 0; }
.document-tree .text-button { text-align: left; text-decoration: none; width: 100%; padding: 9px 10px; color: #33435f; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.document-tree .text-button[aria-pressed="true"] { color: #fff; background: var(--blue); }
.document-tree .text-button:hover:not([aria-pressed="true"]) { background: #e7edfa; }
.document-tree h4 { font-size: 12px; letter-spacing: .05em; text-transform: uppercase; margin: 23px 10px 12px; color: #5a6580; }
.document-tree > .help { padding: 0 10px; }
.case-folder-group { margin-top: 12px; }
.case-folder-group > .text-button { font-weight: 650; }
.case-folders { border-left: 1px solid #bac8e1; margin: 6px 0 5px 11px; padding-left: 8px; }
.document-results { min-width: 0; }
.document-results-heading { align-items: start; margin-bottom: 0; }
.document-results-heading h3 { font-size: 23px; line-height: 1.35; overflow-wrap: anywhere; }
.document-results .record-list { margin-top: 10px; }
.document-results .record h3 { overflow-wrap: anywhere; }
.document-location { font-size: 13px; font-weight: 650; color: #435477; margin-top: 7px; }
.document-badges { display: flex; flex-wrap: wrap; column-gap: 6px; }
.record .verified-badge { color: #265d42; background: #eaf5ed; }
.document-meta, .document-source-notes { overflow-wrap: anywhere; }
.document-source-notes { font-size: 14px; white-space: pre-wrap; margin-top: 10px; }
.document-edit { margin-top: 14px; }
.document-edit[open] { padding: 17px; border: 1px solid #d1d9e7; background: #fbfcff; }
.document-edit .stack-form { margin-top: 17px; }
.selected-matter { padding: 16px; background: #f4f7fc; margin-bottom: 14px; }
.selected-matter .record-body { font-size: 14px; margin-top: 10px; }
.invitation-panel { margin-top: 24px; }
#invitation-link-panel { margin-top: 20px; }
#invitation-link { display: block; width: 100%; padding: 11px; font: 13px ui-monospace, monospace; margin-top: 8px; border: 1px solid #a5b3cc; background: #f4f7fc; }
.invitation-source-label { margin-top: 20px; }
#invitation-email-source { width: 100%; min-width: 0; padding: 11px; margin-block: 8px 14px; border: 1px solid #a5b3cc; }
#invite-email-status .text-button { display: block; margin-top: 13px; }
@media (max-width: 1100px) { .staff-layout .document-browser { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .document-browser { grid-template-columns: 1fr; gap: 22px; } .upload-details, .matter-details, .staff-prepare-panel { padding: 17px; } }
.agreement-package-options, .agreement-scope-group { border: 1px solid #cbd4e5; padding: 18px; min-width: 0; }
.agreement-package-options legend, .agreement-scope-group legend { font-size: 15px; font-weight: 650; padding-inline: 7px; }
.agreement-package-options { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.agreement-package-options label { border: 1px solid #cbd4e5; padding: 15px; background: #fff; }
.agreement-package-options .package-choice { flex-direction: row; align-items: flex-start; gap: 12px; cursor: pointer; }
.package-choice strong, .package-choice small { display: block; }
.package-choice small { font-size: 13px; font-weight: 400; margin-top: 6px; line-height: 1.5; }
.agreement-package-options label:has(input:checked) { border-color: var(--blue); background: #edf3ff; }
.agreement-package-options input[type="radio"] { appearance: none; width: 18px; height: 18px; padding: 0; border: 1px solid #8494b4; border-radius: 2px; flex: 0 0 18px; margin-top: 2px; }
.agreement-package-options input[type="radio"]:checked { background: var(--blue); border-color: var(--blue); box-shadow: inset 0 0 0 3px #fff; }
#agreement-scope-tasks, #drafting-scope-fields { display: grid; gap: 18px; }
#agreement-covered-matters { display: grid; gap: 17px; }
.covered-matter-row { display: grid; gap: 15px; padding: 17px; background: #f5f7fc; border: 1px solid #d4dbea; }
.agreement-next-step { margin-top: 24px; }
.agreement-next-step .record-actions { margin-top: 20px; }
#staff-agreement-actions { margin-block: 20px; }
@media (max-width: 760px) { .agreement-package-options { grid-template-columns: 1fr; } }

/* Lucide icons, ISC license, https://lucide.dev — source https://github.com/lucide-icons/lucide. Copyright Lucide Contributors. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED AS IS AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
.icon-dashboard { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Crect%20width%3D%227%22%20height%3D%229%22%20x%3D%223%22%20y%3D%223%22%20rx%3D%221%22%20%2F%3E%0A%20%20%3Crect%20width%3D%227%22%20height%3D%225%22%20x%3D%2214%22%20y%3D%223%22%20rx%3D%221%22%20%2F%3E%0A%20%20%3Crect%20width%3D%227%22%20height%3D%229%22%20x%3D%2214%22%20y%3D%2212%22%20rx%3D%221%22%20%2F%3E%0A%20%20%3Crect%20width%3D%227%22%20height%3D%225%22%20x%3D%223%22%20y%3D%2216%22%20rx%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-folder { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M20%2020a2%202%200%200%200%202-2V8a2%202%200%200%200-2-2h-7.9a2%202%200%200%201-1.69-.9L9.6%203.9A2%202%200%200%200%207.93%203H4a2%202%200%200%200-2%202v13a2%202%200%200%200%202%202Z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-message { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M16%2010a2%202%200%200%201-2%202H6.828a2%202%200%200%200-1.414.586l-2.202%202.202A.71.71%200%200%201%202%2014.286V4a2%202%200%200%201%202-2h10a2%202%200%200%201%202%202z%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M20%209a2%202%200%200%201%202%202v10.286a.71.71%200%200%201-1.212.502l-2.202-2.202A2%202%200%200%200%2017.172%2019H10a2%202%200%200%201-2-2v-1%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-signature { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M14.364%2013.634a2%202%200%200%200-.506.854l-.837%202.87a.5.5%200%200%200%20.62.62l2.87-.837a2%202%200%200%200%20.854-.506l4.013-4.009a1%201%200%200%200-3.004-3.004z%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M14.487%207.858A1%201%200%200%201%2014%207V2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M20%2019.645V20a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2h8a2.4%202.4%200%200%201%201.704.706l2.516%202.516%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M8%2018h1%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-account { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M17.925%2020.056a6%206%200%200%200-11.851.001%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2211%22%20r%3D%224%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-users { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M18%2021a8%208%200%200%200-16%200%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2210%22%20cy%3D%228%22%20r%3D%225%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M22%2020c0-3.37-2-6.5-4-8a5%205%200%200%200-.45-8.3%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-menu { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M4%205h16%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4%2012h16%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4%2019h16%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-calendar { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M8%202v3%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M16%202v3%22%20%2F%3E%0A%20%20%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%222%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%209h18%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M8%2013h.01%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2013h.01%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M16%2013h.01%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M8%2017h.01%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2017h.01%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M16%2017h.01%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-plus { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M5%2012h14%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%205v14%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-lock { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2216%22%20r%3D%221%22%20%2F%3E%0A%20%20%3Crect%20x%3D%223%22%20y%3D%2210%22%20width%3D%2218%22%20height%3D%2212%22%20rx%3D%222%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M7%2010V7a5%205%200%200%201%2010%200v3%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-shield { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M20%2013c0%205-3.5%207.5-7.66%208.95a1%201%200%200%201-.67-.01C7.5%2020.5%204%2018%204%2013V6a1%201%200%200%201%201-1c2%200%204.5-1.2%206.24-2.72a1.17%201.17%200%200%201%201.52%200C14.51%203.81%2017%205%2019%205a1%201%200%200%201%201%201z%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-chevron { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-arrow { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M5%2012h14%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m12%205%207%207-7%207%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-card { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Crect%20width%3D%2220%22%20height%3D%2214%22%20x%3D%222%22%20y%3D%225%22%20rx%3D%222%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%222%22%20x2%3D%2222%22%20y1%3D%2210%22%20y2%3D%2210%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M6%2014h2%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-check { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m16%209-5.5%205.5L8%2012%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-file { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M6%2022a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2h8a2.4%202.4%200%200%201%201.704.706l3.588%203.588A2.4%202.4%200%200%201%2020%208v12a2%202%200%200%201-2%202z%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M14%202v5a1%201%200%200%200%201%201h5%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M10%209H8%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M16%2013H8%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M16%2017H8%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-search { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m21%2021-4.34-4.34%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-upload { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M12%203v12%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m17%208-5-5-5%205%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M21%2015v4a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-close { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M18%206%206%2018%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m6%206%2012%2012%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
.icon-folderopen { --icon:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22currentColor%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m6%2014%201.5-2.9A2%202%200%200%201%209.24%2010H20a2%202%200%200%201%201.94%202.5l-1.54%206a2%202%200%200%201-1.95%201.5H4a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2h3.9a2%202%200%200%201%201.69.9l.81%201.2a2%202%200%200%200%201.67.9H18a2%202%200%200%201%202%202v2%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
/* File browser and compact workflow details. */
.document-browser { display:grid; grid-template-columns:185px minmax(0,1fr); gap:24px; margin-top:22px; align-items:start; }
.document-tree { border:0; background:transparent; padding:0; min-width:0; display:block; }
.document-tree h4 { font-size:10px; letter-spacing:.1em; color:#758398; margin:14px 10px 12px; }
.document-tree .text-button { display:flex; align-items:center; gap:9px; padding:11px 10px; border-radius:5px; width:100%; line-height:1.4; font-size:12px; text-align:left; color:#526680; }
.document-tree .text-button .icon { width:16px; height:16px; flex:0 0 16px; }
.document-tree .text-button[aria-pressed=true] { background:#e4edfc; color:#234f9b; font-weight:630; }
.document-tree .text-button:hover:not([aria-pressed=true]) { background:#eaf0f7; }
.document-tree .help { padding:0 10px; }
.document-tree .add-related-case { margin-top:13px; color:var(--blue); }
.document-results { min-width:0; }
.document-results-heading { align-items:center; gap:14px; margin-bottom:17px; }
.document-results-heading h3 { font-size:15px; line-height:1.5; }
.folder-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.folder-tile { display:grid; grid-template-columns:1fr auto; text-align:left; gap:9px; padding:15px; min-height:98px; border:1px solid #d6e0ed; border-radius:7px; background:white; color:#3f5875; }
.folder-tile .icon { width:24px; height:24px; grid-column:1/-1; color:#9a783a; }
.folder-tile .folder-name { font-size:12px; font-weight:590; }
.folder-tile .folder-count { font-size:11px; color:#758398; }
.folder-tile:hover { border-color:#92b0df; background:#f8faff; }
.folder-tile[aria-pressed=true] { border-color:#769cdb; background:#eaf1fd; color:#204d90; }
.file-toolbar { display:flex; align-items:center; gap:15px; margin-top:18px; }
.file-search { position:relative; display:block; flex:1; max-width:420px; }
.file-search>.icon { position:absolute; left:12px; top:13px; width:16px; height:16px; color:#7a899e; }
.document-search { padding-left:36px; min-height:42px; font-size:12px; }
.file-toolbar .text-button { flex-shrink:0; }
.document-results .record-list { margin-top:16px; }
.document-record { background:white; border:1px solid var(--line); border-bottom:0; padding:19px; }
.document-record:first-of-type { border-radius:8px 8px 0 0; }
.document-record:last-of-type { border-bottom:1px solid var(--line); border-radius:0 0 8px 8px; }
.document-record:only-of-type { border-radius:8px; }
.document-row { display:flex; align-items:flex-start; gap:15px; }
.document-row .file-icon { margin-top:2px; color:#7e94ae; width:24px; height:28px; flex:0 0 24px; }
.file-info { min-width:0; flex:1; }
.file-info h3 { font-size:13px; line-height:1.5; overflow-wrap:anywhere; letter-spacing:-.01em; }
.document-row .secondary-button { padding:8px 11px; font-size:11px; min-height:34px; }
.document-meta { font-size:11px; color:var(--muted); margin-top:4px; line-height:1.6; }
.file-info .status-badge { display:inline-block; padding:3px 6px; margin:7px 5px 0 0; border-radius:3px; font-size:10px; color:#596d87; background:#eef3f9; }
.file-info .verified-badge { color:#37634e; background:#eaf4ee; }
.file-details { margin:10px 0 0 39px; }
.file-details>summary { font-size:11px; color:#345f9a; cursor:pointer; padding:5px 0; }
.file-details[open] { padding-bottom:4px; }
.document-edit[open] { padding:20px; border-radius:6px; margin-top:14px; }
.document-edit>summary { font-size:12px; }
.document-location { font-size:12px; margin-top:14px; }
.selected-matter { border:1px solid var(--line); background:#eaf0f8; border-radius:7px; padding:16px; }
.document-source-notes { font-size:13px; }
.document-disclaimer { font-size:11px; margin:0 0 15px; }
#documents>.upload-details,#staff-documents>.upload-details { border-color:#b9cbe7; }
.upload-details,.matter-details,.staff-prepare-panel { padding:15px 19px; }
.upload-details>summary,.matter-details>summary,.staff-prepare-panel>summary { font-size:13px; }
#documents>.matter-details,#staff-documents>.matter-details { margin-top:20px; }
.account-notice { background:#fff8df; border:1px solid #e9d99e; border-left:3px solid #c2a450; border-radius:6px; padding:16px 20px; margin-bottom:24px; font-size:13px; }
.account-notice h3 { font-size:14px; }
.account-notice p { margin-top:7px; }
.agreement-text { background:white; border-radius:6px; font-size:14px; }
.agreement-package-options,.agreement-scope-group { border-radius:6px; }
.agreement-package-options label { border-radius:5px; }
.agreement-package-options .package-choice { font-size:13px; }
.agreement-package-options legend,.agreement-scope-group legend { font-size:13px; }
.agreement-next-step { margin-top:20px; background:#fff; }
#engagement-list,#staff-engagement-list { margin-bottom:24px; }
#engagement-list>.record,#staff-engagement-list>.record { background:white; padding:22px; border:1px solid var(--line); border-radius:8px; margin-bottom:13px; }
.record .verified-badge { background:#eaf4ee; color:#37634e; }
.plan-details { column-gap:22px; row-gap:10px; }
.plan-details dt { font-size:12px; }
.plan-details dd { font-size:13px; }
.invitation-panel { border-radius:8px; }
#invitation-link { border-radius:5px; font-size:12px; }
@media(max-width:1180px) { .document-browser { grid-template-columns:160px minmax(0,1fr); gap:18px; } .folder-tiles { grid-template-columns:1fr 1fr; } }
@media(max-width:680px) { .document-browser { grid-template-columns:1fr; gap:20px; } .document-tree { display:flex; align-items:center; gap:7px; overflow-x:auto; padding:0 0 8px; } .document-tree h4,.document-tree>.help { display:none; } .document-tree .text-button { width:auto; white-space:nowrap; border:1px solid var(--line); background:white; padding:10px; min-height:40px; } .document-tree .add-related-case { margin-top:0; } .document-tree .text-button .icon { display:none; } .folder-tiles { gap:9px; } .folder-tile { min-height:94px; } .document-row { gap:10px; flex-wrap:wrap; } .document-row .file-icon { width:20px; flex-basis:20px; } .file-info { flex:1 1 calc(100% - 40px); } .document-row>.secondary-button { margin-left:30px; min-height:36px; } .file-details { margin-left:30px; margin-top:4px; } .document-record { padding:17px; } .file-toolbar { gap:10px; } .file-toolbar .text-button { font-size:11px; } .agreement-text { font-size:13px; padding:17px; } }

.password-field { display:flex; flex-direction:column; gap:7px; }
.password-field label { display:block; }
@media (max-width:600px) { .portal-page .text-button { min-height:40px; } }

/* Focused add/edit dialogs keep the file workspace in view. */
.document-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 10px; }
.document-toolbar>div { display:flex; align-items:center; gap:10px; }
.document-toolbar .button,.document-toolbar .secondary-button { gap:7px; min-height:40px; padding:9px 13px; font-size:12px; }
.document-toolbar .icon { width:16px; height:16px; }
.document-toolbar>.help { font-size:11px; }
.workspace-dialog { width:min(720px,calc(100% - 36px)); max-height:calc(100dvh - 48px); padding:25px 30px 30px; border:1px solid var(--line); border-radius:10px; overflow:auto; color:var(--ink); box-shadow:0 24px 80px #13243d4d; }
.workspace-dialog::backdrop { background:#15263f75; }
.workspace-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.workspace-dialog .workspace-dialog-heading h2 { margin:0; font-size:22px; }
.dialog-close-button { display:grid; place-items:center; width:38px; height:38px; color:#58708c; background:#f0f3f8; border:0; border-radius:5px; }
.workspace-dialog .stack-form { max-width:none; }
.workspace-dialog .stack-form .button { margin-top:0; }
@media(max-width:680px) { .document-toolbar { align-items:start; flex-direction:column-reverse; gap:12px; } .document-toolbar>div { flex-wrap:wrap; width:100%; } .document-toolbar .button,.document-toolbar .secondary-button { flex:1; min-height:43px; } .document-toolbar>.help { margin-bottom:0; } .workspace-dialog { width:calc(100% - 24px); padding:21px; max-height:calc(100dvh - 28px); } }

#signout-dialog { max-width:540px; }
#signout-dialog>.help { margin-top:14px; }
#signout-dialog>.button-row { margin-top:24px; }

/* Optional account setup uses the same focused console as the case tools. */
.setup-workspace { max-width: 1000px; }
.setup-workspace > .section-heading { align-items: start; }
.setup-privacy { max-width: 760px; line-height: 1.6; margin: -7px 0 26px; }
.setup-steps { display: flex; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--line); counter-reset: setup; }
.setup-steps li { flex: 1; display: flex; align-items: center; gap: 9px; padding: 14px 8px 15px 0; font-size: 12px; color: var(--muted); border-bottom: 3px solid transparent; }
.setup-steps li::before { counter-increment: setup; content: counter(setup); display: grid; place-items: center; width: 23px; height: 23px; flex: 0 0 23px; border: 1px solid #c4cdd9; border-radius: 50%; font-size: 11px; }
.setup-steps li[aria-current="step"] { color: var(--blue); border-bottom-color: var(--blue); font-weight: 650; }
.setup-steps li[aria-current="step"]::before { background: var(--blue); border-color: var(--blue); color: white; }
.setup-steps li.is-saved::before { content: '✓'; background: #eaf4ee; color: #37634e; border-color: #bfd6c8; }
.setup-save-status { min-height: 22px; margin-top: 14px; }
.setup-form { max-width: 760px; margin: 23px 0 0; padding: 29px; border: 1px solid var(--line); border-radius: 8px; background: white; }
.setup-form h3 { margin: 0; font-size: 23px; letter-spacing: -.025em; }
.setup-form > .help { line-height: 1.6; }
.setup-action-choices { border: 0; padding: 0; margin: 0; min-width: 0; }
.setup-action-choices legend { font-size: 13px; font-weight: 650; margin-bottom: 12px; }
.setup-action-choices > div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
.setup-form .checkbox-label { align-items: start; }
.setup-form .checkbox-label input { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 1px; }
.setup-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 5px; padding-top: 21px; border-top: 1px solid var(--line); }
.setup-finish { max-width: 830px; margin-top: 32px; }
.setup-finish > .icon { width: 34px; height: 34px; color: #37634e; margin-bottom: 12px; }
.setup-finish h3 { font-size: 26px; margin: 0 0 13px; }
.setup-finish > p { max-width: 700px; line-height: 1.6; }
.setup-next-options { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 25px 0; }
.setup-next-options article { background: white; border: 1px solid var(--line); border-radius: 8px; padding: 25px; }
.setup-next-options h4 { font-size: 17px; margin: 0 0 10px; }
.setup-next-options p { color: var(--muted); font-size: 14px; line-height: 1.55; margin-bottom: 20px; }
#setup-leave-dialog { max-width: 540px; }
#setup-leave-dialog .button-row { margin-top: 23px; }
@media (max-width: 600px) {
  .setup-workspace > .section-heading { flex-direction: column; gap: 9px; }
  .setup-privacy { font-size: 12px; }
  .setup-steps li { flex-direction: column; align-items: center; gap: 8px; padding: 10px 3px; font-size: 10px; }
  .setup-form { padding: 21px; }
  .setup-form h3 { font-size: 21px; }
  .setup-action-choices > div, .setup-next-options { grid-template-columns: 1fr; }
  .setup-form-actions { gap: 8px; }
  .setup-form-actions .button { padding-inline: 16px; font-size: 13px; }
}
/* A quiet language control stays in the work console, never in case content. */
.portal-language-switch { display:flex; gap:4px; flex-wrap:wrap; }
.app-sidebar .portal-language-switch { margin:24px 0 14px; }
.portal-heading .portal-language-switch { justify-content:flex-end; margin-bottom:20px; }

/* Staff preparation is a reviewed sequence, separate from agreement publishing. */
.agreement-ai { margin:24px 0; padding:24px; border:1px solid #d7deea; border-radius:8px; background:#f8faff; min-width:0; }
.agreement-ai-heading { font-size:18px; line-height:1.4; margin:0 0 8px; }
.agreement-ai-status { font-size:12px; line-height:1.6; color:#435571; margin:14px 0; }
.agreement-ai-step { background:#fff; border:1px solid #dbe1eb; border-radius:6px; margin:12px 0; min-width:0; }
.agreement-ai-step > summary { display:flex; align-items:center; gap:10px; padding:15px 16px; cursor:pointer; font-size:13px; font-weight:650; list-style:none; }
.agreement-ai-step > summary::after { content:'+'; margin-left:auto; font-size:18px; font-weight:400; }
.agreement-ai-step[open] > summary::after { content:'−'; }
.agreement-ai-step > summary::-webkit-details-marker { display:none; }
.agreement-ai-step > summary:focus-visible { outline:2px solid var(--blue,#0048ed); outline-offset:3px; }
.agreement-ai-number { width:24px; height:24px; display:grid; place-items:center; background:#edf2fb; border-radius:50%; color:#435571; font-size:11px; flex-shrink:0; }
.agreement-ai-form { padding:4px 16px 18px; gap:18px; }
.agreement-ai-form label { min-width:0; }
.agreement-ai-form textarea { resize:vertical; line-height:1.6; min-height:90px; }
.agreement-ai-form .button-row { align-items:center; gap:10px; }
.agreement-ai-form h4 { margin:8px 0 0; font-size:14px; }
.agreement-ai-calls { border:0; padding:0; margin:0; display:grid; gap:10px; }
.agreement-ai-calls legend { font-size:12px; font-weight:650; padding:0 0 10px; }
.agreement-ai-calls .help { margin:0; }
.agreement-ai-calls input:disabled + span { color:#78818d; }
.agreement-ai-provenance { color:#4d5c72; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.agreement-ai-provenance summary { cursor:pointer; font-weight:600; }
.agreement-ai-issues { display:grid; gap:12px; }
.agreement-ai-issues:empty { display:none; }
.agreement-ai-issues > div { border-left:3px solid #efd16c; background:#fffbed; padding:12px 14px; }
.agreement-ai-issues h4 { margin:0 0 8px; }
.agreement-ai-issues ul,.agreement-ai-provenance ul { padding-left:19px; margin:0; }
.agreement-ai-issues li { font-size:12px; line-height:1.65; overflow-wrap:anywhere; margin:5px 0; }
.agreement-ai-suggestions,.agreement-ai-matters { display:grid; gap:14px; }
.agreement-ai-suggestion { display:grid; gap:12px; border:1px solid #dbe1eb; border-radius:5px; padding:15px; background:#fff; min-width:0; }
.agreement-ai-suggestion > .checkbox-label { font-weight:650; }
.agreement-ai-existing { color:#526176; font-size:12px; line-height:1.6; }
.agreement-ai-existing p { white-space:pre-wrap; overflow-wrap:anywhere; max-height:180px; overflow:auto; margin:8px 0 0; }
.agreement-ai-existing summary { cursor:pointer; }
.agreement-ai-action-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.agreement-ai-reference { font-size:11px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:#5f6f85; overflow-wrap:anywhere; margin:0; }
.agreement-ai-delivery { display:grid; gap:14px; padding:20px; background:#f4f7fc; border:1px solid #dbe1eb; border-radius:6px; }
.agreement-ai-agreement-controls { display:grid; gap:12px; }
.agreement-ai-recipient { font-weight:650; font-size:14px; margin:0; overflow-wrap:anywhere; }
.agreement-ai [hidden] { display:none !important; }
.agreement-ai button:disabled { cursor:not-allowed; opacity:.5; }
.agreement-ai .error-box { overflow-wrap:anywhere; }
@media(max-width:680px) {
  .agreement-ai { padding:14px; margin:18px -6px; }
  .agreement-ai-form { padding:4px 12px 15px; }
  .agreement-ai-step > summary { padding:13px 12px; }
  .agreement-ai-action-options { grid-template-columns:1fr; }
  .agreement-ai-delivery { padding:14px; }
  .agreement-ai-form .button-row { align-items:stretch; flex-direction:column; }
}
.portal-language-switch button { min-height:34px; padding:6px 10px; font-size:13px; }
.app-sidebar .portal-language-switch button { background:transparent; color:inherit; border:1px solid #cbd2e0; border-radius:5px; }
.app-sidebar .portal-language-switch button[aria-pressed="true"] { background:#e8eeff; color:#073bbf; border-color:#0649f5; }
.agreement-language-note { padding:12px 16px; background:#fff7d6; border-left:3px solid #d4aa20; }
html[lang="es"] .portal-nav a { align-items:flex-start; }
html[lang="es"] .portal-nav a span:last-child { overflow-wrap:break-word; }
html[lang="es"] .workspace-tabs { overflow-x:auto; }

.document-upload-progress{display:grid;gap:10px;padding:16px;border:1px solid var(--border,#dce2ea);border-radius:8px;background:var(--surface-soft,#f6f8fb)}
.document-upload-progress p{margin:0;font-weight:600}.document-upload-progress progress{width:100%;height:10px;accent-color:var(--blue,#1048ff)}.document-upload-progress button{justify-self:start}

/* One source set supplies the initial letter and its standard agreement. */
.agreement-ai-settings { display:grid; gap:18px; border:1px solid #dbe1eb; border-radius:6px; padding:18px; margin:0; min-width:0; }
.agreement-ai-settings legend { padding:0 6px; font-size:13px; font-weight:650; }
.agreement-ai-settings .stack-form { margin:0; }
.agreement-ai-gmail { display:grid; gap:12px; border-top:1px solid #dbe1eb; padding-top:16px; min-width:0; }
.agreement-ai-gmail h4,.agreement-ai-gmail p { margin:0; }
.agreement-ai-gmail a { font-size:13px; font-weight:600; justify-self:start; }
.agreement-ai-step > .help,.agreement-ai-step > button,.agreement-ai-step > details { margin:12px 16px; }
.agreement-ai-step > .text-button { margin-left:0; }
@media(max-width:680px) { .agreement-ai-settings { padding:12px; } .agreement-ai-gmail button { width:100%; } }
