:root { --ink:#152633; --ink-soft:#617079; --navy:#112a3a; --paper:#fbfbf8; --canvas:#f0f2ef; --white:#fff; --line:#dbe1dd; --gold:#b88e55; --green:#167457; --error:#a74e4a; --shadow:0 20px 58px rgba(17,42,58,.09); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); background:var(--canvas); }
* { box-sizing:border-box; } body { margin:0; } button,input,select { font:inherit; } button { cursor:pointer; } button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid rgba(51,119,151,.35); outline-offset:2px; } .is-hidden { display:none!important; }
.topbar { min-height:72px; background:var(--white); border-bottom:1px solid var(--line); padding:0 clamp(21px,5vw,74px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; } .brand { display:inline-flex; align-items:center; gap:10px; color:var(--navy); text-decoration:none; letter-spacing:.13em; font-size:13px; font-weight:850; } .brand-mark { display:flex; align-items:end; height:21px; gap:3px; } .brand-mark i { display:block; width:4px; background:var(--gold); transform:skew(-17deg); } .brand-mark i:nth-child(1){height:10px}.brand-mark i:nth-child(2){height:16px}.brand-mark i:nth-child(3){height:21px}.topbar-company { color:#6f7c7c; font-size:11px; font-weight:650; letter-spacing:.02em; }.company-dot { display:inline-block; width:6px; height:6px; background:var(--green); border-radius:50%; margin:0 6px 1px 0; }.workspace-link { justify-self:end; border:0; background:transparent; color:var(--navy); font-size:11px; font-weight:750; }.workspace-link span { color:var(--gold); margin-left:5px; }
.agreement-header { color:white; background:var(--navy); padding:33px clamp(21px,5vw,74px); display:flex; align-items:center; justify-content:space-between; gap:25px; }.eyebrow { color:var(--gold); margin:0 0 8px; font-size:9px; font-weight:850; letter-spacing:.16em; }.agreement-header h1,.workspace-hero h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(25px,3vw,36px); font-weight:500; letter-spacing:-.035em; }.document-meta { margin:9px 0 0; color:#c1ced0; font-size:11px; }.document-meta span { color:#d6b783; padding:0 6px; }.outline-button { color:#e3cfab; border:1px solid #5f7781; background:transparent; padding:10px 13px; font-size:11px; font-weight:750; white-space:nowrap; }.outline-button:hover { border-color:#d1b57f; }
.customer-layout { max-width:1510px; margin:0 auto; padding:41px clamp(21px,5vw,74px) 70px; display:grid; grid-template-columns:175px minmax(0,1fr) 295px; gap:clamp(24px,3vw,48px); align-items:start; }.flow-rail { padding-top:7px; }.rail-label { color:#8b9896; font-size:9px; letter-spacing:.15em; font-weight:850; }.flow-rail ol { list-style:none; padding:13px 0 0; margin:0; border-left:1px solid #cad2ce; }.flow-rail li { position:relative; }.flow-rail li:before { content:""; position:absolute; width:7px; height:7px; top:14px; left:-4px; background:#c0c9c5; border-radius:50%; }.flow-rail li.is-current:before,.flow-rail li.is-complete:before { background:var(--gold); }.flow-rail li.is-complete:before { background:var(--green); }.flow-rail button { padding:9px 0 9px 15px; border:0; background:transparent; display:flex; align-items:center; gap:9px; color:#7b8987; font-size:11px; font-weight:650; text-align:left; }.flow-rail b { color:#a4b0ad; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:9px; }.flow-rail .is-current button { color:var(--navy); }.flow-rail .is-current b { color:var(--gold); }.flow-rail .is-complete button { color:var(--green); }.save-button { margin:27px 0 0; padding:0; border:0; background:none; color:var(--navy); font-size:10px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.form-column { min-width:0; background:var(--white); border:1px solid #e0e4e0; box-shadow:var(--shadow); }.form-section { padding:31px 42px; border-bottom:1px solid var(--line); scroll-margin-top:16px; }.section-heading { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; margin-bottom:24px; }.section-heading > div { display:flex; align-items:baseline; gap:11px; }.step-number { color:var(--gold); font:10px ui-monospace,SFMono-Regular,Consolas,monospace; }.section-heading h2 { margin:0; color:var(--navy); font:500 25px Georgia,"Times New Roman",serif; letter-spacing:-.025em; }.section-heading > p { max-width:250px; margin:2px 0 0; color:var(--ink-soft); font-size:10px; line-height:1.5; text-align:right; }.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.compact-grid { margin-top:20px; }.field { display:block; color:var(--navy); font-size:10px; font-weight:800; letter-spacing:.01em; }.field-wide { grid-column:1 / -1; }.field em { color:var(--gold); font-size:8px; font-style:normal; letter-spacing:.06em; margin-left:5px; text-transform:uppercase; }.field input,.field select { width:100%; height:42px; display:block; margin-top:7px; padding:0 11px; color:var(--ink); border:1px solid #cdd7d1; background:var(--white); font-size:12px; font-weight:500; }.field input::placeholder { color:#9da8a5; }.field input:focus,.field select:focus { outline:none; border-color:var(--navy); }.us-person-field { margin:0; padding:0; border:0; color:var(--navy); font-size:10px; font-weight:800; }.us-person-field legend { padding:0; }.choice-line { height:42px; margin-top:7px; display:flex; align-items:center; gap:14px; padding:0 11px; border:1px solid #cdd7d1; color:#647472; font-size:11px; font-weight:600; }.choice-line input { accent-color:var(--navy); margin:0 4px 0 0; }.amount-card { padding:21px 25px; color:white; background:var(--navy); }.amount-card > span,.signature-label { display:block; color:#d8bc8f; font-size:9px; letter-spacing:.12em; font-weight:850; }.amount-card label { display:grid; grid-template-columns:auto 1fr; align-items:baseline; margin-top:13px; border-bottom:1px solid #657983; }.amount-card b { padding-right:12px; color:#c7d7d7; font:11px ui-monospace,SFMono-Regular,Consolas,monospace; }.amount-card input { min-width:0; width:100%; padding:0 0 5px; border:0; color:white; background:transparent; font:500 30px Georgia,"Times New Roman",serif; }.amount-card input:focus { outline:0; }.amount-card input::placeholder { color:#95a8af; }.amount-card small { display:block; margin-top:8px; color:#bdccce; font-size:10px; }.acknowledgement-section { background:#fcfcfa; }.required-read-status { display:flex; align-items:center; gap:11px; padding:14px; background:#f0f5f2; border-left:3px solid var(--gold); }.status-ring { display:grid; place-items:center; flex:0 0 38px; height:38px; color:var(--navy); background:white; border:1px solid #d2ddd7; border-radius:50%; font:10px ui-monospace,SFMono-Regular,Consolas,monospace; }.required-read-status div { flex:1; }.required-read-status strong { display:block; color:var(--navy); font-size:11px; }.required-read-status p { margin:3px 0 0; color:#6b7977; font-size:10px; }.required-read-status button { border:0; background:transparent; color:var(--navy); font-size:10px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }.check-list { display:grid; gap:14px; margin-top:23px; }.check-row { display:flex; gap:10px; align-items:flex-start; cursor:pointer; }.check-row input { position:absolute; opacity:0; }.check-row > span { flex:0 0 17px; height:17px; margin-top:1px; background:white; border:1px solid #aebbb6; }.check-row input:checked + span { color:white; background:var(--green); border-color:var(--green); }.check-row input:checked + span:after { content:"✓"; display:block; font-size:12px; text-align:center; line-height:15px; }.check-row p { margin:0; color:var(--ink-soft); font-size:11px; line-height:1.52; }.signature-section { border-bottom:0; }.signature-box { padding:18px; background:#f7f8f5; border:1px solid var(--line); }.signature-box p { color:#657472; font-size:10px; line-height:1.55; margin:10px 0 0; }.signature-box .field { margin-top:14px; }.signature-box input { font:500 20px Georgia,"Times New Roman",serif; }.primary-button { min-height:42px; border:1px solid var(--navy); padding:0 17px; color:white; background:var(--navy); font-size:11px; font-weight:800; }.primary-button:hover { background:#1c4053; }.primary-button span { color:#dcc28e; margin-left:9px; font-size:15px; }.signature-section .primary-button { width:100%; margin-top:16px; }.primary-button:disabled { opacity:.45; cursor:not-allowed; }
.agreement-reader { padding-top:8px; }.reader-heading { display:flex; align-items:flex-start; justify-content:space-between; }.reader-heading h2 { margin:0; color:var(--navy); font:500 20px Georgia,"Times New Roman",serif; }.reader-heading button { border:0; padding:1px 0; color:var(--navy); background:transparent; font-size:10px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }.reader-intro { color:var(--ink-soft); font-size:10px; line-height:1.55; margin:11px 0 15px; }.accordion-list { border-top:1px solid #d6dfda; }.accordion-list details { border-bottom:1px solid #d6dfda; }.accordion-list summary { display:grid; grid-template-columns:22px 1fr 12px; gap:7px; align-items:center; padding:12px 2px; cursor:pointer; list-style:none; }.accordion-list summary::-webkit-details-marker { display:none; }.accordion-list summary > span { color:#a0aba8; font:9px ui-monospace,SFMono-Regular,Consolas,monospace; }.accordion-list summary strong { display:block; color:var(--navy); font-size:10px; }.accordion-list summary small { display:block; color:#83908e; font-size:9px; margin-top:2px; }.accordion-list summary b { color:var(--gold); font-size:17px; font-weight:400; }.accordion-list details[open] summary b { transform:rotate(45deg); }.accordion-content { padding:0 0 14px 29px; }.accordion-content p { color:#5f6e6d; font-size:10px; line-height:1.55; margin:0; }.accordion-content a { display:inline-block; color:var(--navy); font-size:9px; font-weight:800; margin-top:8px; text-decoration:none; }.reader-full-link { width:100%; margin-top:15px; color:var(--navy); background:transparent; border:1px solid #cbd6d0; padding:10px; text-align:left; font-size:10px; font-weight:800; }.reader-full-link span { float:right; color:var(--gold); font-size:14px; }
.company-workspace { max-width:1420px; padding:35px clamp(21px,5vw,74px) 70px; margin:0 auto; }.workspace-topline { display:flex; justify-content:space-between; color:#889592; font:9px ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.13em; }.workspace-topline button { padding:0; color:var(--navy); border:0; background:transparent; font:11px Inter,ui-sans-serif,sans-serif; font-weight:800; }.workspace-hero { display:flex; justify-content:space-between; align-items:end; gap:25px; margin:36px 0 30px; }.workspace-hero h1 { color:var(--navy); font-size:clamp(31px,4vw,46px); }.workspace-hero > div > p:last-child { max-width:600px; margin:10px 0 0; color:var(--ink-soft); font-size:13px; line-height:1.6; }.workspace-grid { display:grid; grid-template-columns:.95fr 1.3fr .95fr; gap:16px; }.workspace-card { min-width:0; padding:22px; background:var(--white); border:1px solid var(--line); }.workspace-card-heading { display:flex; align-items:start; justify-content:space-between; gap:10px; margin-bottom:18px; }.workspace-card-heading > div { display:flex; gap:10px; align-items:baseline; }.card-number { color:var(--gold); font:10px ui-monospace,SFMono-Regular,Consolas,monospace; }.workspace-card h2 { margin:0; color:var(--navy); font:500 21px Georgia,"Times New Roman",serif; }.status-pill { color:var(--green); background:#eaf4ef; padding:5px 7px; font-size:8px; font-weight:850; white-space:nowrap; }.status-pill.neutral { color:#677674; background:#eef1ef; }.drop-zone { display:flex; flex-direction:column; align-items:center; padding:25px 15px; text-align:center; background:#fafbf9; border:1px dashed #b7c5bd; cursor:pointer; }.drop-zone input { position:absolute; opacity:0; pointer-events:none; }.drop-icon { display:grid; place-items:center; width:28px; height:28px; color:var(--gold); border:1px solid #dbc49f; font-size:18px; margin-bottom:9px; }.drop-zone strong { color:var(--navy); font-size:11px; }.drop-zone small { color:#71807c; margin:5px 0 11px; font-size:9px; }.drop-zone em { color:var(--gold); font-size:9px; font-style:normal; font-weight:850; }.source-file { display:flex; align-items:center; gap:9px; padding:10px; border:1px solid var(--line); margin-top:12px; }.file-icon { display:grid; place-items:center; flex:0 0 31px; height:34px; color:#a34d47; background:#f8e8e6; font:9px ui-monospace,SFMono-Regular,Consolas,monospace; }.source-file div { min-width:0; flex:1; }.source-file strong { display:block; overflow:hidden; color:var(--navy); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.source-file small { color:#758480; font-size:9px; }.source-file button { border:0; background:transparent; color:#82908d; font-size:18px; }.workspace-note { margin:13px 0 0; color:#70807c; font-size:9px; line-height:1.55; }.quiet-button { border:0; padding:0; background:transparent; color:var(--navy); font-size:10px; font-weight:800; }.mapping-table { border:1px solid var(--line); }.mapping-row { display:grid; grid-template-columns:1.1fr 1.1fr 38px; align-items:center; gap:8px; min-height:51px; padding:8px 10px; border-bottom:1px solid var(--line); }.mapping-row:last-child { border-bottom:0; }.mapping-row strong { color:var(--navy); font-size:10px; }.mapping-row span { color:#6b7b78; font-size:9px; line-height:1.3; }.heading-row { min-height:29px; background:#f5f7f5; }.heading-row span { color:#85928f; font-size:8px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.toggle input { position:absolute; opacity:0; }.toggle i { display:block; position:relative; width:27px; height:15px; border-radius:10px; background:#c7d0cc; }.toggle i:after { content:""; position:absolute; top:2px; left:2px; width:11px; height:11px; background:white; border-radius:50%; transition:.15s; }.toggle input:checked + i { background:var(--green); }.toggle input:checked + i:after { transform:translateX(12px); }.clause-review { display:grid; gap:8px; }.clause-review article { padding:11px; border:1px solid var(--line); }.clause-required { color:var(--gold); font-size:8px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.clause-review strong { display:block; color:var(--navy); margin-top:4px; font-size:10px; }.clause-review small { display:block; margin-top:3px; color:#788784; font-size:9px; }.full-width { width:100%; border:1px solid #ccd6d0; padding:10px; margin-top:11px; text-align:left; }
.agreement-dialog { width:min(720px,calc(100vw - 30px)); max-height:calc(100vh - 42px); padding:0; color:var(--ink); border:0; box-shadow:0 30px 90px rgba(3,18,27,.3); }.agreement-dialog::backdrop { background:rgba(11,29,39,.58); }.dialog-header { display:flex; justify-content:space-between; gap:18px; padding:27px 30px 20px; border-bottom:1px solid var(--line); }.dialog-header h2 { margin:0; color:var(--navy); font:500 28px Georgia,"Times New Roman",serif; }.dialog-header span { display:block; color:#74817f; margin-top:5px; font-size:10px; }.dialog-close { color:#6f7d79; background:transparent; border:0; font-size:25px; line-height:1; }.dialog-note { display:flex; gap:9px; margin:18px 30px; padding:11px; background:#f3f6f3; }.dialog-note span { display:grid; place-items:center; flex:0 0 16px; height:16px; border:1px solid var(--gold); color:var(--gold); border-radius:50%; font:10px Georgia,serif; }.dialog-note p { color:#5e6d6b; margin:0; font-size:10px; line-height:1.55; }.full-agreement-list { margin:0 30px 30px; border-top:1px solid var(--line); }.full-agreement-list details { border-bottom:1px solid var(--line); }.full-agreement-list summary { display:flex; justify-content:space-between; align-items:center; padding:14px 2px; color:var(--navy); cursor:pointer; font-size:11px; font-weight:800; list-style:none; }.full-agreement-list summary::-webkit-details-marker { display:none; }.full-agreement-list summary span { color:var(--gold); font-size:17px; font-weight:400; }.full-agreement-list details[open] summary span { transform:rotate(45deg); }.full-agreement-list p { margin:0; padding:0 2px 15px; color:#63716f; font-size:11px; line-height:1.6; }.toast { position:fixed; z-index:10; bottom:23px; left:50%; transform:translateX(-50%); color:white; background:var(--navy); box-shadow:var(--shadow); padding:12px 15px; font-size:11px; font-weight:700; }
@media (max-width:1130px) { .customer-layout { grid-template-columns:155px minmax(0,1fr); }.agreement-reader { display:none; }.workspace-grid { grid-template-columns:1fr 1.2fr; }.clauses-card { grid-column:1 / -1; } }
@media (max-width:720px) { .topbar { min-height:62px; padding:0 17px; grid-template-columns:1fr auto; }.topbar-company { display:none; }.workspace-link { font-size:10px; }.agreement-header { padding:24px 18px; display:block; }.agreement-header h1 { font-size:25px; }.outline-button { margin-top:17px; }.customer-layout { display:block; padding:0 0 35px; }.flow-rail { overflow:auto; padding:0 17px; border-bottom:1px solid var(--line); background:white; }.rail-label,.save-button { display:none; }.flow-rail ol { min-width:510px; display:flex; padding:0; border:0; }.flow-rail li { flex:1; }.flow-rail li:before { top:auto; bottom:0; left:calc(50% - 4px); }.flow-rail button { min-height:52px; padding:6px 0; justify-content:center; flex-direction:column; gap:1px; font-size:9px; }.form-column { margin:19px 13px 0; }.form-section { padding:25px 22px; }.section-heading { display:block; margin-bottom:21px; }.section-heading > p { max-width:none; margin:7px 0 0; text-align:left; }.form-grid { grid-template-columns:1fr; }.field-wide { grid-column:auto; }.amount-card { padding:18px; }.required-read-status { align-items:flex-start; }.required-read-status button { white-space:nowrap; margin-top:2px; }.workspace-hero { display:block; margin:28px 0 22px; }.workspace-hero .primary-button { margin-top:18px; }.company-workspace { padding:25px 15px 45px; }.workspace-grid { grid-template-columns:1fr; }.clauses-card { grid-column:auto; }.dialog-header,.dialog-note { margin-left:20px; margin-right:20px; }.dialog-header { padding-left:0; padding-right:0; }.full-agreement-list { margin-left:20px; margin-right:20px; } }

/* Reading-first scale: legal and financial workflows should not require zooming. */
.topbar-company, .workspace-link { font-size: 15px; }
.eyebrow, .rail-label { font-size: 11px; }
.document-meta { font-size: 15px; }
.flow-rail button, .save-button { font-size: 14px; }
.form-section { padding-top: 39px; padding-bottom: 39px; }
.section-heading > p, .reader-intro { font-size: 14px; }
.field, .us-person-field { font-size: 14px; }
.field input, .field select { height: 49px; font-size: 17px; }
.choice-line { height: 49px; font-size: 15px; }
.amount-card > span, .signature-label { font-size: 11px; }
.amount-card small, .signature-box p { font-size: 14px; }
.required-read-status strong, .required-read-status button { font-size: 14px; }
.required-read-status p, .check-row p { font-size: 14px; }
.reader-heading button, .reader-full-link, .outline-button, .primary-button { font-size: 14px; }
.accordion-list summary { padding-top: 15px; padding-bottom: 15px; }
.accordion-list summary strong { font-size: 14px; }
.accordion-list summary small, .accordion-content p { font-size: 12px; }
.accordion-content a { font-size: 12px; }
.workspace-card .workspace-note, .drop-zone small, .source-file small, .mapping-row span, .clause-review small { font-size: 12px; }
.drop-zone strong, .mapping-row strong, .clause-review strong, .quiet-button { font-size: 14px; }
.dialog-header span, .dialog-note p, .full-agreement-list summary, .full-agreement-list p { font-size: 14px; }
.signature-box input { font-size: 23px; }
@media (max-width:720px) { .workspace-link { font-size: 12px; }.flow-rail button { font-size: 11px; }.section-heading h2 { font-size: 28px; } }

/* Signature capture and complete agreement reader. */
body { overflow-x: hidden; }
.signature-intro { margin: 10px 0 15px !important; color: #536564 !important; }
.signature-pad-wrap { position: relative; min-height: 205px; overflow: hidden; border: 2px solid #aab9b2; background: #fff; }
#signaturePad, #invitationSignaturePad { display: block; width: 100%; height: 205px; touch-action: none; cursor: crosshair; }
.signature-pad-placeholder { position: absolute; top: 50%; left: 50%; max-width: calc(100% - 28px); color: #8a9794; font: 15px Georgia, "Times New Roman", serif; pointer-events: none; text-align: center; transform: translate(-50%, -50%); }
.signature-tools { display: flex; align-items: center; gap: 12px; margin-top: 12px; color: #6f7f7c; font-size: 13px; }
.signature-action, .signature-upload { min-height: 38px; padding: 0 12px; border: 1px solid #b7c4bd; background: #fff; color: var(--navy); font-size: 13px; font-weight: 800; }
.signature-upload { display: inline-flex; align-items: center; cursor: pointer; }
.signature-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.signature-status { min-height: 19px; margin: 12px 0 0 !important; color: var(--green) !important; font-weight: 800; }
.field.is-invalid { color: var(--error); }
.field textarea { width: 100%; min-height: 96px; display: block; margin-top: 7px; padding: 10px 11px; color: var(--ink); border: 1px solid #cdd7d1; background: var(--white); font: 500 14px Inter,ui-sans-serif,sans-serif; line-height: 1.45; resize: vertical; }
.field.is-invalid input, .field.is-invalid select, .field.is-invalid textarea { border-color: var(--error); box-shadow: 0 0 0 2px rgba(167, 78, 74, .12); }
.field input[list] { padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, #71807d 50%), linear-gradient(135deg, #71807d 50%, transparent 50%); background-position: calc(100% - 17px) 21px, calc(100% - 12px) 21px; background-repeat: no-repeat; background-size: 5px 5px, 5px 5px; }
.amount-card.is-invalid { box-shadow: inset 0 0 0 2px var(--error); }
.amount-card.is-invalid > span, .amount-card.is-invalid b { color: #ffd0cd; }
.check-row.is-invalid > span { border-color: var(--error); box-shadow: 0 0 0 2px rgba(167, 78, 74, .12); }
.check-row.is-invalid p { color: var(--error); }
.signature-pad-wrap.is-invalid { border-color: var(--error); box-shadow: 0 0 0 2px rgba(167, 78, 74, .12); }
.review-dialog { width: min(650px, calc(100vw - 30px)); max-height: calc(100vh - 42px); padding: 0; color: var(--ink); border: 0; box-shadow: 0 30px 90px rgba(3, 18, 27, .3); }
.review-dialog::backdrop { background: rgba(11, 29, 39, .58); }
.review-dialog-content { padding: 24px 30px 30px; }
.review-intro { margin: 0 0 20px; color: #536564; font-size: 14px; line-height: 1.55; }
.review-summary { display: grid; gap: 0; margin: 0; border-top: 1px solid var(--line); }
.review-summary > div { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.review-summary dt { color: #71807d; font-size: 12px; font-weight: 800; }
.review-summary dd { min-width: 0; margin: 0; color: var(--navy); font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.review-signature { margin: 20px 0; padding: 14px; border: 1px solid var(--line); background: #f8faf8; }
.review-signature > span { display: block; color: var(--gold); font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.review-signature img { display: block; width: 100%; height: 88px; margin-top: 8px; object-fit: contain; object-position: left center; }
.review-dialog .primary-button { width: 100%; min-height: 48px; }
.admin-hero { margin-bottom: 18px; }
.admin-security-notice { display: flex; gap: 13px; align-items: flex-start; max-width: 760px; margin: 0 0 24px; padding: 15px 17px; border: 1px solid #d7e2dc; border-left: 3px solid var(--green); background: #f4f8f5; }
.admin-security-notice > span { display: grid; place-items: center; flex: 0 0 25px; height: 25px; color: var(--green); border: 1px solid #b9d4c5; border-radius: 50%; font-size: 17px; font-weight: 800; }
.admin-security-notice strong { display: block; color: var(--navy); font-size: 14px; }
.admin-security-notice p { margin: 4px 0 0; color: #58706b; font-size: 13px; line-height: 1.5; }
.workspace-link:disabled { cursor: wait; opacity: .72; }
.workspace-session { display: flex; align-items: center; gap: 12px; }
.workspace-session > span:first-child { max-width: 240px; overflow: hidden; color: #64736f; font: 600 11px Inter, ui-sans-serif, sans-serif; letter-spacing: 0; text-overflow: ellipsis; white-space: nowrap; }
.workspace-session button { padding: 0; color: var(--navy); border: 0; background: transparent; font: 700 11px Inter, ui-sans-serif, sans-serif; text-decoration: underline; text-underline-offset: 3px; }
.admin-login-dialog { width: min(470px, calc(100vw - 30px)); padding: 0; color: var(--ink); border: 0; box-shadow: 0 30px 90px rgba(3,18,27,.3); }
.admin-login-dialog::backdrop { background: rgba(11,29,39,.58); }
.admin-login-content { position: relative; padding: 34px; }
.admin-login-content .dialog-close { position: absolute; top: 17px; right: 18px; }
.admin-login-content h2 { margin: 8px 0 10px; color: var(--navy); font: 500 31px Georgia,"Times New Roman",serif; letter-spacing: -.03em; }
.admin-login-content > p:not(.eyebrow) { margin: 0; color: #5f706d; font-size: 14px; line-height: 1.6; }
.google-sign-in { display: flex; align-items: center; justify-content: center; gap: 11px; width: 100%; min-height: 50px; margin-top: 24px; padding: 0 18px; color: #223440; border: 1px solid #bdcbc5; background: #fff; box-shadow: 0 1px 2px rgba(3,18,27,.08); font-size: 14px; font-weight: 800; }
.google-sign-in:hover { background: #f7f9f8; }
.google-sign-in:disabled { cursor: wait; opacity: .72; }
.google-sign-in > span { display: grid; place-items: center; width: 22px; height: 22px; color: #fff; background: #4285f4; border-radius: 50%; font: 700 14px Arial, sans-serif; }
.admin-login-error { margin-top: 16px !important; padding: 10px 11px; color: #983d3d !important; background: #fcf0ef; border-left: 3px solid #b94a45; }
.admin-login-note { margin-top: 18px !important; color: #74817e !important; font-size: 12px !important; }
.field em, .amount-card em, .signature-label em { display: inline-block; margin-left: 5px; color: #b43f3a; font-size: 10px; font-style: normal; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.amount-card > span { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.amount-card > span em { color: #ffd0cb; }
.signature-label em { color: #b43f3a; }
.required-section-note { display: flex; gap: 8px; margin: 0; color: #9d3e39; font-size: 13px; font-weight: 750; line-height: 1.45; }
.required-section-note > span { color: #b43f3a; }
body, body * { min-width: 0; }
h1, h2, h3, h4, p, dd, dt, strong, small, span, button, label, td, th, .workspace-note, .admin-card-intro, .email-list-item, .mapping-row, .source-file, .status-pill { overflow-wrap: anywhere; }
button, .primary-button, .outline-button, .quiet-button, .workspace-link { white-space: normal; }
.field, .amount-card, .signature-box, .admin-card, .workspace-card, .agreement-dialog, .review-dialog, .admin-login-dialog, .source-file, .mapping-row, .email-list-item { max-width: 100%; }
.field.is-invalid em, .amount-card.is-invalid > span em, .signature-section .is-invalid + .signature-tools + .signature-status { color: #b43f3a; }
.status-pill { white-space: normal; text-align: center; }
.agreement-controls { max-width: 100%; margin-top: 18px; padding: 24px; background: var(--white); border: 1px solid var(--line); }
.agreement-controls-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.agreement-controls h2 { margin: 0; color: var(--navy); font: 500 25px Georgia,"Times New Roman",serif; }
.agreement-controls-heading p { margin: 7px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.agreement-controls-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 19px; }
.agreement-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.agreement-actions .outline-button { color: var(--navy); border-color: #b7c5bd; }
.agreement-actions .outline-button:hover { border-color: var(--navy); }
.agreement-action-status { min-height: 20px; margin: 13px 0 0; color: #4d6c62; font-size: 13px; line-height: 1.5; }
.agreement-action-status.is-error { color: #a3433e; }
.customer-link-field { margin-top: 16px; }
.customer-link-field input { color: var(--navy); font-size: 12px; }
.editor-empty { margin: 0; padding: 15px; color: #687875; font-size: 13px; line-height: 1.5; }
.mapping-editor-heading { padding: 12px; color: #63736f; background: #f5f7f5; font-size: 12px; line-height: 1.5; }
.mapping-editor-row { display: grid; grid-template-columns: minmax(150px, 1.2fr) minmax(110px, .7fr) minmax(180px, 1.4fr) auto auto; gap: 10px; align-items: end; padding: 13px; border-top: 1px solid var(--line); }
.mapping-editor-row label, .clause-editor-heading label { display: grid; gap: 6px; color: var(--navy); font-size: 11px; font-weight: 800; }
.mapping-editor-row input, .mapping-editor-row select, .clause-editor-heading input, .clause-review textarea { width: 100%; min-width: 0; border: 1px solid #cbd6d0; color: var(--ink); background: #fff; font: 500 13px Inter,ui-sans-serif,sans-serif; }
.mapping-editor-row input, .mapping-editor-row select, .clause-editor-heading input { min-height: 40px; padding: 0 10px; }
.mapping-required { display: inline-flex !important; align-items: center; gap: 6px !important; min-height: 40px; white-space: nowrap; }
.mapping-required input { width: 17px !important; height: 17px; margin: 0; accent-color: var(--green); }
.mapping-remove { min-height: 40px; padding: 0 9px; color: #9d3e39; border: 1px solid #dfb3af; background: #fff8f7; font-size: 12px; font-weight: 800; }
.clause-editor-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.clause-review textarea { display: block; min-height: 96px; margin-top: 10px; padding: 10px; resize: vertical; line-height: 1.45; }
.invitation-alert { margin: 0 22px 22px; padding: 12px; color: #9d3e39; background: #fff0ef; border-left: 3px solid #b43f3a; font-size: 13px; font-weight: 700; line-height: 1.45; }
.submission-success { margin: 23px; padding: 27px; text-align: center; background: #f0f7f3; border: 1px solid #b8d8c6; }
.submission-success > span { display: grid; place-items: center; width: 36px; height: 36px; margin: 0 auto 11px; color: #fff; background: var(--green); border-radius: 50%; font-size: 19px; font-weight: 800; }
.submission-success h2 { margin: 0; color: var(--navy); font: 500 25px Georgia,"Times New Roman",serif; }
.submission-success p { max-width: 480px; margin: 9px auto 0; color: #526763; font-size: 14px; line-height: 1.55; }
.owner-access-note { display: flex; gap: 11px; align-items: flex-start; padding: 14px; background: #f1f7f3; border: 1px solid #c8ded0; }
.owner-access-note > span { display: grid; place-items: center; flex: 0 0 24px; height: 24px; color: #fff; background: var(--green); border-radius: 50%; font-size: 13px; font-weight: 850; }
.owner-access-note strong { display: block; color: var(--navy); font-size: 13px; }
.owner-access-note p { margin: 4px 0 0; color: #557067; font-size: 12px; line-height: 1.45; }
.admin-nav { display: flex; gap: 7px; overflow-x: auto; margin: 0 0 22px; padding-bottom: 2px; border-bottom: 1px solid var(--line); }
.admin-nav button { min-height: 42px; padding: 0 13px; color: #71807d; background: transparent; border: 0; border-bottom: 2px solid transparent; font-size: 13px; font-weight: 800; white-space: nowrap; }
.admin-nav button.is-current { color: var(--navy); border-bottom-color: var(--gold); }
.admin-panel { min-width: 0; }
.admin-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 16px; }
.admin-metrics article, .admin-card { min-width: 0; padding: 21px; background: var(--white); border: 1px solid var(--line); }
.admin-metrics span { display: block; color: #788784; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.admin-metrics strong { display: block; margin: 6px 0 3px; color: var(--navy); font: 500 32px Georgia, "Times New Roman", serif; }
.admin-metrics strong.metric-positive { color: var(--green); }
.admin-metrics strong.metric-alert { color: var(--error); }
.admin-metrics small { color: #74817f; font-size: 12px; line-height: 1.4; }
.admin-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.admin-card-heading > div { display: flex; align-items: baseline; gap: 10px; }
.admin-card h2 { margin: 0; color: var(--navy); font: 500 23px Georgia, "Times New Roman", serif; }
.admin-card-intro { max-width: 560px; margin: -5px 0 18px; color: #60716e; font-size: 13px; line-height: 1.55; }
.admin-empty-state { display: flex; align-items: center; gap: 14px; min-height: 116px; padding: 16px; border: 1px dashed #c4d0c9; background: #fafbf9; }
.admin-empty-state.compact { min-height: 92px; }
.empty-mark { display: grid; place-items: center; flex: 0 0 34px; height: 34px; color: #a0aea8; border: 1px solid #c9d3ce; border-radius: 50%; font-size: 21px; }
.admin-empty-state strong { display: block; color: var(--navy); font-size: 14px; }
.admin-empty-state p { margin: 4px 0 0; color: #6b7a77; font-size: 13px; line-height: 1.5; }
.admin-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.email-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; }
.email-form .field { min-width: 0; }
.email-form .primary-button { min-height: 49px; white-space: nowrap; }
.email-list { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.email-list-empty { padding: 13px; color: #71807d; background: #fafbf9; border: 1px dashed #ccd6d0; font-size: 13px; }
.email-list-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border: 1px solid var(--line); background: #fff; }
.email-list-item > div { min-width: 0; }
.email-list-item strong { display: block; overflow: hidden; color: var(--navy); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.email-list-item small { display: block; margin-top: 3px; color: #778681; font-size: 11px; }
.email-role { flex: 0 0 auto; padding: 5px 7px; color: var(--green); background: #eaf4ef; font-size: 10px; font-weight: 850; }
.email-role.pending { color: #806333; background: #faf0dd; }
.email-remove { border: 0; padding: 2px 0; color: #75837f; background: transparent; font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.delivery-history { margin-top: 16px; }
.status-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; color: #75837f; font-size: 12px; }
.status-dot { display: inline-block; width: 8px; height: 8px; margin-left: 6px; border-radius: 50%; }
.status-dot:first-child { margin-left: 0; }
.status-dot.signed { background: var(--green); }.status-dot.unsigned { background: var(--gold); }.status-dot.attention { background: var(--error); }
.customer-table-wrap { overflow-x: auto; border: 1px solid var(--line); }
.customer-table { width: 100%; min-width: 650px; border-collapse: collapse; text-align: left; }
.customer-table th { padding: 11px 13px; color: #75837f; background: #f7f9f7; border-bottom: 1px solid var(--line); font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.customer-table td { padding: 15px 13px; color: #50615f; border-bottom: 1px solid var(--line); font-size: 13px; }
.customer-table .customer-empty td { padding: 32px 13px; color: #75837f; text-align: center; }
.original-document { padding: 2px 2px 17px; color: #263940; font-family: Georgia, "Times New Roman", serif; font-size: 15px; line-height: 1.68; }
.original-document p { margin: 0 0 14px; }
.original-document .original-center { text-align: center; }
.original-document .original-brand { color: #a97d45; font-family: Inter, ui-sans-serif, sans-serif; font-size: 12px; font-weight: 850; letter-spacing: .11em; }
.original-document .original-title { color: var(--navy); font-size: 19px; font-weight: 700; }
.original-document .original-field { padding: 5px 0 8px; border-bottom: 1px solid #ccd5d0; }
@media (max-width:720px) {
  .agreement-header .outline-button { width: 100%; min-height: 49px; font-size: 15px; }
  .signature-pad-wrap, #signaturePad, #invitationSignaturePad { min-height: 185px; height: 185px; }
  .signature-pad-placeholder { font-size: 13px; }
  .signature-tools { flex-wrap: wrap; gap: 9px; }
  .signature-action, .signature-upload { min-height: 44px; font-size: 14px; }
  .agreement-dialog { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; }
  .dialog-header { position: sticky; top: 0; z-index: 1; background: var(--white); }
  .dialog-header h2 { font-size: 24px; }
  .dialog-note { margin-top: 13px; margin-bottom: 13px; }
  .full-agreement-list { padding-bottom: 22px; }
  .full-agreement-list summary { font-size: 14px; line-height: 1.35; }
  .original-document { font-size: 16px; line-height: 1.72; }
  .review-dialog { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; }
  .review-dialog-content { padding: 20px; }
  .review-summary > div { grid-template-columns: 1fr; gap: 4px; }
  .admin-security-notice { margin: 0 0 18px; }
  .workspace-session { gap: 8px; }
  .workspace-session > span:first-child { max-width: 118px; font-size: 10px; }
  .workspace-session > span:last-child { display: none; }
  .workspace-session button { font-size: 10px; }
  .admin-login-content { padding: 29px 23px 25px; }
  .admin-login-content h2 { font-size: 28px; }
  .agreement-controls { margin-top: 14px; padding: 19px; }
  .agreement-controls-grid { grid-template-columns: 1fr; }
  .agreement-controls-heading { display: block; }
  .agreement-controls-heading .quiet-button { margin-top: 13px; }
  .agreement-actions > button { flex: 1 1 100%; min-height: 48px; }
  .mapping-editor-row { grid-template-columns: 1fr; gap: 9px; }
  .mapping-required { min-height: 30px; }
  .clause-editor-heading { grid-template-columns: 1fr; gap: 9px; }
  .admin-nav { margin-bottom: 16px; }
  .admin-nav button { min-height: 44px; font-size: 12px; }
  .admin-metrics, .admin-two-column { grid-template-columns: 1fr; }
  .admin-metrics { gap: 9px; }
  .admin-metrics article, .admin-card { padding: 18px; }
  .admin-metrics article { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 12px; }
  .admin-metrics strong { grid-row: span 2; grid-column: 2; margin: 0; }
  .email-form { grid-template-columns: 1fr; }
  .email-form .primary-button { width: 100%; }
  .admin-card-heading { display: block; }
  .admin-card-heading > .status-legend, .admin-card-heading > .status-pill, .admin-card-heading > .quiet-button { display: inline-flex; margin-top: 10px; }
  .flow-rail { padding: 0; overflow: hidden; }
  .flow-rail ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); min-width: 0; width: 100%; }
  .flow-rail li { min-width: 0; }
  .flow-rail button { width: 100%; min-height: 66px; padding: 8px 2px 10px; gap: 3px; }
  .flow-rail li::before { display: none; }
  .flow-rail button b { font-size: 10px; }
  .flow-rail button b::before { content: "•"; margin-right: 4px; }
  .flow-rail button span { display: block; width: 100%; overflow: hidden; font-size: 0; line-height: 1; text-align: center; text-overflow: clip; white-space: nowrap; }
  .flow-rail button span::after { content: attr(data-mobile-label); color: #71807d; font-size: 10px; font-weight: 750; }
  .flow-rail .is-current button span::after { color: var(--navy); }
  .flow-rail .is-complete button span::after { color: var(--green); }
}
