/* Osrilo Build 88 source: pages-documents-payments.css. Load order is defined in index.html. */
/* Invoice system */
.invoice-section-heading{align-items:flex-start}
.invoice-count{margin-top:2px;text-align:left}
.invoice-list{display:grid;gap:10px;margin-top:16px}
.invoice-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.invoice-card-heading{display:flex;align-items:center;gap:9px}
.invoice-customer,.invoice-meta{display:block}
.invoice-customer{margin-top:4px;font-weight:700}
.invoice-meta{margin-top:2px;color:var(--muted);font-size:13px}
.invoice-card-total{text-align:right}
.invoice-card-total strong{display:block;font-size:20px}
.invoice-card-total span{color:var(--muted);font-size:12px}
.invoice-status{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;text-transform:capitalize}
.invoice-status-draft{background:#f1f5f9;color:#475569}
.invoice-status-sent,.invoice-status-viewed{background:#eff6ff;color:#1d4ed8}
.invoice-status-partial,.invoice-status-overdue{background:#fffbeb;color:#b45309}
.invoice-status-paid{background:#f0fdf4;color:#15803d}
.invoice-status-void{background:#fef2f2;color:#b91c1c}
.invoice-modal{width:min(980px,100%);max-height:92vh;overflow:auto}
.invoice-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}
.invoice-lines-heading,.invoice-item-row{display:grid;grid-template-columns:minmax(220px,1fr) 82px 105px 115px 105px 42px;gap:8px;align-items:center}
.invoice-lines-heading{margin-top:22px;padding:0 4px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}
.invoice-items{display:grid;gap:8px;margin-top:6px}
.invoice-item-row input{padding:10px}
.invoice-item-total{text-align:right}
.invoice-remove-item{width:38px;height:38px;padding:0;font-size:20px}
.invoice-add-line{margin-top:10px}
.invoice-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;margin-top:22px}
.invoice-bottom-grid textarea{min-height:150px}
.invoice-totals-panel{padding:15px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.invoice-adjustment,.invoice-total-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}
.invoice-adjustment input{width:95px;padding:8px;text-align:right}
.invoice-total-row{border-top:1px solid var(--line)}
.invoice-total-row.grand-total{margin-top:4px;font-size:19px}
@media(max-width:760px){
  .invoice-card{align-items:flex-start}
  .invoice-editor-grid,.invoice-bottom-grid{grid-template-columns:1fr}
  .invoice-lines-heading{display:none}
  .invoice-item-row{grid-template-columns:minmax(0,1fr) 80px 95px 38px}
  .invoice-item-description{grid-column:1/-1}
  .invoice-item-quantity{grid-column:1}
  .invoice-item-unit{grid-column:2}
  .invoice-item-price{grid-column:3}
  .invoice-item-total{grid-column:1/4;text-align:right}
  .invoice-remove-item{grid-column:4;grid-row:2}
}
@media(max-width:480px){
  .invoice-card{display:block}
  .invoice-card-total{margin-top:10px;text-align:left}
  .invoice-item-row{grid-template-columns:1fr 1fr 38px}
  .invoice-item-description{grid-column:1/-1}
  .invoice-item-quantity{grid-column:1}
  .invoice-item-unit{grid-column:2}
  .invoice-item-price{grid-column:1;grid-row:3}
  .invoice-item-total{grid-column:2;grid-row:3}
  .invoice-remove-item{grid-column:3;grid-row:2/4}
}


/* Invoice management v2 */
.invoice-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}
.invoice-tools .search-box{flex:0 1 330px}
.invoice-filter-bar{margin:0}
.invoice-card{display:block;padding:0;overflow:hidden}
.invoice-card-main{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:15px 16px;border-radius:0;background:transparent;color:var(--ink);box-shadow:none;text-align:left}
.invoice-card-main:hover{background:var(--brand-soft)}
.invoice-card-actions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;border-top:1px solid var(--line);background:#fff}
.invoice-card-actions button{width:auto}
@media(max-width:750px){.invoice-tools{display:block}.invoice-tools .search-box{max-width:none}.invoice-filter-bar{margin-top:10px}.invoice-card-main{display:block}.invoice-card-actions{flex-direction:column}.invoice-card-actions button{width:100%}}

/* Invoice branding editor */
.invoice-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.branding-modal{width:min(920px,100%)}
.branding-form{display:grid;gap:16px;margin-top:20px}
.branding-logo-box{min-height:150px;display:grid;place-items:center;padding:18px;border:1px dashed #94a3b8;border-radius:12px;background:#f8fafc;color:var(--muted)}
.branding-logo-box img{display:block;max-width:100%;max-height:150px;object-fit:contain}
.branding-logo-actions{display:flex;justify-content:flex-start;margin-top:8px}
@media(max-width:650px){.invoice-heading-actions{margin-top:12px;justify-content:stretch}.invoice-heading-actions button{flex:1 1 100%}}


/* Invoice email v4 */
.email-invoice-modal{width:min(680px,100%)}
.email-invoice-form{display:grid;gap:14px;margin-top:18px}
.email-invoice-form textarea{min-height:180px;line-height:1.5}
.email-attachment-row{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;font-weight:700}
.email-attachment-row input{width:18px;height:18px;margin:0}
.email-invoice-summary{padding:11px 12px;border-left:4px solid var(--brand);border-radius:8px;background:var(--brand-soft);font-weight:700}
.invoice-card-actions .primary-action{box-shadow:none}
@media(max-width:750px){.email-invoice-modal{max-height:92vh;overflow:auto}}

@media(max-width:600px){
  .workspace-choice-option{grid-template-columns:minmax(0,1fr) auto;padding:16px}
  .workspace-choice-recent{grid-column:1 / -1;justify-self:start}
  .workspace-choice-arrow{grid-column:2;grid-row:1}
  .workspace-choice-actions{grid-template-columns:1fr}
  .workspace-choice-footer{align-items:stretch;flex-direction:column}
  .workspace-choice-footer .ghost-button{width:100%}
}


/* Step 5: material pricing catalog */
.materials-section-heading{align-items:flex-start}
.material-count{margin-top:2px;text-align:left}
.material-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}
.material-tools .search-box{flex:1 1 420px;max-width:none;margin:0}
.material-category-filter{flex:0 0 220px}
.material-category-filter select{width:100%}
.material-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.material-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:13px;background:#f8fafc;overflow:hidden}
.material-card-main{flex:1;padding:15px 16px}
.material-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.material-card-title-row h3{margin:0;font-size:17px;line-height:1.25}
.material-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.material-card-tags span{padding:4px 7px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:11px;font-weight:800}
.material-card-price{flex:0 0 auto;text-align:right}
.material-card-price strong{display:block;font-size:20px;line-height:1.1}
.material-card-price span{display:block;margin-top:2px;color:var(--muted);font-size:11px}
.material-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.material-pricing-grid div{min-width:0;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff}
.material-pricing-grid span,.material-pricing-grid strong{display:block}
.material-pricing-grid span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}
.material-pricing-grid strong{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.material-supporting{margin:12px 0 0;color:#475569;font-size:13px;font-weight:700}
.material-notes{margin:9px 0 0;padding:9px 10px;border-left:3px solid var(--brand);border-radius:7px;background:#fff;color:#475569;font-size:13px;white-space:pre-wrap}
.material-card-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--line);background:#fff}
.material-card-actions button{width:auto}
.material-modal{width:min(820px,100%);max-height:92vh;overflow:auto}
.material-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.material-name-field,.material-notes-field{grid-column:1/-1}
.material-notes-field textarea{min-height:110px}
.money-input,.percent-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.money-input:focus-within,.percent-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.money-input span,.percent-input span{padding:0 11px;color:#64748b;font-weight:800}
.money-input input,.percent-input input{width:100%;border:0;border-radius:0;box-shadow:none!important}
.percent-input input{text-align:right}
.material-price-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding:14px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}
.material-price-preview div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:9px;background:#fff}
.material-price-preview span{color:#475569;font-size:12px;font-weight:800}
.material-price-preview strong{font-size:18px}
.material-price-preview small{grid-column:1/-1;color:#475569;line-height:1.4}
@media(max-width:850px){
  .material-list{grid-template-columns:1fr}
}
@media(max-width:650px){
  .materials-section-heading{display:block}
  .materials-section-heading button{width:100%;margin-top:12px}
  .material-tools{display:grid;grid-template-columns:1fr;gap:8px}
  .material-category-filter{flex:auto}
  .material-card-title-row{display:block}
  .material-card-price{margin-top:12px;text-align:left}
  .material-pricing-grid{grid-template-columns:1fr 1fr}
  .material-card-actions{display:grid;grid-template-columns:1fr}
  .material-card-actions button{width:100%}
  .material-editor-grid{grid-template-columns:1fr}
  .material-name-field,.material-notes-field{grid-column:auto}
  .material-price-preview{grid-template-columns:1fr}
  .material-price-preview small{grid-column:auto}
}


/* Step 6: estimate builder */
.estimate-section-heading{align-items:flex-start}
.estimate-count{margin-top:2px;text-align:left}
.estimate-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}
.estimate-tools .search-box{flex:0 1 340px;max-width:none;margin:0}
.estimate-filter-bar{margin:0}
.estimate-list{display:grid;gap:10px;margin-top:16px}
.estimate-card{display:block;border:1px solid var(--line);border-radius:12px;background:#f8fafc;overflow:hidden}
.estimate-card-main{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px}
.estimate-card-heading{display:flex;align-items:center;gap:9px}
.estimate-customer,.estimate-project,.estimate-meta{display:block}
.estimate-customer{margin-top:5px;font-weight:800}
.estimate-project{margin-top:2px;color:#334155;font-size:14px}
.estimate-meta{margin-top:3px;color:var(--muted);font-size:13px}
.estimate-card-total{text-align:right}
.estimate-card-total strong{display:block;font-size:21px}
.estimate-card-total span{color:var(--muted);font-size:12px}
.estimate-status{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;text-transform:capitalize}
.estimate-status-draft{background:#f1f5f9;color:#475569}
.estimate-status-sent{background:#eff6ff;color:#1d4ed8}
.estimate-status-accepted,.estimate-status-converted{background:#f0fdf4;color:#15803d}
.estimate-status-declined{background:#fef2f2;color:#b91c1c}
.estimate-status-expired{background:#fffbeb;color:#b45309}
.estimate-card-actions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;border-top:1px solid var(--line);background:#fff}
.estimate-card-actions button{width:auto;box-shadow:none}
.estimate-modal{width:min(1120px,100%);max-height:92vh;overflow:auto}
.estimate-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}
.estimate-title-field{grid-column:1/-1}
.estimate-material-picker{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.25fr) auto;align-items:end;gap:12px;margin-top:20px;padding:14px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}
.estimate-material-picker strong,.estimate-material-picker span{display:block}
.estimate-material-picker span{margin-top:3px;color:#475569;font-size:12px}
.estimate-material-picker select{width:100%}
.estimate-line-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.estimate-lines-heading,.estimate-item-row{display:grid;grid-template-columns:minmax(250px,1fr) 72px 88px 110px 122px 100px 42px;gap:8px;align-items:start}
.estimate-lines-heading{margin-top:20px;padding:0 4px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}
.estimate-items{display:grid;gap:8px;margin-top:6px}
.estimate-item-row{padding:9px;border:1px solid var(--line);border-radius:11px;background:#fff}
.estimate-item-row input{min-width:0;padding:10px}
.estimate-item-description-wrap{min-width:0}
.estimate-item-description{width:100%}
.estimate-item-source{display:block;margin:5px 2px 0;color:var(--muted);font-size:10px;line-height:1.25}
.estimate-item-total{display:flex;align-items:center;justify-content:flex-end;align-self:start;min-height:42px;text-align:right}
.estimate-remove-item{align-self:start;width:38px;height:38px;padding:0;font-size:20px}
.nested-modal-backdrop{z-index:2400}
body.nested-modal-open{overflow:hidden}
.estimate-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;margin-top:22px}
.estimate-text-fields{display:grid;gap:13px}
.estimate-text-fields textarea{min-height:115px}
@media(max-width:900px){
  .estimate-material-picker{grid-template-columns:1fr}
  .estimate-lines-heading{display:none}
  .estimate-item-row{grid-template-columns:repeat(4,minmax(0,1fr)) 42px}
  .estimate-item-description-wrap{grid-column:1/-1}
  .estimate-item-quantity{grid-column:1}
  .estimate-item-unit{grid-column:2}
  .estimate-item-cost{grid-column:3}
  .estimate-item-price{grid-column:4}
  .estimate-item-total{grid-column:3/5;text-align:right}
  .estimate-remove-item{grid-column:5;grid-row:2/4;height:100%}
  .estimate-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:750px){
  .estimate-tools{display:block}
  .estimate-tools .search-box{max-width:none}
  .estimate-filter-bar{margin-top:10px}
  .estimate-card-main{display:block}
  .estimate-card-total{margin-top:10px;text-align:left}
  .estimate-card-actions{display:grid;grid-template-columns:1fr}
  .estimate-card-actions button{width:100%}
  .estimate-editor-grid{grid-template-columns:1fr}
  .estimate-title-field{grid-column:auto}
}
@media(max-width:520px){
  .estimate-section-heading{display:block}
  .estimate-section-heading>button{width:100%;margin-top:12px}
  .estimate-item-row{grid-template-columns:1fr 1fr 38px}
  .estimate-item-description-wrap{grid-column:1/-1}
  .estimate-item-quantity{grid-column:1}
  .estimate-item-unit{grid-column:2}
  .estimate-item-cost{grid-column:1}
  .estimate-item-price{grid-column:2}
  .estimate-item-total{grid-column:1/3;text-align:right}
  .estimate-remove-item{grid-column:3;grid-row:2/4;height:100%}
}


/* Business settings */
.business-settings-modal{max-height:min(92vh,980px);overflow:auto}
.business-settings-grid{display:grid;gap:18px;margin-top:20px}
.settings-group{display:grid;gap:14px;padding:18px;border:1px solid var(--border);border-radius:14px;background:#fff}
.settings-group h3{margin:0;font-size:1rem}
.settings-number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-input-suffix{display:flex;align-items:center;gap:8px}
.settings-input-suffix input{min-width:0;flex:1}
.settings-input-suffix em{font-style:normal;color:var(--muted);white-space:nowrap}
.settings-logo-group{grid-template-columns:minmax(0,1fr)}
@media(max-width:720px){.settings-number-grid{grid-template-columns:1fr}.business-settings-modal{max-height:94vh}}


/* Build 107 Hotfix 3 — invoice spacing and safe parent switching */
.invoice-card-main{padding:20px 22px}.invoice-card-actions{padding:12px 16px 16px}.invoice-card-heading{row-gap:7px;flex-wrap:wrap}.invoice-card-total{padding-left:12px}.invoice-modal{padding:22px}.invoice-modal>.details-modal-header{padding-bottom:4px}.invoice-modal>.modal-actions{margin-top:22px;padding-top:4px}.invoice-modal .invoice-financial-summary,.invoice-modal .unified-add-item-row,.invoice-modal .invoice-lines-heading,.invoice-modal .invoice-items,.invoice-modal .invoice-bottom-grid,.invoice-modal .invoice-completion-option{margin-left:2px;margin-right:2px}
@media(max-width:760px){.invoice-card-main{padding:15px 16px}.invoice-card-actions{padding:10px 14px 14px}.invoice-modal{padding:16px 14px calc(16px + env(safe-area-inset-bottom))}.invoice-card-total{padding-left:0}}
