.iv2-table .iv2-group td {
  padding: 15px 18px 10px;
  border: 1px solid #d9e4f1;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  background: #f3f7fc;
  color: #173b62;
}

.iv2-table .iv2-group b { font-size: 15px; }
.iv2-table .iv2-group small { margin-left: 8px; color: #6881a2; }

.iv2-table .iv2-request-row td {
  background: #fff;
  border-top: 0;
  border-bottom: 1px solid #d9e4f1;
}

.iv2-request-table { min-width: 1240px; }
.iv2-request-table th,
.iv2-request-table .iv2-request-row td {
  padding: 10px 9px;
  white-space: nowrap;
  font-size: 13px;
  vertical-align: middle;
}
.iv2-request-table .iv2-request-row td:first-child { padding-left: 20px; }
.iv2-request-table .iv2-request-row td:first-child::before { margin-right: 6px; }

.iv2-table .iv2-group + .iv2-request-row td:first-child { border-left: 1px solid #d9e4f1; padding-left: 28px; }
.iv2-table .iv2-group + .iv2-request-row td:last-child { border-right: 1px solid #d9e4f1; }
.iv2-table .iv2-request-row + .iv2-group td { padding-top: 22px; }
.iv2-table .iv2-request-row td:first-child { padding-left: 28px; }
.iv2-table .iv2-request-row td:first-child::before {
  content: "↳";
  display: inline-block;
  margin-right: 9px;
  color: #78ad31;
  font-weight: 900;
}

.iv2-table td.actions { display: flex; align-items: center; gap: 6px; }
.iv2-table .iv2-action-view, .iv2-table .iv2-action-upload, .iv2-table .iv2-action-download, .iv2-table .iv2-action-void, .iv2-table .iv2-action-payment { min-width: 58px; border-radius: 8px; }
.iv2-table .iv2-action-view { color: #315a86; border-color: #c9d9ea; background: #fff; }
.iv2-table .iv2-action-upload { color: #fff; border-color: #1768d7; background: #1768d7; }
.iv2-table .iv2-action-download { color: #6943a8; border-color: #d9c8f2; background: #f8f3ff; }
.iv2-table .iv2-action-void { color: #c13d49; border-color: #f0c9ce; background: #fff7f8; }
.iv2-table .iv2-action-payment { color: #3b7a16; border-color: #acd78f; background: #f5fceb; }
.iv2-table .iv2-action-toggle.disable { color: #aa6500; border-color: #efcb8b; background: #fff7e8; }
.iv2-table .iv2-action-toggle.enable { color: #3b7a16; border-color: #acd78f; background: #f5fceb; }
.iv2-table [data-customer-delete], .iv2-table [data-title-delete], .iv2-table [data-request-delete] { color: #c13d49; border-color: #f0c9ce; background: #fff7f8; }

.iv2-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; padding: 4px 0 12px; }
.iv2-detail-grid label { display: grid; gap: 8px; color: #173b62; font-weight: 800; }
.iv2-detail-grid input, .iv2-detail-grid textarea { width: 100%; border: 1px solid #cbdceb; border-radius: 10px; padding: 13px 14px; background: #fff; color: #173b62; font: 700 14px/1.35 Inter, "Microsoft YaHei", Arial, sans-serif; }
.iv2-detail-grid textarea { min-height: 78px; resize: vertical; }
.iv2-detail-grid .full { grid-column: 1 / -1; }
@media (max-width: 640px) { .iv2-detail-grid { grid-template-columns: 1fr; } .iv2-detail-grid .full { grid-column: auto; } }

/* Keep a modal header inside its own scrolling dialog instead of sticking to the browser viewport. */
.iv2-modal { display: grid; place-items: center; overflow: hidden; }
.iv2-dialog { max-height: calc(100vh - 60px); margin: 0; overflow: auto; }
.iv2-dialog .iv2-card-head { top: 0; }
@media (max-width: 640px) { .iv2-dialog { max-height: calc(100vh - 20px); } }

/* Completed-project page mirrors the approved Invoice HTML layout. */
.iv2-project-page { overflow: hidden; }
.iv2-project-page .iv2-card-head { padding: 18px 20px; }
.iv2-project-page .iv2-card-head h3 { font-size: 18px; }
.iv2-project-page .iv2-card-head p { font-size: 14px; }
.iv2-project-new {
  border-color: #7bb819;
  background: linear-gradient(135deg, #55a40d, #93df25);
  color: #103d17;
  padding: 11px 18px;
  box-shadow: 0 8px 18px rgba(102, 177, 28, .18);
}
.iv2-project-search {
  display: flex;
  gap: 10px;
  padding: 14px 20px;
  border-bottom: 1px solid #dce4ef;
}
.iv2-project-search .iv2-input { flex: 1; min-width: 0; }
.iv2-project-table { min-width: 1040px; }
.iv2-project-table th, .iv2-project-table td { padding: 14px 14px; vertical-align: middle; }
.iv2-project-table th:nth-child(3), .iv2-project-table td:nth-child(3) { min-width: 92px; white-space: nowrap; }
.iv2-project-table td small { color: #6881a2; }
.iv2-project-status { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.iv2-project-status small { color: #70809a; }
.iv2-project-complete { background: #edf0f3; color: #687586; }
.iv2-table td.actions { gap: 7px; }
.iv2-project-action-open { color: #3b7a16; border-color: #acd78f; background: #fbfff7; }
.iv2-project-action-finalize { color: #315a86; border-color: #c9d9ea; background: #fff; }
.iv2-customer-page, .iv2-partner-page, .iv2-rate-page, .iv2-cost-page, .iv2-cost-overview { overflow: hidden; }
.iv2-customer-page .iv2-card-head, .iv2-partner-page .iv2-card-head, .iv2-rate-page .iv2-card-head, .iv2-cost-page .iv2-card-head, .iv2-cost-overview .iv2-card-head { padding: 18px 20px; }
.iv2-customer-page .iv2-card-head h3, .iv2-partner-page .iv2-card-head h3, .iv2-rate-page .iv2-card-head h3, .iv2-cost-page .iv2-card-head h3, .iv2-cost-overview .iv2-card-head h3 { font-size: 18px; }
.iv2-customer-page .iv2-card-head p, .iv2-partner-page .iv2-card-head p, .iv2-rate-page .iv2-card-head p, .iv2-cost-page .iv2-card-head p, .iv2-cost-overview .iv2-card-head p { font-size: 14px; }
.iv2-customer-table th, .iv2-customer-table td, .iv2-partner-page th, .iv2-partner-page td, .iv2-rate-page th, .iv2-rate-page td { padding: 14px 16px; vertical-align: middle; }
.iv2-customer-title-row > td { padding: 0 18px 18px !important; background: #fff; }
.iv2-title-panel { border: 1px solid #f0dfad; border-radius: 10px; overflow: hidden; background: #fffdf5; }
.iv2-title-panel-head { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: #fff6db; color: #765615; }
.iv2-title-panel-head span { color: #6980a0; font-size: 12px; }
.iv2-title-table { min-width: 760px; }
.iv2-title-table th, .iv2-title-table td { padding: 12px 14px; }
.iv2-cost-page { margin-bottom: 20px; }
.iv2-cost-overview { margin-bottom: 20px; }
.iv2-cost-note { min-width: 320px; white-space: pre-wrap; line-height: 1.55; }
.iv2-cost-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
.iv2-cost-editor .full { grid-column: 1 / -1; }
.iv2-cost-editor-title { padding-top: 4px; color: #173b62; font-weight: 800; }
.iv2-cost-editor-branches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 640px) { .iv2-cost-editor, .iv2-cost-editor-branches { grid-template-columns: 1fr; } .iv2-cost-editor .full { grid-column: auto; } }
.iv2-cost-tools { display: flex; align-items: center; gap: 10px; padding: 14px 20px 8px; }
.iv2-cost-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 18px 20px 20px; }
.iv2-cost-metrics > div { min-width: 0; padding: 15px; border-radius: 11px; background: #f6f8fc; }
.iv2-cost-metrics span, .iv2-cost-metrics small { display: block; color: #6881a2; font-size: 12px; }
.iv2-cost-metrics b { display: inline-block; margin-top: 4px; font-size: 24px; color: #132f52; }
.iv2-cost-metrics small { display: inline-block; margin-left: 2px; }
.iv2-cost-total td { background: #f7f9fc; }
.iv2-project-detail h4 { margin: 22px 0 12px; color: #163c68; font-size: 16px; }
.iv2-project-detail h4:first-child { margin-top: 0; }
.iv2-project-task-table { min-width: 760px; }
.iv2-project-task-table th, .iv2-project-task-table td { vertical-align: middle; }
.iv2-project-task-table td:nth-child(3), .iv2-project-task-table td:nth-child(4) { font-variant-numeric: tabular-nums; white-space: nowrap; }
.iv2-project-detail-basic { color: #13233b; }
.iv2-project-detail-basic h4 { margin: 22px 0 8px; padding: 0; }
.iv2-basic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 26px; }
.iv2-basic-item { min-width: 0; }
.iv2-basic-item.full { grid-column: 1 / -1; }
.iv2-basic-item span { display: block; margin-bottom: 3px; color: #617a9a; font-size: 12px; font-weight: 800; }
.iv2-basic-item b, .iv2-basic-item p { display: block; margin: 0; font-weight: 500; line-height: 1.65; overflow-wrap: anywhere; white-space: pre-wrap; }
.iv2-basic-tasks { display: grid; gap: 10px; }
.iv2-basic-task { display: grid; gap: 2px; padding: 0; background: transparent; border: 0; }
.iv2-basic-task b { font-weight: 800; }
.iv2-basic-task span, .iv2-basic-task small { color: #536f92; line-height: 1.6; }
@media (max-width: 640px) { .iv2-basic-grid { grid-template-columns: 1fr; } .iv2-basic-item.full { grid-column: auto; } }
@media (max-width: 640px) {
  .iv2-project-page .iv2-card-head { align-items: flex-start; }
  .iv2-project-new { padding: 8px 10px; }
  .iv2-project-search { padding: 12px; }
  .iv2-cost-metrics { grid-template-columns: 1fr; padding: 12px; }
}

.iv2-status-readout { display: flex; align-items: center; min-height: 47px; width: 100%; border: 1px solid #cbdceb; border-radius: 10px; padding: 13px 14px; font-weight: 800; }

/* New-invoice form mirrors invoice-v2-local.html: two columns, full project/amount rows, and a dashed file selector. */
.iv2-html-invoice-form .iv2-html-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
.iv2-html-invoice-form .iv2-html-form-grid.nested { gap: 16px 14px; }
.iv2-html-invoice-form .iv2-html-field { display: grid; gap: 8px; color: #173b62; font-weight: 800; }
.iv2-html-invoice-form .iv2-html-field > span { color: #6a7f9c; font-size: 12px; font-weight: 500; }
.iv2-html-invoice-form .iv2-html-field .iv2-input,
.iv2-html-invoice-form .iv2-html-field .iv2-select,
.iv2-html-invoice-form .iv2-html-field .iv2-textarea { width: 100%; min-width: 0; border-color: #cbdceb; border-radius: 10px; padding: 12px 14px; }
.iv2-html-invoice-form .span2 { grid-column: 1 / -1; }
.iv2-file-field { display: grid; gap: 8px; color: #173b62; font-weight: 800; }
.iv2-file-picker { display: flex; width: 100%; min-height: 52px; align-items: center; justify-content: center; border: 1px dashed #e8b84f; border-radius: 10px; background: #fffdf6; color: #8c6615; cursor: pointer; font-weight: 800; }
.iv2-file-picker:hover { border-color: #75af1e; background: #fbfff5; color: #477f18; }
.iv2-file-picker input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.iv2-file-picker span { pointer-events: none; }
.iv2-file-picker b { color: #8c6615; }
.iv2-file-picker em { font-style: normal; color: #477f18; }
.iv2-file-picker:has(input:valid) { border-color: #9ecb61; background: #fbfff5; }
@media (max-width: 640px) { .iv2-html-invoice-form .iv2-html-form-grid { grid-template-columns: 1fr; } .iv2-html-invoice-form .span2 { grid-column: auto; } }
.iv2-status-readout.good { border-color: #a8dfbd; background: #edf9f1; color: #147345; }
.iv2-status-readout.warn { border-color: #f1cf87; background: #fff7e4; color: #a76300; }
.iv2-status-readout.danger { border-color: #edc2c7; background: #fff0f1; color: #ba3443; }
.iv2-request-state.pending, .iv2-status-readout.pending { border-color: #d5dbe5; background: #f3f5f8; color: #687586; }
.iv2-request-state.passed, .iv2-status-readout.passed { border-color: #a8dfbd; background: #edf9f1; color: #147345; }
.iv2-request-state.rejected, .iv2-status-readout.rejected { border-color: #edc2c7; background: #fff0f1; color: #ba3443; }
.iv2-request-state.invoiced, .iv2-status-readout.invoiced { border-color: #b9d2f4; background: #edf5ff; color: #1768c9; }
.iv2-request-state.paid, .iv2-status-readout.paid { border-color: #ecd184; background: #fff7df; color: #9b6800; }

.iv2-is-busy { opacity: .78; cursor: wait; }
.iv2-click-feedback { position: relative; opacity: .78; cursor: wait; transform: translateY(1px); }
.iv2-click-feedback::after { content: ''; display: inline-block; width: 10px; height: 10px; margin-left: 6px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; vertical-align: -1px; animation: iv2-spin .65s linear infinite; }
.iv2-activity { position: fixed; z-index: 30; right: 28px; bottom: 28px; display: flex; align-items: center; gap: 10px; border: 1px solid #cfe2bd; border-radius: 10px; padding: 12px 16px; background: #fff; color: #29452d; font-weight: 800; box-shadow: 0 14px 34px rgba(16, 40, 25, .2); }
.iv2-activity i { width: 16px; height: 16px; border: 2px solid #c5dfa8; border-top-color: #68a72b; border-radius: 50%; animation: iv2-spin .7s linear infinite; }
@keyframes iv2-spin { to { transform: rotate(360deg); } }

/* The application shell follows invoice-v2-local.html exactly. */
.iv2-shell { grid-template-columns: 248px minmax(0, 1fr); }
.iv2-side { position: sticky; top: 0; height: 100vh; padding: 28px 17px; background: #142a3f; }
.iv2-brand { padding: 0 14px 29px; border: 0; color: #eaf3ff; font-size: 25px; font-weight: 800; }
.iv2-brand b { color: #c6f64e; }
.iv2-nav { gap: 7px; padding-top: 0; }
.iv2-nav button { padding: 12px 15px; border-radius: 10px; color: #c9d9e8; }
.iv2-nav button:hover, .iv2-nav button.active { background: #f5c842; color: #12283d; }
.iv2-side-foot { position: absolute; right: 18px; bottom: 24px; left: 18px; display: flex; align-items: center; gap: 10px; padding-top: 16px; border-top: 1px solid #ffffff1e; color: #a9bfce; font-size: 12px; }
.iv2-side-foot b, .iv2-side-foot small { display: block; }
.iv2-side-foot b { color: #fff; }
.iv2-avatar { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #8bcf32; color: #17314b; font-weight: 900; }
.iv2-main { padding: 0; }
.iv2-top { height: 75px; margin: 0; padding: 16px 30px; align-items: center; background: #fff; border-bottom: 1px solid #dce5f0; }
.iv2-top h2 { margin: 0; color: #123254; font-size: 23px; }
.iv2-top-right { display: flex; align-items: center; gap: 12px; color: #69809b; font-size: 12px; }
.iv2-top-badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 99px; background: #edf5e9; color: #568327; font-weight: 700; }
#iv2Content { max-width: 1600px; padding: 26px 30px; }
@media (max-width: 1000px) { .iv2-side { position: static; height: auto; } .iv2-side-foot { display: none; } }
.iv2-grid:has(.iv2-metric[data-request-metric]){grid-template-columns:repeat(3,minmax(0,1fr))}.iv2-metric[data-request-metric]{width:100%;text-align:left;color:var(--iv2-ink);font:inherit;cursor:pointer}.iv2-metric[data-request-metric].primary{border-color:var(--iv2-primary);box-shadow:0 0 0 2px rgba(20,99,217,.12)}
.iv2-request-applicant{white-space:nowrap;min-width:72px}
.iv2-btn[data-request-edit],
.iv2-btn[data-customer-edit],
.iv2-btn[data-title-edit],
.iv2-btn[data-partner-edit],
.iv2-btn[data-fx-edit] { border-color: #b7d1ff; background: #f7fbff; color: #1463d9; }
.iv2-btn[data-request-edit]:hover,
.iv2-btn[data-customer-edit]:hover,
.iv2-btn[data-title-edit]:hover,
.iv2-btn[data-partner-edit]:hover,
.iv2-btn[data-fx-edit]:hover { border-color: #1463d9; background: #eaf2ff; color: #0e54bf; }

/* Tables stay on one line: distribute each page's columns instead of squeezing text or wrapping actions. */
html,body,.iv2-shell,.iv2-main,#iv2Content{max-width:100%;overflow-x:hidden}.iv2-card,.iv2-card-head,.iv2-toolbar,.iv2-top,.iv2-cost-tools,.iv2-form-actions{min-width:0}.iv2-card-head,.iv2-top,.iv2-cost-tools,.iv2-form-actions{flex-wrap:wrap}.iv2-table-wrap{overflow-x:hidden}.iv2-table,.iv2-request-table,.iv2-project-table,.iv2-title-table,.iv2-project-task-table,.iv2-customer-table{width:100%;min-width:0;table-layout:fixed}.iv2-table th,.iv2-table td{min-width:0;padding:9px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.iv2-table td.actions{white-space:nowrap;overflow:visible;text-overflow:clip}.iv2-table td.actions .iv2-btn{min-width:0!important;margin:0 1px;padding:4px 5px;font-size:11px;line-height:1.2;letter-spacing:0}.iv2-request-table th:nth-child(1),.iv2-request-table td:nth-child(1){width:23%}.iv2-request-table th:nth-child(2),.iv2-request-table td:nth-child(2){width:9%}.iv2-request-table th:nth-child(3),.iv2-request-table td:nth-child(3){width:14%}.iv2-request-table th:nth-child(4),.iv2-request-table td:nth-child(4){width:9%}.iv2-request-table th:nth-child(5),.iv2-request-table td:nth-child(5),.iv2-request-table th:nth-child(6),.iv2-request-table td:nth-child(6){width:14%}.iv2-request-table th:nth-child(7),.iv2-request-table td:nth-child(7){width:17%}.iv2-project-table th:nth-child(1),.iv2-project-table td:nth-child(1){width:18%;white-space:normal;overflow-wrap:anywhere;line-height:1.4}.iv2-project-table th:nth-child(2),.iv2-project-table td:nth-child(2),.iv2-project-table th:nth-child(3),.iv2-project-table td:nth-child(3){width:9%}.iv2-project-table th:nth-child(4),.iv2-project-table td:nth-child(4),.iv2-project-table th:nth-child(5),.iv2-project-table td:nth-child(5),.iv2-project-table th:nth-child(6),.iv2-project-table td:nth-child(6){width:13%}.iv2-project-table th:nth-child(7),.iv2-project-table td:nth-child(7){width:12%}.iv2-project-table th:nth-child(8),.iv2-project-table td:nth-child(8){width:13%}.iv2-project-table td.actions,.iv2-title-table td.actions,.iv2-customer-table td.actions{white-space:normal;overflow:hidden;text-overflow:clip}.iv2-project-table td.actions .iv2-btn,.iv2-title-table td.actions .iv2-btn,.iv2-customer-table td.actions .iv2-btn{display:inline-flex;margin:2px 1px}.iv2-title-table th:nth-child(1),.iv2-title-table td:nth-child(1){width:27%}.iv2-title-table th:nth-child(2),.iv2-title-table td:nth-child(2){width:10%}.iv2-title-table th:nth-child(3),.iv2-title-table td:nth-child(3){width:15%}.iv2-title-table th:nth-child(4),.iv2-title-table td:nth-child(4){width:15%}.iv2-title-table th:nth-child(5),.iv2-title-table td:nth-child(5){width:8%}.iv2-title-table th:nth-child(6),.iv2-title-table td:nth-child(6){width:25%}.iv2-customer-table th:nth-child(1),.iv2-customer-table td:nth-child(1){width:23%}.iv2-customer-table th:nth-child(2),.iv2-customer-table td:nth-child(2),.iv2-customer-table th:nth-child(3),.iv2-customer-table td:nth-child(3){width:7%}.iv2-customer-table th:nth-child(4),.iv2-customer-table td:nth-child(4),.iv2-customer-table th:nth-child(5),.iv2-customer-table td:nth-child(5){width:8%}.iv2-customer-table th:nth-child(6),.iv2-customer-table td:nth-child(6){width:10%}.iv2-customer-table th:nth-child(7),.iv2-customer-table td:nth-child(7){width:8%}.iv2-customer-table th:nth-child(8),.iv2-customer-table td:nth-child(8){width:29%}.iv2-input,.iv2-select,.iv2-textarea{max-width:100%;min-width:0}
.iv2-customer-form .iv2-form-grid,.iv2-title-form .iv2-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 14px}.iv2-customer-form .iv2-field,.iv2-title-form .iv2-field{gap:8px;color:#173b62;font-weight:800}.iv2-customer-form .iv2-field label,.iv2-title-form .iv2-field label{color:#173b62}.iv2-customer-form .iv2-field .iv2-input,.iv2-customer-form .iv2-field .iv2-select,.iv2-customer-form .iv2-field .iv2-textarea,.iv2-title-form .iv2-field .iv2-input,.iv2-title-form .iv2-field .iv2-select,.iv2-title-form .iv2-field .iv2-textarea{width:100%;border-color:#cbdceb;border-radius:10px;padding:12px 14px}@media(max-width:900px){.iv2-customer-form .iv2-form-grid,.iv2-title-form .iv2-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.iv2-customer-form .iv2-form-grid,.iv2-title-form .iv2-form-grid{grid-template-columns:1fr}.iv2-customer-form .iv2-field.full,.iv2-title-form .iv2-field.full{grid-column:auto}}

/* Customer, invoice-title and partner tables should spend spare width on their content, not truncate it. */
.iv2-customer-table,.iv2-title-table,.iv2-partner-page .iv2-table,.iv2-rate-page .iv2-table{table-layout:auto}.iv2-customer-table th,.iv2-customer-table td,.iv2-title-table th,.iv2-title-table td,.iv2-partner-page .iv2-table th,.iv2-partner-page .iv2-table td,.iv2-rate-page .iv2-table th,.iv2-rate-page .iv2-table td{width:auto!important;overflow:visible;text-overflow:clip}.iv2-title-table td.actions,.iv2-customer-table td.actions,.iv2-partner-page .iv2-table td.actions{overflow:visible}

/* Reserve usable action space instead of compressing buttons into the final table column. */
.iv2-title-table td.actions{min-width:210px}.iv2-customer-table td.actions{min-width:230px}.iv2-partner-page .iv2-table td.actions{min-width:270px}.iv2-title-table td.actions .iv2-btn,.iv2-customer-table td.actions .iv2-btn,.iv2-partner-page .iv2-table td.actions .iv2-btn{margin:3px 2px;padding:5px 8px;font-size:12px}
@media (min-width:1001px){.iv2-side{position:fixed;top:0;bottom:0;left:0;width:248px;height:100vh;min-height:100vh;overflow-y:auto}.iv2-main{grid-column:2}}

/* Action cells must remain table cells; flex here breaks column sizing and overlaps buttons. */
.iv2-table td.actions{display:table-cell;gap:0}.iv2-project-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere;line-height:1.4}

/* Let request rows use their real content width and reserve space for every available action. */
.iv2-request-table{table-layout:auto}.iv2-request-table th,.iv2-request-table td{width:auto!important}.iv2-request-table td.actions{min-width:260px;white-space:normal;overflow:visible}.iv2-request-table td.actions .iv2-btn{margin:3px 2px;padding:5px 8px;font-size:12px}
