.check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:12px;border:1px solid var(--line);border-radius:9px}
.check-grid label{font-weight:500;font-size:13px;display:flex;align-items:center;gap:8px}
.field .check-grid input[type="checkbox"],.permission-table input[type="checkbox"]{width:auto;min-width:18px;height:18px;margin:0;flex:0 0 auto}
.preview-backdrop{z-index:60;padding:12px}
.preview-backdrop .file-preview{width:min(1200px,96vw)!important;height:min(860px,94vh)!important;max-width:none;max-height:none!important;overflow:hidden;display:flex;flex-direction:column}
.preview-backdrop .file-preview.fullscreen{position:fixed;inset:0;width:100vw!important;height:100vh!important;max-width:none;max-height:none;border-radius:0}
.preview-backdrop .file-preview-body{width:100%;flex:1 1 auto;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#202622}
.preview-backdrop .file-preview-media{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center}
.file-preview-frame{border:0;width:100%;height:100%;min-height:0;background:#f3f5f2}
.preview-tools{display:flex;gap:8px}
.repeat-list{display:grid;gap:8px}.repeat-row,.contact-upload,.address-search{display:flex;align-items:center;gap:8px}.repeat-row input,.contact-upload>input,.address-search>input{flex:1;min-width:0}.repeat-row button{flex:0 0 44px;padding:11px}.contact-upload label{flex:0 0 auto;white-space:nowrap}.contact-upload label input{display:none}.other-type{margin-top:10px}.other-type input{width:100%;padding:11px 13px;border:1px solid #becac1;border-radius:9px}.address-search button{white-space:nowrap}
.address-results{display:grid;gap:6px;margin-top:8px}.address-result{width:100%;padding:10px 12px;border:1px solid #c8d4cc;border-radius:8px;background:#f5f8f5;color:var(--ink);text-align:left}.address-result:hover{background:#e7f0ea}.address-results+button{margin-top:8px}
.attendee-detail{margin:0;padding-left:22px}.attendee-detail li{margin:5px 0}
.report-information{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-information>div{display:grid;gap:3px;padding:12px 14px;background:#f5f8f5;border:1px solid #e1e8e2;border-radius:9px}.report-information small{color:#6b7b74}.report-information b{overflow-wrap:anywhere}@media(max-width:760px){.report-information{grid-template-columns:1fr 1fr}}@media(max-width:420px){.report-information{grid-template-columns:1fr}}
.comment-composer{display:grid;gap:10px;margin-top:14px}.comment-composer .field{margin:0}.comment-composer textarea{width:100%;min-height:96px;padding:12px 13px;border:1px solid #becac1;border-radius:9px;resize:vertical}.comment-upload-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.comment-upload-row label{cursor:pointer}.comment-upload-row input{display:none}.comment-attachments{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.comment-attachments button{padding:7px 10px;font-size:12px}
.quick-create-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.quick-create-actions button{min-height:42px;padding:9px 13px}.request-options{display:flex;flex-wrap:wrap;gap:10px 18px;padding:12px;border:1px solid var(--line);border-radius:9px}.request-options label{white-space:nowrap}.request-file-button{display:inline-block;cursor:pointer}.request-file-button input{display:none}.calendar-controls{display:flex;align-items:center;gap:10px}.calendar-controls strong{min-width:150px;text-align:center}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays b{padding:10px;text-align:center;color:#687970;background:#f5f7f3;border-bottom:1px solid var(--line)}.calendar-day{min-height:128px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.calendar-day:nth-child(7n){border-right:0}.empty-day{background:#f7f8f5}.calendar-day>b{display:block;margin-bottom:6px;color:#65776e}.calendar-events{display:grid;gap:5px}.calendar-event{width:100%;padding:6px 7px;border:1px solid transparent;border-radius:7px;text-align:left;font-size:12px}.calendar-event small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.travel{background:#e5f0fb;color:#174e7a;border-color:#b9d5ee}.calendar-event.leave{background:#f5e9f8;color:#6d3478;border-color:#ddc4e4}.calendar-event.pending{border-style:dashed}.calendar-event.rejected{opacity:.55;text-decoration:line-through}.calendar-legend{display:flex;align-items:center;gap:12px;margin-top:12px}.calendar-legend span{padding:5px 10px;border-radius:999px;font-size:12px}.calendar-legend .travel{background:#e5f0fb;color:#174e7a}.calendar-legend .leave{background:#f5e9f8;color:#6d3478}
.calendar-title h1{white-space:nowrap;max-width:none}.calendar-filters{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;flex-wrap:wrap}.calendar-filters input,.calendar-filters select{min-width:145px;max-width:210px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.calendar-filters input{min-width:190px;flex:1}.calendar-filters input[type="date"]{min-width:145px;flex:0 0 150px}
.calendar-filter-results{margin:0 0 16px;padding:14px}.calendar-filter-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.calendar-filter-results-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-filter-result{display:grid;grid-template-columns:minmax(150px,1.05fr) minmax(165px,.9fr) minmax(90px,.45fr) minmax(170px,1fr) minmax(170px,.9fr);gap:12px;align-items:center;width:100%;padding:11px 12px;border:0;border-top:1px solid var(--line);background:#fff;color:var(--ink);text-align:left}.calendar-filter-result:hover{background:#f5f8f5}.calendar-filter-result span{min-width:0}.calendar-filter-result small{display:block;margin-top:3px;color:var(--muted)}
.report-draft-picker{margin:0 0 18px;padding:16px;border:1px solid #cbd9d0;border-radius:12px;background:#f7faf7}.report-draft-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.report-draft-picker-head h3{margin:4px 0 0}.report-draft-list{display:grid;gap:8px}.report-draft-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.report-draft-row small{display:block;margin-top:3px;color:var(--muted)}
.report-snippet{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;line-height:1.35;max-height:4.05em}
.visit-only[hidden]{display:none}
.scope-row{display:grid;grid-template-columns:120px minmax(160px,1fr) repeat(5,auto) auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.scope-row select,.scope-row input[data-scope-value]{padding:9px;border:1px solid var(--line);border-radius:7px;min-width:0}
.scope-row label{white-space:nowrap;font-size:12px}
@media(max-width:900px){.scope-row{grid-template-columns:1fr 1fr}.scope-row label{white-space:normal}}
@media(max-width:760px){.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-row{grid-template-columns:1fr}.contact-upload,.address-search{align-items:stretch;flex-direction:column}.contact-upload label,.address-search button{width:100%;text-align:center}.modal-backdrop{height:100dvh;min-height:100dvh}.modal{height:100dvh!important;max-height:100dvh!important;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-head{position:static;padding:14px 16px}.modal-head h2{font-size:27px;margin:3px 0}.modal-head .eyebrow{font-size:10px}.modal-body{padding:16px}.field{margin:10px 0;scroll-margin-top:20vh;scroll-margin-bottom:30vh}.field input,.field select,.field textarea{font-size:16px;min-height:48px}.actions{position:static;padding:14px 16px calc(16px + env(safe-area-inset-bottom));flex-wrap:wrap}.actions .primary,.actions .secondary,.actions .danger{min-height:48px}.repeat-row{align-items:stretch}.repeat-row button{min-width:48px}.kind{gap:8px}.kind label{padding:11px}.report-snippet{-webkit-line-clamp:2;line-clamp:2;max-height:2.7em}.comment-upload-row{display:grid;grid-template-columns:1fr}.comment-upload-row label,.comment-upload-row button{width:100%;min-height:48px;text-align:center}}
@media(max-width:760px){.quick-create-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}.quick-create-actions button{min-width:0;padding:9px 5px;font-size:12px;white-space:normal}.calendar-title{align-items:stretch;flex-wrap:wrap}.calendar-title h1{white-space:normal}.calendar-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.calendar-filters input,.calendar-filters select,.calendar-filters input[type="date"]{width:100%;max-width:none;min-width:0;flex:auto}.calendar-filters input[data-calendar-filter="q"]{grid-column:1/-1}.calendar-filter-result{grid-template-columns:1fr;gap:5px}.report-draft-picker-head{align-items:flex-start}.report-draft-row{grid-template-columns:1fr 1fr}.report-draft-row span{grid-column:1/-1}.calendar-controls{justify-content:space-between;width:100%}.team-calendar{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:760px}.calendar-day{min-height:112px}.calendar-legend{flex-wrap:wrap}}

/* Travel/leave controls must not inherit full-width text-input styling. */
.request-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;align-items:center}
.request-options label{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}
.request-options input[type="checkbox"]{width:18px!important;height:18px!important;min-height:0!important;flex:0 0 18px;margin:0}
@media(max-width:760px){
  .request-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;padding:14px}
  .request-options label{font-size:14px}
}

/* Full-width expense empty state: do not let first-column/card rules squeeze the message. */
.expense-table tbody td.empty{
  display:table-cell!important;
  width:auto!important;
  min-width:0!important;
  padding:44px 24px!important;
  text-align:center!important;
  color:#6b7b74;
  font-size:15px!important;
  line-height:1.5!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
@media(max-width:760px){
  .expense-table tbody tr:has(>td.empty){display:block!important;padding:0!important;border-bottom:0!important}
  .expense-table tbody td.empty{display:block!important;width:100%!important;padding:34px 18px!important}
}
.owner-finance-section{margin-top:22px;padding-top:18px;border-top:2px solid #dce6df}.owner-finance-section>p{color:#5d7066}.owner-finance-section .check-grid label{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8faf8}.owner-finance-section .check-grid span{display:grid;gap:2px}.owner-finance-section small{color:#6b7b74}
@media(max-width:760px){
  .panel>.panel-head{padding:16px;margin:0;align-items:stretch}
  .expense-section-heading{padding-left:0!important;margin-left:0!important}
  .managed-claims-panel .panel-head{display:grid;gap:10px;padding:16px}
  .managed-claims-panel .panel-head p{margin:0;line-height:1.4}
  .managed-claims-panel select{width:100%;max-width:none;min-height:46px;margin:0}
  .managed-claims-panel .claim-cards,.panel>.claim-cards{padding:0 12px 12px}
  .expense-table tbody tr{grid-template-columns:32px 102px minmax(118px,1fr)!important;grid-template-rows:auto auto auto!important;gap:4px 10px!important;padding:10px 10px!important}
  .expense-table tbody td:nth-child(1){grid-column:1!important;grid-row:1/4!important;align-self:center}
  .expense-table tbody td:nth-child(2){grid-column:2!important;grid-row:1!important;white-space:nowrap!important}
  .expense-table tbody td:nth-child(3){grid-column:3!important;grid-row:1!important;font-weight:700}
  .expense-table tbody td:nth-child(4){grid-column:2/4!important;grid-row:2!important;display:block!important;-webkit-line-clamp:unset!important;white-space:normal;overflow-wrap:anywhere}
  .expense-table tbody td:nth-child(5),.expense-table tbody td:nth-child(7){display:none!important}
  .expense-table tbody td:nth-child(6){display:block!important;grid-column:3!important;grid-row:3!important;text-align:right;font-weight:700;white-space:nowrap}
  .expense-table tbody td:nth-child(8){display:flex!important;grid-column:2!important;grid-row:3!important;justify-content:flex-start!important;align-items:center;gap:8px;padding-left:0!important}
  .expense-table tbody td.empty{display:block!important;grid-column:1/-1!important;grid-row:1!important;width:100%;padding:34px 16px!important;text-align:center;white-space:normal;overflow-wrap:normal;word-break:normal}
  .expense-table tbody tr:has(td.empty){display:block!important;padding:0!important}
  .expense-row-actions .secondary{min-width:58px}
  .expense-row-actions .danger{min-width:42px}
  .expense-row-actions button{min-height:34px;padding:5px 10px;font-size:12px;white-space:nowrap}
}
.sidebar .brand small{display:block;line-height:1.15;white-space:normal}
.app-version{display:block;margin-top:6px;color:inherit;font-size:.9em;font-weight:900;letter-spacing:.025em;line-height:1.1;text-transform:none}
.expense-summary.expense-summary-single{grid-template-columns:minmax(0,1fr)}
.expense-summary.expense-summary-single>div{padding:16px 18px}
.compact-empty-claims .panel-head{padding-bottom:8px!important}
.compact-empty-claims .claim-cards{padding:0 22px 14px!important}
.compact-empty-claims .claim-cards .empty{margin:0;padding:10px 0 2px;text-align:center;color:#6b7b74}
.managed-claims-panel [data-managed-claim][style*="display: none"]{display:none!important}

/* 2.3.7 expense page spacing pass: keep panel contents away from hard edges. */
.content>.panel>.panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px 18px;padding:22px 22px 16px!important;margin:0!important}
.content>.panel>.panel-head>div{min-width:0}
.content>.panel>.panel-head h2{margin:0 0 8px}
.content>.panel>.panel-head p{margin:0;line-height:1.45}
.content>.panel>.panel-head .expense-list-controls{grid-column:2;grid-row:1/3;align-self:end}
.content>.panel>.panel-head .submit-claim-button{grid-column:1;justify-self:start;margin-top:10px}
.content>.panel>.claim-cards{padding:0 22px 22px}
.managed-claims-panel .panel-head{grid-template-columns:minmax(0,1fr) 260px}
.managed-claims-panel select{width:100%;min-height:42px}
.sidebar .userbox{padding:16px 10px 4px}
.sidebar .userbox small{line-height:1.35;overflow-wrap:anywhere}
.sidebar .userbox button{display:inline-block;margin-top:12px}
@media(max-width:760px){
  .content>.panel>.panel-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:16px!important}
  .content>.panel>.panel-head .expense-list-controls{grid-column:auto!important;grid-row:auto!important;align-self:stretch}
  .content>.panel>.panel-head .submit-claim-button{width:100%;margin-top:0}
  .content>.panel>.claim-cards{padding:0 12px 12px}
  .managed-claims-panel select{width:100%;max-width:none}
  .expense-table tbody tr{grid-template-columns:32px 108px minmax(112px,1fr)!important;grid-template-rows:auto auto auto!important;gap:4px 10px!important;padding:10px!important}
  .expense-table tbody td:nth-child(1){grid-column:1!important;grid-row:1/4!important;align-self:center}
  .expense-table tbody td:nth-child(2){grid-column:2!important;grid-row:1!important;white-space:nowrap!important;font-size:12px!important}
  .expense-table tbody td:nth-child(3){grid-column:3!important;grid-row:1!important;font-weight:700;padding-left:6px!important}
  .expense-table tbody td:nth-child(4){grid-column:2/4!important;grid-row:2!important;display:block!important;white-space:normal;overflow-wrap:anywhere}
  .expense-table tbody td:nth-child(6){display:block!important;grid-column:3!important;grid-row:3!important;text-align:right;font-weight:700;white-space:nowrap}
  .expense-table tbody td:nth-child(8){display:flex!important;grid-column:2!important;grid-row:3!important;justify-content:flex-start!important;align-items:center;gap:8px;padding-left:0!important}
  .expense-row-actions .secondary{min-width:64px}
  .expense-row-actions .danger{min-width:42px}
  .expense-row-actions button{min-height:34px;padding:5px 10px;font-size:12px;white-space:nowrap}
}
.leave-hidden-date{display:none}.leave-picker{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfa}.leave-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.leave-picker-head>div:first-child{display:grid;gap:4px}.leave-picker-head small{color:#6b7b74;font-weight:400}.leave-picker-nav{display:flex;align-items:center;gap:8px}.leave-picker-nav strong{min-width:135px;text-align:center}.leave-picker-nav button{padding:7px 11px}.leave-picker-weekdays,.leave-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.leave-picker-weekdays b{padding:7px;text-align:center;font-size:12px;color:#6b7b74}.leave-picker-day{min-height:92px;padding:7px;border:1px solid #e0e7e1;margin:-1px 0 0 -1px;background:#fff}.leave-picker-day>b{display:block;margin-bottom:6px;color:#50645a}.leave-picker-day.empty,.leave-picker-day.weekend{background:#f2f4f1;color:#96a199}.leave-picker-day.weekend small{display:block;margin-top:14px;text-align:center;font-size:10px}.leave-picker-day.selected{background:#edf6f0}.leave-portions{display:grid;grid-template-columns:1fr 1fr;gap:4px}.leave-portions button{min-width:0;padding:5px 3px;border:1px solid #cdd9d0;border-radius:5px;background:#fff;color:#52635a;font-size:10px}.leave-portions button:first-child{grid-column:1/-1}.leave-portions button.active{background:var(--green,#23734d);border-color:var(--green,#23734d);color:#fff}.leave-selection-summary,.leave-detail-days{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.leave-selection-summary span,.leave-detail-days span{padding:5px 8px;border-radius:999px;background:#e6f1e9;color:#245b3e;font-size:12px}.leave-total-field input{font-weight:700;background:#f4f8f5}
.admin-user-card{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:24px;margin:0;padding:18px 0;border-bottom:1px solid var(--line)}.admin-user-info{display:grid;gap:5px;min-width:0}.admin-user-name{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.admin-user-name>b{font-size:17px}.account-type{display:inline-flex;padding:4px 9px;border-radius:999px;background:#e7f1eb;color:#1f6244;font-size:11px;font-weight:700;line-height:1}.admin-job-title{color:#40564b}.admin-user-info small{display:flex;align-items:center;gap:12px;color:#718078}.status-dot{display:inline-flex;align-items:center;gap:5px;text-transform:capitalize}.status-dot:before{content:'';width:7px;height:7px;border-radius:50%;background:#a8afa9}.status-dot.active:before{background:#2d925f}.admin-user-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-user-actions button{min-width:110px}.admin-user-actions .danger{min-width:80px}
.report-reminder-toggle{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin-top:5px;color:#40564b;font-size:13px;font-weight:600}.report-reminder-toggle input{width:17px!important;height:17px!important;min-height:0!important;margin:0;flex:0 0 17px}
.session-reauth{z-index:120}.session-reauth-card{width:min(460px,calc(100vw - 28px));height:auto!important;max-height:calc(100dvh - 28px)!important}.session-reauth-card .modal-body{padding-bottom:10px}.session-reauth-card p{margin-top:0;color:#53665c;line-height:1.5}
.report-filter-panel{display:grid;gap:10px;margin-bottom:16px}.report-filter-fields{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(145px,1fr));gap:10px}.report-filter-fields input,.report-filter-fields select{width:100%;min-width:0;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#fff}.report-filter-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.report-number{width:48px;text-align:center;font-weight:700;color:#5f7168}
.report-history-table{table-layout:fixed;min-width:1180px}.report-history-table .col-select{width:42px}.report-history-table .col-number{width:48px}.report-history-table .col-date{width:116px}.report-history-table .col-customer{width:240px}.report-history-table .col-discussion{width:auto}.report-history-table .col-follow-up{width:250px}.report-history-table .col-owner{width:90px}.report-history-table .col-status{width:112px}.report-history-table th,.report-history-table td{vertical-align:middle}.report-history-table .report-select,.report-history-table .report-number{text-align:center;padding-left:6px;padding-right:6px}.report-history-table .report-date{white-space:nowrap}.report-history-table .search-item{margin:0}.report-history-table .report-discussion,.report-history-table .report-follow-up{overflow-wrap:anywhere}.comment-manage{float:right;display:flex;gap:6px;margin-left:12px}.comment-manage button{padding:5px 9px;font-size:12px}
.report-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:#fafbf9}.report-pagination>div{display:flex;align-items:center;gap:10px}.report-pagination strong{min-width:110px;text-align:center}.report-pagination button:disabled{opacity:.45;cursor:not-allowed}
.report-history-table tbody tr[data-history-row]{cursor:pointer}
.report-history-table .report-customer,.report-history-table .report-customer .search-item,.report-history-table .report-customer b{white-space:normal;overflow:visible;text-overflow:clip;max-height:none}.report-history-table .report-customer b{display:block;overflow-wrap:anywhere}

.customer-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.customer-filters .report-filter-fields{grid-template-columns:minmax(0,2fr) repeat(3,minmax(120px,1fr))}
.customer-card{display:block;text-align:left;width:100%;padding:18px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--text);cursor:pointer}
.customer-card:hover{border-color:var(--primary);box-shadow:0 8px 22px rgba(15,47,36,.08)}
.customer-card b{display:block;font-size:18px;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.customer-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.customer-card-wrap{display:flex;align-items:flex-start;gap:8px;min-width:0}
.customer-select-box{padding-top:16px;flex:0 0 auto}
.customer-card .customer-number{float:left;display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;margin:-2px 8px 4px 0;border-radius:999px;background:#d7ef92;color:#176345;font-size:12px;line-height:1;font-weight:800}
.customer-card small{display:block;color:var(--muted);line-height:1.4}
.customer-card span:not(.customer-number){display:block;color:#284236;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.section-title-row h3{margin:0}
.contact-list{display:grid;gap:10px}
.contact-row,.trash-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.contact-row:last-child,.trash-row:last-child{border-bottom:0}
.contact-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#eaf4ed;display:grid;place-items:center;color:#176345;font-size:18px;font-weight:800;flex:0 0 auto}
.contact-avatar-placeholder{font-size:17px}
.contact-details{display:grid;gap:3px;min-width:0}
.contact-details b,.trash-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-details small,.trash-row small{color:var(--muted);overflow-wrap:anywhere}

@media(max-width:760px){
  .report-history-table{min-width:0!important;width:100%!important;display:block!important}
  .report-history-table colgroup,.report-history-table thead{display:none!important}
  .report-history-table tbody{display:block!important}
  .report-history-table tbody tr[data-history-row]{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;gap:7px 12px!important;margin:10px 0!important;padding:13px 14px!important;border:1px solid var(--border)!important;border-radius:16px!important;background:#fff!important}
  .report-history-table tbody td{display:block!important;border:0!important;padding:0!important;min-width:0!important}
  .report-history-table tbody td.report-number{grid-column:1;grid-row:1;text-align:center;font-size:13px;font-weight:900;color:var(--muted);align-self:center}
  .report-history-table tbody td.report-status{grid-column:2;grid-row:1;justify-self:start;align-self:center}
  .report-history-table tbody td.report-select{grid-column:1;grid-row:2;align-self:center;text-align:center}
  .report-history-table tbody td.report-date{grid-column:2;grid-row:2;font-size:14px;white-space:nowrap;align-self:center;padding-right:44%!important}
  .report-history-table tbody td.report-owner{grid-column:2;grid-row:2;justify-self:end;align-self:center;max-width:42%;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .report-history-table tbody td.report-customer{grid-column:1/3;grid-row:3}
  .report-history-table tbody td.report-customer .search-item{width:100%;padding:0!important;margin:0!important;border:0!important;background:transparent!important;text-align:left}
  .report-history-table tbody td.report-customer b{font-size:16px;line-height:1.25;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:var(--text)}
  .report-history-table tbody td.report-customer small{display:block;margin-top:3px;color:var(--muted)}
  .report-history-table tbody td.report-discussion,.report-history-table tbody td.report-follow-up{display:none!important}
  .customer-directory{grid-template-columns:1fr}
  .customer-card{padding:14px}
}
@media(max-width:1100px){.report-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-fields input{grid-column:1/-1}}
@media(max-width:760px){.report-filter-fields{grid-template-columns:1fr}.report-filter-fields input{grid-column:auto}.report-filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-actions button{width:100%;min-width:0}.report-filter-actions #clearReportFilters{grid-column:1/-1}}

/* 3.0.1 mobile report list: tighter cards and visible owner names. */
@media(max-width:760px){
  .report-history-table tbody tr[data-history-row]{grid-template-columns:34px minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:4px 8px!important;margin:6px 0!important;padding:9px 10px!important;border-radius:12px!important}
  .report-history-table tbody td.report-number{grid-column:1;grid-row:1;font-size:11px!important}
  .report-history-table tbody td.report-status{grid-column:2;grid-row:1;justify-self:start}
  .report-history-table tbody td.report-status .badge{font-size:11px!important;padding:3px 9px!important}
  .report-history-table tbody td.report-select{grid-column:1;grid-row:2}
  .report-history-table tbody td.report-date{grid-column:2;grid-row:2;font-size:13px!important;padding-right:0!important}
  .report-history-table tbody td.report-owner{grid-column:3;grid-row:2;max-width:96px!important;font-size:12px!important;color:var(--muted);white-space:nowrap;overflow:visible;text-overflow:clip}
  .report-history-table tbody td.report-customer{grid-column:1/4;grid-row:3}
  .report-history-table tbody td.report-customer b{font-size:15px!important;line-height:1.15!important}
  .report-history-table tbody td.report-customer small{margin-top:1px!important;font-size:12px!important;line-height:1.2!important}
  .report-history-table tbody input[type="checkbox"]{width:22px!important;height:22px!important}
}

/* 3.0.1 sidebar email: smaller and cleaner in the bottom user box. */
.sidebar .userbox small{
  font-size:10px!important;
  line-height:1.1!important;
  letter-spacing:-.035em;
  max-width:100%;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
}
@media(max-width:760px){.leave-picker-head{display:grid}.leave-picker-nav{justify-content:space-between}.leave-picker-weekdays,.leave-picker-grid{min-width:630px}.leave-picker{overflow-x:auto}.leave-picker-day{min-height:96px}}
@media(max-width:760px){.admin-user-card{grid-template-columns:1fr;gap:12px;padding:16px 0}.admin-user-actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.admin-user-actions button{width:100%;min-width:0}.admin-user-actions .danger{grid-column:1/-1}.admin-user-info small{align-items:flex-start;flex-direction:column;gap:5px}}
.expense-top-actions{display:flex;gap:9px;flex-wrap:wrap}.expense-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.expense-summary>div{display:grid;gap:4px;padding:18px;border:1px solid var(--line);border-radius:11px;background:#fff}.expense-summary b{font-size:24px;color:var(--module-primary,var(--green,#1e5d43))}.expense-summary span{color:#6b7b74}.expense-table{min-width:920px}.expense-table td{vertical-align:middle}.expense-delete{min-width:34px;padding:6px}.receipt-state{display:inline-flex;padding:4px 8px;border-radius:99px;background:#eef1ef;font-size:11px;text-transform:capitalize}.receipt-state.attached{background:color-mix(in srgb,var(--module-accent,var(--green2,#17603b)) 12%,#fff);color:var(--module-primary,var(--green,#17603b))}.receipt-state.no_receipt{background:#fff1dd;color:#80520b}.claim-cards{display:grid;gap:8px}.claim-card{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:15px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left}.claim-card span{display:grid;gap:4px}.claim-card span:last-child{text-align:right}.claim-card small{color:#6b7b74}.expense-receipt-button{display:block;text-align:center;cursor:pointer}.expense-receipt-button input{display:none}.info-box{padding:13px;border-radius:8px;background:color-mix(in srgb,var(--module-accent,var(--green2,#315944)) 10%,#fff);color:var(--module-primary,var(--green,#315944));max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.claim-trash-panel{border-style:dashed;background:#fffdfd}.claim-trash-list{display:grid;gap:10px;padding:0 22px 22px}.claim-trash-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.claim-trash-actions{display:flex;gap:8px;flex-wrap:wrap}.claim-trash-actions button{white-space:nowrap}
@media(max-width:760px){.expense-summary{grid-template-columns:1fr}.expense-top-actions{display:grid;grid-template-columns:1fr;width:100%}.expense-top-actions button{width:100%}.claim-card{align-items:flex-start;flex-direction:column}.claim-card span:last-child{text-align:left}.claim-trash-list{padding:0 12px 14px}.claim-trash-card{grid-template-columns:1fr}.claim-trash-actions{justify-content:flex-start}}
.expense-row-actions,.receipt-source-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.expense-row-actions button{min-width:auto;padding:7px 9px}.receipt-source-actions{margin-bottom:18px}.receipt-source-actions>label{flex:1;min-width:190px}.claim-rate-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:13px;margin:10px 0;border:1px solid var(--line);border-radius:9px;background:#fafcf9}.youbiz-heading{margin-top:28px}.expense-category-admin{margin-top:18px}.expense-category-admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.expense-category-admin-row span{display:grid;gap:4px}.expense-category-admin-row small{color:#718078}.receipt-crop-overlay{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:14px;background:rgba(4,14,9,.85)}.receipt-crop-card{display:grid;gap:14px;width:min(760px,100%);max-height:calc(100dvh - 28px);padding:18px;border-radius:13px;background:#fff;color:#183229;overflow:auto}.receipt-crop-card h2{margin:4px 0}.receipt-canvas-wrap{display:grid;place-items:center;min-height:260px;background:#111;overflow:hidden;touch-action:none}.receipt-canvas-wrap canvas{display:block;max-width:100%;max-height:65dvh;touch-action:none}.receipt-crop-card .actions{padding:0;border:0}
#expenseCapture .field[hidden],#claimBuilder .field[hidden]{display:none!important}
#expenseCapture .expense-description-field[hidden]{display:block!important}
#expenseCapture .expense-receipt-field[hidden],#expenseCapture .expense-receipts-field[hidden]{display:block!important}
.expense-section-heading{color:var(--module-primary,var(--green,#176345))!important;padding-left:1.1rem;margin-top:.7rem!important}
.managed-claims-panel{margin-top:1.25rem}.managed-claims-panel .panel-head{align-items:center}.managed-claims-panel select{max-width:260px}
.claim-permission-admin{margin-top:1.25rem}.claim-permission-admin th,.claim-permission-admin td{vertical-align:middle}.claim-permission-admin input[type="checkbox"]{width:20px;height:20px}
.claim-selection-editor{border:1px solid #d6e0da;border-radius:10px;padding:12px;background:#f7faf8}.claim-selection-editor>p{margin:4px 0 10px;color:#5a6d63}.claim-selection-editor>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #e1e8e4}.claim-selection-editor .danger{padding:6px 10px}
.claim-permission-users .admin-user-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px;padding:16px}.claim-permission-users .admin-user-card{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;border:1px solid #d7dfda;background:#fff;border-radius:10px;padding:14px;color:#17372b}.claim-permission-users .admin-user-card span{display:flex;flex-direction:column;gap:3px}.claim-permission-users .admin-user-card:hover{border-color:#176345;background:#f3f8f5}
.existing-expense-receipts{display:grid;gap:7px;margin-top:10px}.existing-expense-receipts>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid #d8e1dc;border-radius:8px;background:#f8faf9}.existing-expense-receipts>div span{display:grid;min-width:0}.existing-expense-receipts b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.existing-expense-receipts small{color:#64776d}.file-preview-body img{display:block;max-width:100%;max-height:100%;object-fit:contain}.file-preview-body iframe{width:100%;height:100%;border:0}.expense-list-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.expense-list-controls [data-expense-page]{min-width:92px;text-align:center;font-weight:700}.modal .expense-table{font-size:11pt}
@media(max-width:760px){.expense-list-controls{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:8px}.expense-list-controls [data-expense-page]{grid-column:1/-1;grid-row:2}.expense-list-controls button{min-width:0;padding:8px 6px}.expense-table{min-width:0!important;width:100%}.expense-table thead{display:none}.expense-table tbody{display:grid}.expense-table tbody tr{display:grid;grid-template-columns:30px 78px minmax(90px,1fr) minmax(105px,1.25fr);align-items:center;column-gap:7px;padding:7px 8px;border-bottom:1px solid var(--line)}.expense-table tbody td{display:block;padding:4px 0;border:0;min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.25}.expense-table tbody td:nth-child(5),.expense-table tbody td:nth-child(6),.expense-table tbody td:nth-child(7){display:none}.expense-table tbody td:nth-child(8){grid-column:2/-1;display:flex;justify-content:flex-end;padding-top:5px}.expense-table tbody td:nth-child(2){white-space:nowrap;font-size:12px}.expense-table tbody td:nth-child(3){font-weight:700}.expense-row-actions button{padding:6px 9px;min-height:36px}.existing-expense-receipts>div{grid-template-columns:1fr auto}.existing-expense-receipts>div .danger{grid-column:2}.existing-expense-receipts>div .secondary{grid-column:2}.file-preview{width:100vw!important;height:100dvh!important}.file-preview-body{flex:1;min-height:0}}
@media(max-width:760px){.modal .expense-table{min-width:920px!important;display:table}.modal .expense-table thead{display:table-header-group}.modal .expense-table tbody{display:table-row-group}.modal .expense-table tbody tr{display:table-row}.modal .expense-table tbody td{display:table-cell;padding:7px;border-bottom:1px solid var(--line);font-size:11pt}.modal .expense-table tbody td:nth-child(5),.modal .expense-table tbody td:nth-child(6),.modal .expense-table tbody td:nth-child(7),.modal .expense-table tbody td:nth-child(8){display:table-cell}}
@media(max-width:760px){.claim-rate-row{grid-template-columns:1fr}.receipt-source-actions{display:grid;grid-template-columns:1fr}.receipt-source-actions>label{min-width:0;width:100%}.expense-row-actions{flex-wrap:nowrap}.receipt-crop-card{padding:13px}.receipt-canvas-wrap canvas{max-height:58dvh}}
@media(max-width:760px){
  .expense-top-actions{display:block}.expense-top-actions #quickExpense{width:100%}
  .panel-head .submit-claim-button{width:100%;margin-top:8px}
  .expense-list-controls{grid-template-columns:1fr 1fr;gap:6px}
  .expense-list-controls [data-expense-page]{grid-row:auto;grid-column:1/-1;order:-1}
  .expense-table tbody tr{grid-template-columns:32px 62px minmax(88px,1fr) minmax(82px,1fr);grid-template-rows:auto auto;gap:3px 7px;padding:8px 7px;min-height:0}
  .expense-table tbody td{font-size:12px!important;line-height:1.18;padding:2px 0!important}
  .expense-table tbody td:nth-child(1){grid-column:1;grid-row:1/3;align-self:center}
  .expense-table tbody td:nth-child(2){grid-column:2;grid-row:1;white-space:normal;font-size:11px!important}
  .expense-table tbody td:nth-child(3){grid-column:3;grid-row:1;font-size:12px!important}
  .expense-table tbody td:nth-child(4){grid-column:4;grid-row:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .expense-table tbody td:nth-child(6){display:block;grid-column:3/5;grid-row:2;text-align:right;font-size:12px!important}
  .expense-table tbody td:nth-child(8){grid-column:2;grid-row:2;justify-content:flex-start!important;padding-top:1px!important}
  .expense-row-actions button{min-height:30px;padding:3px 7px;font-size:11px}
}
.receipt-canvas-wrap canvas{cursor:crosshair;-webkit-user-select:none;user-select:none}
.claim-finance-managers{margin-top:24px;padding-top:20px;border-top:2px solid #dce6df}.claim-finance-managers .check-grid label{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#f8faf8}.claim-finance-managers .check-grid span{display:grid;gap:3px}.claim-finance-managers small{color:#6b7b74}.modal .meta{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
@media(max-width:760px){
  .panel>.panel-head{padding:16px!important;margin:0!important;align-items:stretch!important}
  .expense-section-heading{padding-left:0!important;margin-left:0!important}
  .managed-claims-panel .panel-head{display:grid!important;gap:10px!important;padding:16px!important}
  .managed-claims-panel .panel-head p{margin:0!important;line-height:1.4}
  .managed-claims-panel select{width:100%!important;max-width:none!important;min-height:46px;margin:0!important}
  .managed-claims-panel .claim-cards,.panel>.claim-cards{padding:0 12px 12px}
  .expense-table tbody tr{grid-template-columns:32px minmax(76px,.75fr) minmax(126px,1.25fr)!important;grid-template-rows:auto auto auto!important;gap:4px 8px!important;padding:10px 9px!important}
  .expense-table tbody td:nth-child(1){grid-column:1!important;grid-row:1/4!important;align-self:center}
  .expense-table tbody td:nth-child(2){grid-column:2!important;grid-row:1!important;white-space:normal!important}
  .expense-table tbody td:nth-child(3){grid-column:3!important;grid-row:1!important;font-weight:700}
  .expense-table tbody td:nth-child(4){grid-column:2/4!important;grid-row:2!important;display:block!important;-webkit-line-clamp:unset!important;white-space:normal;overflow-wrap:anywhere}
  .expense-table tbody td:nth-child(5),.expense-table tbody td:nth-child(7){display:none!important}
  .expense-table tbody td:nth-child(6){display:block!important;grid-column:3!important;grid-row:3!important;text-align:right;font-weight:700;white-space:nowrap}
  .expense-table tbody td:nth-child(8){display:flex!important;grid-column:2!important;grid-row:3!important;justify-content:flex-start!important;align-items:center;gap:6px}
  .expense-table tbody td.empty{display:block!important;grid-column:1/-1!important;grid-row:1!important;width:100%;padding:34px 16px!important;text-align:center;white-space:normal;overflow-wrap:normal;word-break:normal}
  .expense-table tbody tr:has(td.empty){display:block!important;padding:0!important}
  .expense-row-actions button{min-width:42px;min-height:34px;padding:5px 9px;font-size:12px}
}

/* Final 2.3.7 override: this must stay after older mobile rules. */
.content>.panel>.panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px 18px;padding:22px 22px 16px!important;margin:0!important}
.content>.panel>.panel-head>div{min-width:0}.content>.panel>.panel-head h2{margin:0 0 8px}.content>.panel>.panel-head p{margin:0;line-height:1.45}
.content>.panel>.panel-head .expense-list-controls{grid-column:2;grid-row:1/3;align-self:end}.content>.panel>.panel-head .submit-claim-button{grid-column:1;justify-self:start;margin-top:10px}
.content>.panel>.claim-cards{padding:0 22px 22px}.managed-claims-panel .panel-head{grid-template-columns:minmax(0,1fr) 260px}.managed-claims-panel select{width:100%;min-height:42px}
.sidebar .userbox{padding:16px 10px 4px}.sidebar .userbox small{line-height:1.35;overflow-wrap:anywhere}.sidebar .userbox button{display:inline-block;margin-top:12px}
@media(max-width:760px){
  .content>.panel>.panel-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:16px!important}
  .content>.panel>.panel-head .expense-list-controls{grid-column:auto!important;grid-row:auto!important;align-self:stretch}.content>.panel>.panel-head .submit-claim-button{width:100%;margin-top:0}
  .content>.panel>.claim-cards{padding:0 12px 12px}.managed-claims-panel select{width:100%;max-width:none}
  .expense-table tbody tr{grid-template-columns:32px 108px minmax(112px,1fr)!important;grid-template-rows:auto auto auto!important;gap:4px 10px!important;padding:10px!important}
  .expense-table tbody td:nth-child(1){grid-column:1!important;grid-row:1/4!important;align-self:center}
  .expense-table tbody td:nth-child(2){grid-column:2!important;grid-row:1!important;white-space:nowrap!important;font-size:12px!important}
  .expense-table tbody td:nth-child(3){grid-column:3!important;grid-row:1!important;font-weight:700;padding-left:6px!important}
  .expense-table tbody td:nth-child(4){grid-column:2/4!important;grid-row:2!important;display:block!important;white-space:normal;overflow-wrap:anywhere}
  .expense-table tbody td:nth-child(5),.expense-table tbody td:nth-child(7){display:none!important}
  .expense-table tbody td:nth-child(6){display:block!important;grid-column:3!important;grid-row:3!important;text-align:right;font-weight:700;white-space:nowrap}
  .expense-table tbody td:nth-child(8){display:flex!important;grid-column:2!important;grid-row:3!important;justify-content:flex-start!important;align-items:center;gap:8px;padding-left:0!important}
  .expense-row-actions .secondary{min-width:64px}.expense-row-actions .danger{min-width:42px}.expense-row-actions button{min-height:34px;padding:5px 10px;font-size:12px;white-space:nowrap}
}

/* 2.3.7 final mobile polish: serial number, compact buttons, title and login spacing. */
.login-version{margin-top:18px;color:#d9eadf;font-size:22px;font-weight:900;letter-spacing:.02em;line-height:1.15}
.login-brand p{margin-top:20px;line-height:1.38}
.expense-row-no{display:none}
@media(max-width:760px){
  .title-row h1{max-width:100%;color:#1f6244!important;font-size:clamp(34px,8.7vw,40px)!important;line-height:1!important;letter-spacing:-.025em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .expense-list-controls{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .expense-list-controls button{min-height:36px!important;padding:6px 8px!important;border-radius:9px!important;font-size:14px!important;line-height:1.1!important}
  .expense-list-controls [data-expense-page]{margin:0 0 2px!important;font-size:16px!important;line-height:1.2!important}
  .expense-table tbody tr{grid-template-columns:42px 108px minmax(112px,1fr)!important;gap:4px 9px!important}
  .expense-table tbody td:nth-child(1){display:grid!important;grid-template-columns:1fr;place-items:center;gap:5px}
  .expense-row-no{display:block;color:#6b7b74;font-size:11px;font-weight:900;line-height:1}
  .expense-table tbody td:nth-child(3){padding-left:10px!important;color:#1f6244}
  .expense-row-actions{gap:8px!important}
  .expense-row-actions .secondary{min-width:72px!important}
  .expense-row-actions .danger{min-width:42px!important}
  .expense-row-actions button{min-height:34px!important;padding:5px 10px!important;font-size:12px!important}
}

/* 2.3.7 admin3: show row numbers on desktop and keep mobile amounts inside the card. */
.expense-table thead th:first-child{width:78px;text-align:center}
.expense-table tbody td:first-child{display:flex;align-items:center;justify-content:center;gap:9px}
.expense-row-no{display:inline-block;color:#6b7b74;font-size:12px;font-weight:900;line-height:1}
.claim-edit-expense-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #e1e8e4}
.claim-edit-expense-row span{min-width:0;overflow-wrap:anywhere}
.claim-edit-expense-row strong{white-space:nowrap}
@media(max-width:760px){
  .title-row h1{font-size:clamp(28px,7.2vw,32px)!important;line-height:1.02!important;max-width:100%!important}
  .expense-table tbody tr{box-sizing:border-box;grid-template-columns:38px minmax(86px,.82fr) minmax(88px,1fr)!important;gap:4px 6px!important;padding:9px 8px!important;overflow:hidden}
  .expense-table tbody td:first-child{display:grid!important;grid-template-columns:1fr;place-items:center;gap:5px}
  .expense-table tbody td:nth-child(2){font-size:11px!important}
  .expense-table tbody td:nth-child(3){padding-left:2px!important;font-size:12px!important;line-height:1.12!important}
  .expense-table tbody td:nth-child(4){font-size:11.5px!important;line-height:1.18!important}
  .expense-table tbody td:nth-child(6){justify-self:end!important;max-width:100%;padding-right:2px!important;font-size:11.5px!important;letter-spacing:-.02em;overflow:visible!important}
  .expense-row-no{display:block;font-size:10.5px}
  .expense-row-actions .secondary{min-width:66px!important}
  .expense-row-actions .danger{min-width:38px!important}
  .claim-edit-expense-row{grid-template-columns:auto minmax(0,1fr) auto;gap:7px}
  .claim-edit-expense-row strong{grid-column:2;font-size:12px}
  .claim-edit-expense-row button{grid-column:3;grid-row:1 / span 2;min-width:54px;padding:6px 9px;font-size:12px}
}

/* 2.3.11 report form restructure */
.report-form-v2311{gap:18px!important}
.report-form-section{border:1px solid #dfe8e3;border-radius:14px;background:#fbfdfb;padding:16px;margin:0}
.report-form-v2311 [hidden],
#reportForm>.report-customer-toggle[hidden]{display:none!important}
.report-form-section>h3{margin:0 0 14px;color:var(--module-primary,var(--green,#176345));font-size:20px}
.report-customer-toggle{justify-self:start;margin:0 0 -6px}
.optional-customer-section{background:#f8fbf9}
.report-v2311-section{border-left:4px solid var(--module-primary,var(--green,#176345));padding-left:14px}
.report-v2311-section .comment-form{display:grid;grid-template-columns:minmax(0,1fr) 170px 190px auto;gap:12px;align-items:end;margin-top:14px}
.report-v2311-section .comment-form textarea{min-height:86px;width:100%;resize:vertical}
.report-v2311-section .comment-form input[type=date],.report-v2311-section .comment-form select{min-height:44px;min-width:0}
.report-v2311-section .comment-form label.secondary{min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;overflow:hidden}
.report-v2311-section .comment-form label.secondary input{max-width:170px}
.report-v2311-section .comment-form button.primary{min-height:44px;white-space:nowrap}
.report-v2311-section .comment-form #commentFileStatus{grid-column:1/-1;display:block;color:var(--muted);overflow-wrap:anywhere}
.report-v2311-section #commentForm{grid-template-columns:minmax(280px,1fr) minmax(190px,220px) minmax(170px,220px);align-items:stretch}
.report-v2311-section #commentForm textarea{min-width:0}
.report-v2311-section #commentForm label.secondary{width:100%;min-width:0;overflow:visible;text-align:center}
.report-v2311-section #commentForm label.secondary input[type=file]{display:none}
.report-v2311-section #commentForm button.primary{width:100%;min-width:0}
.impersonation-banner{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 18px;background:#fff1bd;border-bottom:2px solid #d99c16;color:#523600;box-shadow:0 3px 12px rgba(66,47,7,.14)}
.impersonation-banner button{flex:0 0 auto}
.impersonate-user{border-color:#b87900!important;color:#755000!important;background:#fff8df!important}
.admin-access-logs{margin-top:18px;padding:18px}
.access-log-filters{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto auto;gap:10px;align-items:end;margin:14px 0 20px}
.access-log-filters select,.access-log-filters input{min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}
.access-log-filters label{display:grid;gap:4px;color:var(--muted);font-size:12px}
.admin-access-logs h3{margin:22px 0 9px}.admin-access-logs table{min-width:900px}.access-device{max-width:320px;overflow-wrap:anywhere;font-size:12px}
.report-v2311-section .comment-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.report-v2311-section .comment-attachments .attachment-link{font-size:13px;padding:7px 10px;max-width:100%;overflow-wrap:anywhere}
.file-list span{overflow-wrap:anywhere}
.promoted-product-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:8px}
.promoted-product-row input{width:100%;min-width:0}
.add-background-update{justify-self:start;margin-top:8px}
@media(max-width:760px){
  .impersonation-banner{position:static;flex-direction:column;align-items:stretch;padding:10px 12px;font-size:13px}
  .impersonation-banner button{width:100%}
  .access-log-filters{grid-template-columns:1fr}.access-log-filters button{width:100%}.admin-access-logs{padding:12px}
  .report-form-section{padding:12px;border-radius:12px}
  .report-form-section>h3{font-size:18px}
  .report-v2311-section .comment-form{grid-template-columns:1fr}
  .promoted-product-row{grid-template-columns:1fr}
  .promoted-product-row button{width:100%;min-height:42px}
}
@media(min-width:761px) and (max-width:980px){
  .report-v2311-section #commentForm{grid-template-columns:minmax(0,1fr) minmax(170px,210px)}
  .report-v2311-section #commentForm textarea{grid-column:1/-1}
}

/* 2.3.11 module themes: each main workspace gets its own color mood. */
.shell{
  --module-primary:var(--green);
  --module-accent:var(--green2);
  --module-soft:#f5f6f1;
}
.shell.theme-reports,.modal-backdrop.theme-reports{--green:#154f3c;--green2:#1d674e;--lime:#d8ef78;--module-primary:#154f3c;--module-accent:#1d674e;--module-soft:#f5f8f4}
.shell.theme-customers,.modal-backdrop.theme-customers{--green:#2f7d32;--green2:#6bbd45;--lime:#dff5c8;--module-primary:#2f7d32;--module-accent:#6bbd45;--module-soft:#f6fbf2}
.shell.theme-expenses,.modal-backdrop.theme-expenses{--green:#1d4f91;--green2:#2f6fb6;--lime:#dcecff;--module-primary:#1d4f91;--module-accent:#2f6fb6;--module-soft:#f1f6ff}
.shell.theme-travel,.modal-backdrop.theme-travel{--green:#7c4a18;--green2:#b5661f;--lime:#ffe0b2;--module-primary:#7c4a18;--module-accent:#b5661f;--module-soft:#fff7ed}
.shell.theme-leave,.modal-backdrop.theme-leave{--green:#6f3a82;--green2:#8e4ca8;--lime:#efd9ff;--module-primary:#6f3a82;--module-accent:#8e4ca8;--module-soft:#fbf4ff}
.shell.theme-calendar,.modal-backdrop.theme-calendar{--green:#0f6877;--green2:#16889b;--lime:#c8f2fb;--module-primary:#0f6877;--module-accent:#16889b;--module-soft:#eefbfe}
.shell.theme-admin,.modal-backdrop.theme-admin{--green:#344154;--green2:#4b5f78;--lime:#dfe8f2;--module-primary:#344154;--module-accent:#4b5f78;--module-soft:#f4f7fa}
.shell .sidebar{background:var(--module-primary)!important}
.shell .main{background:var(--module-soft)}
.shell .primary,.modal-backdrop .primary{background:var(--module-accent,var(--green2));color:#fff}
.shell .title-row h1,.shell .expense-section-heading,.shell .panel h2{color:var(--module-primary)!important}
.shell .badge{background:color-mix(in srgb,var(--module-accent) 12%,#fff);color:var(--module-primary)}
.shell .nav button{position:relative;overflow:hidden}
.shell .nav button[data-nav=reports]{--nav-color:#1d674e}
.shell .nav button[data-nav=customers]{--nav-color:#6bbd45}
.shell .nav button[data-nav=expenses]{--nav-color:#2f6fb6}
.shell .nav button[data-nav=library]{--nav-color:#2f7d5e}
.shell .nav button[data-nav=admin]{--nav-color:#4b5f78}
.shell .nav button[data-nav=travel]{--nav-color:#b5661f}
.shell .nav button[data-nav=leave]{--nav-color:#8e4ca8}
.shell .nav button[data-nav=calendar]{--nav-color:#16889b}
.shell .nav button.sidebar-logout{--nav-color:#53685f}
.shell .nav .nav-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;line-height:1;flex:0 0 auto;font-size:.95em}
.shell .nav .nav-icon svg{width:1em;height:1em;display:block;fill:currentColor}
@media(min-width:761px){
  .shell .nav button{
    border-left:4px solid color-mix(in srgb,var(--nav-color) 85%,#fff);
    background:color-mix(in srgb,var(--nav-color) 18%,transparent);
    color:#fff;
    margin-bottom:5px;
  }
  .shell .nav button:hover{
    background:color-mix(in srgb,var(--nav-color) 28%,transparent);
  }
  .shell .nav button.active{
    border-left-color:#fff;
    background:color-mix(in srgb,var(--nav-color) 46%,transparent);
  }
}
@media(max-width:760px){
  .shell .sidebar{background:#154f3c!important}
  .shell .main{background:#f5f6f1!important}
  .shell .nav{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:14px!important;
    min-height:148px!important;
  }
  .shell .nav button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:10px 4px!important;
    border-radius:11px!important;
    background:var(--nav-color)!important;
    border:1px solid rgba(255,255,255,.28)!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:850!important;
    line-height:1.1!important;
    text-align:center!important;
    white-space:nowrap!important;
    letter-spacing:-.02em!important;
    box-shadow:none!important;
    transform:none!important;
    transition:none!important;
    -webkit-tap-highlight-color:transparent;
  }
  .shell .nav button:hover,
  .shell .nav button:focus,
  .shell .nav button:active{transform:none!important;box-shadow:none!important;outline:0!important}
  .shell .nav .nav-icon{display:inline-flex;align-items:center;justify-content:center;color:#fff!important;font-size:11px!important;line-height:1!important;flex:0 0 auto}
  .shell .nav .nav-icon svg{width:12px;height:12px;display:block;fill:currentColor}
  .shell .nav .nav-label{display:inline-block;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .shell .nav button.active{
    outline:0!important;
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.78)!important;
  }
  .shell .nav button[data-nav=reports]{order:0}
  .shell .nav button[data-nav=customers]{order:1}
  .shell .nav button[data-nav=expenses]{order:2}
  .shell .nav button[data-nav=admin]{order:7}
  .shell .nav button[data-nav=travel]{order:4}
  .shell .nav button[data-nav=leave]{order:5}
  .shell .nav button[data-nav=calendar]{order:6}
  .shell .nav button.sidebar-logout{order:8}
}

/* 2.3.16 customer directory polish: compact mobile filters/cards and normal SVG nav icon. */
@media(max-width:760px){
  .customer-filters{margin:12px 0 10px!important;overflow:hidden}
  .customer-filters .report-filter-fields{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
  }
  .customer-filters .report-filter-fields input{grid-column:1/-1!important}
  .customer-filters .report-filter-fields select,
  .customer-filters .report-filter-fields input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:10px 8px!important;
    font-size:13px!important;
    line-height:1.15!important;
  }
  .customer-directory{grid-template-columns:1fr!important;gap:8px!important}
  .customer-card{padding:10px 12px!important;border-radius:12px!important}
  .customer-card b{font-size:16px!important;line-height:1.2!important;margin-bottom:3px!important}
  .customer-card .customer-number{
    width:22px!important;
    height:22px!important;
    margin:0 7px 2px 0!important;
    font-size:13px!important;
  }
  .customer-card small,
  .customer-card span:not(.customer-number){
    font-size:13px!important;
    line-height:1.25!important;
  }
  .shell .nav .nav-icon svg{width:12px!important;height:12px!important}
}
@media(max-width:420px){
  .customer-filters .report-filter-fields{grid-template-columns:1fr!important}
}

/* 2.3.20 customer/contact final polish */
.customer-card{min-width:0}
.customer-card .customer-number{
  width:auto!important;
  min-width:26px!important;
  max-width:none!important;
  padding:0 6px!important;
  border-radius:999px!important;
  font-size:12px!important;
}
.shell .nav button[data-nav=customers] .nav-icon{font-size:.78em}
.shell .nav button[data-nav=customers] .nav-label{min-width:0}
.contact-picker-row{
  display:flex;
  align-items:center;
  gap:8px;
}
.contact-picker-row input[name=contact_name]{
  flex:1 1 260px;
  min-width:0;
}
.contact-picker-row select{
  flex:0 0 260px;
  min-width:200px;
}
.full-upload{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  cursor:pointer;
  text-align:center;
}
.full-upload input{display:none}
.report-location-field .map-link,
.inline-map-link{
  color:#1f6fb2;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}
.report-location-field span{
  display:block;
  margin-top:3px;
  color:#66736d;
  font-size:12px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.report-v2311-section p .inline-map-link{
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .customer-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:100%}
  .customer-actions button{min-height:38px;padding:7px 8px;font-size:13px}
  .customer-card-wrap{gap:7px}
  .customer-select-box{padding-top:13px}
  .customer-card .customer-number{
    min-width:22px!important;
    height:22px!important;
    padding:0 5px!important;
    font-size:10px!important;
    margin:0 6px 2px 0!important;
  }
  .contact-row,.trash-row{grid-template-columns:auto minmax(0,1fr);gap:9px;padding:9px 0}
  .contact-row button,.trash-row button{grid-column:2;justify-self:start;min-height:34px;padding:5px 12px}
  .contact-avatar{width:36px;height:36px;font-size:14px}
  .section-title-row{align-items:flex-start}
  .section-title-row button{min-height:36px;padding:6px 10px;font-size:13px}
  .contact-picker-row{display:grid;grid-template-columns:1fr;align-items:stretch}
  .contact-picker-row select{width:100%;min-width:0;flex:auto}
  .full-upload{width:100%}
}
.meta div small{
  display:block;
  line-height:1.35;
}
.meta div small+small{
  margin-top:5px;
  color:#60736a;
}

/* 3.0.8-r15 standard vertical rhythm between top-level cards/sections */
.content > .panel + .panel,
.content > details.panel + details.panel,
.content > .panel + details.panel,
.content > details.panel + .panel,
.content > .expense-summary + .panel,
.content > .report-filter-panel + .panel,
.content > .customer-filters + .panel,
.content > .title-row + .panel,
.content > .title-row + details.panel,
.content > .title-row + .report-filter-panel,
.content > .title-row + .expense-summary,
.content > .library-tabs + .panel{
  margin-top:18px;
}
.admin-accordion,
.claim-card,
.customer-card-wrap{
  margin-bottom:10px;
}
.admin-accordion:last-child,
.claim-card:last-child,
.customer-card-wrap:last-child{
  margin-bottom:0;
}
@media(max-width:760px){
  .content > .panel + .panel,
  .content > details.panel + details.panel,
  .content > .panel + details.panel,
  .content > details.panel + .panel,
  .content > .expense-summary + .panel,
  .content > .report-filter-panel + .panel,
  .content > .customer-filters + .panel,
  .content > .title-row + .panel,
  .content > .title-row + details.panel,
  .content > .title-row + .report-filter-panel,
  .content > .title-row + .expense-summary,
  .content > .library-tabs + .panel{
    margin-top:14px;
  }
  .admin-accordion,
  .claim-card,
  .customer-card-wrap{
    margin-bottom:8px;
  }
}

/* 3.0.8-r13 Library admin preview */
.library-title{
  gap:18px;
  align-items:flex-start;
}
.library-title .badge{
  align-self:center;
  white-space:nowrap;
}
.library-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:-6px 0 18px;
}
.library-tabs button{
  min-height:40px;
}
.library-tabs button.active{
  background:#176345;
  color:#fff;
  border-color:#176345;
}
.library-tabs .library-tab-iin_products{border-color:#197149;color:#155d3d;background:#edf8f2}
.library-tabs .library-tab-competitive_products{border-color:#b66a18;color:#8b4d0a;background:#fff6e8}
.library-tabs .library-tab-quotations{border-color:#326fa8;color:#285d8d;background:#eef6ff}
.library-tabs .library-tab-iin_products.active{background:#176345;border-color:#176345;color:#fff}
.library-tabs .library-tab-competitive_products.active{background:#b76616;border-color:#b76616;color:#fff}
.library-tabs .library-tab-quotations.active{background:#2d6eaa;border-color:#2d6eaa;color:#fff}
.library-panel button.costing{background:#6d4ba0;color:#fff;border:1px solid #6d4ba0;border-radius:10px;padding:8px 11px;font-weight:800}
.library-costing-saved{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #dbe5df}
.library-costing-saved small{display:block;margin-top:4px;color:#60736a}
.library-costing-preview{background:#f3f7f4;border-radius:12px;padding:14px}
.library-costing-preview h3{margin:0 0 10px}
.costing-key-input>span{color:#177245;font-weight:900}
.costing-key-input>input{border-color:#65a984;font-weight:800}
.costing-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.costing-result-grid span{background:#fff;border:1px solid #dbe5df;border-radius:9px;padding:10px;color:#60736a}
.costing-result-grid b{display:block;color:#17362a;margin-top:4px}
.costing-result-grid .costing-final{background:#dff1e6;border-color:#73af91;color:#155b3b}
.library-share-user{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #dbe5df}
.library-share-user label{display:flex;align-items:center;gap:10px;flex:1}
.library-share-user small{display:block;color:#60736a;margin-top:3px}
.library-share-user select{min-width:130px}
@media(max-width:700px){.costing-result-grid{grid-template-columns:1fr 1fr}}
.library-panel .panel-head{
  align-items:flex-start;
  gap:16px;
}
.library-panel .panel-head p{
  margin:4px 0 0;
  color:#60736a;
}
.library-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:0 22px 16px;
}
.library-filters input,
.library-filters select{
  min-width:190px;
  flex:1 1 220px;
}
.library-panel table small{
  display:block;
  margin-top:4px;
  color:#60736a;
  line-height:1.25;
}
.library-product-list{
  display:grid;
  gap:12px;
  padding:0 22px 22px;
}
.library-product-card{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  padding:8px 10px 8px 20px;
  border:1px solid #d8e3dc;
  border-radius:16px;
  background:#fff;
  color:#10251d;
  cursor:grab;
}
.library-product-card.is-dragging{opacity:.5}
.library-product-open{flex:1;min-width:0;padding:10px 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.library-product-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.library-product-actions button{margin:0}
.library-order-button{min-width:40px;padding-left:10px;padding-right:10px}
.library-product-card b{
  display:block;
  font-size:24px;
  line-height:1.15;
}
.library-product-card small{
  display:block;
  margin-top:6px;
  color:#60736a;
  font-size:15px;
}
.library-product-card:hover{
  border-color:#176345;
  box-shadow:0 6px 16px rgba(23,99,69,.08);
}
@media(max-width:700px){
  .library-product-card{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:5px;padding:12px 14px;cursor:default}
  .library-product-open{display:block;width:100%;padding:2px 0 7px;overflow:hidden}
  .library-product-open b{display:block;width:100%;font-size:var(--mobile-product-font,24px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:clip}
  .library-product-open small{display:none}
  .library-product-actions{display:flex;width:100%;flex-wrap:nowrap;justify-content:flex-start;gap:8px}
  .library-product-actions .library-share-control{display:inline-flex}
  .library-product-actions .library-share-control>button{min-width:84px}
  .library-order-button{min-width:44px;padding-left:10px;padding-right:10px}
}
.library-detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.library-file-name{
  margin-top:8px;
}
.library-file-name a{
  color:#176345;
  font-weight:900;
}
.library-materials .actions.compact{
  justify-content:flex-start;
  padding:0 0 12px;
  border-bottom:0;
}
.library-material-group{
  border:1px solid #d8e3dc;
  border-radius:12px;
  margin:10px 0;
  background:#fff;
  overflow:hidden;
}
.library-material-group summary{
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 16px;
  font-weight:800;
  color:#12382d;
  background:#f5f8f5;
}
.library-material-group summary span{
  color:#60736a;
  font-weight:700;
}
.library-material-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  padding:14px 16px;
  border-top:1px solid #e6ede8;
}
.library-material-row p{
  margin:6px 0;
  color:#31463d;
  line-height:1.35;
}
.library-material-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}
.library-material-row a{
  color:#176345;
  font-weight:800;
}
.library-permission-admin .admin-user-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:14px;
  padding:16px 0 0;
}
.library-permission-admin .library-admin-card{
  width:100%;
  min-height:132px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border:1px solid #d8e3dc;
  border-radius:18px;
  background:#fff;
  color:#18372c;
  text-align:left;
  box-shadow:0 1px 0 rgba(20,60,42,.05);
}
.library-permission-admin .library-admin-card:hover{
  border-color:#176345;
  background:#f7fbf8;
  transform:translateY(-1px);
}
.library-admin-main{
  display:grid;
  gap:7px;
  min-width:0;
}
.library-admin-main b{
  font-size:20px;
  line-height:1.15;
}
.library-admin-main small{
  color:#5b7068;
  font-size:13px;
}
.library-admin-main em{
  color:#476158;
  font-size:13px;
  font-style:normal;
}
.library-permission-pill{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 11px;
  background:#e9f3ef;
  color:#176345;
  font-size:13px;
  font-weight:800;
}
.library-permission-help{
  display:grid;
  gap:5px;
  padding:14px 16px;
  border:1px solid #d8e3dc;
  border-radius:14px;
  background:#f7fbf8;
  color:#315447;
  margin-bottom:16px;
}
.library-permission-rule{
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f8faf8;
  margin:12px 0;
}
.library-rule-fields{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.library-permission-rule label{
  display:grid;
  gap:6px;
  font-size:13px;
  font-weight:800;
}
.library-permission-rule label span{
  color:#315447;
}
.library-rule-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.library-rule-actions label{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:6px 10px;
  border:1px solid #d8e3dc;
  border-radius:999px;
  background:#fff;
}
.library-permission-rule input[type="checkbox"]{
  width:18px;
  min-width:18px;
  height:18px;
}
@media(max-width:760px){
  .library-title{
    display:block;
  }
  .library-title .badge{
    display:inline-flex;
    margin-top:10px;
  }
  .library-tabs{
    display:grid;
    grid-template-columns:1fr;
  }
  .library-panel .panel-head{
    display:grid;
    grid-template-columns:1fr;
  }
  .library-filters{
    padding:0 14px 14px;
  }
  .library-filters input,
  .library-filters select{
    min-width:0;
    width:100%;
  }
  .library-product-list{
    padding:0 12px 14px;
  }
  .library-product-card{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:5px;
    padding:12px 14px;
    cursor:default;
  }
  .library-product-open{display:block;width:100%;padding:2px 0 7px;overflow:hidden}
  .library-product-card b{display:block;width:100%;font-size:var(--mobile-product-font,24px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:clip}
  .library-product-open small{display:none}
  .library-product-actions{display:flex;width:100%;flex-wrap:nowrap;justify-content:flex-start;gap:8px}
  .library-detail-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .library-detail-actions button{
    width:100%;
    min-height:46px;
  }
  .library-panel .table-wrap{
    overflow:visible;
  }
  .library-panel table,
  .library-panel thead,
  .library-panel tbody,
  .library-panel tr,
  .library-panel td{
    display:block;
    width:100%;
  }
  .library-panel thead{
    display:none;
  }
  .library-panel tbody{
    display:grid;
    gap:12px;
    padding:0 12px 14px;
  }
  .library-panel tbody tr{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:14px;
    border:1px solid #d8e3dc;
    border-radius:16px;
    background:#fff;
  }
  .library-panel tbody td{
    border:0;
    padding:0;
    min-width:0;
    overflow-wrap:anywhere;
  }
  .library-panel tbody td:last-child{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:6px;
  }
  .library-panel tbody td:last-child button{
    width:100%;
    min-height:44px;
  }
  .library-panel tbody td .badge{
    margin:3px 5px 3px 0;
  }
  .library-material-row{
    grid-template-columns:1fr;
  }
  .library-permission-admin .admin-user-list,
  .library-rule-fields{
    grid-template-columns:1fr;
  }
  .library-permission-admin .library-admin-card{
    min-height:0;
  }
  .library-rule-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .library-rule-actions .danger{
    grid-column:1/-1;
  }
}

textarea[data-autogrow-inline],
.expense-inline-text{
  overflow-y:auto;
  resize:vertical;
  line-height:1.45;
}
.expense-inline-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:8px;
}
.expense-inline-suggestions[hidden]{display:none!important}
.expense-inline-suggestions button{
  border:1px solid #cddbd2;
  border-radius:999px;
  background:#f3f8f5;
  color:#154f3c;
  padding:7px 10px;
  font-size:13px;
  font-weight:700;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:760px){
  textarea[data-autogrow-inline],
  .expense-inline-text{
    min-height:54px!important;
    max-height:190px;
    font-size:16px!important;
    scroll-margin-top:22vh;
    scroll-margin-bottom:38vh;
  }
  .expense-inline-suggestions button{
    min-height:38px;
    max-width:100%;
  }
}

.report-v2311-section #followupForm{
  grid-template-columns:170px 220px auto minmax(0,1fr);
}
.report-v2311-section #followupForm textarea{
  grid-column:1/-1;
}
.report-v2311-section #followupForm .followup-control{
  display:grid;
  gap:5px;
  min-width:0;
}
.report-v2311-section #followupForm .followup-control span{
  color:#53665c;
  font-size:12px;
  font-weight:800;
}
.report-v2311-section #followupForm .followup-control input,
.report-v2311-section #followupForm .followup-control select{
  width:100%;
}
.report-v2311-section #commentForm{
  grid-template-columns:minmax(0,1fr);
}
.report-v2311-section #commentForm textarea{
  grid-column:1/-1;
}
.report-v2311-section #commentForm label.secondary,
.report-v2311-section #commentForm button.primary{
  width:100%;
}
.report-window-backdrop{
  display:block;
  padding:0;
}
.report-detail-window{
  position:fixed;
  max-width:none!important;
  max-height:none!important;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.report-detail-window .modal-head{
  cursor:move;
  gap:14px;
}
.report-detail-window .modal-head>div{
  min-width:0;
}
.report-window-tools{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}
.report-window-tools button{
  width:38px;
  height:38px;
  min-width:38px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:10px;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.report-window-tools [data-close]{
  border:0;
  background:transparent;
  color:#001d15;
  font-size:28px;
}
.report-detail-window .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}
.report-detail-window>.actions{
  flex:0 0 auto;
}
.report-form-window>form{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:0;
}
.report-form-window>form>.modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}
.report-form-window>form>.actions{
  flex:0 0 auto;
}
.report-modal-fullscreen{
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  border-radius:0!important;
}
.report-modal-minimized{
  pointer-events:none;
}
.report-modal-minimized .report-detail-window{
  pointer-events:auto;
  left:18px!important;
  top:auto!important;
  right:auto!important;
  bottom:18px!important;
  width:min(420px,calc(100vw - 36px))!important;
  height:auto!important;
  min-height:0!important;
}
.report-modal-minimized .report-detail-window .modal-body,
.report-modal-minimized .report-detail-window>.actions{
  display:none!important;
}
.report-modal-minimized .report-form-window>form>.modal-body,
.report-modal-minimized .report-form-window>form>.actions{
  display:none!important;
}
.report-resize-handle{
  position:absolute;
  z-index:5;
}
.report-resize-handle.n{top:-4px;left:12px;right:12px;height:9px;cursor:ns-resize}
.report-resize-handle.s{bottom:-4px;left:12px;right:12px;height:9px;cursor:ns-resize}
.report-resize-handle.e{top:12px;right:-4px;bottom:12px;width:9px;cursor:ew-resize}
.report-resize-handle.w{top:12px;left:-4px;bottom:12px;width:9px;cursor:ew-resize}
.report-resize-handle.ne{top:-4px;right:-4px;width:16px;height:16px;cursor:nesw-resize}
.report-resize-handle.nw{top:-4px;left:-4px;width:16px;height:16px;cursor:nwse-resize}
.report-resize-handle.se{right:-4px;bottom:-4px;width:16px;height:16px;cursor:nwse-resize}
.report-resize-handle.sw{left:-4px;bottom:-4px;width:16px;height:16px;cursor:nesw-resize}
.work-from-home-help{
  align-items:flex-start;
  padding:16px 18px;
  border:1px solid #e5bd4f;
  border-left:6px solid #d79a00;
  border-radius:12px;
  background:#fff7d6;
  box-shadow:0 5px 16px rgba(126,88,0,.12);
}
.work-from-home-help button{
  justify-self:start;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
  color:#624500;
  font-size:18px;
  font-weight:850;
  text-align:left;
}
.work-from-home-help button span:last-child{
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}
.work-from-home-help button:hover{color:#173f32}
.work-from-home-help small{color:#6f571a;font-weight:650}
.work-from-home-guide{max-height:70vh;overflow:auto;line-height:1.5}
.work-from-home-guide>ol{padding-left:24px}
.work-from-home-guide>ol>li{margin:0 0 16px}
.work-from-home-guide ul{margin:8px 0 0;padding-left:22px}
.work-from-home-guide ul li{margin:4px 0}
.work-from-home-reporting-standard{color:#176345;font-weight:800}
.work-from-home-reporting-standard p{line-height:1.55}
.promoted-pair-list{display:grid;gap:10px;margin-bottom:16px}
.promoted-pair{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:14px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#f7faf7}
.promoted-pair span{overflow-wrap:anywhere}
@media(max-width:980px){
  .report-v2311-section #followupForm,
  .report-v2311-section #commentForm{
    grid-template-columns:1fr;
  }
  .report-v2311-section #followupForm textarea,
  .report-v2311-section #commentForm textarea{
    grid-column:1/-1;
  }
  .report-v2311-section #followupForm .followup-control,
  .report-v2311-section #followupForm .followup-control input,
  .report-v2311-section #followupForm .followup-control select,
  .report-v2311-section #followupForm button.primary,
  .report-v2311-section #commentForm label.secondary,
  .report-v2311-section #commentForm button.primary{
    width:100%;
  }
}
@media(max-width:760px){
  .promoted-pair{grid-template-columns:1fr;gap:5px}
  .report-window-backdrop{display:grid;padding:0}
  .report-detail-window{
    position:static;
    width:100%!important;
    height:100dvh!important;
    max-height:none!important;
    border-radius:0!important;
  }
  .report-window-tools button:not([data-close]),
  .report-resize-handle{display:none!important}
  .report-detail-window .modal-head{cursor:auto}
}
.library-comparable-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:8px}.library-comparable-row .danger{min-width:44px;padding:10px 12px}
.library-category-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.library-category-picker .secondary{min-width:44px;padding:12px}
.library-product-card[hidden],#libraryProductVisibleUsers[hidden],#libraryProductComparables[hidden],#libraryProductForm .competitive-product-only[hidden],#libraryProductForm input[hidden]{display:none!important}
.library-product-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.library-product-head-actions>#addLibraryProduct{width:auto;min-width:132px;white-space:nowrap;padding:11px 14px}.library-product-heading-filters{display:grid;grid-template-columns:190px 210px;gap:10px}.library-product-heading-filters.iin-category-only{grid-template-columns:190px}.library-product-heading-filters select{min-height:44px;padding:10px 12px;border:1px solid #becac1;border-radius:9px;background:#fff}.library-product-panel-head{gap:14px}@media(max-width:1000px){.library-product-head-actions{flex-wrap:wrap}.library-product-heading-filters{grid-template-columns:minmax(150px,1fr) minmax(170px,1fr)}.library-product-heading-filters.iin-category-only{grid-template-columns:minmax(150px,190px)}}@media(max-width:700px){.library-product-head-actions{display:grid;grid-template-columns:1fr;width:100%;justify-content:stretch}.library-product-head-actions>#addLibraryProduct{width:100%}.library-product-heading-filters,.library-product-heading-filters.iin-category-only{grid-template-columns:1fr}}
.library-quotation-products{padding-top:6px}.library-quotation-product-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(100px,.7fr) minmax(130px,1fr) auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line,#d8e0da)}.library-quotation-product-row:first-child{padding-top:6px}.library-quotation-product-row:last-child{border-bottom:0}.library-quotation-product-row .field{margin:0}.library-quotation-product-actions{display:flex;gap:6px;padding-bottom:1px}.library-quotation-product-actions button{min-width:44px;padding:10px 12px}
.library-table-sort{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;padding:4px 2px;cursor:pointer;text-align:left}.library-table-sort:hover,.library-table-sort:focus-visible{color:#176b50;text-decoration:underline;text-underline-offset:3px}.library-table-sort span{display:inline-block;min-width:1.1em;text-decoration:none}
.library-share-control{position:relative;display:inline-flex}.library-share-tooltip{position:fixed;z-index:80;display:none;max-height:min(420px,60dvh);overflow-x:hidden;overflow-y:auto;padding:12px;background:#153f33;color:#fff;border-radius:10px;box-shadow:0 10px 28px rgba(15,45,36,.28);text-align:left;font-size:13px;line-height:1.35;white-space:normal;pointer-events:auto;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;transform:translateY(9px)}.library-share-tooltip.is-visible,.library-share-tooltip:hover{display:block}.library-share-tooltip>b{display:block;position:sticky;top:-12px;z-index:1;margin:-12px -12px 8px;padding:12px;background:#153f33;font-size:14px}.library-share-tooltip>span{display:block;padding:7px 0;border-top:1px solid rgba(255,255,255,.18)}.library-share-tooltip>span:first-of-type{border-top:0}.library-share-tooltip strong,.library-share-tooltip small{display:block;color:inherit}.library-share-tooltip small{margin-top:2px;opacity:.82;font-size:12px}
.library-customer-suggestions{display:grid;gap:6px;margin-top:7px;padding:9px;border:1px solid #d6dfd9;border-radius:9px;background:#f5faf7}.library-customer-suggestions small{color:#49645a;line-height:1.35}.library-customer-suggestions button{padding:7px 9px;text-align:left;font-size:13px}
@media(max-width:760px){.library-quotation-product-row{grid-template-columns:minmax(0,1fr) 92px 112px;gap:8px}.library-quotation-product-row .field:first-child{grid-column:1/-1}.library-quotation-product-actions{grid-column:1/-1;justify-content:flex-end}.library-quotation-product-actions:empty{display:none}}
.merge-customer-list{display:grid;gap:10px;margin:16px 0}.merge-customer-option{display:flex;gap:12px;align-items:flex-start;border:1px solid #cfdcd4;border-radius:12px;padding:13px;background:#f8faf8;cursor:pointer}.merge-customer-option:has(input:checked){border-color:#1e6a4b;background:#edf7f0;box-shadow:0 0 0 2px rgba(30,106,75,.12)}.merge-customer-option input{margin-top:4px}.merge-customer-option span,.merge-customer-option small{display:block}.merge-customer-option span{min-width:0}.merge-customer-option small{margin-top:3px;color:#587067}
.content>.title-row>div>p{display:none}
