@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#303536;--muted:#647888;--line:#dfe7ec;--paper:#f3f6f8;--accent:#055d99;--gold:#4badd8;--red:#b55147;--font:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--font)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button{border:0;background:none;color:inherit}button:disabled{opacity:.45;cursor:default}a{color:inherit}svg.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#034556;color:#c7dde7;display:flex;flex-direction:column;padding:32px 18px 20px;z-index:30}.brand{display:flex;gap:12px;align-items:center;color:#fff;padding:0 15px 28px;font:700 29px Manrope,var(--font);letter-spacing:-1.2px}.brandmark{border:1px solid #4badd899;border-radius:9px;width:38px;height:39px;color:#dbc394;display:grid;place-items:center;font:400 28px Georgia}.brand small{display:block;font:10px var(--font);letter-spacing:2.5px;color:#a8bcba;margin-top:0}.workspace{margin:0 8px 24px;padding:14px 10px;background:#0d5365;border-radius:8px;font-size:14px;color:#fff}.workspace small{display:block;color:#b0d4e4;font-size:12px;margin-top:3px}.navlabel{font-size:10px;letter-spacing:1.6px;padding:12px 15px 9px;color:#91becf}.nav{display:flex;flex-direction:column;gap:4px}.nav button{display:flex;align-items:center;gap:13px;padding:10px 15px;text-align:left;border-radius:7px;font-size:14px;color:#c7dde7}.nav button:hover{background:#10586d;color:white}.nav button.active{background:#075f96;color:#fff}.nav button.active:before{content:'';width:3px;height:17px;background:#4badd8;position:absolute;left:18px;border-radius:3px}.nav .count{margin-left:auto;background:#176d9f;color:#e2f4fc;border-radius:5px;padding:0 7px;font-size:12px}.sidebottom{margin-top:auto;padding-top:22px}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid #276676;padding:18px 9px 0;font-size:13px}.profile small{display:block;color:#afd1df;font-size:12px}.avatar{display:inline-grid;place-items:center;background:#e7f1f8;color:#075d96;border-radius:50%;height:34px;width:34px;flex-shrink:0;font-size:11px;font-weight:700}.avatar.gold{background:#d1e9f7;color:#034556}.appbody{margin-left:240px}.topbar{height:82px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:20px}.crumb{font-size:13px;color:#8c9694}.crumb strong{color:#34566d;font-weight:500}.topright{display:flex;align-items:center;gap:21px}.searchbox{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;padding:9px 12px;color:#87938e;background:#fbfcfc}.searchbox input{border:0;background:transparent;width:210px;font-size:13px;outline:none;color:var(--ink)}kbd{font-size:10px;border:1px solid var(--line);padding:1px 4px;border-radius:4px}.bell{position:relative;padding:5px}.bell:after{content:'';position:absolute;right:6px;top:4px;width:5px;height:5px;border:2px solid white;box-sizing:content-box;background:#be8357;border-radius:50%}.mobilemenu{display:none}.content{max-width:1600px;margin:auto;padding:32px 36px 40px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:#5a778c;margin-bottom:5px}h1{font:700 27px/1.3 Manrope,var(--font);letter-spacing:-.9px;margin:0 0 6px}h2{font:700 16px Manrope,var(--font);margin:0}h3{font-size:15px;margin:0}p{margin:6px 0}.subtitle{font-size:14px;color:var(--muted)}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:9px 14px;background:#fff;font-size:13px;font-weight:500;white-space:nowrap}.btn:hover{background:#eaf3f9}.btn.primary{color:white;background:#055d99;border-color:#055d99}.btn.primary:hover{background:#03438d}.btn .icon{width:16px;height:16px}.datepill{font-size:12px;color:#526e82;background:white;border:1px solid var(--line);border-radius:6px;padding:9px 12px}.demo{display:flex;gap:8px;align-items:center;font-size:12px;color:#647d8d;margin-bottom:23px}.demo span:first-child{color:#7b6540;border:1px solid #e2d7be;background:#faf6ec;padding:2px 7px;border-radius:4px;font-size:10px;letter-spacing:.7px;font-weight:600}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);padding:19px 20px 16px;border-radius:9px;min-height:142px;position:relative}.stat .stathead{display:flex;justify-content:space-between;align-items:center;color:#6a7974;font-size:13px}.stathead .icon{color:#055d99;width:19px;height:19px}.stat .value{font:700 30px Manrope,var(--font);letter-spacing:-1px;margin:9px 0 5px}.stat .foot{font-size:11px;color:#87928d}.stat .foot b{color:#055d99;font-weight:500}.dashboardgrid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden;min-width:0}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 22px 18px}.cardhead small{color:var(--muted);font-size:12px}.textlink{color:#055d99;font-size:12px;display:inline-flex;align-items:center;gap:5px;padding:3px}.textlink:hover{text-decoration:underline}.textlink .icon{height:14px;width:14px}.pill{border-radius:5px;padding:4px 8px;font-size:11px;display:inline-block;white-space:nowrap;background:#eef2f1;color:#536b65}.pill.green{background:#eaf3ee;color:#477960}.pill.orange{background:#faf0df;color:#a47831}.pill.red{background:#faedeb;color:#b05d51}.pill.blue{background:#edf1f9;color:#617ba3}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:13px}th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#81918b;font-weight:500;background:#fafbfa;padding:12px 20px;border-block:1px solid #eef1ef}td{padding:16px 20px;border-bottom:1px solid #eef1ef}tr:last-child td{border-bottom:0}td .sub{display:block;font-size:11px;color:#91a09a;margin-top:3px}td .casebutton{max-width:310px;overflow:hidden;text-overflow:ellipsis;display:block;padding:0;text-align:left;font-weight:500}.casebutton:hover{color:var(--accent);text-decoration:underline}.rowperson{display:flex;align-items:center;gap:7px;font-size:12px}.rowperson .avatar{height:25px;width:25px;font-size:9px}.casecode{color:#547b97;font-size:11px;display:block;margin-bottom:4px;letter-spacing:.25px}.priority{display:inline-flex;align-items:center;gap:6px;font-size:12px}.priority:before{content:'';height:5px;width:5px;border-radius:50%;background:#cba85e}.priority.high:before{background:#c57b69}.priority.low:before{background:#6b9e8a}.agenda{padding:0 22px 9px}.event{display:flex;gap:14px;padding:16px 0;border-top:1px solid #edf1ee;cursor:pointer}.event:hover .eventtitle{color:var(--accent)}.eventdate{border-right:2px solid #4badd8;padding-right:13px;min-width:55px;text-align:center;color:#034556}.eventdate strong{display:block;font:700 23px Manrope,var(--font);line-height:1.1}.eventdate small{font-size:9px;letter-spacing:1px}.eventtitle{font-size:13px;font-weight:500}.eventmeta{font-size:11px;color:#87958e;margin-top:4px}.eventtag{font-size:10px;color:#076698;margin-top:4px}.lowergrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.taskrow{display:flex;align-items:flex-start;gap:11px;padding:14px 22px;border-top:1px solid #eff2ef;font-size:13px}.taskrow input{accent-color:#055d99;width:16px;height:16px;margin:3px 0 0;cursor:pointer}.taskrow small{display:block;color:#8a9890;font-size:11px;margin-top:3px}.taskrow .pill{margin-left:auto}.done{text-decoration:line-through;color:#9aa59f}.chart{height:136px;display:flex;align-items:flex-end;gap:16px;padding:10px 27px 0}.chartcol{flex:1;display:flex;gap:5px;align-items:flex-end;height:100%;position:relative}.chartbar{flex:1;background:#055d99;border-radius:3px 3px 0 0;min-height:3px}.chartbar.light{background:#a9d8ee}.chartlabels{display:flex;gap:16px;padding:7px 27px 15px;font-size:10px;color:#87968d}.chartlabels span{flex:1;text-align:center}.legend{display:flex;gap:15px;font-size:10px;color:#7c8a82}.legend i{display:inline-block;height:7px;width:7px;background:#055d99;margin-right:5px;border-radius:2px}.legend i.light{background:#a9d8ee}.footer{margin-top:25px;display:flex;justify-content:space-between;font-size:10px;color:#9aa69f}.filters{display:flex;align-items:center;gap:12px;margin:0 0 20px;flex-wrap:wrap}.filters input,.filters select{background:white;border:1px solid var(--line);border-radius:6px;padding:9px 12px;font-size:14px;min-width:0}.filters input{flex:1}.empty{padding:45px;text-align:center;color:#798b81}.clientgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.clientcard{padding:22px}.clientcard .avatar{width:44px;height:44px;font-size:15px;margin-bottom:18px}.clientcard p{font-size:13px;color:var(--muted)}.clientcard h3{margin-bottom:4px}.clientcard .bottom{border-top:1px solid var(--line);padding-top:13px;margin-top:18px;display:flex;justify-content:space-between;font-size:12px}.two{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding:0 15px;overflow:auto}.tabs button{padding:13px 14px;font-size:13px;white-space:nowrap;border-bottom:2px solid transparent}.tabs button.active{color:#055d99;border-bottom-color:#055d99}.detailbody{padding:24px}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.detailgrid label{font-size:11px;color:#8b9991;display:block;margin-bottom:5px}.detailgrid p{font-size:14px}.note{border-left:3px solid #4badd8;background:#eef6fb;padding:12px 16px;color:#345b76;font-size:13px;margin-bottom:20px}.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.dayname{padding:14px;font-size:11px;color:#84968b;text-align:center;border-bottom:1px solid var(--line)}.day{min-height:110px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px;font-size:12px}.day.blank{background:#fafbfa}.day.today{background:#eaf4fb}.day b{font-weight:500;display:inline-block;margin-bottom:6px}.calentry{display:block;width:100%;font-size:10px;padding:5px;margin-bottom:4px;text-align:left;background:#eaf3f9;border-radius:4px;color:#075d96;overflow:hidden;text-overflow:ellipsis}.calentry.deadline{background:#f8ece6;color:#b47852}.activity{padding:0 22px}.activityitem{display:flex;gap:15px;border-top:1px solid var(--line);padding:19px 0;font-size:14px}.activityitem .icon{color:#547b97}.activityitem small{display:block;color:#8d9a91;font-size:12px}.rolecards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.rolecards .card{padding:22px}.rolecards p{font-size:13px;color:#647d8d}.searchresults{position:absolute;right:90px;top:67px;width:430px;max-height:450px;overflow:auto;z-index:60;background:white;box-shadow:0 15px 40px #15372f25;border:1px solid var(--line);border-radius:8px}.searchresults button{display:block;padding:13px 18px;width:100%;text-align:left;border-bottom:1px solid var(--line);font-size:13px}.searchresults button:hover{background:#eaf3f9}.searchresults small{display:block;color:#93a097;font-size:11px}.modal{max-width:640px;width:calc(100% - 28px);border:0;border-radius:12px;padding:0;box-shadow:0 25px 90px #0b282b40;color:var(--ink);max-height:90vh}.modal::backdrop{background:#102e3060;backdrop-filter:blur(3px)}.modalhead{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modalhead button{font-size:25px;color:#8b9c91}.modal form{padding:24px 26px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{display:block;font-size:12px;font-weight:500;color:#486579;margin-bottom:6px}.field input,.field select,.field textarea{border:1px solid #dce5de;border-radius:6px;padding:10px;width:100%;font-size:14px;background:white;color:var(--ink)}.field.wide{grid-column:1/-1}.field textarea{min-height:85px;resize:vertical}.modalfoot{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;border-top:1px solid var(--line);padding-top:18px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);background:#034556;color:white;padding:12px 22px;border-radius:8px;box-shadow:0 5px 30px #0002;z-index:100;transition:transform .2s;font-size:14px;max-width:90%}#toast.show{transform:translateX(-50%) translateY(0)}.balance{font:700 24px Manrope,var(--font)}.moneypositive{color:#367959}.moneynegative{color:#b96d56}.reportbars{padding:10px 23px 23px}.reportbar{display:grid;grid-template-columns:100px 1fr 30px;gap:12px;align-items:center;font-size:12px;margin:17px 0}.track{height:9px;background:#eff3ef;border-radius:5px;overflow:hidden}.track span{height:100%;display:block;background:#055d99}.fileinput{max-width:100%;font-size:13px}.helptext{font-size:12px;color:#7f8d83;margin-top:9px}.logsub{font-size:12px;color:var(--muted)}
/* Keep every module reachable in short windows and on mobile. */
.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4badd8 #034556}
.sidebar>*{flex-shrink:0}
/* Shared text hierarchy keeps dense operational information readable. */
.brand small,.navlabel,.workspace small,.profile small,.eyebrow,.demo,.demo span:first-child,.stat .foot,.casecode,td .sub,.eventdate small,.eventtag,.taskrow small,.legend,.chartlabels,.footer,.searchresults small,.detailgrid label{font-size:.75rem}
.nav button,.btn,.searchbox input,.stat .stathead,.eventtitle,.eventmeta,.taskrow,table,.rowperson,.filters input,.filters select,.tabs button,.field label{font-size:.875rem}
.pill,.priority,.textlink,th,.datepill{font-size:.75rem}.eventmeta{font-size:.875rem}.brand small{letter-spacing:1.5px}.calentry{font-size:.75rem}.brand{gap:10px}
@media(min-width:1450px){.content{padding-top:40px}.dashboardgrid{grid-template-columns:1.85fr 1fr}.stat{min-height:155px}td{padding-block:19px}}
@media(max-width:1200px){.sidebar{width:215px}.appbody{margin-left:215px}.content{padding:26px 24px}.topbar{padding:0 24px}.dashboardgrid{grid-template-columns:minmax(0,1.4fr) minmax(275px,1fr)}.dashboardgrid td{padding:16px 13px}.stats{gap:12px}.stat{padding:17px 15px}.stat .value{font-size:26px}.datepill{display:none}.clientgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.sidebar{width:190px;padding-inline:12px}.appbody{margin-left:190px}.brand{font-size:25px;padding-left:8px}.workspace{margin-inline:0}.nav button{font-size:13px;padding-inline:11px}.dashboardgrid,.two{grid-template-columns:1fr}.lowergrid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,1fr)}.topbar{gap:10px}.searchbox input{width:170px}.crumb{display:none}.topright{width:100%;justify-content:space-between}.day{min-height:90px}.rolecards{grid-template-columns:1fr}.searchresults{right:25px}}
@media(max-width:680px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:240px;box-shadow:10px 0 40px #16332830}.sidebar.open{transform:translateX(0)}.appbody{margin-left:0}.mobilemenu{display:block}.topbar{height:65px;padding:0 16px}.topright{gap:12px}.searchbox{flex:1}.searchbox input{width:100%;min-width:0}.searchbox kbd{display:none}.searchbox{padding:8px;min-width:0}.topright>.avatar{display:none}.content{padding:23px 16px}.pagehead{align-items:flex-start;margin-bottom:18px}.pagehead .actions{justify-content:flex-end}.pagehead .actions .btn{padding:9px;font-size:12px}h1{font-size:23px}.subtitle{font-size:12px}.eyebrow{font-size:10px}.demo{font-size:10px;align-items:flex-start}.stats{gap:10px;margin-bottom:17px}.stat{min-height:125px;padding:15px 12px}.stat .value{font-size:24px}.stathead{font-size:11px!important}.stat .foot{font-size:10px}.dashboardgrid{gap:17px}.lowergrid{grid-template-columns:1fr;gap:17px;margin-top:17px}.cardhead{padding:18px 16px}.clientgrid{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.field.wide{grid-column:auto}.modal form{padding:20px}.searchresults{left:16px;right:16px;width:auto;top:60px}.day{padding:5px;min-height:75px}.dayname{padding:10px 3px;font-size:10px}.calentry{font-size:9px;padding:3px;white-space:nowrap}.detailgrid{gap:17px}.footer{font-size:9px}.datepill{display:none}.filters{gap:8px}.filters input{width:100%;flex-basis:100%}.taskrow{padding:14px 16px}.note{font-size:12px}.tabs button{padding:12px 9px}.pagehead .btn .icon{width:14px}.legend{gap:8px;font-size:9px}}

/* MX Justicia identity: original artwork and the card palette. */
.brand{display:block;padding:0;margin:0 0 18px;background:#fff;border-radius:6px;overflow:hidden;letter-spacing:normal;position:relative;flex-shrink:0}
.brand img{display:block;width:100%;height:145px;object-fit:contain;background:white}
.brand:after{content:"";display:block;height:5px;background:linear-gradient(60deg,#034556 0 40%,#fff 40% 43%,#03438d 43% 54%,#055d99 54% 65%,#4badd8 65% 100%)}
.topbar{border-top:3px solid #055d99}.workspace{margin-bottom:16px}.footer{gap:15px;flex-wrap:wrap}.nav button.active{position:relative}.nav button.active:before{left:0}
@media(max-width:980px){.brand{padding:0}.brand img{height:120px}}
@media(max-width:680px){.brand img{height:140px}.eyebrow{font-size:11px;letter-spacing:.7px}}

/* Wide case register stays scrollable on small screens. */
.case-wrap{white-space:normal;min-width:190px;max-width:250px}.case-title{max-width:250px;white-space:normal}.tablewrap:focus-visible{outline:2px solid var(--accent)}
.case-jumps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.case-overview{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:22px}.case-section{margin-bottom:22px;scroll-margin-top:20px}.case-section:focus{outline:none}.case-section .cardhead{border-bottom:1px solid var(--line)}.case-data{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0}.case-data dt{font-size:13px;color:var(--muted);margin-bottom:5px}.case-data dd{margin:0;font-size:15px;overflow-wrap:anywhere}.case-notes,.case-contact{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.case-notes p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.case-contact p{font-size:14px;overflow-wrap:anywhere}.case-totals{margin:22px 0}.case-totals div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.case-totals dd{margin:0;font-weight:600}.case-deadline{padding:18px 22px;background:#eef6fb;font-size:14px}.case-deadline span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.case-disclaimer{font-size:13px;color:var(--muted);padding:12px 22px}.case-metrics{font-size:14px;padding:0 5px}.case-metrics strong{color:var(--accent)}
.team-members{border:1px solid var(--line);border-radius:7px;padding:16px}.team-members legend{font-size:14px}.team-members label{display:flex;align-items:center;gap:8px;margin-top:10px}.team-members input{width:auto;accent-color:var(--accent)}.comment-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 24px}.comment-item{border-top:1px solid var(--line);padding:20px 0}.comment-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.comment-meta time{font-size:12px;color:var(--muted)}.comment-item p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px}.comments-list{margin-top:18px}#commentForm{margin-top:18px}
@media(max-width:980px){.case-overview{grid-template-columns:1fr}}@media(max-width:680px){.case-data{grid-template-columns:1fr}.case-section .cardhead{flex-wrap:wrap}.case-jumps{gap:6px}.case-jumps .btn{font-size:12px;padding:8px 10px}}
.member-role{display:block;font-size:12px;color:var(--muted);font-weight:400}.team-members label{padding:10px;border:1px solid var(--line);border-radius:6px;align-items:center}.team-members input{width:18px;height:18px;flex-shrink:0}.team-members label:has(input:checked){background:#eef6fb;border-color:#4badd8}

.task-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch;margin-top:18px}.task-column{background:#f0f4f7;border:1px solid var(--line);border-top:4px solid #94a3b8;border-radius:10px;min-height:340px;padding:12px;transition:background .15s}.task-column.state-1{border-top-color:#147bb3}.task-column.state-2{border-top-color:#d69a2d}.task-column.state-3{border-top-color:#319577}.task-column>header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px}.task-column h2{font-size:15px;margin:0}.task-cards{display:grid;gap:12px}.task-card{background:white;border:1px solid var(--line);border-radius:8px;padding:14px;box-shadow:0 2px 5px #12374a08;overflow-wrap:anywhere}.task-card[draggable=true]{cursor:grab}.task-card h3{font-size:14px;line-height:1.5;margin:12px 0}.task-card p{font-size:12px;color:var(--muted);margin:10px 0}.task-card-top{display:flex;align-items:center;justify-content:space-between}.task-card .task-overdue{color:#b84444}.task-state-label{display:block;font-size:11px;color:var(--muted);margin-top:14px}.task-state-label select{display:block;width:100%;min-width:0;margin-top:5px;padding:8px;font-size:12px}.task-card.dragging{opacity:.4}.task-column.drag-over{background:#dceefa;outline:2px dashed #147bb3;outline-offset:-3px}.task-empty{padding:28px 8px;border:1px dashed #c2d0d9;border-radius:8px;color:var(--muted);font-size:12px;text-align:center}@media(max-width:1100px){.task-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.task-board{grid-template-columns:1fr}.task-column{min-height:150px}}

.task-title{text-align:left;font:inherit;font-weight:600;line-height:1.5}.task-alert{border-left:4px solid #be4c44;background:#fff2ef;color:#913930;margin-bottom:18px}.task-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.task-detail-grid h2{font-size:19px}.task-description,.mail-preview{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.mail-preview{font:inherit;background:#f1f6f9;border-radius:8px;padding:16px}.subtask-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}.subtask-row input{width:18px;height:18px;flex-shrink:0}.subtask-row .done{text-decoration:line-through;color:var(--muted)}#subtaskForm,#taskCommentForm{margin-top:18px}#subtaskForm .btn,#taskCommentForm .btn{margin-top:12px}@media(max-width:800px){.task-detail-grid{grid-template-columns:1fr}}

.case-open-row{cursor:pointer}.case-open-row:hover td,.case-open-row:focus-within td{background:#eef6fb}.case-title-link{display:block;white-space:normal;text-align:left;margin-top:6px}.case-title-link:hover{text-decoration:underline}.case-title-link:focus-visible{outline:2px solid #147bb3;outline-offset:3px}.case-open-hint{color:#147bb3;font-size:11px;margin-top:6px}

.case-list{overflow:hidden}.case-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px}.case-list-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.case-list-summary strong{font-size:12px;letter-spacing:.03em}.case-list-summary>span{font-size:12px;color:var(--muted)}.case-list-toolbar .btn{font-size:12px;padding:8px 12px}.case-list table{width:100%;min-width:820px;table-layout:fixed}.case-list th{font-size:11px;padding:10px 16px;background:#f7f9fb;letter-spacing:.03em}.case-list td{padding:12px 16px;font-size:13px;height:66px}.case-list th:nth-child(1){width:23%}.case-list th:nth-child(2){width:21%}.case-list th:nth-child(3){width:12%}.case-list th:nth-child(4){width:14%}.case-list th:nth-child(5){width:19%}.case-list th:nth-child(6){width:11%}.case-summary-link{display:block;width:100%;text-align:left;line-height:1.5}.case-summary-link strong{font-size:13px;font-weight:650;color:var(--ink)}.case-summary-link:focus-visible{outline:2px solid #147bb3;outline-offset:3px}.case-list .sub{font-size:11px;margin-top:2px}.case-ellipsis{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-team{display:inline-flex;padding-left:4px}.case-team .avatar{width:27px;height:27px;margin-left:-4px;border:2px solid white;font-size:9px;flex-shrink:0;background:#d8eaf4;color:#074b70}.case-team .team-tone-1{background:#055d99;color:white}.case-team .team-tone-2{background:#4badd8;color:#07394b}.case-team .team-extra{background:#e8edf2;color:#486579}.case-list-deadline{font-size:12px}.case-list-deadline.urgent{color:#b4443a;font-weight:600}.case-list-foot{padding:12px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}#case-filters .filters{padding:0 18px;margin-bottom:14px}@media(max-width:680px){.case-list-toolbar{align-items:flex-start;flex-direction:column;gap:12px;padding:14px}.case-list-summary{gap:7px}.case-list-toolbar .actions{width:100%;justify-content:space-between}.case-list-foot{font-size:10px}}

.case-header{background:linear-gradient(115deg,#034556,#055d99);color:white;border-radius:12px;margin-bottom:22px;overflow:hidden}.case-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px}.case-header h1{font-size:25px;color:white;margin:8px 0;line-height:1.4}.case-header .eyebrow,.case-header p{color:#d1e6f1}.case-header p{font-size:14px}.case-header .btn{background:white;color:#055d99;border-color:white;flex-shrink:0}.case-header-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.case-header-badges>span{font-size:12px;border:1px solid #ffffff30;border-radius:20px;padding:5px 11px;background:#ffffff13}.case-tabs{display:flex;overflow-x:auto;gap:4px;background:#002c4933;padding:8px 16px 0}.case-tabs button{padding:13px 15px;color:#d9ebf5;font-size:13px;white-space:nowrap;border-radius:7px 7px 0 0;flex-shrink:0}.case-tabs button.active{background:#f4f8fb;color:#034556;font-weight:650}.case-tabs button:hover:not(.active){background:#ffffff15}.case-tabs button:focus-visible{outline:2px solid #85d4f7;outline-offset:-3px}.case-tabs button span{font-size:10px;margin-left:4px;opacity:.8}#case-tab-panel:focus{outline:none}@media(max-width:680px){.case-header-top{padding:18px;flex-direction:column;gap:12px}.case-header h1{font-size:21px}.case-tabs{padding-left:7px}.case-tabs button{padding:12px}.case-header-top .btn{font-size:12px}}

.expense-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:340px}

.catalog-error{color:#b4443a;font-size:14px}.demo-role-picker{margin-top:24px;font-size:14px}.demo-role-picker select{padding:10px;border:1px solid var(--line);border-radius:6px}

.session-link{display:block;color:#d9ebf5;font-size:12px;padding:7px 0;text-align:left}.session-link:hover{text-decoration:underline}

.result-filters{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:24px 0}.result-filters label{display:block;font-size:12px;margin-bottom:6px;color:#536471}.result-filters input{padding:10px;border:1px solid #dbe3e8;border-radius:8px;background:white;font:inherit}.result-filters>span{margin-left:auto;font-size:12px;color:#657785}.result-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.result-header{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:28px;border-bottom:1px solid #e3e9ec}.result-header h2{font-size:26px;margin:12px 0}.result-header p,.result-header span{font-size:12px;color:#637886}.result-tag{align-self:start;background:#eef5f7;padding:8px 12px;border-radius:6px}.result-line{display:flex;justify-content:space-between;gap:24px;padding:16px 28px;border-bottom:1px solid #edf1f3;font-variant-numeric:tabular-nums}.result-line>span:last-child,.result-line>strong:last-child{white-space:nowrap}.result-section{background:#f3f7f8;color:#034556}.result-total{background:#034556;color:white;padding:24px 28px;font-size:24px}.result-total small{display:block;font-size:12px;font-weight:400;margin-top:7px;color:#c2e1e8}.result-note{margin:22px 0;line-height:1.6}.result-note p{margin:8px 0 0}.result-other{margin-top:28px}.result-other summary{cursor:pointer;font-weight:600;padding:16px 0}@media(max-width:650px){.result-stats{grid-template-columns:1fr}.result-header,.result-line{padding:18px}.result-total{font-size:20px}.result-filters>div{flex:1;min-width:130px}.result-filters input{width:100%}}@media print{.sidebar,.topbar,.footer,.result-filters,.result-other,.content>.pagehead .actions,.heading .actions{display:none!important}.appbody{margin:0!important}.content{padding:0!important}.result-statement{break-inside:avoid}.result-total{color:#034556;background:#edf5f7}.result-note{font-size:10px}.result-detail{margin-top:20px}body{background:white}}

.matter-revenue{margin-top:24px}.matter-revenue .cardhead{flex-wrap:wrap;gap:16px}.matter-revenue .result-filters{margin:0}.matter-help{padding:0 24px;font-size:12px;line-height:1.6;color:#617581}@media print{.matter-revenue form{display:none!important}.matter-revenue{break-inside:avoid}}

.receivables-report{margin-top:24px}.receivable-filters{padding:0 24px}.receivables-report .stats{padding:0 24px}.receivable-due{display:flex;flex-direction:column;gap:8px}.receivable-due input{padding:8px;border:1px solid #dbe3e8;border-radius:6px;font:inherit}@media print{.receivable-filters,.receivable-due button{display:none!important}.receivable-due input{border:0}}

.client-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:24px}.client-info>div{display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}.client-info span{font-size:12px;color:#637886}.client-cases,.client-payment-stats{margin-top:24px}.clientcard h3 a{font:inherit;text-align:left}@media(max-width:700px){.client-info{grid-template-columns:1fr 1fr}}@media(max-width:420px){.client-info{grid-template-columns:1fr}}

.payment-receipt{padding:24px;color:#243b45;background:white}.payment-receipt header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:2px solid #034556;padding-bottom:16px}.payment-receipt header img{object-fit:contain;width:130px}.payment-receipt header h2{color:#034556;margin:0 0 8px}.receipt-folio{font-size:12px;overflow-wrap:anywhere;line-height:1.8}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}.receipt-grid div{display:flex;flex-direction:column;gap:6px}.receipt-grid span,.receipt-concept>span{font-size:12px;color:#617581}.receipt-amount{padding:20px;background:#eef5f7;display:flex;justify-content:space-between;gap:18px;margin:24px 0}.receipt-amount strong{font-size:24px;color:#034556}.payment-receipt footer{font-size:11px;border-top:1px solid #dbe3e8;padding-top:16px;line-height:1.6}.receipt-screen-note{padding:0 24px}@media(max-width:500px){.receipt-grid{grid-template-columns:1fr}.payment-receipt header{align-items:start}.receipt-amount{flex-direction:column}}@media print{body.printing-receipt #app,body.printing-receipt #toast{display:none!important}body.printing-receipt #modal{position:static!important;display:block!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;overflow:visible!important;border:0!important;box-shadow:none!important;margin:0!important;padding:0!important}body.printing-receipt #modal::backdrop{background:none}body.printing-receipt .modalhead,body.printing-receipt .modalfoot,body.printing-receipt .receipt-screen-note{display:none!important}body.printing-receipt{overflow:visible!important}.payment-receipt{break-inside:avoid}.receipt-grid{grid-template-columns:1fr 1fr}}

.statement-columns{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#647986}.statement-concept small{display:block;margin-top:5px;font-size:11px;color:#657b85}.statement-concept>div{min-width:0;overflow-wrap:anywhere}.statement-subtotal{border-top:1px solid #a9bcc5;background:#f8fafb;color:#034556}.statement-close{margin-top:30px;padding-top:24px;border-top:2px solid #034556}.statement-close>.eyebrow,.statement-close>h3{margin-left:28px;margin-right:28px}.statement-close>h3{font-size:20px;margin-top:8px}.statement-caption{font-size:11px;color:#617581;padding:0 28px 14px;line-height:1.6}.statement-close .result-total{font-size:22px}@media(max-width:650px){.statement-close .result-total{flex-wrap:wrap}.result-section>span{font-size:11px}}@media print{.result-statement{break-inside:auto}.statement-close,.statement-subtotal,.statement-concept{break-inside:avoid}}

.revenue-pies{margin-top:28px}.revenue-pies>.cardhead{padding-left:0;padding-right:0;flex-wrap:wrap;gap:16px}.revenue-pies .result-filters{margin:0}.pie-layout{padding:20px;display:flex;align-items:center;flex-wrap:wrap;gap:20px}.pie-layout svg{width:210px;max-width:100%;margin:auto;flex-shrink:0}.pie-legend{list-style:none;margin:0;padding:0;flex:1;min-width:180px}.pie-legend li{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f3;font-size:12px}.pie-legend i{width:12px;height:12px;border-radius:50%;flex-shrink:0}.pie-legend li>div{flex:1;min-width:0;overflow-wrap:anywhere}.pie-legend small{display:block;margin-top:4px;color:#617581}.pie-leader{margin:0 20px;padding:16px;background:#eef5f7;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px}.pie-leader span{width:100%;font-size:11px;color:#617581}.pie-leader strong{flex:1;font-size:14px}.pie-leader b{color:#034556}.pie-empty{padding:40px 24px;color:#617581;text-align:center}@media print{.revenue-pies form{display:none!important}.revenue-pie{break-inside:avoid}}

.statement-scroll{overflow:auto;max-width:100%}.statement-matrix{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}.statement-matrix caption{text-align:left;padding:12px 20px;font-size:11px;color:#617581}.statement-matrix th,.statement-matrix td{border:1px solid #c8d5dc;padding:10px 12px;min-width:130px;white-space:nowrap;text-align:right}.statement-matrix th:first-child{min-width:240px;max-width:320px;text-align:left;white-space:normal;position:sticky;left:0;background:white;z-index:1}.statement-matrix thead th{background:#034556!important;color:white;text-transform:capitalize}.statement-matrix .matrix-section th{background:#086b8a!important;color:white;font-size:12px;letter-spacing:.06em;padding:9px 14px}.statement-matrix small{display:block;font-size:10px;font-weight:400;color:#617581;margin-top:4px}.statement-matrix .matrix-total>*{background:#e7eef2!important;font-weight:700;border-top:2px solid #8ca5b2}.statement-matrix .matrix-net>*{font-weight:800;border-top:2px solid #034556}.statement-matrix .matrix-accumulated>*{font-weight:700}.statement-matrix td.statement-positive{background:#e0f3e6;color:#185a31}.statement-matrix td.statement-negative{background:#ffe5e5;color:#9e2020}.statement-matrix td:last-child{font-weight:700;border-left:2px solid #8ca5b2}.statement-scroll:focus{outline:2px solid #49a9d5;outline-offset:-2px}@media print{.monthly-statement .statement-scroll{overflow:visible}.statement-matrix{font-size:7px;table-layout:fixed}.statement-matrix th,.statement-matrix td{min-width:0!important;padding:4px 2px;white-space:normal;overflow-wrap:anywhere}.statement-matrix th:first-child{position:static;width:130px;min-width:0}.statement-matrix thead{display:table-header-group}.statement-matrix tr{break-inside:avoid}.statement-matrix small{font-size:7px}.statement-matrix{print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{size:A4 landscape;margin:10mm}}

.access-profiles{margin-top:24px}.access-profiles>summary{cursor:pointer;font-weight:600;padding:18px;background:#edf4f7;border-radius:8px}.access-profiles>.card{margin-top:16px}
