.iv-modal{position:fixed;inset:0;z-index:2200;background:#17293e80;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;color:#20344b}.iv-shell{width:min(1140px,100%);max-height:94vh;background:#fff;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 60px #0b1a2f50}.iv-shell>header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:#f5f8fc;border-bottom:1px solid #dde5ef}.iv-shell h2{font-size:21px;margin:0}.iv-body{overflow:auto;padding:20px 22px;min-height:100px}.iv-message{padding:0 22px;white-space:pre-wrap}.iv-message:not(:empty){padding:12px 22px;background:#f1f6fc}.iv-error{color:#b42336!important}.iv-modal button,.iv-workspace button{width:auto;flex:none;white-space:nowrap}.iv-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0 16px}.iv-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.iv-field{display:grid;gap:7px;min-width:0;font-size:14px}.iv-field input,.iv-field select,.iv-field textarea{box-sizing:border-box;width:100%;min-width:0}.iv-field textarea{resize:vertical}.iv-field [aria-invalid=true]{border-color:#b42336;outline:2px solid #b4233620}.iv-wide{grid-column:1/-1}.iv-form fieldset{border:1px solid #dce5ef;border-radius:10px;padding:14px;min-width:0}.iv-form legend{font-weight:600;padding:0 7px}.iv-allocation{display:grid;grid-template-columns:140px minmax(180px,1fr) 155px auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid #e7edf4}.iv-allocation-info{margin:0;font-size:13px;color:#65758b;line-height:1.5}.iv-note{font-size:13px;color:#60748c;line-height:1.65}.iv-note:empty{display:none}.iv-footer{position:sticky;bottom:-20px;display:flex;gap:10px;flex-wrap:wrap;background:#fff;padding:16px 0;margin-top:20px;border-top:1px solid #dde5ef;z-index:2}.iv-keep{display:flex;align-items:center;gap:8px;margin:8px 0}.iv-keep input{width:auto}.iv-summary{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.iv-summary>div{min-width:155px;flex:1;background:#f0f6ff;border:1px solid #dfebfa;border-radius:10px;padding:13px}.iv-summary span,.iv-summary strong{display:block}.iv-summary span{font-size:13px;color:#60748c}.iv-summary strong{font-size:19px;margin-top:7px;overflow-wrap:anywhere}.iv-table-wrap{max-width:100%;overflow:auto}.iv-table-wrap table{width:100%;border-collapse:collapse;font-size:14px}.iv-table-wrap th{background:#f4f7fa;color:#52687f;white-space:nowrap;text-align:left}.iv-table-wrap th,.iv-table-wrap td{padding:12px 10px;border-bottom:1px solid #e3eaf2;vertical-align:top}.iv-table-wrap td{min-width:100px;overflow-wrap:anywhere}.iv-table-wrap td:first-child{min-width:190px}.iv-table-wrap small{display:block;color:#677990;margin-top:5px;line-height:1.55;white-space:normal}.iv-table-wrap td button{font-size:12px;padding:7px 9px;margin:0 4px 6px 0}.iv-workspace .iv-table-wrap td:nth-child(3),.iv-workspace .iv-table-wrap td:nth-child(4){white-space:nowrap}.iv-table-wrap th:last-child,.iv-table-wrap td:last-child{position:sticky;right:0;background:#fff;min-width:120px;box-shadow:-3px 0 5px -5px #536a82}.iv-table-wrap th:last-child{background:#f4f7fa}.iv-workspace .iv-page-filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:13px;margin:16px 0;border-bottom:1px solid #e5eaf2;padding-bottom:17px}.iv-date-range{grid-column:span 3}.iv-date-range>span{font-size:13px;color:#60748c}.iv-date-range>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:5px}.iv-page-filters>button{align-self:end;justify-self:start}.iv-pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px}.iv-actions [aria-pressed=true]{background:#1557b0;color:white}.iv-history{padding-left:22px}.iv-history li{padding:8px 0;line-height:1.6}.iv-history p{white-space:pre-wrap;margin:5px 0;color:#61748b}.iv-warning{background:#fff5df;color:#835d10!important;padding:6px;border-radius:6px}.iv-leave{position:absolute;inset:0;background:#17293e70;display:flex;align-items:center;justify-content:center;z-index:3}.iv-leave>div{background:white;border-radius:12px;padding:24px;max-width:420px}.iv-leave button{margin:6px 8px 0 0}.iv-modal[aria-busy=true]{cursor:progress}@media(max-width:1100px){.iv-workspace .iv-page-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.iv-date-range{grid-column:span 1}.iv-allocation{grid-template-columns:120px minmax(150px,1fr) 130px}.iv-allocation>button{grid-column:3}.iv-table-wrap td:first-child{min-width:170px}}@media(max-width:700px){.iv-modal{padding:8px}.iv-body{padding:14px}.iv-form{grid-template-columns:minmax(0,1fr)}.iv-allocation{grid-template-columns:minmax(0,1fr)}.iv-allocation>button{grid-column:auto}.iv-summary>div{min-width:120px}}

/* Desktop invoice work is centered on the list; paging uses available screen height. */
@media(min-width:769px){
 .iv-workspace.fw-workspace{padding:10px 16px;border-radius:6px;margin-bottom:0}
 .iv-workspace .fw-header{align-items:center;border-bottom:1px solid #dce5ef;padding-bottom:8px;gap:12px}
 .iv-workspace .fw-header h3{font-size:18px;margin:0}
 .iv-workspace .fw-header>div{display:flex;gap:7px}
 .iv-workspace .iv-actions{margin:8px 0;gap:7px}
 .iv-workspace button{min-height:30px;padding:5px 9px;font-size:12px}
 .iv-workspace [data-iv="new-invoice"]{background:#155dcc;color:white;border-color:#155dcc}
 .iv-workspace .iv-page-filters{grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(115px,.85fr)) minmax(270px,1.3fr) auto;gap:8px;margin:8px 0;padding-bottom:8px;align-items:end}
 .iv-workspace .iv-field{gap:4px;font-size:12px}
 .iv-workspace .iv-field input,.iv-workspace .iv-field select,.iv-workspace .iv-date-range input{height:32px;min-height:32px;padding:5px 8px;font-size:12px}
 .iv-workspace .iv-date-range{grid-column:auto;min-width:0}
 .iv-workspace .iv-date-range>span{font-size:12px}
 .iv-workspace .iv-date-range>div{display:flex;align-items:center;gap:5px;margin-top:4px;border:1px solid #ccd8e5;border-radius:5px;padding:0 4px;height:32px;box-sizing:border-box}
 .iv-workspace .iv-date-range input{width:0;flex:1;min-width:0;border:0;background:transparent;padding:3px}
 .iv-workspace .iv-summary{display:flex;gap:20px;margin:7px 0;flex-wrap:wrap}
 .iv-workspace .iv-summary>div{background:none;border:0;padding:0;min-width:0;flex:none;border-radius:0;display:flex;gap:6px;align-items:baseline}
 .iv-workspace .iv-summary span{font-size:12px}
 .iv-workspace .iv-summary strong{font-size:15px;margin:0}
 .iv-workspace .iv-stat-note{font-size:12px;color:#60748c;margin:0 0 6px}
 .iv-workspace .iv-stat-note p{margin:5px 0}
 .iv-workspace [data-iv-status]{margin:0}
 .iv-workspace [data-iv-status]:empty{display:none}
 .iv-workspace [data-iv-status]:not(:empty){margin:6px 0;color:#a02b2b}
 .iv-workspace .iv-table-wrap{border:1px solid #dce5ef;border-radius:4px;overflow:visible}
 .iv-workspace .iv-table-wrap table{table-layout:fixed;width:100%;min-width:0;font-size:12px}
 .iv-workspace .iv-table-wrap :is(th,td){padding:5px 8px;min-width:0!important;white-space:normal;vertical-align:middle}
 .iv-workspace .iv-table-wrap th:nth-child(1){width:24%}
 .iv-workspace .iv-table-wrap th:nth-child(2){width:16%}
 .iv-workspace .iv-table-wrap th:nth-child(3){width:13%}
 .iv-workspace .iv-table-wrap th:nth-child(4){width:14%}
 .iv-workspace .iv-table-wrap th:nth-child(5){width:15%}
 .iv-workspace .iv-table-wrap th:nth-child(6){width:18%}
 .iv-workspace .iv-table-wrap :is(th,td):last-child{position:static;box-shadow:none}
 .iv-workspace .iv-table-wrap td:nth-child(4){text-align:right}
 .iv-workspace .iv-table-wrap td small{margin-top:2px;line-height:1.35}
 .iv-workspace .iv-table-wrap td button{min-height:25px;margin:2px 3px 2px 0;padding:3px 5px}
 .iv-workspace .iv-table-wrap .iv-warning{padding:2px 4px}
 .iv-workspace .iv-table-wrap td:first-child{overflow-wrap:anywhere}
 .iv-workspace .iv-table-wrap td small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
 .iv-workspace .customer-fixed-pagination{margin-top:0}
}
@media(min-width:769px){
 body.pc-ui-preview .iv-workspace.fw-workspace{padding:10px 16px!important}
 body.pc-ui-preview .iv-workspace .fw-header{gap:16px;padding:0 0 8px;min-height:32px;align-items:center}
 body.pc-ui-preview .iv-workspace .fw-header h3{font-size:18px;margin:0}
 body.pc-ui-preview .iv-workspace .fw-header [data-iv-tabs]{margin:0;flex:1;padding:0}
 body.pc-ui-preview .iv-workspace .fw-header [data-iv-tools]{flex:none;gap:7px}
 body.pc-ui-preview .iv-workspace .iv-page-filters{margin:8px 0;padding-bottom:8px}
 body.pc-ui-preview .iv-workspace .iv-page-filters .iv-field{gap:4px}
 body.pc-ui-preview .iv-workspace .iv-page-filters :is(input,select){min-height:32px;height:32px}
 body.pc-ui-preview .iv-workspace .iv-summary{margin:6px 0;gap:16px}
 body.pc-ui-preview .iv-workspace .iv-summary>div{padding:0;min-height:0}
 body.pc-ui-preview .iv-workspace .iv-summary strong{margin:0;font-size:15px}
 body.pc-ui-preview .iv-workspace .iv-stat-note{margin-bottom:5px}
 body.pc-ui-preview .iv-workspace [data-iv="new-invoice"]{background:#155dcc;color:white;border-color:#155dcc}
}
/* Mobile invoices: compact filters/forms and touch-friendly invoice cards. */
@media (max-width:768px){
  .iv-modal{padding:0;align-items:flex-end}
  .iv-shell{width:100%;max-height:calc(100dvh - 8px);border-radius:14px 14px 0 0}
  .iv-shell>header{padding:14px 16px;gap:10px}
  .iv-shell h2{font-size:19px}
  .iv-body{padding:14px}
  .iv-message{padding:0 14px}
  .iv-actions{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:8px 0 12px;padding-bottom:2px}
  .iv-actions button{flex:0 0 auto;min-height:42px}
  .iv-workspace .iv-page-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:12px 0;padding-bottom:12px}
  .iv-date-range{grid-column:auto}
  .iv-date-range>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .iv-page-filters input,.iv-page-filters select{min-height:42px;box-sizing:border-box}
  .iv-page-filters>button{width:100%;min-height:42px;justify-self:stretch}
  .iv-form{grid-template-columns:minmax(0,1fr);gap:12px}
  .iv-field input,.iv-field select,.iv-field textarea{min-height:42px}
  .iv-form fieldset{padding:11px}
  .iv-allocation{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 0}
  .iv-allocation>button{grid-column:auto;width:100%;min-height:42px}
  .iv-footer{position:sticky;bottom:-14px;padding:12px 0 0;margin-top:14px}
  .iv-footer button{flex:1;min-height:44px}
  .iv-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
  .iv-summary>div{min-width:0;padding:10px}
  .iv-summary strong{font-size:17px}
  .iv-table-wrap{overflow:visible}
  .iv-table-wrap table{display:block;min-width:0!important}
  .iv-table-wrap thead{display:none}
  .iv-table-wrap tbody{display:grid;gap:10px}
  .iv-table-wrap tbody tr{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid #dce5ef;border-radius:10px;background:#fff;overflow:hidden}
  .iv-table-wrap td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;align-items:start;min-width:0!important;padding:10px;border:0;border-bottom:1px solid #edf1f6;overflow-wrap:anywhere}
  .iv-table-wrap td:last-child{border-bottom:0;position:static!important;box-shadow:none!important;background:transparent!important}
  .iv-table-wrap td::before{content:attr(data-label);font-size:12px;line-height:1.5;color:#6b7f96;font-weight:600}
  .iv-table-wrap td[colspan]{display:block!important;padding:0;border:0}
  .iv-table-wrap td[colspan]::before{display:none}
  .iv-table-wrap td button{min-height:40px}
  .iv-pager{justify-content:space-between;gap:8px;margin-top:12px}
  .iv-pager button{min-height:42px}
  .iv-history{padding-left:18px}
}


/* Invoice sorting uses the result totals and existing manager actions. */
.iv-list-overview{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;min-width:0}
.iv-list-overview>.iv-summary{min-width:0;flex:1 1 auto}
.iv-manager-actions{align-items:center;flex-wrap:wrap;overflow:visible}
.iv-manager-actions>.business-list-sort-inline{max-width:100%}
@media(max-width:768px){.iv-list-overview>.iv-summary{flex-basis:100%}.iv-list-overview>.business-list-sort-inline{margin-bottom:6px}.iv-actions.iv-manager-actions{flex-wrap:wrap;overflow:visible}}
