.office-workspace{min-width:0}
.office-progress-caption{font-size:11px;color:#879d94}
.office-progress-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.office-progress-scroll:focus-visible{outline:2px solid #8dbbaa;outline-offset:-2px}
.office-progress-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px}
.office-progress-client-col{width:240px}
.office-progress-action-col{width:56px}
.office-progress-table th,.office-progress-table td{padding:9px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid #e9efec}
.office-progress-table thead th{padding-block:11px;background:#f8fbf9;color:#7a9388;font-size:10px;font-weight:500}
.office-progress-table tbody th{font-weight:400}
.office-progress-table tbody tr:last-child>th,.office-progress-table tbody tr:last-child>td{border-bottom:0}
.office-progress-table tbody tr:hover{background:#f7fbf9}
.office-progress-table .office-person{min-width:0;max-width:100%}
.office-progress-table .office-person strong,.office-progress-table .office-person small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.office-progress-table .office-person strong{font-size:11px;font-weight:500;line-height:1.7}
.office-progress-table .office-person small{font-size:9px;line-height:1.7;margin-top:3px}
.office-progress-bank-heading{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap}
.office-progress-bank-heading .bank-logo{width:84px;flex-basis:84px;height:29px}
.office-progress-bank-heading>span{font-size:9px;font-weight:400;color:#91a59b}
.office-progress-bank-cell{display:flex;align-items:center;gap:8px;min-width:0}
.office-progress-bank-summary{flex:1;min-width:0}
.office-progress-result{display:flex;align-items:center;gap:8px;white-space:nowrap}
.office-progress-result .office-state{padding:3px 6px;font-size:9px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.office-interest-rate{font-size:11px;font-weight:600;color:#247b69;flex-shrink:0;font-variant-numeric:tabular-nums}
.office-progress-detail{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;line-height:1.7;color:#91a69a;margin-top:4px}
.office-progress-detail>.icon{width:11px;height:11px;vertical-align:-2px;margin-right:4px}
.office-progress-bank-cell .office-progress-edit,.office-progress-card-cell .btn{width:30px;height:30px;min-height:30px;padding:6px;flex-shrink:0}
.office-progress-bank-cell .office-progress-edit .icon,.office-progress-card-cell .icon{width:14px;height:14px}
.office-progress-card-cell{text-align:center!important}
.office-progress-missing{color:#acb9b2}
.office-progress-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.office-interest-input{position:relative}
.office-interest-input input{padding-right:36px!important}
.office-interest-input>span{position:absolute;right:13px;top:20px;font-weight:400;color:#8a9f94;pointer-events:none}
.office-dialog .field .office-rate-error{color:#a84942}
.office-rate-error:empty{display:none}
.office-workspace .page-heading p{max-width:780px;line-height:1.8}
.office-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:25px}
.office-metrics>div{padding:21px 24px;border:1px solid var(--border);border-radius:11px;background:#fff}
.office-metrics small{display:block;color:#7d9298;font-size:11px;line-height:1.7}
.office-metrics strong{display:block;font-size:29px;font-weight:600;margin-top:9px;color:var(--ink)}
.office-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #edf2f1}
.office-panel-heading h2{font-size:16px}
.office-panel-heading p{font-size:11px;color:#91a1a6;line-height:1.8;margin-top:6px}
.office-view-switch{display:flex;align-items:center;padding:4px;gap:3px;border:1px solid #dde8e4;border-radius:8px;background:#f5f9f7;flex-shrink:0}
.office-view-switch button{background:transparent;border:0;border-radius:5px;padding:8px 13px;font:inherit;font-size:11px;color:#7e9690}
.office-view-switch button[aria-pressed=true]{background:#fff;color:#1a7668;box-shadow:0 2px 7px #234b3b0d;font-weight:600}
.office-tools{padding:18px 24px;display:flex;gap:10px;border-bottom:1px solid #edf2f1;align-items:center}
.office-tools .search{flex:1;min-width:180px;max-width:440px}
.office-tools .filter{min-width:145px;max-width:230px;font-size:11px}
.office-case-groups{padding:0 24px}
.office-case-group{padding:22px 0;border-bottom:1px solid #e6eeeb}
.office-case-group:last-child{border:0}
.office-case-group>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.office-person{min-width:0}
.office-person strong{display:block;color:#284f55;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.office-person small{display:block;color:#8a9da2;font-size:10px;line-height:1.8;margin-top:3px;overflow-wrap:anywhere}
.office-group-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}
.office-group-actions .text-button,.office-row-actions .text-button,.office-case-actions .text-button{display:inline-flex;align-items:center;gap:3px;font-size:10px}
.office-group-actions .text-button .icon{width:14px;height:14px}
.office-count{font-size:10px;background:#f0f5f3;color:#80968c;padding:5px 8px;border-radius:5px;white-space:nowrap}
.office-bank-heading,.office-bank-name{display:flex;align-items:center;gap:11px;min-width:0}
.office-bank-heading strong,.office-bank-name strong{font-size:12px;color:#385c60}
.office-bank-heading .bank-logo,.office-bank-name .bank-logo{width:90px;flex-basis:90px;height:34px;max-width:100%}
.office-case{display:grid;grid-template-columns:minmax(170px,1fr) minmax(200px,1.4fr) auto;align-items:start;gap:20px;border:1px solid #e3ece8;border-radius:9px;padding:17px 18px;margin-top:10px;background:#fbfdfc}
.office-case-identity{min-width:0}
.office-signature-note{display:flex;align-items:center;gap:5px;color:#6b9585;font-size:9px;line-height:1.7;margin-top:10px}
.office-signature-note .icon{width:12px;height:12px}
.office-signature-note.unsigned{color:#9aa8a9}
.office-state{display:inline-flex;align-items:center;gap:6px;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:600;line-height:1.5;background:#ecf2f5;color:#6f8791}
.office-state-sent{background:#e9f1fb;color:#547fac}
.office-state-waiting{background:#fff3dc;color:#ae862f}
.office-state-approved{background:#e6f4eb;color:#388665}
.office-state-rejected{background:#fbeeed;color:#b75b55}
.office-state-closed{background:#edf0f1;color:#8a979c}
.office-state .dot{width:5px;height:5px}
.office-case-progress dl{display:flex;gap:24px;margin-top:13px}
.office-case-progress dt{font-size:9px;color:#8c9f9f;margin-bottom:4px}
.office-case-progress dd{margin:0;font-size:11px;color:#587a7a}
.office-case-note{font-size:11px;color:#67817e;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px;max-width:680px}
.office-case-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding-top:1px}
.office-case-actions .btn{font-size:10px;min-height:35px;padding:8px 11px}
.office-empty{text-align:center;padding:42px 24px;color:#8a9f98}
.office-empty>.icon{width:28px;height:28px;color:#a3c2b4;margin-bottom:12px}
.office-empty h3{font-size:14px;font-weight:500;color:#617f76}
.office-empty p{font-size:11px;line-height:1.9;max-width:480px;margin:9px auto 0}
.office-overview-search{display:flex;margin-bottom:18px}
.office-overview-search .search{width:100%;max-width:480px;background:#fff}
.office-section{margin-bottom:23px}
.office-section .office-panel-heading>.filter{max-width:220px;font-size:11px}
.office-action-list{padding:0 24px}
.office-action-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #eaf0ed}
.office-action-row:last-child{border-bottom:0}
.office-action-main{min-width:0;flex:1}
.office-row-actions{display:flex;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap;gap:11px;max-width:320px;flex-shrink:0}
.office-row-actions .btn{font-size:10px;min-height:34px;padding:8px 10px}
.office-contact-time{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:12px;color:#518d7b;font-size:11px;line-height:1.8}
.office-contact-time .icon{width:14px;height:14px}
.office-contact-time strong{font-weight:500}
.office-contact-time>span{font-size:9px;background:#edf5f0;padding:2px 6px;border-radius:4px}
.office-contact-time.is-overdue{color:#b27a42}
.office-contact-time.is-overdue>span{background:#fff2e3}
.office-priority-label{display:flex;align-items:center;gap:6px;color:#7e9384;font-size:11px;margin-top:11px;line-height:1.7}
.office-priority-label .icon{width:14px;height:14px;flex-shrink:0}
.office-priority-label strong{font-weight:500}
.office-priority-label.is-overdue{color:#b27a42}
.office-priority-details{font-size:10px;color:#9aa8a7;line-height:1.9;margin-top:6px;overflow-wrap:anywhere}
.office-action-row>.btn{font-size:11px;min-height:35px;flex-shrink:0}
.office-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border:1px solid #e0e9e4;border-radius:13px;padding:0;background:#fff;box-shadow:0 25px 100px #143a4633;color:var(--ink)}
.office-dialog::backdrop{background:#17374280;backdrop-filter:blur(3px)}
.office-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px;border-bottom:1px solid #e5ede9}
.office-dialog>header h2{font-size:20px;font-weight:500;line-height:1.5}
.office-dialog-body{padding:24px 26px}
.office-dialog-body>p{font-size:12px;line-height:1.9;color:#567773}
.office-dialog-context{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:21px;margin-bottom:21px;border-bottom:1px solid #e8efeb}
.office-dialog-context .office-bank-name strong{display:none}
.office-dialog .field{font-size:12px;min-width:0;margin-bottom:19px}
.office-dialog .field input,.office-dialog .field select,.office-dialog .field textarea{display:block;width:100%;min-width:0;background:#fbfdfc;border:1px solid #dae6e1;border-radius:7px;padding:11px 12px;color:#2f5a56;font-family:inherit;font-size:12px;line-height:1.65;margin-top:8px;box-sizing:border-box}
.office-dialog .field select{min-height:43px}
.office-dialog .field textarea{resize:vertical}
.office-dialog .field input:focus-visible,.office-dialog .field select:focus-visible,.office-dialog .field textarea:focus-visible{outline:2px solid #8dbbaa;outline-offset:1px}
.office-dialog .field small{font-size:10px;color:#91a69d;line-height:1.8;margin-top:8px;font-weight:400}
.office-form-columns{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.office-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;margin-top:20px}
.office-dialog-actions .btn{font-size:11px}
.office-dialog-actions .text-button{font-size:11px}
.office-dialog [data-office-error]{font-size:11px;line-height:1.8;margin-top:15px}
.office-dialog [hidden]{display:none!important}
.office-dialog-intro{font-size:11px!important;line-height:1.9;color:#7b958b!important;margin:12px 0 20px}
.office-dialog-footnote{font-size:10px!important;line-height:1.8;color:#8ca294!important;margin-top:15px}
.office-reminder-banks{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:15px 0 20px}
.office-reminder-feedback{font-size:11px;line-height:1.8;margin-top:15px}
.office-error-panel{text-align:center;padding:48px 24px}
.office-error-panel>.icon{width:30px;height:30px;color:#8eaaa0;margin-bottom:15px}
.office-error-panel h2{font-size:19px;margin-bottom:10px}
.office-error-panel p{font-size:12px;color:#82998e;line-height:1.9;margin-bottom:20px}
.office-client-contact{margin-top:22px;border:1px solid #dfebe4;border-radius:9px;background:#f6faf7;padding:18px}
.office-contact-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.office-contact-heading h3{font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px}
.office-contact-heading h3 .icon{width:15px;height:15px;color:#88a99a}
.office-contact-heading .text-button,.office-client-contact>[data-office-complete-contact]{font-size:10px}
.office-client-contact>[data-office-complete-contact]{display:inline-flex;gap:5px;align-items:center;margin-top:13px}
.office-client-contact>[data-office-complete-contact] .icon{width:13px;height:13px}
.office-contact-empty{font-size:11px;color:#97aaa1;line-height:1.8;margin-top:12px}
@media(max-width:1100px){
  .office-case{grid-template-columns:minmax(150px,1fr) minmax(180px,1.4fr);gap:16px}
  .office-case-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end;border-top:1px solid #e7efea;padding-top:12px}
  .office-tools{flex-wrap:wrap}.office-tools .search{flex-basis:100%;max-width:none}.office-tools .filter{flex:1;max-width:none}
  .office-action-row{align-items:flex-start}.office-row-actions{max-width:210px}
}
@media(max-width:760px){
  .office-metrics{gap:8px;margin-bottom:19px}.office-metrics>div{padding:14px 11px}.office-metrics small{font-size:9px}.office-metrics strong{font-size:24px;margin-top:6px}
  .office-panel-heading{padding:18px;align-items:flex-start;flex-wrap:wrap;gap:13px}.office-panel-heading h2{font-size:14px}
  .office-view-switch{width:100%}.office-view-switch button{flex:1;font-size:10px}
  .office-tools{padding:15px 18px;gap:9px}.office-tools .filter{font-size:10px;min-width:0}
  .office-case-groups,.office-action-list{padding:0 17px}.office-case-group{padding:18px 0}
  .office-case-group>header{align-items:flex-start;gap:10px}.office-group-actions{flex-direction:column;gap:8px;align-items:flex-end}
  .office-case{grid-template-columns:1fr;padding:15px;gap:14px}.office-case-actions{grid-column:auto}
  .office-case-progress dl{gap:30px;margin-top:12px}.office-case-note{font-size:10px}
  .office-case-identity .office-bank-name .bank-logo{width:78px;flex-basis:78px;height:30px}
  .office-action-row{flex-direction:column;gap:14px;padding:18px 0}.office-row-actions{max-width:none;width:100%;justify-content:flex-start;align-items:center}
  .office-row-actions .btn{font-size:10px}.office-row-actions .text-button{font-size:10px}
  .office-person strong{font-size:12px}.office-person small{font-size:9px}
  .office-section .office-panel-heading>.filter{width:100%;max-width:none;font-size:10px}
  .office-overview-search .search{max-width:none}.office-section{margin-bottom:18px}
  .office-dialog{max-height:calc(100dvh - 24px);width:calc(100vw - 24px);border-radius:11px}
  .office-dialog>header{padding:18px 20px}.office-dialog>header h2{font-size:18px}.office-dialog-body{padding:20px}
  .office-form-columns{grid-template-columns:1fr;gap:0}.office-dialog-context{align-items:flex-start;gap:12px}
  .office-dialog-actions{flex-wrap:wrap}.office-dialog-actions .btn{flex:1;min-width:120px;font-size:10px}.office-dialog-actions .danger{margin-right:auto}
  .office-client-contact{padding:15px}.office-contact-heading h3{font-size:11px}
}
