:root{--ocean: #00474b;--ocean-2: #00666a;--mint: #35e09c;--mint-soft: #dff8ed;--paper: #f6faf8;--card: #ffffff;--line: #d7e4df;--ink: #102f31;--muted: #5f7472;--danger: #a23b3b;--danger-soft: #fdecec;--warning: #9a6b16;--warning-soft: #fff5d8;--shadow: 0 16px 40px rgba(0, 71, 75, .08);--radius-lg: 24px;--radius-md: 16px;--radius-sm: 10px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(53,224,156,.16),transparent 26rem),linear-gradient(180deg,#f7fbf9,#eef7f4)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;padding:.9rem clamp(1rem,3vw,2rem);background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand-block{display:flex;align-items:center;gap:.9rem;min-width:16rem;border:0;background:transparent;padding:0;text-align:left}.brand-logo{width:min(220px,38vw);height:auto;display:block}.product-pill,.count-chip,.priority-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .65rem;font-size:.78rem;font-weight:800;color:var(--ocean);background:var(--mint-soft);border:1px solid rgba(53,224,156,.45);white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:.35rem;margin-left:auto}.desktop-nav button,.mobile-nav button,.ghost-button{border:0;border-radius:999px;background:transparent;color:var(--muted);padding:.65rem .9rem;font-weight:800}.desktop-nav button.active,.mobile-nav button.active{background:var(--ocean);color:#fff}.ghost-button{border:1px solid var(--line);color:var(--ocean);background:#fff}.workspace{width:min(1540px,100%);margin:0 auto;padding:1.4rem clamp(1rem,3vw,2rem) 6rem}.page-stack{display:grid;gap:1.1rem}.page-grid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.7fr);gap:1.1rem;align-items:start}.hero-panel,.section-heading,.detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.35rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff,#f1fbf7);box-shadow:var(--shadow)}.section-heading.slim{padding:0;border:0;box-shadow:none;border-radius:0;background:transparent}.hero-panel h1,.section-heading h1,.detail-hero h1{margin:.15rem 0 .35rem;color:var(--ocean);letter-spacing:-.035em}.hero-panel p,.section-heading p,.detail-hero p{margin:0;color:var(--muted);max-width:72ch}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;color:var(--ocean-2);font-size:.72rem;font-weight:900}.filter-control,.field,.mini-form label{display:grid;gap:.35rem;font-size:.78rem;font-weight:800;color:var(--ocean)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7rem .78rem;background:#fff;color:var(--ink);outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--ocean-2);box-shadow:0 0 0 3px #35e09c29}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.kpi-card,.panel-card,.list-panel,.detail-panel,.section-card,.party-card,.new-card,.portal-card,.client-matter-card,.stage-card,.interest-card,.finance-summary-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffeb;box-shadow:var(--shadow)}.kpi-card{display:grid;gap:.2rem;padding:1.1rem}.kpi-card span,.kpi-card small{color:var(--muted)}.kpi-card strong{font-size:clamp(1.25rem,2.6vw,1.8rem);color:var(--ocean);letter-spacing:-.04em}.kpi-card.danger,.status-overdue{border-color:#a23b3b4d;background:linear-gradient(135deg,#fff 0%,var(--danger-soft) 100%)}.kpi-card.warning{border-color:#9a6b1640;background:linear-gradient(135deg,#fff 0%,var(--warning-soft) 100%)}.kpi-card.danger strong{color:var(--danger)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.panel-card,.list-panel,.detail-panel,.section-card,.new-card,.portal-card{padding:1rem}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.panel-heading h2,.new-card h3,.mini-form h3,.payment-history h3{margin:0;color:var(--ocean);letter-spacing:-.02em}.compact-list,.matter-list,.matter-detail-stack,.finance-stack,.interest-list,.nested-matter-list,.calendar-list,.document-list,.timeline{display:grid;gap:.75rem}.compact-row,.matter-list-card,.client-matter-card,.calendar-row{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:var(--radius-md);padding:.9rem;color:var(--ink)}.compact-row{display:flex;align-items:center;justify-content:space-between;gap:.85rem}.compact-row button{width:100%;border:0;background:transparent;padding:0;display:flex;justify-content:space-between;gap:1rem;text-align:left;color:inherit}.split-row{align-items:stretch}.compact-row span,.matter-list-card,.client-matter-card{display:grid;gap:.2rem}.compact-row small,.matter-list-card small,.client-matter-card small,.helper-text,.empty-state{color:var(--muted)}.right-detail,.balance-line{color:var(--ocean);font-weight:900;white-space:nowrap}.matter-list-card.selected,.client-matter-card:hover,.compact-row:hover,.calendar-row:hover{border-color:var(--ocean-2);box-shadow:0 0 0 3px #35e09c24}.matter-card-topline,.hero-actions,.stage-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.filter-grid,.form-grid{display:grid;gap:.8rem}.filter-grid{grid-template-columns:1.3fr 1fr 1fr;margin:.9rem 0}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-fields input,.compact-fields select,.compact-fields textarea{padding:.58rem .65rem}.field.wide{grid-column:1 / -1}.primary-button,.small-button{border:0;border-radius:999px;background:var(--ocean);color:#fff;padding:.75rem 1rem;font-weight:900}.small-button{align-self:center;padding:.55rem .8rem;font-size:.82rem}.status-chip{display:inline-flex;width:fit-content;align-items:center;border-radius:999px;padding:.35rem .62rem;font-size:.72rem;font-weight:900;color:var(--ocean);background:#eef8f5;border:1px solid var(--line);white-space:nowrap}.status-pending-approval,.status-needs-review{color:var(--warning);background:var(--warning-soft);border-color:#9a6b1640}.status-confirmed,.status-complete{background:var(--mint-soft);border-color:#35e09c80}.progress-wrap{display:grid;gap:.3rem}.progress-track{height:.55rem;border-radius:999px;background:#e9f2ef;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ocean),var(--mint))}.progress-wrap small{color:var(--muted)}.section-card summary{cursor:pointer;font-weight:900;color:var(--ocean);padding:.25rem 0}.section-card[open] summary{margin-bottom:.9rem}.stage-section{display:grid;gap:1rem}.stage-summary{display:grid;grid-template-columns:1fr minmax(280px,.8fr);gap:1rem;align-items:end}.inline-form{display:flex;gap:.6rem}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.stage-card{padding:.9rem;display:grid;gap:.65rem;box-shadow:none}.stage-card.completed{border-color:#35e09cbf;background:linear-gradient(135deg,#fff,#f0fff8)}.stage-card.disabled{opacity:.58;background:#f5f7f6}.checkbox-line{display:inline-flex;align-items:center;gap:.45rem;color:var(--ocean);font-weight:800;font-size:.85rem}.checkbox-line input{width:auto}.payment-layout,.portal-grid{display:grid;grid-template-columns:minmax(280px,.75fr) 1fr;gap:1rem}.mini-form,.payment-history{display:grid;gap:.75rem;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1rem;background:#fff}.payment-row,.document-row,.timeline-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.7rem 0}.payment-row:last-child,.document-row:last-child,.timeline-item:last-child{border-bottom:0}.payment-row span,.timeline-item div{display:grid;gap:.2rem}.interest-module{display:grid;gap:1rem}.interest-card{padding:1rem;box-shadow:none;display:grid;gap:.75rem}.finance-summary-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1rem;box-shadow:none;background:linear-gradient(135deg,#fff,#f1fbf7)}.finance-summary-card span,.portal-summary-grid span{display:grid;gap:.2rem;color:var(--muted)}.finance-summary-card strong,.portal-summary-grid strong{color:var(--ocean)}.portal-card img{width:min(260px,50vw);display:block;margin-bottom:1rem}.portal-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.portal-form{display:grid;gap:.85rem}.success-note{border:1px solid rgba(53,224,156,.4);color:var(--ocean);background:var(--mint-soft);border-radius:var(--radius-md);padding:.8rem;font-weight:800}.calendar-row{display:grid;grid-template-columns:minmax(130px,.45fr) 1fr 1fr;gap:1rem;align-items:center}.calendar-row.overdue{border-color:#a23b3b4d;background:var(--danger-soft)}.calendar-date,.calendar-row span{display:grid;gap:.2rem}.timeline-item{justify-content:flex-start;align-items:flex-start}.timeline-item>span{min-width:8.5rem;color:var(--muted);font-weight:800}.timeline-item p{margin:0;color:var(--muted)}.mobile-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:25;grid-template-columns:repeat(5,1fr);gap:.2rem;padding:.55rem;background:#fffffff5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-nav button{padding:.55rem .3rem;font-size:.76rem}@media (max-width: 1180px){.page-grid,.dashboard-grid,.payment-layout,.portal-grid,.stage-summary{grid-template-columns:1fr}.stage-grid,.form-grid.four-col{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 780px){.topbar{align-items:flex-start}.brand-block{min-width:0;display:grid;gap:.5rem}.brand-logo{width:min(210px,68vw)}.desktop-nav,.topbar .ghost-button{display:none}.mobile-nav{display:grid}.hero-panel,.section-heading,.detail-hero,.matter-card-topline,.hero-actions,.compact-row,.compact-row button,.payment-row,.document-row{display:grid;align-items:stretch}.kpi-grid,.matter-kpis,.form-grid.two-col,.form-grid.three-col,.form-grid.four-col,.filter-grid,.stage-grid,.finance-summary-card,.portal-summary-grid,.calendar-row{grid-template-columns:1fr}.inline-form{display:grid}.right-detail,.balance-line{white-space:normal}}.secondary-button,.danger-button{border-radius:999px;padding:.75rem 1rem;font-weight:900;border:1px solid var(--line);background:#fff;color:var(--ocean)}.danger-button{color:var(--danger);border-color:#a23b3b52;background:var(--danger-soft)}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed}.status-pending-th-review,.status-return-for-information{color:var(--warning);background:var(--warning-soft);border-color:#9a6b1640}.status-declined{color:var(--danger);background:var(--danger-soft);border-color:#a23b3b47}.action-flag{display:inline-flex;width:fit-content;border-radius:999px;padding:.35rem .65rem;font-size:.76rem;font-weight:900;color:var(--warning);background:var(--warning-soft);border:1px solid rgba(154,107,22,.25)}.review-panel{border:1px solid rgba(154,107,22,.28);border-radius:var(--radius-lg);padding:1rem;background:linear-gradient(135deg,#fff 0%,var(--warning-soft) 100%);box-shadow:var(--shadow);display:grid;gap:.9rem}.review-panel.declined{border-color:#a23b3b47;background:linear-gradient(135deg,#fff 0%,var(--danger-soft) 100%)}.review-panel h2,.liable-party-list h3,.wizard-panel h3{margin:.1rem 0 0;color:var(--ocean)}.review-checklist,.upload-list,.liable-party-editor,.party-stack,.client-update-editor,.client-response-form{display:grid;gap:.75rem}.review-check,.upload-row{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.8rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.review-check input{width:auto;margin-top:.2rem}.review-check span,.upload-row span{display:grid;gap:.2rem}.review-check small,.upload-row small{color:var(--muted)}.review-check.supplied,.upload-row.supplied{border-color:#35e09c8c;background:var(--mint-soft)}.upload-row.required:not(.supplied),.document-row.missing{border-color:#9a6b164d;background:var(--warning-soft)}.review-actions,.wizard-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.client-action-editor{border:1px solid var(--line);border-radius:var(--radius-md);padding:.85rem;background:#fff;display:grid;gap:.7rem}.client-action-editor.required{border-color:#9a6b164d;background:var(--warning-soft)}.portal-matter-update,.referral-card{display:grid;gap:.9rem}.update-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.update-item{display:grid;gap:.25rem;padding:.8rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.update-item.wide{grid-column:1 / -1}.update-item strong{color:var(--ocean);font-size:.78rem}.update-item span{color:var(--ink);line-height:1.45}.portal-action-box{display:grid;gap:.55rem;border-radius:var(--radius-md);padding:.9rem;border:1px solid rgba(53,224,156,.48);background:var(--mint-soft)}.portal-action-box.required{border-color:#9a6b164d;background:var(--warning-soft)}.portal-action-box p,.referral-card p{margin:0}.client-response-form{margin-top:.3rem}.file-field{display:grid;gap:.35rem;font-size:.78rem;font-weight:800;color:var(--ocean)}.file-field input,.upload-row input{padding:.55rem;background:#fff}.referral-panel{overflow:hidden}.referral-wizard{border-top:1px solid var(--line);padding-top:1rem}.wizard-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.wizard-steps button{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;color:var(--muted);padding:.65rem;display:grid;gap:.25rem;justify-items:center;font-size:.76rem;font-weight:800}.wizard-steps button span{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#eef4f2;color:var(--ocean)}.wizard-steps button.active{border-color:var(--ocean);color:var(--ocean);background:#f3fbf8}.wizard-steps button.active span,.wizard-steps button.done span{background:var(--ocean);color:#fff}.wizard-panel{min-height:19rem;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1rem;background:#fff;display:grid;gap:1rem;align-content:start}.calculated-total{border:1px solid rgba(53,224,156,.5);border-radius:var(--radius-md);padding:.8rem;background:var(--mint-soft);display:grid;gap:.2rem}.calculated-total span{color:var(--muted);font-size:.78rem;font-weight:800}.calculated-total strong{color:var(--ocean);font-size:1.25rem}.editable-party{padding:.85rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;box-shadow:none}.editable-party .field.wide,.editable-party .ghost-button{grid-column:1 / -1}.liable-party-list{display:grid;gap:.65rem}.liable-party-list .party-card{display:grid;gap:.2rem;padding:.8rem;box-shadow:none}.document-row{display:grid;grid-template-columns:minmax(210px,1.3fr) auto minmax(160px,.7fr) minmax(160px,.7fr)}.document-row>div{display:grid;gap:.2rem}.document-row small{color:var(--muted)}@media (max-width: 920px){.wizard-steps{grid-template-columns:1fr}.wizard-steps button{grid-template-columns:auto 1fr;justify-items:start;align-items:center}.update-grid,.editable-party,.document-row{grid-template-columns:1fr}.update-item.wide,.editable-party .field.wide,.editable-party .ghost-button{grid-column:auto}}.document-studio-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:1rem;align-items:start}.document-editor-panel,.draft-list,.shared-documents{display:grid;gap:.8rem}.document-body-field textarea{min-height:28rem;line-height:1.55;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.studio-visibility{align-self:end;padding-bottom:.75rem}.draft-row{width:100%;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:.8rem;text-align:left;color:var(--ink)}.draft-row span{display:grid;gap:.2rem}.draft-row small{color:var(--muted)}.shared-documents{border-top:1px solid var(--line);padding-top:.8rem}.shared-documents details{border:1px solid var(--line);border-radius:var(--radius-md);padding:.75rem;background:#fff}.shared-documents pre{white-space:pre-wrap;word-break:break-word;font:inherit;color:var(--ink);line-height:1.5}@media (max-width: 1180px){.document-studio-grid{grid-template-columns:1fr}}@media (max-width: 780px){.mobile-nav{grid-template-columns:repeat(6,1fr)}}
