.finance-page{position:relative;background:#fff;overflow:hidden}.finance-page .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.finance-page-body{height:100%;min-height:0;padding:21px 24px 12px;display:flex;flex-direction:column}.finance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex:0 0 auto}.finance-toolbar-left,.finance-toolbar-right{display:flex;align-items:center;gap:10px;min-width:0}.finance-search{height:33px;width:262px;display:flex;align-items:center;background:#f4f6fa;border-radius:6px;overflow:hidden}.finance-search input{height:100%;min-width:0;flex:1;border:0;background:transparent;padding:0 18px;outline:none;color:var(--ui-accent-ink, #a21c27)}.finance-search button{width:48px;height:100%;border:0;background:var(--ui-primary, #b8202b);color:#fff}.finance-icon-button,.finance-action-button{height:33px;border:0;border-radius:6px;background:#f4f6fa;color:var(--ui-muted, #716a70);display:inline-flex;align-items:center;justify-content:center}.finance-icon-button{width:36px;padding:0;font-size:17px}.finance-action-button{padding:0 14px;gap:7px;background:var(--ui-primary, #b8202b);color:#fff;white-space:nowrap}.finance-primary-select{height:33px;min-width:112px;border:0;border-radius:6px;padding:0 30px 0 14px;background:var(--ui-primary, #b8202b);color:#fff;outline:none}.finance-primary-select option{background:#fff;color:var(--ui-ink, #343034)}.finance-table-frame{min-height:0;flex:1;overflow:auto;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:6px;position:relative}.finance-table{width:100%;border-collapse:collapse;table-layout:fixed;color:#111}.finance-table th{height:50px;padding:0 11px;background:var(--ui-primary-soft, #fbeaec);border-right:1px solid #fff;text-align:left;font-weight:700;white-space:nowrap;position:sticky;top:0;z-index:2}.finance-table td{height:50px;padding:0 11px;border-right:1px solid var(--ui-primary-line, #efd0d5);border-bottom:1px solid var(--ui-primary-line, #efd0d5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff}.finance-table tbody tr:nth-child(even) td{background:#f5f5f6}.finance-table tbody tr:hover td{background:var(--ui-primary-pale, #fff7f8)}.finance-table .finance-index{width:50px;text-align:center}.finance-table .finance-operation{width:70px;text-align:center;position:sticky;right:0;z-index:1}.finance-table th.finance-operation{z-index:3}.finance-money{font-variant-numeric:tabular-nums}.finance-text-link{padding:0;border:0;background:transparent;color:var(--ui-accent-ink, #a21c27);cursor:pointer;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-row-actions{position:relative;display:flex;justify-content:center}.finance-row-actions>.icon{border:0;background:transparent;color:var(--ui-accent-ink, #a21c27);padding:6px;font-size:17px}.finance-row-menu{position:absolute;right:18px;top:28px;z-index:20;width:112px;background:#fff;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:6px;box-shadow:0 8px 24px rgba(56, 36, 42, .18);padding:5px}.finance-row-menu button{display:block;width:100%;height:34px;padding:0 10px;border:0;border-radius:4px;background:#fff;text-align:left;color:var(--ui-accent-ink, #a21c27)}.finance-row-menu button:hover{background:var(--ui-primary-pale, #fff7f8);color:var(--ui-accent-ink, #a21c27)}.finance-empty{position:absolute;inset:50px 0 0;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--ui-muted, #716a70);background:#fff}.finance-empty button{height:32px;border:0;border-radius:6px;background:var(--ui-primary, #b8202b);color:#fff;padding:0 14px}.finance-footer{flex:0 0 auto}.finance-summary{min-height:42px;display:flex;align-items:center;gap:28px;overflow-x:auto;white-space:nowrap;color:#111}.finance-summary strong{color:#ff404b;font-weight:700}.finance-pagination{min-height:52px;display:flex;align-items:center;justify-content:center;gap:12px;color:#111}.finance-pagination button{width:36px;height:36px;border:0;border-radius:6px;background:#f4f6fa;color:var(--ui-ink, #343034)}.finance-pagination button.active{background:var(--ui-primary, #b8202b);color:#fff}.finance-pagination button:disabled{opacity:.38}.finance-pagination input{width:48px;height:34px;border:0;border-radius:6px;background:#f4f6fa;text-align:center}.finance-page-gap{min-width:18px;text-align:center}.finance-columns-panel{position:absolute;right:22px;top:62px;z-index:32;width:460px;max-height:calc(100% - 84px);overflow:auto;background:#fff;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:6px;box-shadow:0 12px 32px rgba(56, 36, 42, .2)}.finance-columns-panel header{height:48px;padding:0 14px 0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-columns-panel header button{border:0;background:transparent}.finance-columns-panel>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 14px;padding:14px}.finance-columns-panel label{height:34px;display:flex;align-items:center;gap:8px;min-width:0;color:var(--ui-ink, #343034)}.finance-columns-panel label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-columns-panel input{accent-color:var(--ui-primary, #b8202b)}.finance-overlay{position:absolute;inset:0;z-index:40;background:rgba(184, 32, 43, .28);display:flex;justify-content:flex-end}.finance-drawer,.finance-detail-drawer{height:100%;width:min(680px,100%);background:#fff;box-shadow:-12px 0 36px rgba(56, 36, 42, .18);display:flex;flex-direction:column;overflow:hidden}.finance-drawer>header,.finance-detail-drawer>header,.finance-dialog>header{min-height:58px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-drawer h2,.finance-detail-drawer h2,.finance-dialog h2{margin:0;font-size:18px;font-weight:600}.finance-drawer header button,.finance-detail-drawer header button,.finance-dialog header button{border:0;background:transparent}.finance-filter-grid{min-height:0;flex:1;overflow:auto;padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px 20px}.finance-filter-grid label,.finance-edit-grid label{display:grid;gap:7px}.finance-filter-grid label>span,.finance-edit-grid label>span{font-size:13px;color:var(--ui-muted, #716a70)}.finance-filter-grid input,.finance-filter-grid select,.finance-edit-grid input,.finance-edit-grid select,.finance-edit-grid textarea{width:100%;height:36px;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:5px;padding:0 10px;background:#fff;color:var(--ui-ink, #343034);outline:none}.finance-filter-grid input:focus,.finance-filter-grid select:focus,.finance-edit-grid input:focus,.finance-edit-grid select:focus,.finance-edit-grid textarea:focus{border-color:var(--ui-primary, #b8202b);box-shadow:0 0 0 3px rgba(56, 36, 42, .12)}.finance-drawer>footer,.finance-detail-drawer>footer,.finance-dialog>footer{min-height:62px;padding:12px 20px;display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--ui-primary-line, #efd0d5)}.finance-detail-drawer{width:min(760px,100%)}.finance-detail-drawer header>div p{margin:4px 0 0;color:var(--ui-muted, #716a70);font-size:12px}.finance-detail-drawer>nav{height:46px;padding:0 20px;display:flex;align-items:stretch;border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-detail-drawer>nav button{padding:0 18px;border:0;border-bottom:2px solid transparent;background:#fff;color:var(--ui-muted, #716a70)}.finance-detail-drawer>nav button.active{border-bottom-color:var(--ui-primary, #b8202b);color:var(--ui-accent-ink, #a21c27)}.finance-detail-body{min-height:0;flex:1;overflow:auto;padding:20px}.finance-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--ui-primary-line, #efd0d5);border-left:1px solid var(--ui-primary-line, #efd0d5)}.finance-detail-list>div{display:grid;grid-template-columns:128px minmax(0,1fr);min-height:44px;border-right:1px solid var(--ui-primary-line, #efd0d5);border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-detail-list dt,.finance-detail-list dd{margin:0;padding:11px;overflow-wrap:anywhere;white-space:pre-wrap}.finance-detail-list dt{background:#f5f8fb;color:var(--ui-muted, #716a70)}.finance-history{display:grid}.finance-history>div{min-height:58px;padding:10px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-history small{grid-column:1/-1;color:var(--ui-muted, #716a70)}.finance-detail-empty{min-height:180px;display:grid;place-items:center;color:var(--ui-muted, #716a70)}.finance-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100% - 40px);margin:auto;background:#fff;border-radius:6px;box-shadow:0 18px 54px rgba(56, 36, 42, .24);display:flex;flex-direction:column}.finance-edit-grid{padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;overflow:auto}.finance-edit-grid .wide{grid-column:1/-1}.finance-edit-grid textarea{height:84px;padding:9px;resize:vertical}.finance-detail-page{background:#fff;overflow:hidden}.finance-detail-heading{min-height:64px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-detail-heading>div{display:flex;align-items:center;gap:12px;min-width:0}.finance-detail-heading h1{margin:0;font-size:18px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-back{width:34px;height:34px;border:0;border-radius:6px;background:#f2f6fa;color:var(--ui-accent-ink, #a21c27);font-size:24px}.finance-detail-badges span{height:28px;padding:0 10px;border-radius:4px;background:#f1f4f7;color:var(--ui-muted, #716a70);display:inline-flex;align-items:center}.finance-detail-badges span.success{background:#eaf7e7;color:#399329}.finance-detail-tabs{height:48px;padding:0 22px;display:flex;align-items:stretch;border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-detail-tabs button{padding:0 22px;border:0;border-bottom:2px solid transparent;background:#fff;color:var(--ui-muted, #716a70)}.finance-detail-tabs button.active{border-bottom-color:var(--ui-primary, #b8202b);color:var(--ui-accent-ink, #a21c27)}.finance-detail-scroll{min-height:0;flex:1;overflow:auto;padding:18px 22px}.finance-contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ui-primary-line, #efd0d5);border-left:1px solid var(--ui-primary-line, #efd0d5);margin-bottom:18px}.finance-contract-grid>div{min-height:44px;padding:10px 12px;display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;border-right:1px solid var(--ui-primary-line, #efd0d5);border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-contract-grid .wide{grid-column:1/-1}.finance-contract-grid span{color:var(--ui-muted, #716a70)}.finance-contract-grid strong{font-weight:500;overflow-wrap:anywhere}.finance-detail-section{margin-bottom:18px}.finance-detail-section h3{margin:0;height:44px;padding:0 14px;display:flex;align-items:center;background:#f3f7fa;border:1px solid var(--ui-primary-line, #efd0d5);font-size:15px;color:var(--ui-accent-ink, #a21c27)}.finance-section-table{overflow:auto;border:1px solid var(--ui-primary-line, #efd0d5);border-top:0}.finance-section-table table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.finance-section-table th,.finance-section-table td{height:42px;padding:0 10px;border-right:1px solid var(--ui-primary-line, #efd0d5);border-bottom:1px solid var(--ui-primary-line, #efd0d5);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-section-table th{background:var(--ui-primary-soft, #fbeaec)}.finance-detail-section>p{text-align:right;margin:8px 4px 0;color:var(--ui-ink, #343034)}.status.success:before,.status.warning:before,.status.danger:before{flex:0 0 auto}
@media(max-width:1100px){.finance-toolbar{align-items:flex-start}.finance-toolbar-right{overflow-x:auto;max-width:58%;padding-bottom:2px}.finance-summary{gap:18px}.finance-columns-panel{width:min(460px,calc(100% - 32px))}}
@media(max-width:820px){.finance-page-body{padding:12px}.finance-toolbar{display:grid;gap:10px}.finance-toolbar-left,.finance-toolbar-right{max-width:100%;overflow-x:auto}.finance-search{width:min(280px,calc(100vw - 130px));flex:0 0 auto}.finance-action-button span{display:none}.finance-table-frame{min-height:320px}.finance-summary{padding-top:6px}.finance-pagination{justify-content:flex-start;overflow-x:auto;white-space:nowrap}.finance-columns-panel{right:12px;top:100px;max-height:calc(100% - 112px)}.finance-columns-panel>div{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-filter-grid,.finance-edit-grid{grid-template-columns:1fr}.finance-edit-grid .wide{grid-column:auto}.finance-detail-list{grid-template-columns:1fr}.finance-detail-heading{align-items:flex-start;padding:12px}.finance-detail-heading>div{max-width:100%}.finance-detail-badges{display:none!important}.finance-detail-tabs{padding:0;overflow-x:auto}.finance-detail-tabs button{padding:0 16px;white-space:nowrap}.finance-detail-scroll{padding:12px}.finance-contract-grid{grid-template-columns:1fr}.finance-contract-grid .wide{grid-column:auto}.finance-contract-grid>div{grid-template-columns:105px minmax(0,1fr)}}
.finance-primary-select,.finance-action-button,.finance-search button{background:var(--ui-primary, #b8202b)}
.finance-table .status.warning{color:#8a4b00}
.finance-summary strong{color:#c5222f}
.finance-dialog header>div p{margin:4px 0 0;color:var(--ui-muted, #716a70);font-size:12px}.finance-history-dialog{width:min(1120px,calc(100% - 32px))}.finance-history-filter{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-history-filter input{height:34px;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:5px;padding:0 10px}.finance-history-body{min-height:260px;max-height:520px;overflow:auto;padding:0 20px 20px}.finance-history-table{overflow:auto;border:1px solid var(--ui-primary-line, #efd0d5)}.finance-history-table table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}.finance-history-table th,.finance-history-table td{height:42px;padding:8px 10px;border-right:1px solid var(--ui-primary-line, #efd0d5);border-bottom:1px solid var(--ui-primary-line, #efd0d5);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-history-table th{background:var(--ui-primary-soft, #fbeaec)}.finance-history-table th:first-child{width:52px}.finance-history-table th:nth-child(2){width:100px}.finance-history-table th:nth-child(3){width:160px}.finance-record-body{min-height:0;overflow:auto;padding:18px 20px}.finance-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--ui-primary-line, #efd0d5);border-left:1px solid var(--ui-primary-line, #efd0d5)}.finance-record-grid>div{display:grid;grid-template-columns:132px minmax(0,1fr);min-height:44px;border-right:1px solid var(--ui-primary-line, #efd0d5);border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-record-grid>div.wide{grid-column:1/-1}.finance-record-grid dt,.finance-record-grid dd{margin:0;padding:11px;overflow-wrap:anywhere}.finance-record-grid dt{background:#f4f7fa;color:var(--ui-muted, #716a70)}.finance-record-grid dd{white-space:pre-wrap}.finance-receipt-dialog{width:min(980px,calc(100% - 32px))}.finance-receipt-dialog header{align-items:flex-start;padding-top:12px;padding-bottom:12px}.finance-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.finance-section-title h3{margin:0;font-size:16px}.finance-record-body h4{margin:20px 0 10px;font-size:14px;color:var(--ui-accent-ink, #a21c27)}.finance-modal-table{position:relative;overflow:auto;border:1px solid var(--ui-primary-line, #efd0d5);min-height:80px}.finance-modal-table table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.finance-modal-table th,.finance-modal-table td{height:42px;padding:0 10px;border-right:1px solid var(--ui-primary-line, #efd0d5);border-bottom:1px solid var(--ui-primary-line, #efd0d5);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-modal-table th{background:var(--ui-primary-soft, #fbeaec)}.finance-detail-empty.compact{min-height:86px}.finance-attachment-dialog{width:min(980px,calc(100% - 32px))}.finance-attachment-toolbar{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--ui-primary-line, #efd0d5);overflow-x:auto}.finance-action-button.secondary{background:#f0f4f8;color:var(--ui-accent-ink, #a21c27)}.finance-attachment-toolbar>input{height:33px;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:5px;padding:0 10px}.finance-attachment-spacer{flex:1}.finance-attachment-body{min-height:260px;max-height:500px;overflow:auto;padding:16px 20px}.finance-attachment-dialog td:nth-child(3) a{color:var(--ui-accent-ink, #a21c27)}.finance-attachment-dialog td:nth-child(3) small{display:block;color:var(--ui-muted, #716a70);margin-top:2px}.finance-mini-action{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ui-accent-ink, #a21c27);text-decoration:none}.finance-salary-dialog{width:min(760px,calc(100% - 32px))}.finance-record-detail-page{display:flex;flex-direction:column}.finance-record-hero{min-height:76px;padding:13px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-record-hero h1{margin:0;font-size:18px;font-weight:600}.finance-record-hero p{margin:7px 0 0;color:var(--ui-muted, #716a70)}.finance-record-hero>div:last-child{display:flex;gap:8px}.finance-record-hero span{height:28px;padding:0 10px;display:inline-flex;align-items:center;border-radius:4px;background:#f1f4f7;color:var(--ui-muted, #716a70)}.finance-record-hero span.success{background:#eaf7e7;color:#328b2b}.finance-record-scroll{min-height:0;flex:1;overflow:auto;padding:0 22px}.finance-record-section{padding:18px 0 22px;border-bottom:1px solid var(--ui-primary-line, #efd0d5)}.finance-record-section h2{margin:0 0 14px;height:42px;padding:0 13px;display:flex;align-items:center;background:#f2f6f9;border-left:3px solid var(--ui-primary, #b8202b);font-size:15px}.finance-record-section h4{margin:20px 0 10px;font-size:14px}.finance-file-list{margin:0;padding:0;list-style:none;border:1px solid var(--ui-primary-line, #efd0d5)}.finance-file-list li{min-height:42px;padding:9px 12px;display:flex;align-items:center;border-bottom:1px solid #e7ecf2}.finance-file-list li:last-child{border-bottom:0}.finance-file-list a{color:var(--ui-accent-ink, #a21c27)}.finance-file-empty{min-height:44px;padding:11px 12px;border:1px solid var(--ui-primary-line, #efd0d5);color:var(--ui-muted, #716a70)}.finance-approval-timeline{border-left:2px solid var(--ui-primary-line, #efd0d5);margin-left:9px;padding-left:22px}.finance-approval-timeline>div{position:relative;min-height:62px;padding:8px 0 14px;display:grid;grid-template-columns:160px 1fr;gap:6px 20px;border-bottom:1px solid #e6ebf1}.finance-approval-timeline>div:before{content:"";position:absolute;left:-29px;top:13px;width:12px;height:12px;border:3px solid var(--ui-primary, #b8202b);border-radius:50%;background:#fff}.finance-approval-timeline strong{grid-row:1/3}.finance-record-footer{min-height:62px;padding:12px 22px;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--ui-primary-line, #efd0d5);background:#fff}
@media(max-width:820px){.finance-history-dialog,.finance-receipt-dialog,.finance-attachment-dialog,.finance-salary-dialog{width:100%;height:100%;max-height:none;border-radius:0}.finance-history-filter{overflow-x:auto;white-space:nowrap}.finance-record-grid{grid-template-columns:1fr}.finance-record-grid>div.wide{grid-column:auto}.finance-record-grid>div{grid-template-columns:110px minmax(0,1fr)}.finance-attachment-toolbar{padding:10px 12px}.finance-attachment-spacer{display:none}.finance-record-hero{align-items:flex-start;padding:12px}.finance-record-hero>div:last-child{display:none}.finance-record-scroll{padding:0 12px}.finance-approval-timeline>div{grid-template-columns:1fr}.finance-approval-timeline strong{grid-row:auto}.finance-history-body,.finance-record-body,.finance-attachment-body{padding-left:12px;padding-right:12px}}
.finance-row-menu a{display:block;width:100%;height:34px;line-height:34px;padding:0 10px;border:0;border-radius:4px;background:#fff;text-align:left;color:var(--ui-accent-ink, #a21c27);text-decoration:none}.finance-row-menu a:hover{background:var(--ui-primary-pale, #fff7f8);color:var(--ui-accent-ink, #a21c27)}
.finance-row-menu{position:fixed;right:auto;z-index:1000}
.finance-page-body{position:relative}.finance-toolbar{position:relative;z-index:31}.finance-case-advanced{position:absolute;top:21px;left:24px;right:24px;z-index:30;padding:55px 20px 16px;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.1)}.finance-case-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 24px}.finance-case-filter{min-width:0;min-height:40px;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center}.finance-case-filter-label{padding-right:12px;color:var(--ui-ink, #343034);text-align:right;white-space:nowrap}.finance-case-filter-control{position:relative;min-width:0}.finance-case-filter-control>input,.finance-case-filter-control>select,.finance-case-range input,.finance-filter-multi>summary{width:100%;height:40px;border:1px solid transparent;border-radius:3px;background:#f4f6fa;color:var(--ui-ink, #343034);outline:none}.finance-case-filter-control>input,.finance-case-filter-control>select,.finance-case-range input{padding:0 12px}.finance-case-filter-control>input:focus,.finance-case-filter-control>select:focus,.finance-case-range input:focus,.finance-filter-multi[open]>summary{border-color:var(--ui-primary, #b8202b);background:#fff;box-shadow:0 0 0 2px rgba(56, 36, 42, .1)}.finance-case-range{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center}.finance-case-range>span{text-align:center;color:var(--ui-muted, #716a70)}.finance-filter-multi{position:relative;min-width:0}.finance-filter-multi>summary{padding:4px 10px;display:flex;align-items:center;justify-content:space-between;gap:7px;cursor:pointer;list-style:none}.finance-filter-multi>summary::-webkit-details-marker{display:none}.finance-filter-chip-list{min-width:0;display:flex;align-items:center;gap:4px;overflow:hidden}.finance-filter-placeholder{color:var(--ui-muted, #716a70)}.finance-filter-caret{flex:0 0 auto;color:var(--ui-muted, #716a70);font-size:16px}.finance-filter-chip{height:26px;min-width:0;max-width:145px;padding:0 4px 0 7px;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:3px;background:var(--ui-primary-pale, #fff7f8);color:var(--ui-accent-ink, #a21c27);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-filter-chip button{width:18px;height:18px;flex:0 0 auto;padding:0;border:0;background:transparent;color:var(--ui-accent-ink, #a21c27);font-size:16px;line-height:18px}.finance-filter-options{position:absolute;top:44px;left:0;right:0;z-index:45;padding:7px;background:#fff;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:4px;box-shadow:0 10px 28px rgba(56, 36, 42, .18)}.finance-filter-option-search{width:100%;height:34px;margin-bottom:6px;padding:0 9px;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:3px;outline:none}.finance-filter-option-search:focus{border-color:var(--ui-primary, #b8202b)}.finance-filter-option-list{max-height:190px;overflow:auto}.finance-filter-option-list>label{min-height:32px;padding:5px 7px;display:flex;align-items:center;gap:8px;color:var(--ui-accent-ink, #a21c27);cursor:pointer}.finance-filter-option-list>label:hover{background:var(--ui-primary-pale, #fff7f8)}.finance-filter-option-list input{accent-color:var(--ui-primary, #b8202b)}.finance-filter-option-empty{height:42px;display:grid;place-items:center;color:var(--ui-muted, #716a70)}
@media(max-width:1100px){.finance-case-advanced{max-height:430px;overflow-y:auto}.finance-case-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.finance-case-advanced{top:12px;left:12px;right:12px;max-height:calc(100% - 24px);padding:98px 12px 14px}.finance-case-filter-grid{grid-template-columns:1fr;gap:8px}.finance-case-filter{grid-template-columns:92px minmax(0,1fr)}.finance-case-filter-label{padding-right:9px}.finance-filter-chip{max-width:110px}.finance-case-range{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)}}
@media(min-width:1101px){.finance-case-advanced{left:6px;right:6px;padding-bottom:21px}.finance-case-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:10px;row-gap:16px;padding-left:5px;padding-right:38px}.finance-case-filter{min-height:32px;grid-template-columns:80px minmax(0,1fr);padding-right:16px}.finance-case-filter-label{font-size:14px;line-height:16px;white-space:normal}.finance-case-filter-control>input,.finance-case-filter-control>select,.finance-case-range input,.finance-filter-multi>summary{height:32px}.finance-filter-chip{height:24px}.finance-filter-options{top:36px}}
.finance-filter-chip-remove{width:18px;height:18px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--ui-accent-ink, #a21c27);font-size:16px;line-height:18px;cursor:pointer}
.finance-filter-placeholder{color:var(--ui-muted, #716a70)}

/* Keep finance list pages aligned with the original work-area shell. */
.app-shell.finance-shell{position:relative;grid-template-rows:68px 0 minmax(0,1fr)}
.app-shell.finance-shell .topbar{height:60px;align-self:start}
.app-shell.finance-shell .tab-strip{position:absolute;top:68px;left:25px;right:25px;width:auto;height:45px;margin:0;padding:2px;z-index:50;border:0;border-radius:3px 3px 0 0;background:#fff;box-shadow:none;overflow:visible}
.app-shell.finance-shell .tab-scroll{height:41px;min-width:0;flex:1;background:#e5e5e5}
.app-shell.finance-shell .route-tab{width:120px;min-width:120px;max-width:120px;height:41px;padding:0 13px;border:0;border-radius:0;background:transparent;color:#555;font-size:12px;font-weight:400;line-height:41px}
.app-shell.finance-shell .route-tab.active{background:#fff;color:#555;border:0;border-radius:0;font-weight:400}
.app-shell.finance-shell .route-tab:hover{background:#f7f7f7;color:#555}
.app-shell.finance-shell .route-tab .tab-close{color:#9b9b9b;font-size:12px}
.app-shell.finance-shell .tab-grid{width:41px;height:41px;flex:0 0 41px;border:0;background:#e5e5e5;color:#777;font-size:16px}
.app-shell.finance-shell .workspace-wrap{grid-row:3;min-height:0;padding:0 25px 18px;position:relative;z-index:1}
.app-shell.finance-shell .workspace{height:100%;border:0;border-radius:10px;background:#fff;box-shadow:0 8px 20px rgba(56, 36, 42, .1);overflow:visible}
.app-shell.finance-shell .finance-page{height:100%;min-height:0;border-radius:10px;overflow:hidden}
.app-shell.finance-shell .finance-detail-page{height:100%;min-height:0;padding-top:44px;border-radius:10px;overflow:hidden}
.app-shell.finance-shell .finance-detail-heading{min-height:74.4px}
.app-shell.finance-shell .finance-page-body{height:100%;min-height:0;padding:44px 0 8.8px}
.app-shell.finance-shell .finance-page-body.finance-body-salary{padding-bottom:0}
.app-shell.finance-shell .finance-toolbar{height:42.4px;flex:0 0 42.4px;margin:0;padding:16px 20px 0;gap:12px}
.app-shell.finance-shell .finance-page[data-testid="page-mysalary"] .finance-page-body{padding-bottom:.2px}
.app-shell.finance-shell .finance-page[data-testid="page-mysalary"] .finance-toolbar{height:43px;flex-basis:43px;padding-top:17px}
.app-shell.finance-shell .finance-toolbar-left{height:27px;gap:14px}
.app-shell.finance-shell .finance-toolbar-right{height:27px;gap:8px}
.app-shell.finance-shell .finance-search{width:208px;height:26px;border-radius:3px}
.app-shell.finance-shell .finance-search input{width:185px;min-width:185px;flex:0 0 185px;margin:0;padding:0 30px 0 15px;font-size:12px}
.app-shell.finance-shell .finance-search button{width:38px;height:26px;flex:0 0 38px;margin-left:-15px}
.app-shell.finance-shell .finance-icon-button,.app-shell.finance-shell .finance-action-button{height:26px;border-radius:3px;font-size:12px}
.app-shell.finance-shell .finance-icon-button{width:26px;flex:0 0 26px;padding:0;font-size:15px}
.app-shell.finance-shell .finance-action-button{min-width:91px;padding:0 12px;gap:6px}
.app-shell.finance-shell .finance-primary-select{width:90px;height:26px;min-width:90px;border-radius:3px;padding:0 25px 0 12px;font-size:12px}
.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-primary-select[data-key="year"]{width:112px;min-width:112px}
.app-shell.finance-shell .finance-primary-select[data-key="approvalStatus"],.app-shell.finance-shell .finance-primary-select[data-key="receiptStatus"],.app-shell.finance-shell .finance-primary-select[data-key="invoiceStatus"],.app-shell.finance-shell .finance-primary-select[data-key="allocationStatus"]{width:98px;min-width:98px}
.app-shell.finance-shell .finance-month-picker{position:relative;width:90px;height:26px;flex:0 0 90px}
.app-shell.finance-shell .finance-month-picker .finance-action-button{width:90px;min-width:90px}
.app-shell.finance-shell .finance-month-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.app-shell.finance-shell .finance-page[data-testid="page-caseledger"] .finance-action-button[data-finance-action="period-toggle"],.app-shell.finance-shell .finance-page[data-testid="page-mysalary"] .finance-action-button[data-finance-action="period-toggle"],.app-shell.finance-shell .finance-page[data-testid="page-allocation"] .finance-action-button[data-finance-action="period-toggle"]{margin-right:8px}
.app-shell.finance-shell .finance-page[data-testid="page-allocation"] select[data-key="approvalStatus"]{margin-right:8px}
.app-shell.finance-shell .finance-page[data-testid="page-allocation"] select[data-key="year"]{margin-right:-4px}
.app-shell.finance-shell .finance-content-frame{position:relative;min-height:0;flex:1 1 auto;padding:16px 20px 5px;display:flex;flex-direction:column}
.app-shell.finance-shell .finance-table-frame{min-height:0;flex:1 1 0;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:0;overflow:auto}
.app-shell.finance-shell .finance-table th,.app-shell.finance-shell .finance-table td{height:40px;line-height:40px;padding-top:0;padding-bottom:0;font-size:12px}
.app-shell.finance-shell .finance-table th{background:var(--ui-primary-soft, #fbeaec)}
.app-shell.finance-shell .finance-footer{flex:0 0 auto;margin-top:4px}
.app-shell.finance-shell .finance-content-frame-no-summary .finance-pagination{height:42px;min-height:42px}
.app-shell.finance-shell .finance-content-frame-salary .finance-pagination{height:32px;min-height:32px}
.app-shell.finance-shell .finance-summary{height:26px;min-height:26px;padding:0 0 10px;gap:28px;align-items:flex-start;font-size:12px;line-height:16px}
.app-shell.finance-shell .finance-pagination{height:32px;min-height:32px;gap:0;font-size:12px;line-height:28px}
.app-shell.finance-shell .finance-pagination button{width:30px;height:28px;border-radius:0;background:#fff;font-size:12px;line-height:28px}
.app-shell.finance-shell .finance-pagination button.active{background:var(--ui-primary, #b8202b);color:#fff;border-radius:6px}
.app-shell.finance-shell .finance-pagination input{width:36px;height:28px;border-radius:6px;font-size:12px}
.app-shell.finance-shell .finance-pagination button{padding:0;border:0}
.app-shell.finance-shell .finance-pagination input{padding:0 3px}
.app-shell.finance-shell .finance-pagination .finance-page-gap{width:30px;min-width:30px;height:28px;line-height:28px}
.app-shell.finance-shell .finance-empty{inset:40px 0 0;flex-direction:column;gap:0;font-size:12px}
.app-shell.finance-shell .finance-empty-no-data{justify-content:center}
.app-shell.finance-shell .finance-empty-no-data>span:last-child{height:20px;line-height:20px;color:var(--ui-ink, #343034)}
.app-shell.finance-shell .finance-empty-mark{position:relative;width:70px;height:70px;border:4px solid var(--ui-primary, #b8202b);border-top:0;border-radius:0 0 9px 9px}
.app-shell.finance-shell .finance-empty-mark:before{content:"";position:absolute;left:-5px;right:-5px;top:-8px;height:12px;border:4px solid var(--ui-primary, #b8202b);border-bottom:0;border-radius:8px 8px 0 0}
.app-shell.finance-shell .finance-empty-mark:after{content:"";position:absolute;left:25px;top:0;width:12px;height:4px;border-radius:3px;background:var(--ui-muted, #716a70)}
.app-shell.finance-shell .finance-case-advanced{position:relative;top:auto;left:auto;right:auto;margin:0 0 10px;padding:16px 20px;box-sizing:border-box;border-radius:0;box-shadow:0 4px 20px rgba(0,0,0,.1);flex:0 0 auto}

@media(max-width:820px){
  .app-shell.finance-shell{height:auto;min-height:100dvh;grid-template-rows:60px 0 minmax(calc(100dvh - 60px),auto)}
  .app-shell.finance-shell .topbar{height:60px}
  .app-shell.finance-shell .tab-strip{top:60px;left:0;right:0;height:46px;padding:0;border-radius:0;border-bottom:1px solid var(--ui-primary-line, #efd0d5)}
  .app-shell.finance-shell .tab-scroll{height:46px}
  .app-shell.finance-shell .route-tab{height:46px;line-height:46px}
  .app-shell.finance-shell .tab-grid{height:46px}
  .app-shell.finance-shell .workspace-wrap{padding:0}
  .app-shell.finance-shell .workspace{min-height:calc(100dvh - 60px);border-radius:0;box-shadow:none}
  .app-shell.finance-shell .finance-page{border-radius:0;overflow:visible}
  .app-shell.finance-shell .finance-detail-page{height:100%;padding-top:46px;border-radius:0;overflow:hidden}
  .app-shell.finance-shell .finance-page-body{height:auto;min-height:calc(100dvh - 60px);padding:104px 12px 12px}
  .app-shell.finance-shell .finance-toolbar{height:auto;min-height:26px;padding:0;margin:0 0 10px;display:grid;gap:10px;align-items:stretch}
  .app-shell.finance-shell .finance-toolbar-left,.app-shell.finance-shell .finance-toolbar-right{height:26px;max-width:100%;overflow-x:auto}
  .app-shell.finance-shell .finance-toolbar-right{justify-content:flex-start}
  .app-shell.finance-shell .finance-content-frame{min-height:420px;padding:12px 0 5px}
  .app-shell.finance-shell .finance-table-frame{min-height:320px}
  .app-shell.finance-shell .finance-summary{overflow-x:auto}
  .app-shell.finance-shell .finance-case-advanced{top:auto;left:auto;right:auto;margin:0 0 10px;padding:12px;max-height:none}
}

.finance-form-grid{padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;overflow:auto}.finance-form-grid label{display:grid;gap:7px;min-width:0}.finance-form-grid label.wide{grid-column:1/-1}.finance-form-grid label>span{font-size:13px;color:var(--ui-muted, #716a70)}.finance-form-grid input,.finance-form-grid select,.finance-form-grid textarea{width:100%;height:36px;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:5px;padding:0 10px;background:#fff;color:var(--ui-ink, #343034);outline:none;box-sizing:border-box}.finance-form-grid textarea{height:84px;padding:9px;resize:vertical}.finance-form-grid small{color:var(--ui-muted, #716a70);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-cost-invoice-dialog{width:min(760px,calc(100% - 32px))}
@media(max-width:820px){.finance-form-grid{grid-template-columns:1fr}.finance-form-grid label.wide{grid-column:auto}}

/* Finance controls and columns use the original compact visual language. */
.app-shell.finance-shell .finance-toolbar-left{gap:10px}
.app-shell.finance-shell .finance-toolbar-left .finance-icon-button[data-finance-action="advanced-toggle"]{width:38px;flex-basis:38px;background:#f4f5f9;color:#000;border:0;border-radius:10px;font-size:14px}
.app-shell.finance-shell .finance-toolbar-left .finance-icon-button[data-finance-action="refresh"]{width:17px;flex-basis:17px;background:transparent;color:var(--ui-ink, #343034);border:0;border-radius:0;font-size:16px}
.app-shell.finance-shell .finance-search{background:transparent;overflow:visible}
.app-shell.finance-shell .finance-search input{background:#f4f5f9;border:1px solid #f4f5f9;border-radius:6px 0 0 6px;color:#000;line-height:26px}
.app-shell.finance-shell .finance-search button,.app-shell.finance-shell .finance-primary-select,.app-shell.finance-shell .finance-action-button{background:var(--ui-primary, #b8202b);border:1px solid var(--ui-primary, #b8202b);border-radius:10px;color:#fff;font-weight:500;line-height:24px}
.app-shell.finance-shell .finance-toolbar-right .finance-icon-button{background:transparent;border:0;border-radius:0;color:var(--ui-ink, #343034);font-size:22px}
.app-shell.finance-shell .finance-toolbar-right .finance-icon-button .icon{font-size:20px}
.app-shell.finance-shell .finance-page{font-family:"Microsoft Yahei",Arial,Helvetica,sans-serif}
.app-shell.finance-shell .finance-table-frame{border-radius:5px;background:#fff}
.app-shell.finance-shell .finance-table{font-family:"Microsoft Yahei",Arial,Helvetica,sans-serif;color:#000}
.app-shell.finance-shell .finance-table th{padding:8px 8px;line-height:normal;color:#444;background:var(--ui-primary-soft, #fbeaec);font-weight:600}
.app-shell.finance-shell .finance-table tbody tr{height:40px}
.app-shell.finance-shell .finance-table td{height:40px!important;padding:0!important;line-height:normal!important;text-indent:8px;color:#000;background:#fff}
.app-shell.finance-shell .finance-table .finance-index{width:40px;color:transparent}
.app-shell.finance-shell .finance-table .finance-operation{width:40px;color:transparent}
.app-shell.finance-shell .finance-page[data-testid="page-invoice"] .finance-column-invoiceMode,.app-shell.finance-shell .finance-page[data-testid="page-charge"] .finance-column-amount,.app-shell.finance-shell .finance-page[data-testid="page-cost"] .finance-column-owner,.app-shell.finance-shell .finance-page[data-testid="page-allocation"] .finance-column-code,.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-column-name{visibility:hidden}
.app-shell.finance-shell .finance-table .finance-index,.app-shell.finance-shell .finance-table th.finance-operation{color:transparent}
.app-shell.finance-shell .finance-table tbody tr .finance-operation .finance-row-actions{visibility:hidden}
.app-shell.finance-shell .finance-table tbody tr:hover .finance-operation .finance-row-actions{visibility:visible}
.app-shell.finance-shell .finance-table .status{width:calc(100% - 16px);height:23px;margin-left:8px;line-height:23px;display:flex;align-items:center;gap:7px;text-indent:0}
.app-shell.finance-shell .finance-table .finance-index,.app-shell.finance-shell .finance-table .finance-operation{text-indent:0}
.app-shell.finance-shell .finance-table .finance-text-link{margin-left:8px;text-indent:0}
.app-shell.finance-shell .finance-table .status:before{width:7px;height:7px;flex:0 0 7px}
.app-shell.finance-shell .finance-table .status.success{color:#347a28}
.app-shell.finance-shell .finance-table .status.success:before{background:#347a28}
.app-shell.finance-shell .finance-table .status.warning{color:#e6a23c}
.app-shell.finance-shell .finance-table .status.warning:before{background:#e6a23c}
.app-shell.finance-shell .finance-table .status.danger{color:#f56c6c}
.app-shell.finance-shell .finance-table .status.danger:before{background:#f56c6c}
.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-table th:last-child,.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-table td:last-child{border-right:0}

@media(max-width:820px){
  .app-shell.finance-shell .finance-toolbar-left{gap:10px}
  .app-shell.finance-shell .finance-table th,.app-shell.finance-shell .finance-table td{padding:8px 10px;line-height:normal}
}

@font-face{font-family:iconfont;src:url("static/fonts/iconfont.46bbeda.woff2") format("woff2");font-display:block}
.app-shell.finance-shell .finance-icon-button .iconfont{font-family:iconfont!important;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}
.app-shell.finance-shell .finance-icon-button .icon-select-all:before{content:"\E653"}
.app-shell.finance-shell .finance-toolbar-right .finance-icon-button .icon-select-all{font-size:26px}
.app-shell.finance-shell .finance-page[data-testid="page-caseledger"] .finance-table .finance-index{position:sticky;left:0;z-index:5;width:40px;color:#000!important;text-indent:0;background:#fff}
.app-shell.finance-shell .finance-page[data-testid="page-caseledger"] .finance-table th.finance-index{z-index:7;background:var(--ui-primary-soft, #fbeaec)}
.app-shell.finance-shell .finance-page[data-testid="page-caseledger"] .finance-table .finance-column-code{position:sticky;left:40px;z-index:5;visibility:visible!important;background:#fff;box-shadow:2px 0 4px rgba(56, 36, 42, .12)}
.app-shell.finance-shell .finance-page[data-testid="page-caseledger"] .finance-table th.finance-column-code{z-index:7;background:var(--ui-primary-soft, #fbeaec)}
.app-shell.finance-shell .finance-page[data-testid="page-caseledger"] .finance-table tbody tr:nth-child(even) .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-caseledger"] .finance-table tbody tr:nth-child(even) .finance-column-code{background:#f5f5f6}
.app-shell.finance-shell .finance-page[data-testid="page-caseledger"] .finance-table tbody tr:hover .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-caseledger"] .finance-table tbody tr:hover .finance-column-code{background:var(--ui-primary-pale, #fff7f8)}
.app-shell.finance-shell .finance-page[data-testid="page-charge"] .finance-table .finance-index{position:sticky;left:0;z-index:5;width:40px;color:#000!important;text-indent:0;background:#fff}
.app-shell.finance-shell .finance-page[data-testid="page-charge"] .finance-table th.finance-index{z-index:7;background:var(--ui-primary-soft, #fbeaec)}
.app-shell.finance-shell .finance-page[data-testid="page-charge"] .finance-table .finance-column-amount{position:sticky;left:40px;z-index:5;visibility:visible!important;background:#fff;box-shadow:2px 0 4px rgba(56, 36, 42, .12)}
.app-shell.finance-shell .finance-page[data-testid="page-charge"] .finance-table th.finance-column-amount{z-index:7;background:var(--ui-primary-soft, #fbeaec)}
.app-shell.finance-shell .finance-page[data-testid="page-charge"] .finance-table tbody tr:nth-child(even) .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-charge"] .finance-table tbody tr:nth-child(even) .finance-column-amount{background:#f5f5f6}
.app-shell.finance-shell .finance-page[data-testid="page-charge"] .finance-table tbody tr:hover .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-charge"] .finance-table tbody tr:hover .finance-column-amount{background:var(--ui-primary-pale, #fff7f8)}
.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-table .finance-index{position:sticky;left:0;z-index:5;width:40px;color:#000!important;text-indent:0;background:#fff}
.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-table th.finance-index{z-index:7;background:var(--ui-primary-soft, #fbeaec)}
.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-table .finance-column-name{position:sticky;left:40px;z-index:5;visibility:visible!important;background:#fff;box-shadow:2px 0 4px rgba(56, 36, 42, .12)}
.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-table th.finance-column-name{z-index:7;background:var(--ui-primary-soft, #fbeaec)}
.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-table tbody tr:nth-child(even) .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-table tbody tr:nth-child(even) .finance-column-name{background:#f5f5f6}
.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-table tbody tr:hover .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-lawyerledger"] .finance-table tbody tr:hover .finance-column-name{background:var(--ui-primary-pale, #fff7f8)}
.app-shell.finance-shell .finance-table th.finance-operation{color:#444!important}
.app-shell.finance-shell .finance-page[data-testid="page-invoice"] .finance-table .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-cost"] .finance-table .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-allocation"] .finance-table .finance-index{position:sticky;left:0;z-index:5;width:40px;color:#000!important;text-indent:0;background:#fff}
.app-shell.finance-shell .finance-page[data-testid="page-invoice"] .finance-table th.finance-index,.app-shell.finance-shell .finance-page[data-testid="page-cost"] .finance-table th.finance-index,.app-shell.finance-shell .finance-page[data-testid="page-allocation"] .finance-table th.finance-index{z-index:7;background:var(--ui-primary-soft, #fbeaec)}
.app-shell.finance-shell .finance-page[data-testid="page-invoice"] .finance-table .finance-column-invoiceMode,.app-shell.finance-shell .finance-page[data-testid="page-cost"] .finance-table .finance-column-owner,.app-shell.finance-shell .finance-page[data-testid="page-allocation"] .finance-table .finance-column-code{position:sticky;left:40px;z-index:5;visibility:visible!important;background:#fff;box-shadow:2px 0 4px rgba(56, 36, 42, .12)}
.app-shell.finance-shell .finance-page[data-testid="page-invoice"] .finance-table th.finance-column-invoiceMode,.app-shell.finance-shell .finance-page[data-testid="page-cost"] .finance-table th.finance-column-owner,.app-shell.finance-shell .finance-page[data-testid="page-allocation"] .finance-table th.finance-column-code{z-index:7;background:var(--ui-primary-soft, #fbeaec)}
.app-shell.finance-shell .finance-page[data-testid="page-invoice"] .finance-table tbody tr:nth-child(even) .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-invoice"] .finance-table tbody tr:nth-child(even) .finance-column-invoiceMode,.app-shell.finance-shell .finance-page[data-testid="page-cost"] .finance-table tbody tr:nth-child(even) .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-cost"] .finance-table tbody tr:nth-child(even) .finance-column-owner,.app-shell.finance-shell .finance-page[data-testid="page-allocation"] .finance-table tbody tr:nth-child(even) .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-allocation"] .finance-table tbody tr:nth-child(even) .finance-column-code{background:#f5f5f6}
.app-shell.finance-shell .finance-page[data-testid="page-invoice"] .finance-table tbody tr:hover .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-invoice"] .finance-table tbody tr:hover .finance-column-invoiceMode,.app-shell.finance-shell .finance-page[data-testid="page-cost"] .finance-table tbody tr:hover .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-cost"] .finance-table tbody tr:hover .finance-column-owner,.app-shell.finance-shell .finance-page[data-testid="page-allocation"] .finance-table tbody tr:hover .finance-index,.app-shell.finance-shell .finance-page[data-testid="page-allocation"] .finance-table tbody tr:hover .finance-column-code{background:var(--ui-primary-pale, #fff7f8)}
.app-shell.finance-shell .finance-columns-panel{right:0;top:86px;width:134px;max-height:calc(100% - 36px);overflow-y:auto;overflow-x:hidden;border:0;border-radius:0;box-shadow:0 8px 20px rgba(56, 36, 42, .1);background:#fff}
.app-shell.finance-shell .finance-columns-options{display:flex;flex-direction:column;gap:0;padding:0}
.app-shell.finance-shell .finance-column-option{width:100%;height:20px;min-height:20px;box-sizing:border-box;margin:0;padding:0 15px;display:flex;align-items:center;gap:0;color:#606266;font-size:12px;line-height:19px;white-space:nowrap}
.app-shell.finance-shell .finance-column-option input{width:14px;height:14px;flex:0 0 14px;margin:0;accent-color:var(--ui-primary, #b8202b)}
.app-shell.finance-shell .finance-column-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;padding-left:10px}
.app-shell.finance-shell .finance-column-option:hover{background:#f5f9fd}
.app-shell.finance-shell .finance-column-fixed{cursor:default}
.app-shell.finance-shell .finance-column-fixed input{cursor:not-allowed}
.app-shell.finance-shell .finance-columns-panel>footer{width:100%;padding:10px 0;display:flex;justify-content:center;box-sizing:border-box}
.app-shell.finance-shell .finance-columns-submit{height:25px;padding:0 24px;border:1px solid var(--ui-primary, #b8202b);border-radius:3px;background:var(--ui-primary, #b8202b);color:#fff;font-size:12px;line-height:23px}
.app-shell.finance-shell .finance-columns-submit:hover{background:var(--ui-primary, #b8202b);border-color:var(--ui-primary, #b8202b)}

@media(max-width:820px){
  .app-shell.finance-shell .finance-columns-panel{right:12px;top:100px;width:134px;max-height:calc(100% - 112px)}
}

.app-shell.finance-shell .finance-period-popover{position:absolute;z-index:45;width:274px;max-width:calc(100% - 8px);height:72px;box-sizing:border-box;transform:translateX(-50%);background:#fff;border:1px solid #ebeef5;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.1);color:#606266;font:14px/1.4 "Microsoft Yahei",Arial,Helvetica,sans-serif}
.app-shell.finance-shell .finance-period-row{width:100%;height:36.8px;padding:2px 12px;box-sizing:border-box;display:flex;align-items:center}
.app-shell.finance-shell .finance-period-leading-icon{width:14px;height:14px;flex:0 0 14px;font-size:14px;line-height:14px;color:#606266}
.app-shell.finance-shell .finance-period-date{position:relative;width:100px;height:32px;flex:0 0 100px}
.app-shell.finance-shell .finance-period-date input{position:relative;width:100%;height:32px;box-sizing:border-box;padding:0 10px;border:1px solid transparent;border-radius:6px;background:transparent;outline:none;color:#000;font:12px/32px "Microsoft Yahei",Arial,Helvetica,sans-serif}
.app-shell.finance-shell .finance-period-date input:focus{border-color:var(--ui-primary, #b8202b)}
.app-shell.finance-shell .finance-period-date input:invalid::-webkit-datetime-edit{color:transparent}
.app-shell.finance-shell .finance-period-date input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;margin:0;opacity:0;cursor:pointer}
.app-shell.finance-shell .finance-period-placeholder{position:absolute;left:10px;top:0;height:32px;line-height:32px;color:#606266;font-size:12px;pointer-events:none}
.app-shell.finance-shell .finance-period-date input:valid+.finance-period-placeholder{display:none}
.app-shell.finance-shell .finance-period-separator{width:14px;height:20px;margin:0 10px;flex:0 0 14px;line-height:20px;text-align:center;color:#606266}
.app-shell.finance-shell .finance-period-footer{width:100%;height:33.6px;padding:5px 12px;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;gap:10px}
.app-shell.finance-shell .finance-period-footer button{height:24px;font-family:inherit;font-size:12px;line-height:22px;cursor:pointer}
.app-shell.finance-shell .finance-period-clear{height:16.8px!important;padding:0;border:0;background:transparent;color:var(--ui-ink, #343034);line-height:16.8px!important}
.app-shell.finance-shell .finance-period-confirm{width:50px;padding:0;border:1px solid var(--ui-primary, #b8202b);border-radius:3px;background:var(--ui-primary, #b8202b);color:#fff}
.app-shell.finance-shell .finance-period-arrow{position:absolute;left:50%;top:-6px;width:10px;height:10px;transform:translateX(-50%) rotate(45deg);background:#fff;border-top:1px solid #ebeef5;border-left:1px solid #ebeef5}

/* Lawyer ledger detail keeps the original attachment manager shape. */
.app-shell.finance-shell .finance-icon-button .icon-list:before,.app-shell.finance-shell .finance-attachment-dialog .icon-list:before{content:"\E629"}
.app-shell.finance-shell .finance-icon-button .icon-sync:before,.app-shell.finance-shell .finance-attachment-dialog .icon-sync:before{content:"\E647"}
.app-shell.finance-shell .finance-icon-button .icon-cloud-download:before,.app-shell.finance-shell .finance-attachment-dialog .icon-cloud-download:before{content:"\E654"}
.app-shell.finance-shell .finance-attachment-dialog .iconfont{font-family:iconfont!important;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}
.finance-attachment-dialog{width:min(1342px,calc(100% - 32px));max-height:calc(100% - 34px);font-family:"Microsoft Yahei",Arial,Helvetica,sans-serif}
.finance-attachment-dialog>header{min-height:54px;padding:0 20px}
.finance-attachment-dialog>header h2{font-size:18px;font-weight:500}
.finance-attachment-toolbar{position:relative;min-height:42px;padding:9px 20px;border-bottom:0;overflow:visible;gap:8px}
.finance-attachment-toolbar .finance-action-button{height:26px;min-width:76px;padding:0 12px;border:1px solid var(--ui-primary, #b8202b);border-radius:10px;background:var(--ui-primary, #b8202b);color:#fff;font-size:12px;line-height:24px}
.finance-attachment-toolbar .finance-action-button.secondary{border-color:#eef2f6;background:#f4f5f9;color:var(--ui-ink, #343034)}
.finance-attachment-toolbar .finance-icon-button{width:26px;height:26px;flex:0 0 26px;border:0;border-radius:0;background:transparent;color:var(--ui-ink, #343034);font-size:22px}
.finance-attachment-toolbar .finance-icon-button:hover,.finance-attachment-search-icons button:hover{color:var(--ui-accent-ink, #a21c27)}
.finance-attachment-tool-wrap{position:relative;display:inline-flex;align-items:center}
.finance-attachment-export-menu{position:absolute;right:0;top:30px;z-index:72;width:112px;padding:5px;background:#fff;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:4px;box-shadow:0 8px 20px rgba(56, 36, 42, .12)}
.finance-attachment-export-menu button{display:block;width:100%;height:30px;padding:0 8px;border:0;border-radius:3px;background:#fff;color:var(--ui-accent-ink, #a21c27);text-align:left;font-size:12px}
.finance-attachment-export-menu button:hover{background:var(--ui-primary-pale, #fff7f8);color:var(--ui-accent-ink, #a21c27)}
.finance-attachment-columns-panel{position:absolute;right:20px;top:41px;z-index:72;width:134px;max-height:260px;overflow-y:auto;overflow-x:hidden;background:#fff;border:0;border-radius:0;box-shadow:0 8px 20px rgba(56, 36, 42, .1);font-size:12px}
.finance-attachment-column-all,.finance-attachment-column-fixed,.finance-attachment-column-option{width:100%;height:20px;box-sizing:border-box;margin:0;padding:0 15px;display:flex;align-items:center;color:#606266;line-height:19px;white-space:nowrap}
.finance-attachment-column-all input,.finance-attachment-column-fixed input,.finance-attachment-column-option input{width:14px;height:14px;flex:0 0 14px;margin:0;accent-color:var(--ui-primary, #b8202b)}
.finance-attachment-column-all span,.finance-attachment-column-fixed span,.finance-attachment-column-option span{min-width:0;padding-left:10px;overflow:hidden;text-overflow:ellipsis}
.finance-attachment-column-option:hover{background:#f5f9fd}
.finance-attachment-column-fixed{cursor:default}
.finance-attachment-column-fixed input{cursor:not-allowed}
.finance-attachment-column-options{display:flex;flex-direction:column}
.finance-attachment-columns-panel footer{padding:10px 0;display:flex;justify-content:center}
.finance-attachment-columns-panel footer button{height:25px;padding:0 24px;border:1px solid var(--ui-primary, #b8202b);border-radius:3px;background:var(--ui-primary, #b8202b);color:#fff;font-size:12px;line-height:23px}
.finance-attachment-search-bar{padding:0 20px 8px;background:#fff}
.finance-attachment-search-row{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.finance-attachment-search-input{width:268px;height:26px;display:flex;align-items:center;background:#f4f5f9;border-radius:6px;overflow:hidden}
.finance-attachment-search-input input{width:230px;min-width:0;height:26px;flex:1;border:1px solid #f4f5f9;border-right:0;border-radius:6px 0 0 6px;background:#f4f5f9;padding:0 12px;outline:none;font-size:12px;color:#000}
.finance-attachment-search-input input:focus{border-color:var(--ui-primary, #b8202b);background:#fff}
.finance-attachment-search-input button{width:38px;height:26px;border:1px solid var(--ui-primary, #b8202b);border-radius:0 6px 6px 0;background:var(--ui-primary, #b8202b);color:#fff}
.finance-attachment-search-icons{display:flex;align-items:center;gap:8px}
.finance-attachment-search-icons button{width:26px;height:26px;border:0;background:transparent;color:var(--ui-ink, #343034);font-size:21px}
.finance-attachment-advanced{margin:0 20px 10px;padding:12px 16px;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.1)}
.finance-attachment-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px}
.finance-attachment-filter-grid label{min-width:0;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center}
.finance-attachment-filter-grid label>span:first-child{padding-right:10px;color:var(--ui-ink, #343034);text-align:right;font-size:12px}
.finance-attachment-filter-grid input{height:32px;border:1px solid transparent;border-radius:3px;background:#f4f6fa;padding:0 10px;color:var(--ui-ink, #343034);outline:none}
.finance-attachment-filter-grid input:focus{border-color:var(--ui-primary, #b8202b);background:#fff;box-shadow:0 0 0 2px rgba(56, 36, 42, .1)}
.finance-attachment-date-range{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);align-items:center}
.finance-attachment-date-range>span{text-align:center;color:var(--ui-muted, #716a70)}
.finance-attachment-advanced footer{padding-top:12px;display:flex;justify-content:flex-end;gap:10px}
.finance-attachment-advanced footer button{height:28px;padding:0 18px;border-radius:3px;font-size:12px}
.finance-attachment-body{min-height:320px;max-height:none;flex:1 1 auto;padding:0 20px 4px;overflow:hidden}
.finance-attachment-table-frame{position:relative;height:100%;min-height:300px;overflow:auto;border:1px solid var(--ui-primary-line, #efd0d5);background:#fff}
.finance-attachment-table-frame table{width:100%;border-collapse:collapse;table-layout:fixed;color:#000;font-size:12px}
.finance-attachment-table-frame th,.finance-attachment-table-frame td{height:40px;box-sizing:border-box;padding:0 8px;border-right:1px solid var(--ui-primary-line, #efd0d5);border-bottom:1px solid var(--ui-primary-line, #efd0d5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.finance-attachment-table-frame th{position:sticky;top:0;z-index:3;background:var(--ui-primary-soft, #fbeaec);color:#444;font-weight:600}
.finance-attachment-table-frame tbody tr:nth-child(even) td{background:#f5f5f6}
.finance-attachment-table-frame tbody tr:hover td{background:var(--ui-primary-pale, #fff7f8)}
.finance-attachment-table-frame .finance-sticky{position:sticky;z-index:5;background:#fff}
.finance-attachment-table-frame th.finance-sticky{z-index:7;background:var(--ui-primary-soft, #fbeaec)}
.finance-attachment-table-frame tbody tr:nth-child(even) .finance-sticky{background:#f5f5f6}
.finance-attachment-table-frame tbody tr:hover .finance-sticky{background:var(--ui-primary-pale, #fff7f8)}
.finance-attachment-table-frame .finance-index,.finance-attachment-table-frame .finance-select{text-align:center;text-indent:0}
.finance-attachment-table-frame .finance-column{min-width:0}
.finance-attachment-table-frame .finance-operation{text-align:center;box-shadow:-2px 0 4px rgba(56, 36, 42, .12)}
.finance-attachment-table-frame .finance-column-fileName .finance-text-link{width:100%;display:block;color:var(--ui-accent-ink, #a21c27)}
.finance-attachment-table-frame .finance-row-actions{height:40px;align-items:center;justify-content:center}
.finance-attachment-table-frame input[type=checkbox],.finance-attachment-table-frame .finance-select input{accent-color:var(--ui-primary, #b8202b)}
.finance-attachment-footer{min-height:44px;padding:0 20px 8px;display:flex;align-items:center;justify-content:center;gap:18px;color:#111;font-size:12px}
.finance-attachment-footer>span{height:28px;display:inline-flex;align-items:center}
.finance-attachment-pagination{min-height:32px;height:32px;gap:0}
.finance-attachment-pagination button{width:30px;height:28px;border-radius:0;background:#fff;line-height:28px}
.finance-attachment-pagination button.active{border-radius:6px;background:var(--ui-primary, #b8202b);color:#fff}
.finance-attachment-pagination input{width:36px;height:28px;border-radius:6px}

@media(max-width:820px){
  .finance-attachment-dialog{width:100%;height:100%;max-height:none;border-radius:0}
  .finance-attachment-toolbar,.finance-attachment-search-bar{padding-left:12px;padding-right:12px}
  .finance-attachment-columns-panel{right:12px}
  .finance-attachment-search-row{align-items:flex-start;flex-wrap:wrap}
  .finance-attachment-search-input{width:min(268px,100%)}
  .finance-attachment-advanced{margin-left:12px;margin-right:12px}
  .finance-attachment-filter-grid{grid-template-columns:1fr}
  .finance-attachment-filter-grid label{grid-template-columns:72px minmax(0,1fr)}
  .finance-attachment-body{min-height:280px;padding-left:12px;padding-right:12px}
  .finance-attachment-table-frame{min-height:280px}
}
.finance-policy-dialog { width: min(520px, calc(100vw - 32px)); }
.finance-policy-field { display: grid; gap: 8px; color: var(--ui-ink, #343034); font-size: 12px; }
.finance-policy-field input { width: 100%; height: 38px; padding: 0 10px; border: 1px solid var(--ui-primary-line, #efd0d5); border-radius: 4px; outline: 0; color: var(--ui-ink, #343034); }
.finance-policy-field input:focus { border-color: var(--ui-primary, #b8202b); box-shadow: 0 0 0 2px rgba(56, 36, 42, .1); }
.finance-policy-field small { color: var(--ui-muted, #716a70); font-size: 11px; }
/* Finance module page titles */
.finance-page-title{margin:0 0 12px;padding:0 20px;color:var(--ui-ink, #343034);font-size:20px;font-weight:700;line-height:30px;letter-spacing:.01em}
.finance-page-heading{flex:0 0 auto;padding:0 20px 10px}.finance-page-heading .finance-page-title{margin:0;padding:0}.finance-page-description{margin:3px 0 0;color:var(--ui-muted, #716a70);font-size:13px;line-height:20px}.finance-page-heading + .finance-toolbar{margin-top:0}
@media(max-width:760px){.finance-page-title{padding:0 12px;font-size:18px;line-height:28px}}
/* Finance row menus are viewport overlays: keep them above scroll frames and
 * visible after the pointer leaves the source table row. */
.finance-table-frame{z-index:1}
.app-shell.finance-shell .finance-table tbody tr .finance-operation .finance-row-actions.open{visibility:visible!important;z-index:2001}
.finance-page .finance-row-menu{position:fixed;z-index:2002!important;visibility:visible;pointer-events:auto;max-height:calc(100dvh - 16px);overflow-y:auto}.finance-page .finance-row-menu-overlay{z-index:3005!important}
.finance-filter-button{height:33px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:6px;background:#fff;color:var(--ui-muted, #716a70);cursor:pointer;white-space:nowrap}.finance-filter-button:hover{border-color:var(--ui-primary, #b8202b);color:var(--ui-accent-ink, #a21c27);background:#f5fbff}.finance-filter-button .iconfont{font-size:15px}
.finance-center-nav{display:flex;align-items:center;gap:4px;min-height:38px;margin:0 20px 8px;padding:3px;background:#f4f7fa;border:1px solid var(--ui-primary-line, #efd0d5);border-radius:6px;overflow-x:auto;white-space:nowrap;flex:0 0 auto}.finance-center-nav button{height:30px;padding:0 14px;border:0;border-radius:4px;background:transparent;color:var(--ui-muted, #716a70);cursor:pointer;white-space:nowrap}.finance-center-nav button:hover{background:var(--ui-primary-pale, #fff7f8);color:var(--ui-accent-ink, #a21c27)}.finance-center-nav button.active{background:var(--ui-primary, #b8202b);color:#fff;box-shadow:0 1px 3px rgba(56, 36, 42, .22)}
@media(max-width:760px){.finance-center-nav{margin:0 12px 8px}.finance-center-nav button{padding:0 11px}}

/* The global shell keeps a hidden route-tab row for most pages. Finance pages
 * render their own navigation, so reclaim that row and the old tab offset. */
.app-shell.finance-shell{grid-template-rows:72px 0 minmax(0,1fr)!important}
.app-shell.finance-shell .workspace-wrap{padding-bottom:12px!important}
.app-shell.finance-shell .finance-page-body{padding-top:16px!important}
.app-shell.finance-shell .finance-summary{height:42px!important;min-height:42px!important}
@media(max-width:820px){
  .app-shell.finance-shell{grid-template-rows:60px 0 minmax(calc(100dvh - 60px),auto)!important}
  .app-shell.finance-shell .workspace-wrap{padding-bottom:0!important}
  .app-shell.finance-shell .finance-page-body{padding-top:12px!important}
  .app-shell.finance-shell .finance-summary{height:42px!important;min-height:42px!important}
}

/* Generic finance routes use the shared data-table renderer. Keep the action
 * column in the visible card instead of leaving it beyond a resized table. */
.finance-list-page .table-frame { overflow: auto; }
.finance-list-page .data-table td.cell-actions,
.finance-list-page .data-table th.cell-actions {
  position: sticky;
  right: 0;
  z-index: 5;
  background: #fff;
  box-shadow: -6px 0 12px rgba(56, 36, 42, .08);
}
.finance-list-page .data-table th.cell-actions { background: var(--header); z-index: 7; }
.finance-list-page .data-table tr:hover td.cell-actions { background: #fff7f8; }

@media (max-width: 600px) {
  .finance-list-page .table-frame { overflow: visible; }
  .finance-list-page .data-table {
    width: 100% !important;
    min-width: 0 !important;
  }
  .finance-list-page .data-table tbody,
  .finance-list-page .data-table tr { width: 100%; }
  .finance-list-page .data-table tr { box-sizing: border-box; }
  .finance-list-page .data-table td.cell-actions {
    right: 8px;
    width: 44px !important;
    min-width: 44px;
    box-shadow: none;
  }
  .finance-list-page .data-table td.cell-actions .row-actions {
    width: 44px;
    justify-content: center;
  }
}

@media (max-width: 820px) {
  /* Touch devices have no hover state, so the operation affordance must stay
   * visible while the row remains horizontally scrollable. */
  .app-shell.finance-shell .finance-table tbody tr .finance-operation .finance-row-actions {
    visibility: visible !important;
    pointer-events: auto;
  }
  .app-shell.finance-shell .finance-table td.finance-operation {
    background: #fff;
    box-shadow: -6px 0 12px rgba(56, 36, 42, .08);
  }
  .app-shell.finance-shell .finance-table tbody tr:hover td.finance-operation { background: #fff7f8; }
}

/* Finance record dialogs need a real scroll area so the operation result and
 * footer remain reachable on short mobile screens. */
.finance-modal-backdrop .modal { min-height: 0; }
.finance-modal-backdrop .modal-body { min-height: 0; flex: 1 1 auto; overflow: auto; }
.finance-modal-backdrop .modal-foot { flex: 0 0 auto; background: #fff; }

/* Invoice and cost records use the same centered dialog treatment as receipt details. */
.finance-record-detail-overlay {
  z-index: 60 !important;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
  background: rgba(184, 32, 43, .42);
}
.finance-record-detail-dialog {
  width: min(1120px, calc(100% - 32px));
  height: min(760px, calc(100% - 32px));
  max-height: calc(100% - 32px);
  padding: 0;
  overflow: hidden;
}
.finance-record-detail-dialog > .finance-record-detail-page {
  position: relative;
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  border-radius: 0;
  background: #fff;
  overflow: hidden;
}
.finance-record-detail-dialog .finance-record-scroll {
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
}
.finance-record-detail-dialog > .finance-record-detail-page > .finance-overlay {
  z-index: 70;
}

/* Invoice and cost details share the active VIS theme instead of carrying the
 * retired blue finance-page treatment into the modal. */
#app .app-shell.finance-shell .finance-record-detail-overlay {
  background: rgba(45, 41, 45, .46);
}
#app .app-shell.finance-shell .finance-record-detail-dialog {
  color: var(--v2-ink, #2d292d);
  border: 1px solid var(--v2-line, #ded9dc);
  border-top: 3px solid var(--ui-primary, #b8202b);
  border-radius: 8px;
  background: var(--v2-surface, #fff);
  box-shadow: 0 20px 54px rgba(51, 27, 36, .24);
}
#app .app-shell.finance-shell .finance-record-detail-dialog > .finance-record-detail-page {
  border-radius: 5px;
  background: var(--v2-surface, #fff);
}
#app .app-shell.finance-shell .finance-record-detail-header {
  min-height: 76px;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--v2-line-soft, #ece8eb);
  background: var(--v2-surface, #fff);
}
#app .app-shell.finance-shell .finance-record-heading-copy {
  min-width: 0;
  flex: 1 1 auto;
}
#app .app-shell.finance-shell .finance-record-detail-header h1 {
  margin: 0;
  padding-left: 10px;
  overflow: hidden;
  color: var(--v2-ink, #2d292d);
  border-left: 3px solid var(--ui-primary, #b8202b);
  font-size: 18px;
  font-weight: 650;
  line-height: 24px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#app .app-shell.finance-shell .finance-record-detail-header p {
  margin: 6px 0 0 13px;
  overflow: hidden;
  color: var(--v2-muted, #716a70);
  font-size: 12px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#app .app-shell.finance-shell .finance-record-heading-actions {
  min-width: 0;
  flex: 0 1 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
#app .app-shell.finance-shell .finance-record-badge {
  min-height: 28px;
  padding: 4px 10px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--v2-line-soft, #ece8eb);
  border-radius: 5px;
  background: var(--v2-surface-soft, #f6f5f6);
  color: var(--v2-ink-soft, #484148);
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}
#app .app-shell.finance-shell .finance-record-badge.success {
  border-color: #cfe2cc;
  background: #edf6eb;
  color: #397336;
}
#app .app-shell.finance-shell .finance-record-badge.danger {
  border-color: #efc9ce;
  background: var(--ui-primary-soft, #fbeaec);
  color: var(--ui-accent-ink, #a21c27);
}
#app .app-shell.finance-shell .finance-record-close {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  padding: 0;
  border: 1px solid var(--v2-line, #ded9dc);
  border-radius: 6px;
  background: var(--v2-surface, #fff);
  color: var(--v2-muted, #716a70);
  font-size: 14px;
}
#app .app-shell.finance-shell .finance-record-close:hover,
#app .app-shell.finance-shell .finance-record-close:focus-visible {
  border-color: var(--ui-primary, #b8202b);
  background: var(--ui-primary-soft, #fbeaec);
  color: var(--ui-accent-ink, #a21c27);
  outline: 0;
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-scroll {
  background: var(--v2-surface, #fff);
  scrollbar-color: #aaa2a7 transparent;
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-section {
  border-bottom-color: var(--v2-line-soft, #ece8eb);
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-section h2 {
  border-left-color: var(--ui-primary, #b8202b);
  background: #f7f2f4;
  color: var(--v2-ink, #2d292d);
  font-weight: 650;
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-section h4 {
  color: var(--v2-ink, #2d292d);
  font-weight: 600;
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-grid,
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-grid > div,
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-file-list,
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-file-list li,
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-file-empty,
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-modal-table,
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-modal-table th,
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-modal-table td {
  border-color: var(--v2-line-soft, #ece8eb);
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-grid dt,
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-modal-table th {
  background: var(--v2-surface-soft, #f6f5f6);
  color: var(--v2-ink-soft, #484148);
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-grid dd {
  color: var(--v2-ink, #2d292d);
}
#app .app-shell.finance-shell .finance-record-detail-dialog :is(.finance-file-list a, .finance-record-section > p a) {
  color: var(--ui-accent-ink, #a21c27);
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-approval-timeline {
  border-left-color: #e9b8be;
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-approval-timeline > div::before {
  border-color: var(--ui-primary, #b8202b);
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-footer {
  justify-content: flex-end;
  border-top-color: var(--v2-line-soft, #ece8eb);
  background: var(--v2-surface, #fff);
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-footer .btn-primary {
  min-width: 88px;
  background: var(--ui-primary, #b8202b);
  border-color: var(--ui-primary, #b8202b);
  color: #fff;
}
#app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-footer .btn-primary:hover {
  background: var(--ui-primary-hover, #981a24);
  border-color: var(--ui-primary-hover, #981a24);
}
#app .app-shell.finance-shell .finance-page .finance-cost-invoice-button {
  background: var(--ui-primary, #b8202b) !important;
  background-color: var(--ui-primary, #b8202b) !important;
  border-color: var(--ui-primary, #b8202b) !important;
  color: #fff !important;
}
#app .app-shell.finance-shell .finance-page .finance-cost-invoice-button:hover {
  background: var(--ui-primary-hover, #981a24) !important;
  background-color: var(--ui-primary-hover, #981a24) !important;
  border-color: var(--ui-primary-hover, #981a24) !important;
}

@media (max-width: 820px) {
  .finance-record-detail-overlay {
    padding: 0;
    align-items: stretch;
  }
  .finance-record-detail-dialog {
    width: 100%;
    height: 100%;
    max-height: none;
    border-radius: 0;
  }
  #app .app-shell.finance-shell .finance-record-detail-dialog {
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
  }
  #app .app-shell.finance-shell .finance-record-detail-header {
    min-height: 72px;
    padding: 10px 12px;
    align-items: center;
    gap: 10px;
  }
  #app .app-shell.finance-shell .finance-record-detail-header h1 {
    font-size: 16px;
  }
  #app .app-shell.finance-shell .finance-record-detail-header p {
    margin-top: 3px;
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  #app .app-shell.finance-shell .finance-record-heading-actions {
    display: flex !important;
  }
  #app .app-shell.finance-shell .finance-record-heading-actions > :not(.finance-record-close) {
    display: none !important;
  }
  #app .app-shell.finance-shell .finance-record-detail-dialog .finance-record-footer {
    padding: 10px 12px;
  }
}
