body{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--body-ink);background:var(--page-bg);font-size:8.576px;--navy:#112b40;--teal:var(--brand);--line:var(--border)}*{box-sizing:border-box}body{margin:0}a{color:var(--teal)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0.536px solid var(--field-border);border-radius:3.752px;padding:5.36px 8.576px;background:white;color:var(--heading-ink);font-weight:600}button:hover{background:#eef4f6}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--teal);border-color:var(--teal);color:white}.primary:hover{background:var(--brand-hover)}.danger{color:#9d3340}.sidebar{background:var(--navy);color:#d5e0e7;width:129.712px;position:fixed;height:100vh;padding:17.152px 10.72px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:6.432px;color:white;text-decoration:none;font-weight:600;line-height:1.5}.brand small{font-size:6.432px;font-weight:400;color:#9fb2c3}.monogram{font-family:Georgia,serif;font-size:12.328px;letter-spacing:-0.536px;border:0.536px solid #688294;padding:5.36px 3.752px;border-radius:2.68px}.nav-label{font-size:5.896px;font-weight:600;letter-spacing:0.804px;color:#8ea4b6;margin:23.584px 6.432px 8.04px}nav a{color:#c4d2df;text-decoration:none;display:flex;gap:6.968px;padding:6.968px 6.432px;border-radius:3.216px;margin:2.68px 0;font-size:8.04px}nav a.active{background:#244458;color:white;box-shadow:inset 1.608px 0 #58c9b6}.nav-count{margin-left:auto;font-size:6.432px;background:#3a5668;border-radius:2.144px;padding:1.072px 3.216px}.sidebar-bottom{margin-top:auto;font-size:6.432px;line-height:2}.sidebar-bottom small{margin-left:7.504px;color:#93aabb}.live-dot{display:inline-block;width:3.216px;height:3.216px;background:#62c3a3;border-radius:50%;margin-right:3.216px}.workspace{margin-left:129.712px}.topbar{height:36.984px;background:white;border-bottom:0.536px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22.512px;font-size:7.504px;color:#748293}.topbar strong{color:#3d5065;font-weight:500}.local-pill{font-size:5.896px;font-weight:700;letter-spacing:0.536px;background:#e9f5f0;color:#267455;padding:3.216px 4.824px;border-radius:2.144px}.pilot-note{font-size:6.968px;padding:5.36px 22.512px;background:#fff8e8;color:#755820;border-bottom:0.536px solid #f0e5cc}main{max-width:761.12px;margin:auto;padding:19.296px 22.512px 32.16px}.heading{display:flex;justify-content:space-between;align-items:center;gap:10.72px;margin-bottom:14.472px}.eyebrow{font-size:5.896px;font-weight:700;color:#728494;letter-spacing:0.858px;text-transform:uppercase;margin:0 0 4.288px}h1{font-size:16.08px;letter-spacing:-0.64px;margin:0;color:var(--heading-ink);font-weight:650}h2{font-size:9.648px;font-weight:600;color:var(--heading-ink);margin:0 0 4.288px}h3{font-size:8.576px;margin:0}p{line-height:1.6}.subtext{font-size:7.504px;color:#6c7e8f;margin:3.752px 0 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9.648px;margin-bottom:15.008px}.stat{background:white;border:0.536px solid var(--line);border-radius:4.824px;padding:11.792px 12.864px}.stat p{font-size:6.968px;color:#697d8e;margin:0}.stat strong{display:block;font-size:16.08px;font-weight:600;margin:4.824px 0 2.68px;color:#183c50}.stat small{font-size:6.432px;color:#8593a0}.card{background:white;border:0.536px solid var(--line);border-radius:4.824px;margin-bottom:11.792px;overflow:hidden}.card-head{padding:11.256px 12.864px;border-bottom:0.536px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:6.432px}.card-body{padding:12.864px}.search{width:128.64px!important;min-height:19.296px!important;background:var(--surface-subtle)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:7.504px}th{font-size:5.896px;text-transform:uppercase;letter-spacing:0.64px;color:#728698;background:#fafbfd;padding:6.968px 11.792px;border-bottom:0.536px solid var(--line)}td{padding:10.72px 11.792px;border-bottom:0.536px solid var(--border-subtle);vertical-align:middle}tr:last-child td{border-bottom:0}td strong{display:block;font-weight:600;margin-bottom:3.216px}td small{color:#7c8b98;font-size:6.432px}.badge{display:inline-block;font-size:5.896px;padding:2.68px 4.288px;border-radius:2.144px;background:#e8f3ee;color:#287c60;font-weight:600;white-space:nowrap}.badge.warn{background:#fff2d8;color:#8b681e}.badge.error{background:#fbeaec;color:#a63d4a}.badge.blue{background:#eaf0f8;color:#4e7091}.text-button{border:0;padding:3.752px 0;color:var(--teal);background:none}.empty{padding:21.44px;text-align:center;color:#6e8190}.empty p{margin:4.288px 0 10.72px}.tabs{display:flex;gap:12.864px;border-bottom:0.536px solid var(--line);margin-bottom:12.864px;overflow:auto}.tabs button{border:0;background:none;padding:6.432px 0;border-radius:0;color:#768697;white-space:nowrap}.tabs button.selected{color:var(--teal);box-shadow:inset 0 -1.072px var(--teal)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10.72px}.field{display:flex;flex-direction:column;gap:4.288px;font-size:6.968px;color:#506779}.field input,.field select,.field textarea,input.search{width:100%;border:0.536px solid var(--field-border);border-radius:2.68px;background:white;color:var(--body-ink);padding:5.36px 5.896px;min-height:23.048px}.field textarea{min-height:45.56px;resize:vertical}.field small{font-size:5.896px;color:#8a98a4}.field.wide{grid-column:1/-1}.field input:focus,.field textarea:focus,.field select:focus{outline:1.072px solid var(--brand-focus);outline-offset:0.536px}button:focus-visible,a:focus-visible{outline:1.608px solid var(--brand-focus);outline-offset:1.608px}.party{padding:11.792px 0;border-bottom:0.536px solid var(--line)}.party:first-child{padding-top:0}.party:last-child{border-bottom:0}.party-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:9.648px}.roles{display:flex;flex-wrap:wrap;gap:4.824px;margin:9.648px 0}.role{font-size:6.432px;border:0.536px solid #dce4e9;border-radius:2.68px;padding:3.752px 4.824px;display:flex;gap:3.216px;align-items:center}.role input{accent-color:var(--teal)}.toolbar{display:flex;align-items:center;gap:5.36px}.savebar{display:flex;align-items:center;justify-content:space-between;padding:9.648px 12.864px;background:var(--surface-soft);border-top:0.536px solid var(--line)}.savebar span{font-size:6.968px;color:#748695}.finding{display:flex;gap:7.504px;align-items:baseline;border-bottom:0.536px solid var(--border-subtle);padding:7.504px 0;font-size:7.504px}.finding:last-child{border:0}.finding .badge{min-width:57.888px;text-align:center;white-space:normal}.finding small{display:block;color:#83909c;margin-top:2.68px;font-size:6.432px}.info{font-size:6.968px;padding:7.504px 9.648px;border-radius:3.216px;background:#edf5f7;color:#416578;margin-bottom:10.72px;line-height:1.6}.mapping-row{display:grid;grid-template-columns:1fr 2fr 1fr;gap:8.576px;padding:8.576px 0;border-bottom:0.536px solid var(--line);align-items:center}.mapping-row .field{font-size:6.432px}.code{font-family:Consolas,monospace;font-size:6.432px;word-break:break-all}pre{white-space:pre-wrap;word-break:break-word;max-height:214.4px;overflow:auto;font-size:6.432px;padding:10.72px;background:#f5f8fa}.checkline{display:flex;align-items:flex-start;gap:5.36px;line-height:1.5;font-size:7.504px;padding:8.04px 0}.checkline input{margin-top:2.144px;accent-color:var(--teal)}#notice{position:fixed;bottom:13.4px;right:16.08px;max-width:321.6px;background:#173f51;color:white;padding:9.112px 12.328px;border-radius:4.288px;box-shadow:0 2.144px 13.4px #10253535;z-index:10;font-size:7.504px}#notice.error{background:#923942}.muted{color:#8a99a5}.section-kicker{font-size:6.432px;text-transform:uppercase;letter-spacing:0.536px;color:#78909e;margin:0 0 10.72px}@media(max-width:1000px){.sidebar{width:107.2px}.workspace{margin-left:107.2px}main{padding:13.936px}.topbar,.pilot-note{padding-left:13.936px;padding-right:13.936px}.stats{gap:5.36px}.stat{padding:9.112px}.card-head{flex-wrap:wrap}.search{width:96.48px!important}}@media(max-width:720px){.sidebar{position:static;width:auto;height:auto;padding:8.04px 10.72px}.brand{font-size:7.504px}.monogram{padding:2.144px 4.288px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow:auto;margin-top:6.432px}nav a{font-size:6.432px;padding:4.288px;margin-right:3.216px;white-space:nowrap}.workspace{margin-left:0}.topbar{height:26.8px}main{padding:11.792px 8.576px}.topbar,.pilot-note{padding-left:8.576px;padding-right:8.576px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stat{display:flex;align-items:center;justify-content:space-between}.stat strong{font-size:12.864px;margin:0}.stat small{display:none}.heading{align-items:flex-start}h1{font-size:13.936px}.mapping-row{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.card-body{padding:9.648px}}

