:root{--paper:#eff2f5;--card:#fcfcfd;--ink:#292e34;--body:#505963;--muted:#7b8895;--line:#d8dee5;--rust:#566f8a;--green:#566370;--tan:#8ca0b5;--sidebar:#e3e8ed;--serif:"Songti SC","STSong","Noto Serif SC",Georgia,serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font:14px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button{background:0 0;border:0}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #879bb0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}h1{font-family:var(--serif);letter-spacing:.3px;font-size:32px;line-height:1.45}h2{font-size:16px}h3{font-size:14px}small{font-size:12px}svg{flex-shrink:0}input,select,textarea{color:var(--ink);background:#fcfcfd;border:1px solid #cbd3db;border-radius:8px;outline:none;width:100%;min-height:41px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#7f92a7;box-shadow:0 0 0 3px #8ca0b51c}input::placeholder,textarea::placeholder{color:#8c98a4}textarea{resize:vertical}label{flex-direction:column;gap:7px;font-size:13px;font-weight:500;display:flex}form>label,form>.form-row{margin-bottom:17px}input[type=checkbox]{width:15px;height:15px;min-height:0;accent-color:var(--green);flex-shrink:0}.app-shell{min-height:100vh}.sidebar{z-index:40;background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;width:220px;padding:31px 17px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand{font-family:var(--serif);letter-spacing:4px;align-items:center;gap:12px;padding:0 15px 31px;font-size:27px;font-weight:600;line-height:1.3;display:flex}.brand-mark{color:#f5f6f8;background:#59728d;border-radius:9px;place-items:center;width:39px;height:43px;display:grid}.brand small{font:8px var(--sans);letter-spacing:2.5px;color:var(--body);margin-top:5px;display:block}.workspace-label{letter-spacing:1px;color:var(--muted);justify-content:space-between;align-items:center;padding:9px 16px 15px;font-size:10px;display:flex}.tiny-dot,.mode-dot{background:var(--green);border-radius:50%;width:6px;height:6px;display:inline-block}nav{gap:5px;display:grid}nav>button,.settings-link{text-align:left;color:#5e6a76;border-radius:8px;align-items:center;gap:12px;padding:13px 16px;font-size:13px;transition:background .15s;display:flex}nav>button:hover,.settings-link:hover{background:#d7dde4}nav>button.selected,.settings-link.selected{color:#425569;background:#cdd6df;font-weight:600}.nav-count{color:#fff;text-align:center;background:#8197ae;border-radius:6px;min-width:21px;margin-left:auto;font-size:11px}.sidebar-bottom{margin-top:auto;padding-top:40px}.side-note{border-top:1px solid #c3cbd4;margin:0 9px 28px;padding:20px 15px 10px;position:relative;overflow:hidden}.side-note .eyebrow{color:#7f90a2;letter-spacing:1.5px;font-size:8px}.side-note p{font-family:var(--serif);color:#677788;margin-top:12px;font-size:20px;line-height:1.7}.note-lines{opacity:.4;position:absolute;bottom:0;right:1px;transform:rotate(-26deg)}.note-lines i{border-top:1px solid #92a2b4;width:50px;height:9px;display:block}.profile{border-top:1px solid #cbd3dc;align-items:center;gap:10px;margin:13px -17px 0;padding:20px;display:flex}.profile b{font-size:12px}.profile small{color:var(--muted);font-size:10px;display:block}.profile .icon-button{margin-left:auto}.avatar{color:#546578;width:34px;height:34px;font-family:var(--serif);background:#c8d2dc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.avatar.small{width:30px;height:30px;font-size:12px}.avatar.mini{border:2px solid var(--card);width:25px;height:25px;margin-left:-5px;font-size:10px}.main-shell{margin-left:220px}.topbar{border-bottom:1px solid var(--line);background:#f7f8fa;justify-content:space-between;align-items:center;height:68px;padding:0 38px;display:flex}.breadcrumb,.top-actions{color:#84909d;align-items:center;gap:14px;font-size:12px;display:flex}.breadcrumb b{color:#55616d;font-weight:400}.cloud-state{color:#76828e;align-items:center;gap:6px;font-size:11px;display:flex}.top-divider{background:var(--line);width:1px;height:14px}.date-today{letter-spacing:.6px;font-size:11px}.mobile-toggle{display:none!important}main{max-width:1600px;margin:auto;padding:24px 38px 0}.mode-banner{color:#5f7083;background:#dde3ea;border:1px solid #d3dae2;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:11px;display:flex}.mode-banner>span{align-items:center;gap:8px;display:flex}.mode-dot{background:#7f93a8}.mode-banner button{white-space:nowrap;color:#54667a;align-items:center;gap:6px;font-size:11px;display:flex}.page-heading{justify-content:space-between;align-items:center;gap:20px;padding:29px 0 27px;display:flex}.eyebrow{color:#77899d;letter-spacing:2px;font-size:9px;font-weight:600}.page-heading h1{margin:7px 0}.page-heading p{color:#7b8997;font-size:12px}.heading-actions{flex-shrink:0;gap:10px;display:flex}.button{white-space:nowrap;background:#fcfcfd;border:1px solid #cbd2da;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:9px 15px;font-size:12px;font-weight:500;transition:filter .15s,transform .15s;display:inline-flex}.button:hover{filter:brightness(.97)}.button.primary{background:var(--rust);border-color:var(--rust);color:#f7f9fb;box-shadow:0 3px 6px #3a4b5d10}.button.compact{min-height:29px;padding:5px 9px;font-size:11px}.button.full{width:100%}.text-action{color:#576e87;white-space:nowrap;align-items:center;gap:6px;padding:4px 0;font-size:12px;display:inline-flex}.text-action:hover{color:#344252}.icon-button{color:#6d7b8a;border-radius:5px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.icon-button:hover{background:#dce3ea}.section-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;display:flex}.segmented{background:#dee3e9;border-radius:8px;gap:2px;padding:3px;display:inline-flex}.segmented button{color:#6f7e8f;border-radius:6px;padding:6px 12px;font-size:11px}.segmented button.active{background:var(--card);color:#475564;box-shadow:0 1px 3px #5b6d8018}.week-picker{color:#6a7989;align-items:center;gap:12px;font-size:11px;display:flex}.week-picker button{justify-content:center;align-items:center;padding:4px;display:flex}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;position:relative;overflow:hidden}.stat:before{content:"";background:#6c86a1;width:25px;height:2px;position:absolute;top:0;left:20px}.stat-label{color:#657381;justify-content:space-between;align-items:center;font-size:11px;display:flex}.stat-label>span{color:#768ba2;background:#eceff3;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.stat-value{letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:10px 0 12px;font-size:30px;font-weight:500;line-height:1.3}.stat-value small{letter-spacing:0;color:#7b8998;margin-left:7px;font-size:11px;font-weight:400}.stat-detail{color:#828f9c;border-top:1px solid #e2e7ed;padding-top:10px;font-size:10px;line-height:1.6}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:15px;padding:20px 22px;display:flex}.panel-heading h2,.detail-panel h2,.settings-panel h2{font-family:var(--serif);font-size:18px;font-weight:600}.panel-heading p,.detail-panel>p,.settings-panel>p{color:#8693a1;margin-top:4px;font-size:11px}.panel-heading.no-padding{padding:0 0 14px}.heading-inline{align-items:center;gap:10px;display:flex}.count{color:#6d8094;background:#e1e7ed;border-radius:5px;padding:1px 7px;font-size:10px}.insight-grid{grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:20px;margin-bottom:25px;display:grid}.legend{color:#738293;gap:14px;font-size:10px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend i{background:#6883a0;border-radius:2px;width:7px;height:7px}.bar-chart{align-items:flex-end;gap:18px;height:207px;padding:24px 20px 0 50px;display:flex;position:relative}.chart-grid{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:15px 25px 45px 30px}.chart-grid span{color:#96a4b3;font-size:8px;position:absolute;top:-8px;left:-15px}.chart-grid i{border-top:1px dashed #d6dde5;width:100%}.bar-column{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.bar-stack{border-radius:5px 5px 0 0;flex-direction:column;justify-content:flex-end;width:27px;height:130px;display:flex;overflow:hidden}.bill-bar{background:#6b86a2;width:100%;min-height:0}.nonbill-bar{background:#b5c2d0;width:100%}.bar-value{color:#5f748b;white-space:nowrap;margin-bottom:6px;font-size:11px;position:absolute;top:-20px}.bar-value small{color:#95a3b2;font-size:8px}.bar-label{color:#758495;padding-top:10px;font-size:10px}.bar-column>small{color:#96a3b1;margin-top:3px;font-size:8px}.bar-column.today .bar-label{color:var(--rust);font-weight:600}.chart-foot{color:#7b8b9d;border-top:1px solid #dfe4ea;justify-content:space-between;margin-top:18px;padding:13px 23px;font-size:10px;display:flex}.chart-foot b{color:#55697e}.focus-card{background:#d7dee5;border:1px solid #c8d1db;border-radius:12px;padding:25px 28px;position:relative;overflow:hidden}.focus-top{color:#7f91a4;justify-content:space-between;align-items:center;display:flex}.focus-top .eyebrow{letter-spacing:1.4px;color:#6f8296;font-size:8px}.focus-card h2{font-family:var(--serif);letter-spacing:1px;color:#44515e;margin:21px 0 12px;font-size:29px;font-weight:500;line-height:1.6}.focus-card p{color:#738497;font-size:11px;line-height:1.9}.focus-card button{color:#596b7f;z-index:2;border-bottom:1px solid #97a5b5;align-items:center;gap:28px;margin-top:21px;padding:9px 0;font-size:11px;display:flex;position:relative}.focus-decoration{opacity:.5;position:absolute;bottom:-45px;right:-16px;transform:rotate(-25deg)}.focus-decoration i{border:1px solid #98a8b9;border-radius:50%;width:125px;height:20px;margin:6px;display:block}.records-panel{margin-bottom:20px}.filters{flex-wrap:wrap;gap:10px;padding:0 22px 17px;display:flex}.filters select{background:#f7f9fb;width:auto;max-width:185px;min-height:35px;padding:7px 25px 7px 10px;font-size:11px}.search{color:#8997a6;background:#f7f8fa;border:1px solid #d3dae2;border-radius:7px;flex-direction:row;flex:1;align-items:center;gap:8px;min-width:230px;padding:0 11px;font-size:11px;font-weight:400;position:relative}.search input{background:0 0;border:0;min-height:34px;padding:7px 0;font-size:11px;box-shadow:none!important}.standalone-search{max-width:400px;margin-bottom:20px}.table-scroll{width:100%;overflow:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:12px}thead{background:#e9edf2}th{letter-spacing:.5px;color:#778798;border-bottom:1px solid var(--line);padding:12px 22px;font-size:10px;font-weight:500}td{color:#525e6b;border-bottom:1px solid #dfe5eb;padding:16px 22px}tbody tr:nth-child(2n){background:#f5f6f8}tbody tr:hover{background:#eaeef3}tbody tr:last-child td{border-bottom:0}td small{color:#8290a0;margin-top:4px;font-size:10px;display:block}.date-text{color:#4a5765;letter-spacing:.3px;font-size:12px}.work-cell{white-space:normal;min-width:260px;max-width:540px}.work-cell p{color:#6e7e8f;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:470px;margin-top:3px;font-size:11px;display:-webkit-box;overflow:hidden}.table-title{text-align:left;color:#455465;padding:0;font-size:12px;font-weight:500}.table-title:hover{text-decoration:underline}.number{font-variant-numeric:tabular-nums;font-size:18px;font-weight:500}.muted{color:#82909e;font-size:11px}.right{text-align:right}.status{color:#798899;background:#e5e9ed;border-radius:5px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:4px;height:4px}.row-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.table-footer{color:#7b8b9d;background:#f7f8fa;border-top:1px solid #dbe2e9;justify-content:space-between;align-items:center;gap:15px;padding:13px 22px;font-size:10px;display:flex}.pagination>button{padding:2px;display:flex}.date-controls{align-items:center;gap:13px;display:flex}.date-controls input{width:auto;min-height:34px;padding:6px 10px;font-size:11px}.approval-label{color:#54677c;padding:8px 12px;font-size:12px}.matter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.matter-card{padding:22px}.matter-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.matter-icon{color:#7189a2;background:#dbe2e9;border-radius:9px;padding:10px;display:flex}.tone-1{color:#6f7d8d;background:#e6e9ec}.tone-2{color:#758aa1;background:#dfe5eb}.tag{color:#748699;background:#e5e9ee;border:1px solid #d4dbe3;border-radius:5px;padding:3px 7px;font-size:9px}.matter-card>small{color:#92a1b2;letter-spacing:1px;font-size:9px}.matter-title{font-family:var(--serif);text-align:left;color:#41505f;padding:5px 0;font-size:19px;font-weight:600;display:block}.matter-title:hover{color:var(--rust)}.matter-card>p{color:#8393a5;font-size:11px}.matter-stats{gap:25px;margin:23px 0 22px;display:flex}.matter-stats>div{flex:1}.matter-stats strong{letter-spacing:-.6px;font-size:22px;font-weight:500}.matter-stats strong small{letter-spacing:0;color:#8395a8;font-size:11px;font-weight:400}.matter-stats span{color:#7d8fa2;margin-top:3px;font-size:10px;display:block}.budget-label{color:#71859a;justify-content:space-between;margin-bottom:8px;font-size:10px;display:flex}.budget-label b{font-weight:500}.progress{background:#dde3ea;border-radius:4px;height:6px;overflow:hidden}.progress i{background:#8094aa;border-radius:4px;height:100%;display:block}.matter-bottom{color:#8294a7;justify-content:space-between;align-items:center;margin-top:10px;font-size:10px;display:flex}.matter-bottom .text-action{font-size:10px}.matter-avatars{border-top:1px solid #dae1e8;align-items:center;margin-top:15px;padding:15px 5px 0;display:flex}.matter-avatars>span:last-child{color:#8696a8;margin-left:10px;font-size:9px}.matter-detail-top{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.matter-detail-top>div{color:#708398;align-items:center;gap:10px;font-size:11px;display:flex}.analysis-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px;display:grid}.detail-panel{margin-bottom:22px;padding:24px}.analysis-grid .detail-panel{margin-bottom:0}.fee-meter{padding:25px 0}.fee-meter>div:first-child{color:#6c7f93;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;display:flex}.fee-meter strong{color:#516376;font-size:28px;font-weight:500}.progress.large{height:10px}.fee-meter small{color:#7c90a5;margin-top:8px;font-size:10px;display:block}.fee-comparison>div{color:#6f8297;grid-template-columns:85px 1fr 100px;align-items:center;gap:12px;margin:13px 0;font-size:11px;display:grid}.fee-comparison b{text-align:right;font-weight:500}.distribution{gap:14px;padding-top:17px;display:grid}.distribution>div{color:#64798f;grid-template-columns:minmax(85px,1fr) 2fr 70px;align-items:center;gap:15px;font-size:11px;display:grid}.distribution b{text-align:right;color:#506276;font-weight:500}.distribution .progress{height:7px}.member-groups{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:17px;display:grid}.member-groups small{color:#7a8da1;font-size:10px}.member-groups p{color:#4e6175;margin-top:7px;font-size:12px}.scatter-wrap svg{width:100%;max-height:340px;margin:10px auto 0;display:block}.person-cell{align-items:center;gap:10px;display:flex}.settings-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.settings-panel{margin-bottom:20px;padding:25px}.settings-panel .no-padding h2{margin:0}.settings-divider{border-top:1px solid var(--line);margin:28px 0}.settings-panel form>label{font-size:12px}.category-list h3{color:#7f90a3;margin:16px 0 10px;font-size:11px}.category-list>div{color:#5a6b7d;border-top:1px solid #dce2e9;justify-content:space-between;align-items:center;padding:9px 0;font-size:12px;display:flex}.category-list small{color:#8696a7;font-size:9px;display:block}.audit-list{margin-top:16px}.audit-list details{border-bottom:1px solid var(--line);padding:12px 0}.audit-list summary{cursor:pointer;align-items:flex-start;gap:10px;list-style:none;display:flex}.audit-list b{color:#5b6e82;font-size:11px;font-weight:500}.audit-list small{color:#8495a7;margin-top:4px;font-size:9px;display:block}.audit-dot{background:#91a3b7;border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:6px}.audit-details{color:#627589;background:#e8ecf1;border-radius:6px;margin-top:9px;padding:10px;font-size:10px}.audit-details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px}.empty{text-align:center;color:#798ca0;padding:50px 20px}.empty>svg{opacity:.5;margin-bottom:10px}.empty h3{font-family:var(--serif);margin-bottom:7px;font-size:18px}.empty p{color:#8596a9;font-size:12px}.alert{color:#637a93;background:#dce3ea;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:12px;display:flex}.alert.error{color:#647e9a;background:#eaeef2}.alert button{display:flex}.toast{color:#fff;z-index:1000;background:#505b66;border-radius:9px;align-items:center;gap:9px;padding:12px 20px;font-size:12px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #333b4420}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#1e242a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#f9fafc;border:1px solid #c8d1db;border-radius:14px;width:570px;max-height:92vh;overflow:auto;box-shadow:0 15px 70px #1e242b26}.modal.wide{width:750px}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:23px 28px 18px;display:flex}.modal-header h2{font-family:var(--serif);margin-top:3px;font-size:24px}.modal>form{padding:24px 28px 0}.modal form>label{color:#5f7185;font-size:12px}.form-row{gap:17px;display:flex}.form-row>label{flex:1;min-width:0}.form-segment{margin-bottom:20px;display:flex}.form-segment>button{flex:1}.duration-inputs{align-items:center;gap:9px;display:flex}.duration-inputs input{text-align:center;width:65px;min-width:0}.duration-inputs span{color:#788ba0;font-size:11px}.form-hint{color:#7e8fa2;margin:12px 0;font-size:10px;line-height:1.8}.modal-footer{border-top:1px solid var(--line);z-index:1;background:#f9fafc;justify-content:flex-end;gap:10px;margin-top:20px;padding:18px 0;display:flex;position:sticky;bottom:0}.form-error{color:#69839f;white-space:pre-wrap;background:#e8ecf1;border-radius:7px;margin:12px 0;padding:10px 12px;font-size:11px}.quoted{color:#62778e;background:#e2e7ed;border-left:2px solid #8ca0b6;border-radius:0 6px 6px 0;margin-bottom:20px;padding:14px;font-size:12px}.role-selects{grid-template-columns:1fr 1fr;gap:13px;display:grid}fieldset{border:1px solid #cdd6e0;border-radius:8px;min-width:0;padding:12px}legend{color:#576d84;font-size:11px}legend small{color:#8f9fb0;margin-left:5px;font-size:9px}.checkbox-grid{flex-wrap:wrap;gap:10px 15px;display:flex}.checkbox-grid label{color:#64778b;flex-direction:row;align-items:center;gap:6px;font-size:11px;font-weight:400}.record-detail>h3{margin:15px 0;font-size:16px}.record-detail>p{color:#6d8298;font-size:12px}.record-detail dl{grid-template-columns:120px 1fr;gap:9px;font-size:11px;display:grid}.record-detail dt{color:#8294a7}.record-detail dd{color:#5e7389;margin:0}footer{color:#9aa7b5;justify-content:space-between;gap:20px;padding:30px 0 22px;font-size:9px;display:flex}footer>span:first-child{align-items:center;gap:7px;display:flex}.initial-loading{color:#697e95;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;display:flex}.initial-loading p{font-size:13px}.login-page{background:radial-gradient(ellipse at 23% 40%,#d3dce566,transparent 55%),var(--paper);justify-content:center;align-items:center;gap:115px;min-height:100vh;padding:65px 40px;display:flex;position:relative}.seal{font-family:var(--serif);color:#5f7994;width:64px;height:64px;box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px #7e94ab;border:2px solid #5f7994;border-radius:14px;justify-content:center;align-items:center;margin-bottom:30px;font-size:23px;font-weight:600;display:flex;transform:rotate(-6deg)}.login-brand>.eyebrow{font-size:9px}.login-brand h1{color:#3e4c5b;letter-spacing:2px;margin:17px 0;font-size:38px;line-height:1.7}.login-features{color:#647b93;gap:22px;margin:35px 0;font-size:11px;display:flex}.login-features span{align-items:center;gap:7px;display:flex}.login-brand>small{color:#8496a9;letter-spacing:2px;border-top:1px solid #c2ccd6;padding-top:25px;font-size:9px;display:block}.login-card{background:#fbfbfc;border:1px solid #cfd7e0;border-top:3px solid #8ca0b5;border-radius:12px;width:410px;padding:36px;box-shadow:0 14px 50px #51627510}.login-card h2{font-family:var(--serif);color:#455566;margin:8px 0;font-size:26px}.login-card>p{color:#8495a8;margin-bottom:28px;font-size:12px}.login-card label{color:#657a90;font-size:12px}.login-card .full{min-height:43px;margin-top:6px}.test-accounts{border-top:1px solid var(--line);margin-top:27px;padding-top:20px}.test-accounts>div:first-child{color:#70859b;flex-direction:column;gap:5px;display:flex}.test-accounts b{font-size:11px;font-weight:500}.test-accounts small{color:#8294a7;font-size:10px}.test-accounts code{color:#566b81;font-family:monospace}.account-chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.account-chips button{color:#7a8da1;border:1px solid #d2dae2;border-radius:5px;padding:5px 8px;font-size:10px}.test-accounts>p{color:#909fb0;margin-top:13px;font-size:9px}.login-footer{color:#8b9bad;font-family:var(--serif);letter-spacing:2px;font-size:11px;position:absolute;bottom:20px}.platform-note{color:#6f849b;font-size:12px;margin:20px 0!important}@media (width>=1500px){main{padding:30px 55px 0}.topbar{padding:0 55px}.page-heading h1{font-size:36px}.stat-value{font-size:34px}}@media (width<=1150px){.sidebar{width:192px;padding-left:12px;padding-right:12px}.main-shell{margin-left:192px}main{padding:20px 24px 0}.topbar{padding:0 24px}.profile{margin-left:-12px;margin-right:-12px;padding:16px 12px}.brand{padding-left:12px}.stat{padding:15px}.stat-value{font-size:24px}.stat-label{font-size:10px}.page-heading h1{font-size:28px}.matter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row-actions{gap:7px}th,td{padding:13px 16px}.bar-chart{gap:10px;padding-left:35px}.focus-card{padding:23px}.login-page{gap:55px}.login-brand{width:360px}.login-brand h1{font-size:32px}}@media (width<=850px){.sidebar{width:180px}.main-shell{margin-left:180px}main{padding:18px 20px 0}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.insight-grid{grid-template-columns:1fr}.focus-card{display:none}.page-heading{flex-direction:column;align-items:flex-start;gap:16px}.page-heading h1{font-size:28px}.settings-grid,.analysis-grid{grid-template-columns:1fr}.topbar{padding:0 20px}.date-today{display:none}.date-controls,.section-toolbar{flex-wrap:wrap}.member-groups{grid-template-columns:1fr 1fr}.matter-detail-top{flex-direction:column;align-items:flex-start}.mode-banner,.mode-banner button{font-size:10px}.login-page{gap:35px}.login-brand{width:300px}.login-brand h1{font-size:28px}.login-features{gap:10px;font-size:9px}.login-card{width:355px;padding:28px}}@media (width<=650px){.sidebar{width:220px;transition:transform .2s;transform:translate(-100%);box-shadow:5px 0 30px #313f4e1c}.sidebar.mobile-open{transform:none}.main-shell{margin-left:0}.mobile-toggle{display:flex!important}.topbar{height:58px;padding:0 15px}.breadcrumb{gap:8px;font-size:10px}.breadcrumb>span{display:none}.top-actions{font-size:10px}.top-divider{display:none}.cloud-state{font-size:10px}main{padding:15px 16px 0}.mode-banner{align-items:flex-start;gap:5px;padding:9px 10px}.mode-banner>span{align-items:flex-start}.mode-dot{flex-shrink:0;margin-top:5px}.page-heading{padding:24px 0}.page-heading h1{font-size:26px}.page-heading p{font-size:11px}.eyebrow{letter-spacing:1.5px;font-size:8px}.stat-grid{gap:10px;margin-bottom:18px}.stat{padding:13px}.stat-label{gap:3px;font-size:10px}.stat-label>span{width:24px;height:24px}.stat-value{margin:8px 0;font-size:24px}.stat-detail,.stat-value small{font-size:9px}.panel-heading{padding:16px}.panel-heading h2{font-size:16px}.filters{padding:14px 16px}.search{flex-basis:100%;min-width:100%}.filters select{flex:1;max-width:calc(50% - 6px);padding-right:15px}.table-footer{flex-wrap:wrap;padding:12px 16px}.pagination{margin-left:auto}.chart-foot{padding:11px 15px;font-size:9px}.chart-foot>span:first-child{max-width:65%}.bar-chart{gap:10px;padding-left:30px;padding-right:15px}.bar-stack{width:22px}.bar-value,.bar-chart .bar-label{font-size:9px}.legend{gap:8px;font-size:8px}.week-picker{gap:7px;font-size:10px}.section-toolbar{gap:10px}.matter-grid{grid-template-columns:1fr}.matter-card{padding:20px}.matter-title{font-size:21px}.member-groups{gap:15px}.matter-detail-top>div{flex-wrap:wrap}.detail-panel,.settings-panel{padding:19px}.scatter-wrap{overflow-x:auto}.scatter-wrap svg{min-width:580px}.distribution>div{grid-template-columns:100px 1fr 55px;gap:10px}.fee-comparison>div{grid-template-columns:80px 1fr 90px}.role-selects{grid-template-columns:1fr}.modal-overlay{padding:12px}.modal{border-radius:12px;max-height:94vh}.modal-header{padding:19px 20px 16px}.modal>form{padding:20px 20px 0}.modal-header h2{font-size:22px}.form-row{gap:12px}.modal-footer{gap:7px}.modal-footer .button{padding:8px 11px;font-size:11px}.duration-inputs{gap:5px}.duration-inputs input{width:48px;padding:9px 5px}.login-page{padding:35px 22px 65px;display:block}.login-brand{width:100%;max-width:410px;margin:0 auto 25px}.login-brand h1{margin:10px 0;font-size:28px;line-height:1.6}.login-brand>p,.login-features,.login-brand>small{display:none}.seal{border-radius:9px;width:45px;height:45px;margin-bottom:18px;font-size:17px}.login-card{width:100%;max-width:410px;margin:auto;padding:27px}.login-card h2{font-size:24px}.login-footer{text-align:center;left:0;right:0}footer{gap:10px;font-size:8px}.toast{white-space:normal;max-width:90vw;font-size:11px;bottom:20px}.record-detail dl{grid-template-columns:90px 1fr}.settings-grid{gap:0}}@media print{.sidebar,.topbar,.mode-banner,.heading-actions,.modal-overlay,.toast,footer,button{display:none!important}.main-shell{margin-left:0}main{padding:0}.panel,.stat{break-inside:avoid}.table-scroll{overflow:visible}body{background:#fff}.stat-grid{grid-template-columns:repeat(4,1fr)}}:root{--paper:#f4f6f9;--card:#fff;--ink:#303c49;--body:#5d6c7c;--muted:#8190a0;--line:#e1e7ed;--rust:#435971;--green:#608777;--tan:#a5b4c6;--sidebar:#edf1f5}.brand{letter-spacing:0;flex-direction:column;align-items:flex-start;gap:11px;padding:0 6px 25px;line-height:1;display:flex}.fangpu-logo{object-fit:contain;width:172px;max-width:100%;height:auto;display:block}.brand-system{font-family:var(--sans);color:#7f8b99;letter-spacing:3px;border-top:1px solid #d9e0e7;width:calc(100% - 20px);margin-left:10px;padding-top:10px;font-size:10px}nav>button.selected,.settings-link.selected{color:#3d5168;background:#dce4ee}.button.primary{color:#fff;background:#435971;border-color:#435971;box-shadow:0 3px 8px #303c4910}.button.success{color:#56806a;background:#e8f0eb;border-color:#d6e5db}.stat:before{background:#5b718a}.stat.green:before{background:#8297ab}.stat.gold:before{background:#a1b5bc}.stat.clay:before{background:#657c94}.stat-value{color:#35475b}.stat-label>span{color:#768aa0;background:#edf1f6}.stat.green .stat-label>span{color:#8299a4;background:#eff3f5}.bill-bar{background:#6f849e}.nonbill-bar{background:#bccbd5}.legend i{background:#6f849e}.legend span+span i{background:#bccbd5}.focus-card{background:linear-gradient(135deg,#e8edf4,#dee6ef);border-color:#d8e1ec}.focus-card h2{color:#40546b}.focus-card p{color:#76879b}.focus-top,.focus-top .eyebrow{color:#8393a6}.focus-card button{color:#586f89;border-color:#a8b6c8}.progress i{background:#879eb3}.distribution>div:nth-child(2n) .progress i{background:#a2b4c3}.status.approved{color:#5d826d;background:#e7f0ea}.status.pending{color:#9c8146;background:#f7efdd}.status.rejected{color:#ab746b;background:#f6e8e5}.alert.error,.form-error{color:#a96f67;background:#f9ebe8}.review-note{color:#ab7e70}.mode-banner{color:#7a8b9d;background:#eaf0f5;border-color:#e0e8f0}.mode-banner button{color:#667c93}.text-action{color:#5e7892}.table-title,.matter-title{color:#4c627b}.table-title:hover,.matter-title:hover{color:#303c49}.login-page{background:radial-gradient(at 20% 35%,#e1e8f180,#0000 58%),#f4f6f9;gap:105px}.login-brand{width:435px}.login-logo{object-fit:contain;width:219px;height:auto;margin-bottom:38px;display:block}.login-brand>.eyebrow{letter-spacing:3px;color:#8293a6;font-size:10px;display:block}.login-brand h1{color:#35485e;letter-spacing:1px;margin-top:14px;font-size:35px;line-height:1.8}.login-brand>p{color:#8290a0;font-size:12px;line-height:2}.login-brand>small{color:#7b8da3;letter-spacing:1px;border-color:#d4dde8;font-size:10px}.login-features{color:#6c819b}.login-card{border-color:#879bb3 #dce4ed #dce4ed;box-shadow:0 16px 55px #303c4909}.login-card h2{color:#43576e}.login-card>p{color:#8b9aab}.login-card input{background:#f5f7fa;border-color:#dfe6ef}.account-chips button.active{color:#536c88;background:#e3eaf3;border-color:#b7c6d9}.login-footer{color:#92a0b1;letter-spacing:1.4px;font-family:var(--sans);font-size:10px}.side-note p{color:#8596a9;font-size:21px}.side-note{border-color:#d0dbe6}.side-note .eyebrow{color:#98a7b9}.toast{background:#50667e}.fee-comparison .progress i{background:#8199b0!important}footer{color:#a0acba}@media (width<=1150px){.fangpu-logo{width:155px}.brand{padding-left:6px}.brand-system{letter-spacing:2px;margin-left:6px;font-size:9px}.login-page{gap:50px}.login-brand{width:360px}.login-brand h1{font-size:31px}}@media (width<=850px){.fangpu-logo{width:144px}.login-brand{width:300px}.login-brand h1{font-size:27px}.login-logo{width:183px}}@media (width<=650px){.sidebar .fangpu-logo{width:172px}.brand-system{letter-spacing:3px;font-size:10px}.login-brand{width:100%;max-width:410px}.login-logo{width:165px;margin-bottom:24px}.login-brand h1{font-size:25px;line-height:1.65}.login-brand>.eyebrow{letter-spacing:2px;font-size:8px}.login-brand>small{display:none}.login-card h2{font-size:24px}.login-page{padding-top:29px}.login-footer{font-size:9px}.page-heading h1{font-size:26px}}.matter-picker{margin-bottom:18px;position:relative}.matter-picker>label{margin-bottom:8px}.matter-picker-control{position:relative}.matter-picker-trigger{text-align:left;color:#35495f;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #dbe2e9;border-radius:8px;align-items:center;gap:12px;padding:11px 44px 11px 12px;display:flex}.matter-picker-trigger span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.matter-picker-clear{background:#f1f4f7;border-radius:5px;padding:5px;position:absolute;top:9px;right:8px}.matter-picker-trigger:focus-visible{outline-offset:2px;outline:2px solid #56738e}.matter-picker-popover{z-index:5;background:#fff;border:1px solid #dbe2e9;border-radius:10px;position:absolute;top:72px;left:0;right:0;overflow:hidden;box-shadow:0 12px 30px #263c5426}.matter-picker-search{border-bottom:1px solid #e6ebf0;align-items:center;gap:8px;padding:8px 12px;display:flex}.matter-picker-search input{border:0;outline:none;width:100%;min-width:0;margin:0;padding:8px 0;box-shadow:none!important}.matter-picker-options{overscroll-behavior:contain;max-height:230px;overflow:auto}.matter-picker-options button{text-align:left;color:#35495f;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:11px 14px;display:flex}.matter-picker-options button[data-active=true],.matter-picker-options button:hover{background:#edf3f8}.matter-picker-options b{font-weight:500;display:block}.matter-picker-options small{color:#7b8997;margin-top:4px;font-size:12px;display:block}.matter-picker-hint{color:#7b8997;background:#f7f9fb;padding:9px 14px;font-size:12px;margin:0!important}.matter-picker>.form-hint{margin:7px 0 0}.lawyer-summary{margin-bottom:22px}.summary-note{color:#778699;border-top:1px solid #e6ebf0;margin:0;padding:16px 24px;font-size:12px;line-height:1.8}.lawyer-projects{min-width:160px;max-width:260px}.lawyer-projects summary{cursor:pointer;color:#536e89}.lawyer-projects>div{gap:12px;margin-top:12px;display:grid}.lawyer-projects button{text-align:left;white-space:normal;display:block}.lawyer-projects small{font-size:11px}.lawyer-summary td{vertical-align:top}.lawyer-summary th{white-space:nowrap}.loading-screen{text-align:center;place-content:center;gap:16px;min-height:100vh;padding:24px;display:grid}.block{display:block}.record-content{white-space:pre-wrap;overflow-wrap:anywhere;max-width:440px}.panel-note{color:var(--muted);padding:0 24px 20px;font-size:12px}.loading-note{padding:10px}.metric-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:12px 0;display:flex}.category-list{flex-wrap:wrap;gap:8px;display:flex}.audit-item{border-bottom:1px solid var(--line);padding:12px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere}.filters{align-items:end}.filters>input{max-width:260px}.filters>label{width:155px}.filters>select{width:150px}.settings-panel h2,.settings-panel form>p{margin-bottom:18px}.row-actions{flex-wrap:wrap}.login-card form{margin-top:20px}.login-logo{max-width:260px}.member-groups{margin:18px 0}.matter-card>.row-actions{margin-top:18px}.empty-state{text-align:center;color:var(--muted);padding:45px 20px}.top-actions>span{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.pagination{align-items:center;gap:14px;display:flex}.analysis-grid{margin-top:24px}.stat-value{overflow-wrap:anywhere}.stat-grid .stat-value{font-size:25px}.modal form .form-error{white-space:pre-wrap}@media (width<=650px){.filters>input{max-width:none}.top-actions>span{max-width:120px}.filters>label{width:calc(50% - 8px)}.stat-grid .stat-value{font-size:21px}.sidebar.mobile-open{z-index:50}.topbar .mobile-toggle{z-index:60}.row-actions{min-width:100px}.table-scroll{overflow-x:auto}}.reauth-overlay{z-index:200;background:var(--paper);position:fixed;inset:0;overflow:auto}
/* Unified record filter layout */
.filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 12px;padding:20px 22px;align-items:end}
.filters>input{grid-column:span 2}
.filters>input,.filters>label,.filters>select{width:100%;max-width:none;min-width:0}
.filters input,.filters select,.filters>.button{height:44px;min-height:44px;border-radius:8px;font-size:14px;box-sizing:border-box}
.filters input,.filters select{padding:10px 12px;background:var(--card)}
.filters select{appearance:none;-webkit-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23505f70' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.filters>select[aria-label="项目"]{grid-column:span 2}
.filters>.button{justify-content:center;white-space:nowrap;width:100%;padding:10px 12px}
@media(max-width:1100px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters>select[aria-label="项目"]{grid-column:auto}}
@media(max-width:650px){.filters{padding:16px;gap:12px}.filters>input,.filters>label,.filters>select{width:100%;max-width:none}.filters input,.filters select{font-size:16px}.filters>.button{grid-column:1/-1}}