/* Juris Borneo firm theme with a live, resolution-independent typographic wordmark. */
:root{--teal:var(--brand);--navy:var(--brand-ink);--line:var(--border);background:var(--page-bg);color:var(--body-ink)}
.firm-header{min-height:34.304px;background:var(--brand);display:flex;align-items:center;padding:0 12.864px 0 0;gap:4.288px;color:white}
.firm-header .brand{flex:0 0 79.328px;height:34.304px;display:block}
.firm-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;width:79.328px;height:34.304px;color:#fff;gap:0.536px}
.firm-wordmark{font-family:Georgia,"Times New Roman",serif;font-size:15.008px;font-weight:900;letter-spacing:-0.804px;line-height:1}
.firm-tagline{font-family:Georgia,"Times New Roman",serif;font-size:4.288px;font-weight:600;letter-spacing:0.08px;line-height:1.4;white-space:nowrap}
/* Compact sizing uses native dimensions, keeping annotation coordinates unscaled. */
.firm-header nav{display:flex;align-self:stretch;align-items:stretch;gap:4.288px;margin:0}
.firm-header nav a{color:white;align-items:center;gap:4.824px;border-radius:0;margin:0;padding:0 8.576px;font-size:8.576px;font-weight:500;white-space:nowrap}
.firm-header nav a:hover{background:var(--brand-hover)}
.firm-header nav a.active{background:var(--brand-hover);box-shadow:inset 0 -1.608px var(--brand-light);font-weight:700}
.firm-header .nav-count{background:#ffffff24;color:white;border-radius:6.432px;padding:1.072px 3.752px;font-size:5.896px;margin-left:0}
.firm-context{margin-left:auto;font-size:6.968px;color:var(--brand-light);white-space:nowrap}
.workspace{margin-left:0}
.topbar{height:28.944px;padding:0 21.44px;border-color:var(--line);color:#718588}
.topbar strong{color:var(--heading-ink)}
.local-pill{color:var(--brand-ink);background:var(--brand-tint)}.live-dot{background:var(--brand)}
.pilot-note{padding:5.36px 18.76px}main{max-width:none;padding:20.368px 18.76px 32.16px}
h1{color:var(--heading-ink)}h2{color:var(--heading-ink)}
.primary{background:var(--brand);border-color:var(--brand);color:#fff}.primary:hover{background:var(--brand-hover)}
.stats{gap:12.864px;margin-bottom:16.08px}
.stat{min-height:83.616px;padding:11.256px 11.792px;border:0.536px solid var(--line);border-radius:10.72px}
.stat p{font-size:9.648px;color:#777;line-height:1.6}
.stat strong{font-size:19.296px;font-weight:400;line-height:1.2;margin:6.432px 0;color:#202929}
.stat small{font-size:8.04px;color:#777}
.card{border-radius:5.36px}.card-head{background:#fff}th{background:var(--surface-soft);color:#58777b}
.badge.blue{background:var(--brand-tint);color:var(--brand-ink)}.tabs button.selected{color:var(--brand-ink);box-shadow:inset 0 -1.072px var(--brand)}
.info{background:var(--brand-tint);color:#35636a}.text-button{color:var(--brand-ink)}button:hover{background:var(--brand-tint)}
button:focus-visible,a:focus-visible{outline:1.608px solid var(--brand-focus);outline-offset:1.608px}
.firm-header a:focus-visible{outline:1.072px solid white;outline-offset:-2.144px}#notice{background:var(--brand-ink)}
@media(max-width:1000px){.firm-context{display:none}.workspace{margin-left:0}.firm-header{gap:4.288px}.firm-header nav a{padding:0 6.432px}main{padding:13.936px}.topbar,.pilot-note{padding-left:13.936px;padding-right:13.936px}}
@media(max-width:720px){.firm-header{flex-wrap:wrap;padding:0;gap:0}.firm-header .brand{height:31.088px}.firm-header nav{width:100%;overflow:auto;border-top:0.536px solid #ffffff26;gap:0}.firm-header nav a{padding:7.504px 8.576px;font-size:7.504px;flex:1;justify-content:center}.topbar{height:25.728px}main{padding:12.864px 8.576px}.topbar,.pilot-note{padding-left:8.576px;padding-right:8.576px}.stat{gap:6.432px}.heading{flex-wrap:wrap}.search{max-width:100%}}

/* Dashboard composition based on the local CSY reference. */
:root{background:var(--page-bg);color:#222b2d}
.firm-header{height:37.52px}.firm-header .brand,.firm-logo{height:37.52px}
.firm-header nav{gap:0}.firm-header nav a,.nav-menu summary{font-size:8.576px;padding:0 9.648px}
.nav-menu{position:relative;display:flex;color:white}
.nav-menu summary{height:100%;display:flex;align-items:center;gap:6.432px;cursor:pointer;list-style:none;white-space:nowrap}
.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu summary::after{content:'';border:3.216px solid transparent;border-top-color:white;transform:translateY(1.608px)}
.nav-menu[open]>summary,.nav-menu>summary:hover{background:var(--brand-hover)}
.nav-menu>div{position:absolute;top:100%;left:0;min-width:117.92px;background:white;box-shadow:0 3.216px 10.72px #123b3b25;border:0.536px solid var(--line);z-index:20;padding:4.288px}
.firm-header .nav-menu a{color:var(--heading-ink);padding:7.504px;border-radius:2.144px}.firm-header .nav-menu a:hover,.firm-header .nav-menu a.active{background:var(--brand-tint);box-shadow:none;color:var(--brand-ink)}
.local-avatar{display:inline-flex;width:20.368px;height:20.368px;align-items:center;justify-content:center;background:#ffffff20;border-radius:50%;margin-left:7.504px;color:white;font-size:8.576px}
.topbar{padding:0 9.648px;height:27.872px}.topbar>span:first-child{background:var(--brand-tint);color:var(--brand);border-radius:2.68px;padding:5.36px 8.576px;font-size:9.112px}
body:has(.dashboard) .pilot-note{display:none}body:has(.dashboard) .local-pill{display:none}
.dashboard h1{font-size:16.08px;font-weight:600;letter-spacing:-0.4px;margin:0 0 15.008px;color:#202829}
.dashboard-stats{margin-bottom:17.152px}.dashboard-stats .stat{min-height:83.616px}
.dashboard-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12.864px}
.chart-card{background:white;border:0.536px solid var(--line);border-radius:4.288px;padding:12.864px 11.792px;min-height:234.768px}
.chart-card h2{font-size:9.648px;font-weight:400;color:#252d2e;margin:0 0 15.008px}
.chart-placeholder{height:118.992px;margin-left:18.224px;background:repeating-linear-gradient(to bottom,var(--border) 0,var(--border) 0.536px,transparent 0.536px,transparent 29.48px);display:flex;justify-content:center;align-items:center}
.chart-placeholder span{background:#fff;padding:4.824px 6.432px;color:#768184;font-size:6.968px}
.chart-year{text-align:center;color:#777;font-size:5.896px;margin:4.824px 0 11.792px}
.chart-source{font-size:8.04px;color:#777;margin:0 0 9.648px;line-height:1.5}
.chart-data summary{cursor:pointer;font-size:8.04px;padding:4.288px;letter-spacing:0.24px}.chart-data p{font-size:7.504px;color:#687678;line-height:1.6}
.billing-heading{display:flex;align-items:center;justify-content:space-between;margin:11.792px 0 7.504px;font-size:9.648px}.billing-heading p{margin:0}
.report-link{border:0.536px solid #718184;border-radius:12.864px;padding:4.824px 15.008px;text-decoration:none;color:var(--brand);white-space:nowrap}
.billing-table{background:white;border:0.536px solid var(--line);border-radius:2.144px}.billing-table th{background:var(--brand);color:white;font-size:8.576px;font-weight:600;text-transform:none;letter-spacing:0;padding:9.648px 11.792px}.billing-table td{font-size:8.576px;padding:8.04px 11.792px}
.dashboard-footnote{font-size:6.968px;color:#738184;margin-top:10.72px}
@media(max-width:1000px){.firm-header nav a,.nav-menu summary{padding:0 6.432px}.dashboard-charts{gap:8.576px}.chart-card{padding:10.72px 8.576px}}
@media(max-width:720px){.firm-header{height:auto}.firm-header nav{overflow:visible;flex-wrap:wrap}.nav-menu summary{padding:7.504px 8.576px}.nav-menu>div{min-width:101.84px}.dashboard-charts{grid-template-columns:1fr}.dashboard-stats .stat{min-height:58.96px}.dashboard-stats .stat p{font-size:8.576px}.billing-heading{gap:8.576px;align-items:flex-start}.dashboard h1{font-size:15.008px}}

/* Local administrator sign-in. */
.login-page{min-height:100vh;background:var(--page-bg);font-size:12px}
.login-shell{max-width:352px;padding:51.2px 19.2px;margin:0 auto}
.login-brand{background:var(--brand);color:white;border-radius:9.6px 9.6px 0 0;padding:22.4px;display:flex;flex-direction:column;align-items:center;gap:4.8px}
.login-brand .firm-wordmark{font-size:28.8px}.login-brand .firm-tagline{font-size:8px}
.login-card{background:white;border:0.8px solid var(--border);border-top:0;border-radius:0 0 9.6px 9.6px;padding:24px}
.login-card h1{font-size:20px}.login-card p{color:#61777a;line-height:1.6}
.login-card form{display:grid;gap:14.4px;margin-top:19.2px}.login-card .field{font-size:11.2px;gap:6.4px}
.login-card input{min-height:35.2px;padding:8px 9.6px;font-size:12.8px}.login-card button{min-height:35.2px;font-size:12px}
.login-card .login-note{font-size:9.6px;margin:19.2px 0 0}#login-error{color:#a02839;margin:0}
.firm-context{display:flex!important;align-items:center;gap:9.6px;margin-left:auto}
#sign-out{color:white;background:transparent;border:0.8px solid #ffffff66;padding:4px 8px;font-size:8.8px}
#sign-out:hover{background:var(--brand-hover)}
@media(max-width:720px){.firm-context{padding:6.4px 9.6px}.login-shell{padding-top:24px}}

/* Typography matched to the supplied Projects reference; no page zoom. */
body{font-size:14.4px}
h1,.dashboard h1{font-size:25.6px;line-height:1.25}
h2,h3,.chart-card h2{font-size:16px;line-height:1.4}
.subtext,.stat small,.chart-source,.dashboard-footnote,.login-note{font-size:12.8px}
button,input,select,textarea{font-size:14.4px}
button{padding:9.6px 14.4px}
.field,.mapping-row .field{font-size:12.8px;gap:6.4px}
.field input,.field select,.field textarea,input.search{font-size:14.4px;min-height:38.4px;padding:8px 9.6px}
input.search{width:280px!important;max-width:100%;font-size:16px}
table,.billing-table td{font-size:14.4px}
th,.billing-table th{font-size:14.4px;text-transform:none;letter-spacing:0;padding:14.4px 16px}
td,.billing-table td{padding:19.2px 16px}
td small,.field small,.stat small{font-size:11.2px}
.badge,.nav-count{font-size:11.2px}
.stat p{font-size:14.4px}.stat strong{font-size:28.8px}
.eyebrow,.section-kicker{font-size:9.6px}
.firm-header nav a,.nav-menu summary{font-size:12.8px}
.topbar,.topbar>span:first-child{font-size:12.8px}
.chart-data summary,.chart-data p,.billing-heading,.report-link,.info,.finding,.checkline{font-size:12.8px}
.chart-placeholder span,.chart-year,.pilot-note{font-size:11.2px}
.chart-placeholder{min-height:144px}.chart-card{min-height:304px}
.firm-header{height:51.2px;min-height:51.2px}.firm-header .brand,.firm-logo{height:51.2px}
.firm-header .brand{flex-basis:105.6px}.firm-logo{width:105.6px}.firm-wordmark{font-size:22.4px}.firm-tagline{font-size:6.4px}
.topbar{height:43.2px}main{padding:25.6px 19.2px 38.4px}
.card-head,.card-body{padding:17.6px 19.2px}.stats{gap:16px}.stat{padding:16px 17.6px}
.login-shell{padding:51.2px 19.2px;max-width:376px}.login-card h1{font-size:25.6px}.login-card .field{font-size:12.8px}.login-card button{font-size:14.4px}
@media(max-width:900px){.firm-header{height:auto;flex-wrap:wrap}.firm-header nav{flex-wrap:wrap}.firm-header nav a,.nav-menu summary{min-height:35.2px;padding:8px 9.6px}.firm-context{padding:6.4px 9.6px}.dashboard-charts{grid-template-columns:1fr}}
@media(max-width:720px){h1,.dashboard h1{font-size:22.4px}.heading{flex-wrap:wrap}.stat{display:block}.stat small{display:block}.stat strong{margin:8px 0}.billing-heading{flex-wrap:wrap}input.search{width:100%!important}.dashboard-stats .stat p{font-size:14.4px}}

.account-menu>summary{padding:0 8px;min-height:38.4px}
.account-menu .local-avatar{margin:0;width:28.8px;height:28.8px;font-size:12.8px}
.account-menu>div{left:auto;right:0;min-width:144px;padding:6.4px;border-radius:6.4px}
.account-name{font-size:11.2px;color:#64777a;margin:6.4px 9.6px 9.6px}
.account-menu #sign-out{display:block;width:100%;text-align:left;color:#28474c;background:white;border:0;border-radius:3.2px;padding:9.6px;font-size:12.8px}
.account-menu #sign-out:hover{background:var(--brand-tint);color:var(--brand-ink)}

/* Matter-first conveyancing overview. */
.workflow-home{max-width:1360px;margin:auto}
.workflow-heading{display:flex;align-items:center;justify-content:space-between;gap:19.2px;margin:6.4px 0 22.4px}
.workflow-heading h1{font-size:25.6px;margin:6.4px 0 9.6px}.workflow-heading .primary{white-space:nowrap}
.workflow-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14.4px;margin-bottom:19.2px}
.workflow-metrics>a{display:flex;flex-direction:column;background:white;border:0.8px solid var(--border);border-radius:9.6px;padding:17.6px;text-decoration:none;color:#294e53}
.workflow-metrics>a:hover{border-color:var(--brand);background:var(--brand-tint)}.workflow-metrics span{font-size:12.8px}.workflow-metrics strong{font-size:28.8px;font-weight:600;margin:8px 0}.workflow-metrics small{font-size:10.4px;color:#6a7f83;line-height:1.5}
.workflow-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:0.8px solid var(--border);border-radius:8px;background:var(--brand-tint);margin-bottom:22.4px;overflow:hidden}
.workflow-stages>div{display:flex;justify-content:space-between;gap:9.6px;padding:14.4px;border-right:0.8px solid var(--border);font-size:11.2px}.workflow-stages>div:last-child{border:0}.workflow-stages strong{color:var(--brand-ink)}
.workflow-columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:19.2px;align-items:start}
.workflow-columns .card-head{align-items:flex-start}.workflow-columns h2{font-size:16px;margin:0}.workflow-columns .subtext{font-size:11.2px;line-height:1.6}
.workflow-link{color:var(--brand-ink);font-size:11.2px;font-weight:600;white-space:nowrap;text-decoration:none;display:inline-block;padding:8px 0}.workflow-link:hover{text-decoration:underline}
.workflow-task{display:grid;grid-template-columns:minmax(88px,.65fr) minmax(0,1.6fr) auto;align-items:start;gap:14.4px;padding:19.2px;border-bottom:0.8px solid var(--border-subtle)}.workflow-task:last-child{border:0}.task-matter strong{font-size:12.8px;display:block}.task-matter span{display:block;font-size:9.6px;color:#688187;margin-top:6.4px;line-height:1.5}.workflow-task h3{font-size:12.8px}.workflow-task p{font-size:11.2px;color:#587177;margin:4.8px 0;line-height:1.5}.workflow-task small{font-size:9.6px;color:#708387}
.workflow-date{display:flex;align-items:center;justify-content:space-between;gap:9.6px;padding:14.4px 0;border-bottom:0.8px solid var(--border-subtle);font-size:12px}.workflow-date p{font-size:11.2px;margin:4px 0}.workflow-date .badge{font-size:9.6px}
.quiet-empty,.date-note{font-size:11.2px;color:#647c80;line-height:1.6;margin:14.4px 0}.date-note{padding:9.6px;background:#fff7e8;border-radius:4.8px;color:#785f2f}.workflow-caption{font-size:9.6px;color:#708387;margin-bottom:0}
.workflow-resource{display:flex;align-items:center;justify-content:space-between;font-size:12.8px;margin-bottom:11.2px}.workflow-resource strong{font-size:19.2px;color:var(--brand-ink)}
@media(max-width:1100px){.workflow-columns{grid-template-columns:1fr}.workflow-columns>aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.workflow-metrics{gap:9.6px}.workflow-metrics>a{padding:14.4px}}
@media(max-width:720px){.workflow-heading{align-items:flex-start;flex-direction:column}.workflow-heading h1{font-size:22.4px}.workflow-metrics{grid-template-columns:1fr 1fr}.workflow-stages{grid-template-columns:1fr}.workflow-stages>div{border-right:0;border-bottom:0.8px solid var(--border)}.workflow-columns>aside{grid-template-columns:1fr}.workflow-task{grid-template-columns:1fr}.workflow-metrics span{font-size:11.2px}.workflow-columns .card-head{flex-wrap:wrap}}
@media(max-width:720px){
.firm-header{display:grid;grid-template-columns:105.6px 1fr;padding:0}
.firm-header>.brand{grid-column:1;grid-row:1}
.firm-header>.firm-context{grid-column:2;grid-row:1;justify-self:end;padding:4.8px 9.6px}
.firm-header>nav{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:0;width:100%}
.firm-header>nav>a{flex:0 0 auto;justify-content:center;padding:11.2px;font-size:11.2px}
}

/* Shared workspace sizing: the Matters page is the reference. */
.workspace{--page-title:25.6px;--section-title:16px;--body-text:14.4px;--support-text:12.8px;--small-text:11.2px;--metric-text:28.8px}
.workspace main{max-width:none;padding:25.6px 19.2px 38.4px}
.workflow-home{max-width:none;margin:0}
.workspace h1,.workflow-heading h1{font-size:var(--page-title);font-weight:650;line-height:1.25;margin:0;letter-spacing:-0.429px}
.workspace h2,.workspace h3{font-size:var(--section-title);line-height:1.4}
.heading,.workflow-heading{margin:0 0 14.472px;gap:16px;align-items:center}
.workspace .subtext,.workflow-columns .subtext{font-size:var(--support-text);line-height:1.6;margin:3.752px 0 0}
.workspace .eyebrow{font-size:9.6px;margin:0 0 4.288px}
.workflow-metrics{gap:16px;margin-bottom:16.08px}
.workflow-metrics>a{padding:16px 17.6px;border-radius:10.72px}
.workflow-metrics span,.task-matter strong,.workflow-task p,.workflow-date,.workflow-date p,.workflow-resource,.workflow-stages>div{font-size:var(--body-text)}
.workflow-metrics strong{font-size:var(--metric-text);font-weight:400;line-height:1.2;margin:6.432px 0}
.workflow-metrics small,.task-matter span,.workflow-task small,.workflow-caption,.workflow-date .badge{font-size:var(--small-text)}
.workflow-link,.quiet-empty,.date-note{font-size:var(--support-text)}
.workspace .card-head,.workspace .card-body{padding:17.6px 19.2px}
.workflow-task{padding:19.2px 16px}
body:has(.dashboard) .pilot-note{display:block}
body:has(.dashboard) .local-pill{display:inline-block}
@media(max-width:1100px){.workflow-task{grid-template-columns:minmax(88px,.65fr) minmax(0,1.6fr) auto}}
@media(max-width:720px){
.workspace{--page-title:22.4px}
.heading,.workflow-heading{align-items:flex-start;flex-wrap:wrap}
.workflow-metrics span{font-size:var(--body-text)}
.workflow-task{grid-template-columns:1fr}
}

/* Two remaining dashboard summary cards. */
.workflow-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:480px){.workflow-metrics{grid-template-columns:1fr}}

/* Dashboard summaries: open matters, closed matters and review drafts. */
.workflow-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:720px){.workflow-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.workflow-metrics{grid-template-columns:1fr}}
/* Project workspace uses the same type scale and spacing as the other pages. */
.spa-search{max-width:416px;margin-bottom:16px}
.spa-template{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 19.2px;background:var(--brand-tint);border:0.8px solid var(--border);border-radius:8px;margin-bottom:19.2px}
.spa-template p{margin:6.4px 0 0}
.spa-purchaser{border:0.8px solid var(--border);border-radius:8px;padding:16px;margin:19.2px 0}
.spa-purchaser legend{font-weight:600;padding:0 6.4px}
[name="spa-selected"]{width:16px;height:16px;accent-color:var(--brand)}
@media(max-width:720px){.spa-template{align-items:flex-start;flex-direction:column}.heading .toolbar{flex-wrap:wrap}}

/* Compact application density; retain a legible CSY wordmark caption. */
.firm-tagline{font-size:8px}
.spa-project-table .spa-project-code{white-space:nowrap}
.spa-project-table .spa-project-name{padding:0;text-align:left;font-weight:600}
.spa-project-table .spa-project-actions{width:1%;white-space:nowrap;text-align:right}
.spa-project-actions>div{display:flex;justify-content:flex-end;align-items:center;gap:8px}
.spa-customer-actions{width:1%;white-space:nowrap;text-align:right}
.spa-customer-actions>div{display:flex;justify-content:flex-end;align-items:center;gap:8px}
.delete-dialog{width:min(440px,calc(100vw - 32px));border:1px solid var(--border);border-radius:10px;padding:24px;color:var(--body-ink);background:white;box-shadow:0 12px 40px #0003}
.delete-dialog::backdrop{background:#123b3b66}
.delete-dialog p{font-size:15px;line-height:1.6}
.delete-dialog .toolbar{justify-content:flex-end;margin-top:22px}
.delete-dialog .delete-confirm{background:#a52b3b;color:white;border-color:#a52b3b}
.autosave-status{padding:12px 20px;margin:0;border-top:1px solid var(--border);font-size:14px;color:#35636a}
body:has(.dashboard) .topbar{display:none}
.spa-menu.active>summary{background:var(--brand-hover);box-shadow:inset 0 -2px var(--brand-light)}
.spa-menu>div{min-width:180px}
.spa-menu>div>a{display:block}
.spa-menu>div>button{display:block;width:100%;text-align:left;border:0;background:white;padding:12px;color:var(--heading-ink)}
.spa-menu>div>button:hover{background:var(--brand-tint)}
@media(max-width:720px){.firm-header>nav{overflow:visible;flex-wrap:wrap}.spa-menu>summary{padding:11px;font-size:12px}}

/* Parcel first project workspace. */
.parcel-intro,.parcel-detail-heading,.parcel-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 18px}
.spa-developer-section{border-top:1px solid var(--border);padding-top:18px;margin-top:18px}.spa-developer-section:first-child{border-top:0;padding-top:0;margin-top:0}.spa-developer-section h3{margin:0 0 12px;font-size:16px}.spa-developer-section h4{margin:18px 0 8px;font-size:14px;color:var(--heading-ink)}.spa-project-details>[data-project-rows]{margin-top:4px}
.parcel-intro h2,.parcel-detail-heading h2,.parcel-form-heading h2{margin:0;font-size:25.6px;font-weight:650;letter-spacing:-.4px}
.parcel-intro .subtext,.parcel-detail-heading .subtext,.parcel-form-heading .subtext{margin:5px 0 0;color:#617b80}
.button-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--brand-border);border-radius:5px;padding:9px 14px;color:var(--brand-ink);background:white;text-decoration:none;white-space:nowrap;cursor:pointer}
.button-link:hover{border-color:var(--brand);background:var(--brand-tint);color:var(--brand-ink)}
a.primary,.primary.button-link{background:var(--brand);border-color:var(--brand);color:white}
a.primary:hover,.primary.button-link:hover{background:var(--brand-hover);color:white}
.back-link{display:inline-block;color:var(--brand-hover);text-decoration:none;margin-bottom:9px;font-size:13px}.back-link:hover{text-decoration:underline}
.parcel-table td small{display:block;color:#72878a;margin-top:5px;font-size:11px;line-height:1.4}.parcel-table th:last-child,.parcel-table td:last-child{white-space:nowrap}
.parcel-tabs{margin:0 0 18px;border-bottom:1px solid var(--border)}.parcel-tabs>a{padding:11px 14px}.parcel-tabs>a.selected{border-bottom:2px solid var(--brand);color:var(--brand-ink)}
.parcel-fields{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.parcel-fields .field:nth-last-child(2){grid-column:span 2}.parcel-fields .field input,.parcel-fields .field textarea{width:100%}
.purchaser-summary{max-width:320px}.purchaser-actions{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:18px 0 4px}.existing-borrower-picker{min-width:220px;margin:0}.existing-borrower-picker select{min-width:220px}
.loan-section{border-top:1px solid var(--border);padding:18px 0}.loan-section:first-child{border-top:0;padding-top:0}.loan-section h4{font-size:16px;margin:0 0 10px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.loan-purchaser-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.loan-purchaser-choice{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:6px;padding:12px;cursor:pointer}.loan-purchaser-choice:hover{border-color:var(--brand);background:var(--brand-tint)}.loan-purchaser-choice input{width:17px;height:17px;accent-color:var(--brand)}.loan-purchaser-choice span{display:flex;flex-direction:column;gap:3px}.loan-purchaser-choice small{font-size:11px;color:#718487}.loan-party-docs{grid-column:1/-1;padding:0 12px 8px}.loan-extra{margin:14px 0}.loan-extra-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.loan-extra-actions>.spa-upload-group{flex:1}.loan-extra-actions>[data-spa-action="remove-extra-borrower"]{margin-top:6px;color:#8f3540;border-color:#e1bec3;background:#fff8f8}
.spa-loan-form{}.spa-loan-form .card-body,.spa-purchasers-form .card-body,.spa-parcel-form .card-body{padding-bottom:0}.savebar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px -19.2px 0;padding:16px 19.2px;border-top:1px solid var(--border)}.savebar .spa-save-status{color:#5d777b}.savebar .toolbar{margin:0}
@media(max-width:900px){.parcel-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-purchaser-list{grid-template-columns:1fr}}
@media(max-width:720px){.parcel-intro,.parcel-detail-heading,.parcel-form-heading{flex-direction:column;gap:12px}.parcel-intro .button-link,.parcel-detail-heading>.button-link{align-self:flex-start}.parcel-fields{grid-template-columns:1fr}.parcel-fields .field:nth-last-child(2){grid-column:auto}.table-wrap{overflow-x:auto}.parcel-table{min-width:680px}.savebar{align-items:flex-start;flex-direction:column}.savebar .toolbar{width:100%;justify-content:flex-end}.section-heading,.loan-extra-actions{flex-direction:column}.loan-extra-actions>[data-spa-action="remove-extra-borrower"]{align-self:flex-start}}
#notice{font-size:16px;line-height:1.6;padding:18px 24px;max-width:min(560px,calc(100vw - 32px));right:16px;bottom:20px;border-radius:10px;box-shadow:0 8px 30px #10253540;z-index:1000}
@media(max-width:720px){#notice{left:16px;right:16px;max-width:none}}
/* Size the brand from its full tagline, including safe space on both sides. */
.firm-header .brand{flex:0 0 auto;width:max-content;min-width:132px;padding:0 10px}
.firm-header .firm-logo{width:max-content;min-width:112px;margin:0 auto}
@media(max-width:720px){.firm-header{grid-template-columns:max-content 1fr}}

/* Nested menus fly out sideways, retaining the dropdown palette. */
.firm-header .nav-branch{display:block;position:relative;color:var(--heading-ink)}
.firm-header .nav-branch>summary{background:white;color:var(--heading-ink);min-height:35.2px;height:auto;padding:8px;white-space:normal;justify-content:space-between}
.firm-header .nav-branch>summary::after{border-top-color:var(--heading-ink);transform:rotate(-90deg)}
.firm-header .nav-branch[open]>summary,.firm-header .nav-branch>summary:hover,.firm-header .nav-branch.active>summary{background:var(--brand-tint);color:var(--brand-ink)}
.firm-header .nav-branch>div{position:absolute;top:0;left:100%;width:180px;width:min(180px,calc((100vw - 32px)/3));padding:4.288px;background:white;border:0.536px solid var(--line);box-shadow:0 3.216px 10.72px #123b3b25;z-index:25;box-sizing:border-box}
.firm-header .nav-branch.fly-left>div{left:auto;right:100%}
.firm-header .nav-branch.fly-left>summary::after{transform:rotate(90deg)}
.firm-header .nav-branch a{display:block;white-space:normal;overflow-wrap:anywhere}
.firm-header .spa-menu>div{max-width:calc(100vw - 32px);overflow:visible}
#template-project-list{font-size:12.8px;line-height:1.5;color:#526c72;max-height:55vh;overflow-y:auto}

.spa-row-actions{white-space:nowrap;text-align:right}
.spa-row-actions button+button{margin-left:8px}
.spa-editor{width:min(720px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:24px;color:var(--heading-ink);background:white}
.spa-editor::backdrop{background:#123b3b66}
.spa-editor h2{margin-top:0}
.spa-purchaser{border:1px solid var(--line);padding:16px;margin:16px 0}
.spa-purchaser > h3{margin-top:20px}
.spa-save-status{color:#526c72;white-space:normal}
.tabs>a{display:inline-block;padding:12px;color:var(--brand-hover);text-decoration:none}
.tabs>a.selected{background:white;border-bottom:2px solid var(--brand-hover)}

#spa-editor-form [hidden]{display:none!important}
#spa-editor-form h2{margin:20px 0 12px}#spa-editor-form h2:first-child{margin-top:0}#spa-editor-form h3{margin:16px 0 8px}#spa-editor-form .spa-purchaser{margin:16px 0;padding:16px;min-width:0}#spa-editor-form input[type=file]{max-width:100%}

/* Parcel schedule editing and project document workspace. */
.parcel-import-dialog-fields{grid-template-columns:minmax(0,1fr);margin-top:16px}
.parcel-import-dialog-fields input,.parcel-import-dialog-fields select{width:100%;min-height:42px}
.parcel-intro-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.parcel-intro-actions button{border:1px solid var(--brand-border);border-radius:5px;padding:9px 14px;color:var(--brand-ink);background:white;cursor:pointer;white-space:nowrap}
.parcel-intro-actions button:hover{border-color:var(--brand);background:var(--brand-tint)}
.parcel-grid-input{width:100%;min-width:76px;box-sizing:border-box;padding:8px;border:1px solid var(--brand-border);border-radius:4px;background:white;color:var(--heading-ink)}
.parcel-grid-input:focus{outline:2px solid var(--brand-focus);outline-offset:1px}
.parcel-grid-input.parcel-derived{background:var(--brand-tint);color:#526e73;text-align:center;font-weight:600}
.parcel-table td{vertical-align:top}
.parcel-table td:first-child small{white-space:nowrap}
.spa-editor{max-width:560px}
.spa-editor form{margin:0}
.spa-project-documents-card .spa-project-uploads{margin:0}
.purchaser-grid-wrap{margin:18px 0 8px}
.purchaser-grid{width:100%;min-width:680px;table-layout:fixed}
.purchaser-grid th,.purchaser-grid td{padding:12px 14px;text-align:center}
.purchaser-grid th{white-space:nowrap}
.purchaser-grid td{font-size:13px;overflow-wrap:anywhere}
.purchaser-grid .purchaser-price{font-variant-numeric:tabular-nums}
.purchaser-grid th:last-child,.purchaser-grid td:last-child{position:sticky;right:0;z-index:1;background:white}
.purchaser-grid th:last-child{background:var(--surface-soft)}
.purchaser-grid td:last-child:not([colspan]){padding-inline:8px}
.purchaser-grid .purchaser-edit-button{padding:6px 14px;white-space:nowrap}
.purchaser-row-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}
.purchaser-entry-form .purchaser-summary{margin-bottom:12px}
@media(max-width:720px){.parcel-intro-actions{width:100%}.parcel-intro-actions .button-link,.parcel-intro-actions button{flex:1}.parcel-table{min-width:1080px}}

#notice{display:flex;align-items:center;justify-content:space-between;gap:16px}#notice[hidden]{display:none}#notice button{background:transparent;color:inherit;border:0;padding:4px 10px;font-size:20px}

#notice{left:auto;width:max-content;max-width:calc(100vw - 32px);font-size:14px;padding:12px 16px}

.spa-property-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.spa-property-fields .field{min-width:0}.spa-property-fields input{width:100%;min-width:0}

.spa-upload-group{min-width:0}.spa-saved-file,.spa-pending-file{padding:10px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.spa-file-confirm{display:block;margin-top:8px}.spa-saved-file>button{margin-left:8px}.spa-pending-file p{margin:4px 0 8px}

.spa-pending-file-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 8px}.spa-pending-file-heading>span{min-width:0;overflow-wrap:anywhere}.spa-bin-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:8px;color:#9d3340;background:transparent;border-color:transparent}.spa-bin-button:hover{background:#fff0f1;border-color:#e6bdc3}.spa-bin-button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}

#spa-developer-form [hidden]{display:none!important}.spa-developer-edit-actions{display:flex;gap:8px;align-items:center}

.spa-project-section{border-top:1px solid var(--border);margin-top:18px;padding-top:12px}.spa-project-section>summary{cursor:pointer;font-size:16px;font-weight:600;padding:8px 0;color:var(--heading-ink)}.spa-project-detail-row{min-width:0;border:1px solid var(--border);border-radius:6px;padding:16px;margin:12px 0}.spa-project-detail-row legend{padding:0 6px}.spa-project-edit-only{margin-top:12px}#spa-developer-form[data-editing=false] .spa-project-edit-only{display:none}#spa-developer-form textarea{width:100%;resize:vertical}

.spa-merged-fields{display:contents}

.spa-registration-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:12px;max-width:400px}.spa-registration-fields .field{min-width:0}.spa-registration-fields input{width:100%;min-width:0}.spa-registration-fields .field:first-child input{max-width:15ch}.spa-registration-fields .field:last-child input{max-width:19ch}#spa-drawdown-form [hidden]{display:none!important}#spa-drawdown-form .card-body>h3{margin-bottom:16px}

.spa-registration-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:none;align-items:end}.spa-registration-fields .field:first-child input,.spa-registration-fields .field:last-child input{max-width:none}.spa-registered-address{grid-column:1 / -1;min-width:0}.spa-registered-address input{width:100%}

.spa-project-dropzone{border:2px dashed var(--brand-border);border-radius:8px;background:var(--surface-soft);padding:24px;gap:12px!important}.spa-project-dropzone>span:first-child{font-weight:600;color:var(--heading-ink)}.spa-project-dropzone .spa-drop-hint{font-size:14px}.spa-project-dropzone small{color:#607989}.spa-project-dropzone.drag-over{border-color:var(--brand);background:var(--brand-tint)}.spa-project-dropzone input[type=file]{width:100%;max-width:100%}
.spa-document-table{width:100%;margin-top:18px}
.spa-document-table td{vertical-align:middle;overflow-wrap:anywhere}
.spa-document-table td:nth-child(2) button{white-space:normal;text-align:left;overflow-wrap:anywhere}
.spa-document-table .spa-document-actions{width:160px;text-align:right}
.parcel-documents .spa-document-table{margin-top:0}
.parcel-documents .spa-document-actions{width:1%}
.parcel-document-controls{flex-wrap:wrap;align-items:end}
.parcel-document-controls .field{flex:1;min-width:min(100%,240px)}
.parcel-document-upload summary{cursor:pointer;font-weight:650;color:var(--brand-ink)}
.parcel-document-upload form{margin-top:16px}
.parcel-document-upload .toolbar{flex-wrap:wrap}
.parcel-documents .table-wrap{max-width:100%;overflow-x:auto}
.spa-document-buttons{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.spa-file-confirm[hidden],.spa-project-documents-card [hidden]{display:none!important}
.spa-template-actions{width:150px}
.spa-project-upload-type{display:grid;gap:12px;margin-bottom:16px}
.drawdown-type-picker{position:relative;width:100%;max-width:520px}
.drawdown-type-picker summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:8px 11px;border:1px solid var(--field-border);border-radius:6px;background:#fff;color:var(--body-ink);cursor:pointer;list-style:none}
.drawdown-type-picker summary::-webkit-details-marker{display:none}
.drawdown-type-picker summary::after{content:'';flex:none;width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin-right:3px}
.drawdown-type-options{position:absolute;z-index:5;top:calc(100% + 4px);inset-inline:0;max-height:min(300px,45vh);overflow-y:auto;padding:4px;border:1px solid var(--field-border);border-radius:6px;background:#fff;box-shadow:0 8px 20px #35274620}
#main .drawdown-type-options button{display:block;width:100%;border-color:transparent;text-align:left;color:var(--body-ink);background:#fff;white-space:normal}
#main .drawdown-type-options button:hover,#main .drawdown-type-options button:focus-visible{background:var(--brand-tint);color:var(--brand-ink)}
.spa-document-preview{width:min(1000px,94vw);max-width:94vw;padding:20px;border:1px solid var(--border);border-radius:10px}
.spa-document-preview::backdrop{background:rgba(24,52,60,.45)}
.spa-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.spa-preview-heading h2{margin:0;overflow-wrap:anywhere;font-size:18px}
.spa-document-preview iframe{display:block;width:100%;height:72vh;border:0;background:var(--surface-soft)}
.spa-document-preview img{display:block;max-width:100%;max-height:72vh;object-fit:contain;margin:auto}
.spa-document-table .spa-file-confirm{min-width:150px;margin-top:8px}
.spa-upload-status{display:block;margin-top:8px}

#spa-developer-form .card-body>.grid{gap:20px 16px;align-items:end}
#spa-developer-form .field{min-width:0;margin:0}
#spa-developer-form [data-project-row="project"]>.field{grid-column:1 / -1}
#spa-developer-form input,#spa-developer-form textarea{width:100%;box-sizing:border-box;min-height:40px}
#spa-developer-form textarea[data-detail-key="bank_address"]{height:40px;min-height:40px;line-height:20px}
#spa-developer-form[data-editing="false"]>.savebar{display:none}

#spa-template-upload-form .toolbar{margin-top:16px;flex-wrap:wrap}
#spa-template-mapping-form{margin-top:20px}
#spa-template-mapping-form [hidden],#spa-template-upload-form [hidden]{display:none!important}
.spa-generated-documents{margin-top:20px}
.spa-mapping-table{width:100%;table-layout:fixed}
.spa-mapping-table th:first-child{width:25%}
.spa-mapping-table th:nth-child(2){width:50%}
.spa-mapping-table td{vertical-align:top;overflow-wrap:anywhere}
.spa-mapping-table .field{min-width:0;margin:0}
.spa-mapping-table select{width:100%;min-width:0}
.spa-mapping-table .spa-template-person{margin-top:12px}
.spa-template-person input{max-width:100px}
.spa-template-generation{border-top:1px solid var(--line);margin-top:20px;padding-top:20px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.spa-template-generation .field{flex:1;min-width:220px}
.spa-template-preview:not(:empty){border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.spa-template-preview td{overflow-wrap:anywhere}
.spa-agreement-generation .spa-template-preview{border-top:0;margin-top:0}
.spa-agreement-generation .spa-template-preview:empty{display:none}
@media(max-width:650px){.spa-mapping-table{min-width:600px}.spa-template-generation .field{min-width:0;width:100%;flex-basis:100%}}

/* Schedule of parcels CSV import and parcel register. */
.parcel-intro-actions{display:flex;align-items:flex-start;gap:10px}.parcel-import-card{margin-top:4px}.parcel-import-fields{grid-template-columns:minmax(240px,2fr) minmax(160px,1fr) minmax(160px,1fr);align-items:end}.import-help{margin:0 0 16px;color:#617b80;font-size:14px;line-height:1.6}.parcel-import-card .toolbar{margin-top:16px}.parcel-table{min-width:1320px}.parcel-table th,.parcel-table td{white-space:nowrap}.parcel-table td:nth-child(8){white-space:normal;min-width:190px;max-width:260px}.parcel-table td:nth-child(9),.parcel-table td:nth-child(10){white-space:normal;min-width:140px;max-width:210px}.parcel-table th:last-child{background:var(--surface-soft)}.parcel-code-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.parcel-code-fields .parcel-description-field{grid-column:span 2}.parcel-legacy-fields{border:1px solid var(--border);border-radius:6px;padding:16px;margin:20px 0 0}.parcel-legacy-fields legend{padding:0 6px;font-size:14px;font-weight:600;color:var(--heading-ink)}.parcel-legacy-fields .grid{margin-top:4px}
.parcel-party-fields{margin-top:16px;margin-bottom:20px}
.parcel-summary-fields{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1fr);gap:12px;align-items:start}.parcel-summary-fields .field{min-width:0}.parcel-summary-fields input,.parcel-summary-fields select{width:100%;min-width:0}
.parcel-party-fields textarea[readonly]{background:var(--surface-soft)}
.parcel-table td{vertical-align:middle;padding-top:18px;padding-bottom:18px}
.parcel-table .parcel-id-text{font-variant-numeric:tabular-nums;font-weight:600}
.parcel-table td:nth-child(11){white-space:normal;min-width:150px;max-width:220px;overflow-wrap:anywhere}
.parcel-table .parcel-actions{display:flex;align-items:center;gap:8px}
.parcel-table .parcel-action-button{display:inline-flex;align-items:center;justify-content:center;min-width:60px;box-sizing:border-box;padding:6px 12px;white-space:nowrap}
.parcel-blocks{margin-top:16px}.block-list{display:flex;flex-wrap:wrap;gap:10px}.block-list>span{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--heading-ink)}
@media(max-width:900px){.parcel-import-fields,.parcel-code-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.parcel-code-fields .parcel-description-field{grid-column:1/-1}}
@media(max-width:720px){.parcel-intro-actions{width:100%}.parcel-intro-actions .button-link{width:100%}.parcel-import-fields,.parcel-code-fields{grid-template-columns:1fr}.parcel-code-fields .parcel-description-field{grid-column:auto}.parcel-table{min-width:1320px}.import-help{font-size:13px}}

/* Application typography: one face and size across every screen. */
:root{--app-font:"Segoe UI",Arial,sans-serif;--app-font-size:14px}
body,body :not(.firm-wordmark):not(.firm-tagline){font-family:var(--app-font)!important;font-size:var(--app-font-size)!important}
body{line-height:1.55}
h1,h2,h3,h4,h5,h6{font-weight:650;line-height:1.5}
button,input,select,textarea{line-height:1.5}
button,input,select{min-height:36px}
input[type=checkbox],input[type=radio]{min-height:0}
.firm-header nav a,.firm-header .nav-menu>summary{font-weight:500}
.record-field dt{line-height:1.5}.record-field dd{line-height:1.65}
.ov-metric strong{font-weight:700;letter-spacing:0}
.ov-event-chip{line-height:1.5}

/* Muted royal purple: shared by the workspace and the sign-in page. */
:root{
 --brand:#6b5689;--brand-hover:#594571;--brand-ink:#604a7c;
 --brand-focus:#947cad;--brand-light:#d6c8e7;--brand-tint:#f1edf6;
 --brand-tint-hover:#e9e2f0;--brand-border:#b9a8cc;
 --page-bg:#ffffff;--surface-subtle:#fcfbfd;--surface-soft:#f7f5fa;--surface-muted:#f0ecf4;
 --border:#e3ddea;--border-subtle:#eee9f2;--field-border:#d9d1e3;
 --heading-ink:#3e334f;--body-ink:#443e4d;
 --chart-projects:#7d659d;--chart-files:#a18bb9;--chart-clients:#bdb0cc;
 --teal:var(--brand);--navy:var(--brand-hover);--line:var(--border)
}
body{accent-color:var(--brand)}
.firm-header,.login-brand{background:var(--brand)}
button:hover,.button-link:hover{background:var(--brand-tint)}
.primary:hover{background:var(--brand-hover)}
.field input:focus,.field textarea:focus,.field select:focus{outline-color:var(--brand-focus)}

/* Firm masthead and account navigation. */
header.firm-header {
  height: auto;
  min-height: 64px;
  padding: 0 clamp(12px, 2vw, 28px);
  gap: 16px;
  background: linear-gradient(105deg, var(--brand-hover), var(--brand));
}

.firm-header > .brand {
  position: relative;
}

.firm-header > .brand::after {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  right: 0;
  border-right: 1px solid #ffffff32;
}

.firm-header > nav {
  align-items: center;
  gap: 4px;
}

header.firm-header > nav > a,
header.firm-header > nav > .nav-menu > summary,
.firm-header .account-menu > summary {
  min-height: 40px;
  height: auto;
  padding: 8px 14px;
  border-radius: 7px;
  color: white;
  font-weight: 600;
}

header.firm-header > nav > a:hover,
header.firm-header > nav > .nav-menu > summary:hover,
header.firm-header > nav > .nav-menu[open] > summary,
.firm-header .account-menu > summary:hover,
.firm-header .account-menu[open] > summary {
  background: #ffffff1c;
}

header.firm-header > nav > a.active,
header.firm-header > nav > .nav-menu.active > summary {
  background: #ffffff24;
  box-shadow: inset 0 -2px var(--brand-light);
}

.firm-header > .brand:focus-visible,
.firm-header > nav > a:focus-visible,
.firm-header > nav > .nav-menu > summary:focus-visible,
.firm-header .account-menu > summary:focus-visible {
  outline: 2px solid white;
  outline-offset: -3px;
}

.firm-header > nav > .nav-menu > div,
.firm-header .account-menu > div {
  top: calc(100% + 6px);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 6px;
  box-shadow: 0 12px 32px #3e334f24;
}

.firm-header > nav > .nav-menu > div > a,
.firm-header .account-menu #sign-out {
  border-radius: 6px;
  padding: 9px 11px;
}

.firm-header .nav-menu > div a:focus-visible {
  outline: 2px solid var(--brand-focus);
  outline-offset: -2px;
}

.firm-header .account-menu > summary {
  padding: 4px 8px;
}

.firm-header .account-menu .local-avatar {
  width: 32px;
  height: 32px;
  border: 1px solid #ffffff3d;
  font-weight: 600;
}

.account-name {
  color: var(--body-ink);
  font-weight: 600;
}

@media (max-width: 720px) {
  header.firm-header {
    padding: 0 10px;
    column-gap: 4px;
    row-gap: 0;
  }

  .firm-header > .brand::after {
    display: none;
  }

  .firm-header > nav {
    position: relative;
    padding: 5px 0 7px;
  }

  header.firm-header > nav > a,
  header.firm-header > nav > .nav-menu > summary {
    padding-inline: 9px;
  }

  .firm-header > nav > .nav-menu:last-child {
    position: static;
  }

  .firm-header > nav > .nav-menu:last-child > div {
    top: 100%;
    left: auto;
    right: 0;
  }
}

@media (max-width: 440px) {
  .firm-header > nav {
    --app-font-size: 12px;
    gap: 2px;
  }

  header.firm-header > nav > a,
  header.firm-header > nav > .nav-menu > summary {
    padding-inline: 6px;
  }
}

@media (max-width: 340px) {
  header.firm-header > nav > a,
  header.firm-header > nav > .nav-menu > summary {
    padding-inline: 4px;
  }
}

/* Sign-in uses the same white canvas and purple brand. */
.login-page {
  display: grid;
  place-items: center;
  min-height: 100vh;
  padding: clamp(20px, 6vw, 48px);
}

.login-shell {
  width: min(100%, 428px);
  max-width: none;
  padding: 0;
  margin: 0;
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 14px 40px #3e334f12, 0 2px 7px #3e334f0d;
}

.login-brand {
  min-height: 92px;
  justify-content: center;
  padding: 20px;
  border-radius: 13px 13px 0 0;
  background: linear-gradient(105deg, var(--brand-hover), var(--brand));
}

.login-card {
  padding: clamp(24px, 7vw, 36px);
  border: 0;
  border-radius: 0 0 13px 13px;
}

body.login-page .login-card h1 {
  color: var(--heading-ink);
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(26px, 6vw, 32px) !important;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-align: center;
}

.login-card form {
  gap: 17px;
  margin-top: 25px;
}

.login-card .field {
  gap: 7px;
  color: var(--body-ink);
  font-weight: 600;
}

.login-card .field input {
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--field-border);
  border-radius: 8px;
  font-weight: 400;
}

.login-card .primary {
  min-height: 44px;
  margin-top: 4px;
  border-radius: 8px;
}
