/* Page styles; keep rule order when editing the cascade. */
:root{--blue:#2f83cc;--blue-dark:#246da8;--canvas:#f4f5f7;--surface:#fff;--line:#dfe3e8;--text:#263238;--muted:#74808b;--green:#30a46c;--amber:#d99021;--red:#d84b4b;--shadow:0 12px 38px rgba(24,45,67,.18)}
    *{box-sizing:border-box}html,body{height:100%;margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--canvas);font-size:12px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app{min-height:100%;display:grid;grid-template-columns:58px 1fr}.rail{background:#27384a;color:#fff;display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:16px}.brand{width:34px;height:34px;border-radius:9px;background:var(--blue);display:grid;place-items:center;font-weight:700}.rail-dot{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#b9c7d4}.rail-dot.active{background:#3c5167;color:#fff}.shell{min-width:0}.topbar{height:48px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar strong{font-size:13px}.top-actions{display:flex;align-items:center;gap:12px}.avatar{width:27px;height:27px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center;font-weight:700}.main{padding:18px 24px 34px}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:8px}.title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.title-wrap{display:flex;align-items:center;gap:9px}.title{font-size:24px;line-height:1;margin:0;font-weight:600}.icon-btn{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:5px;display:grid;place-items:center;color:var(--blue)}.project-switch{display:flex;gap:2px;padding:3px;background:#e6e9ed;border-radius:7px;width:max-content;margin-bottom:14px}.project-switch button{height:30px;border:0;background:transparent;border-radius:5px;padding:0 14px;color:#596672;font-weight:500}.project-switch button.active{background:#fff;color:var(--blue);box-shadow:0 1px 4px rgba(0,0,0,.12)}.panel{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}.toolbar{padding:10px 12px;border-bottom:1px solid var(--line);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{height:32px;border:1px solid #cfd5db;background:#fff;border-radius:4px;padding:0 12px;font-weight:500}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:var(--blue-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.search{height:32px;width:210px;border:1px solid #cfd5db;border-radius:4px;padding:0 10px}.compact{height:32px;border:1px solid #cfd5db;border-radius:4px;background:#fff;padding:0 8px;min-width:115px}.toolbar-spacer{flex:1}.tabs{display:flex;padding:0 12px;border-bottom:1px solid var(--line)}.tab{border:0;background:transparent;height:40px;padding:0 14px;color:#64717c;position:relative;font-weight:500}.tab.active{color:var(--blue)}.tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--blue)}.count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:5px;background:#edf1f5;border-radius:9px;color:#65717c;font-size:10px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1050px}th{height:36px;background:#fafbfc;color:#6e7983;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);padding:0 10px;white-space:nowrap}td{height:50px;border-bottom:1px solid #edf0f2;padding:7px 10px;vertical-align:middle}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f5f9fd}.clickable-row:focus{outline:2px solid rgba(47,131,204,.26);outline-offset:-2px}.purpose-link{border:0;background:none;padding:0;color:var(--blue-dark);font-weight:600;text-align:left;line-height:1.25}.doc-number{font-size:10px;color:var(--muted);font-weight:400;white-space:nowrap}.secondary{font-size:10px;color:var(--muted);margin-top:3px}.money{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.badge{display:inline-flex;align-items:center;height:22px;border-radius:11px;padding:0 8px;font-size:10px;font-weight:600;background:#eef1f4;color:#56616c}.badge.paid{background:#e3f5eb;color:#247c50}.badge.partial{background:#fff0d8;color:#996215}.badge.overdue{background:#fde7e7;color:#b43737}.badge.sent{background:#e4f0fb;color:#276ba5}.empty{padding:44px;text-align:center;color:var(--muted)}.overlay{position:fixed;inset:0;background:rgba(24,34,45,.43);display:none;z-index:50}.overlay.open{display:flex}.overlay.drawer-host{justify-content:flex-end}.drawer{height:100%;width:min(1120px,calc(100vw - 70px));background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column}.drawer.payment{width:min(900px,calc(100vw - 70px))}.drawer.detail{width:min(680px,calc(100vw - 70px))}.drawer-head,.modal-head{height:54px;min-height:54px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px}.drawer-title{font-size:17px;font-weight:600}.close{width:30px;height:30px;border:0;background:transparent;border-radius:4px;font-size:20px;color:#7b8791}.close:hover{background:#f0f2f4}.close-text{height:32px;border:1px solid #cfd5db;background:#fff;border-radius:4px;padding:0 12px;color:#52616d;font-weight:500}.close-text:hover{background:#f4f6f8}.drawer-body{padding:16px 18px;overflow:auto;flex:1}.drawer-foot{height:56px;min-height:56px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 18px}.section{border:1px solid var(--line);border-radius:6px;margin-bottom:12px}.section-title{height:38px;background:#f8f9fa;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 12px;font-weight:600}.section-body{padding:12px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field.span-2{grid-column:span 2}.field.span-3,.field.span-4{grid-column:1/-1}.field[hidden]{display:none}.field label{font-size:10px;color:#697681;font-weight:600}.req:after{content:" *";color:var(--red)}.control{height:34px;border:1px solid #cfd5db;border-radius:4px;background:#fff;padding:0 9px;width:100%}.control[readonly]{background:#f5f6f7;color:#596672}.control:focus{outline:2px solid rgba(47,131,204,.18);border-color:var(--blue)}textarea.control{height:68px;padding-top:8px;resize:vertical}.inline-link{display:inline-flex;align-items:center;height:34px;color:var(--blue);text-decoration:none}.items-head,.item-row{display:grid;grid-template-columns:1.1fr 1.5fr .6fr .55fr .75fr .55fr .75fr 32px;gap:7px;align-items:center}.items-head{font-size:9px;color:var(--muted);text-transform:uppercase;padding:0 0 6px}.item-row{padding:8px 0;border-top:1px solid #edf0f2}.item-row:first-of-type{border-top:0}.item-row .control{height:32px;padding:0 6px}.vat-readonly{height:32px;border:1px solid #e0e3e6;border-radius:4px;background:#f5f6f7;display:flex;align-items:center;padding:0 7px;color:#6c7781}.remove-line{width:30px;height:30px;border:0;background:#fff;color:var(--red);border-radius:4px;font-size:18px}.line-note{grid-column:2/8}.totals{display:grid;grid-template-columns:1fr 210px;gap:12px;margin-top:10px}.totals-box{border:1px solid var(--line);border-radius:5px;padding:8px 10px}.total-row{display:flex;justify-content:space-between;padding:5px 0}.total-row.grand{border-top:1px solid var(--line);margin-top:4px;padding-top:9px;font-weight:700;font-size:14px}.validation{min-height:16px;color:var(--red);font-size:10px;margin-right:auto}.alloc-head,.alloc-row{display:grid;grid-template-columns:1.7fr .8fr .8fr .8fr 32px;gap:8px;align-items:center}.alloc-head{font-size:9px;color:var(--muted);text-transform:uppercase;padding-bottom:6px}.alloc-row{padding:8px 0;border-top:1px solid #edf0f2}.alloc-row .control{height:32px}.allocation-summary{display:flex;justify-content:flex-end;gap:18px;padding:10px 0 2px}.allocation-summary span{color:var(--muted)}.allocation-summary strong{margin-left:5px}.modal-host{align-items:center;justify-content:center;padding:24px}.modal{width:min(720px,calc(100vw - 40px));max-height:calc(100vh - 48px);background:#fff;border-radius:7px;box-shadow:var(--shadow);display:flex;flex-direction:column}.modal-body{padding:16px 18px;overflow:auto}.chain{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}.chain-node{border:1px solid var(--line);border-radius:5px;padding:9px 11px;background:#fafbfc;min-width:135px}.chain-arrow{color:#9aa4ad}.read-only-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.read-only-grid .wide{grid-column:1/-1}.notes-content{line-height:1.55;white-space:pre-wrap}.toast{position:fixed;right:20px;bottom:20px;background:#293b4d;color:#fff;border-radius:5px;padding:11px 14px;opacity:0;transform:translateY(8px);transition:.2s;z-index:100;pointer-events:none}.toast.show{opacity:1;transform:none}@media(max-width:960px){.form-grid,.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.items-head{display:none}.item-row{grid-template-columns:1fr 1fr}.line-note{grid-column:1/-1}.drawer{width:calc(100vw - 58px)}}
    /* Expenses detail and drawer motion */
    .overlay{display:flex;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility 0s linear .34s}
    .overlay.open{display:flex;opacity:1;visibility:visible;pointer-events:auto;transition:opacity .24s ease}
    .drawer{transform:translateX(100%);transition:transform .34s cubic-bezier(.22,.8,.24,1)}
    .overlay.open .drawer{transform:translateX(0)}
    .detail-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;margin-bottom:12px;border:1px solid #cfe0ef;border-left:4px solid var(--blue);border-radius:6px;background:#f5f9fd}
    .detail-kicker{font-size:9px;line-height:1.2;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
    .detail-purpose{font-size:17px;line-height:1.25;font-weight:600;color:#263b4d}
    .prototype-switch{width:48px;min-height:54px;padding:6px 3px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:transparent;color:#b9c7d4;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:background .15s,border-color .15s,color .15s}.prototype-switch:hover,.prototype-switch:focus-visible{background:#3c5167;border-color:#8cbbe2;color:#fff;outline:0}.prototype-switch.active{background:var(--blue);border-color:#fff;color:#fff}.prototype-switch-code{font-size:12px;font-weight:700;line-height:1}.prototype-switch-label{font-size:8px;line-height:1;color:inherit}
    .detail-status{min-width:94px;text-align:right}
    .detail-status .badge{height:26px;padding:0 11px;font-size:11px}
    .relation-section{border:1px solid var(--line);border-radius:6px;background:#fff;margin-bottom:12px;overflow:hidden}
    .relation-heading,.detail-section-heading{font-size:10px;color:#5f6d78;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
    .relation-heading{padding:10px 12px;border-bottom:1px solid #edf0f2;background:#fafbfc}
    .relation-flow{display:grid;grid-template-columns:minmax(140px,1fr) 70px minmax(140px,1fr) 70px minmax(140px,1fr);align-items:center;gap:8px;padding:12px}
    .relation-node{min-width:0;border:1px solid #d7dde3;border-radius:6px;background:#fff;padding:10px 11px;box-shadow:0 1px 2px rgba(34,55,75,.04)}
    .relation-node.current{border-color:#8cbbe2;background:#f2f8fd}
    .relation-node.muted{background:#fafbfc;color:#7b8791}
    .relation-kind{display:block;font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
    .relation-node strong{display:block;font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .relation-number{display:block;color:var(--muted);font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .relation-connector{text-align:center;color:#7b8791}
    .relation-connector-label{display:block;font-size:9px;line-height:1.2;margin-bottom:4px}
    .relation-arrow{display:block;font-size:20px;line-height:1;color:#8aa2b6}
    .relation-node-list{display:grid;gap:6px;min-width:0}
    .settlement-block{border:1px solid #d5e2ed;border-radius:6px;background:#f7fafc;margin-bottom:14px;overflow:hidden}
    .settlement-heading{padding:9px 12px;border-bottom:1px solid #dde7ef;font-size:10px;color:#536675;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
    .settlement-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
    .settlement-column{display:grid;gap:11px;padding:12px 14px}
    .settlement-column+ .settlement-column{border-left:1px solid #dde7ef}
    .settlement-metric{min-width:0}
    .settlement-label{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px}
    .settlement-value{font-size:13px;font-weight:600;color:#314657;font-variant-numeric:tabular-nums}
    .detail-section-heading{margin:2px 0 8px}
    @media(max-width:760px){.relation-flow{grid-template-columns:1fr}.relation-connector{display:flex;align-items:center;justify-content:center;gap:7px}.relation-connector-label{margin:0}.relation-arrow{transform:rotate(90deg)}.detail-summary{align-items:flex-start}.settlement-grid{grid-template-columns:1fr}.settlement-column+ .settlement-column{border-left:0;border-top:1px solid #dde7ef}}
    @media(prefers-reduced-motion:reduce){.overlay,.drawer{transition:none}}
      #quoteForm .form-grid>.field>label,#quoteForm .analytical-form-fields>.field>label{min-height:16px;display:flex;align-items:center;gap:5px}
    #quoteForm input[type=number]{appearance:textfield;-moz-appearance:textfield}
    #quoteForm input[type=number]::-webkit-inner-spin-button,#quoteForm input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
    .badge{white-space:nowrap;flex-shrink:0}
    #tableHost .badge{font-size:9px;padding:0 6px}
  
    .order-type-field{grid-column:1}
    .expense-money-grid{display:grid;grid-template-columns:minmax(70px,.7fr) minmax(95px,1.15fr) minmax(80px,.8fr) minmax(95px,1.15fr) minmax(90px,1fr);gap:10px}
    .expense-money-grid>*{min-width:0}.expense-money-grid .control{width:100%;min-width:0}
    .expense-money-grid label{white-space:nowrap}
    .order-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;grid-column:1/-1}
    @media(max-width:600px){.expense-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-status-grid{grid-template-columns:1fr}.quote-context-grid{grid-template-columns:1fr}}
      .quote-payment-totals{display:grid;gap:7px;width:max-content;max-width:100%;margin:14px 0 0 auto;padding-top:10px;border-top:1px solid var(--line)}
    .quote-payment-total{display:grid;grid-template-columns:minmax(60px,1fr) auto;gap:24px;align-items:baseline}
    .quote-payment-total>span{color:var(--muted)}.quote-payment-total>strong{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
    .quote-payment-total.overpaid>strong{color:var(--blue)}
  
  
    #quoteBankDetailsField{gap:6px}#quoteBankDetailsField label{font-size:9px}#quoteBankDetailsField .control{height:28px;padding:0 7px;font-size:11px}
    [data-review-id="expense.detail.bank.fields"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
    [data-review-id="expense.detail.bank.fields"] label{font-size:9px}[data-review-id="expense.detail.bank.fields"] .control{height:28px;padding:0 7px;font-size:11px}
    @media(max-width:600px){#quoteBankDetailsField .form-grid,[data-review-id="expense.detail.bank.fields"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
      .quote-related-row.muted[data-review-id="expense.detail.related.primary"]{background:#fbefef;border-color:#e5c5c5;color:#985858}.quote-related-row.muted[data-review-id="expense.detail.related.primary"] .quote-related-kind,.quote-related-row.muted[data-review-id="expense.detail.related.primary"] .quote-related-status{color:#985858}

    .header-title{margin:0;font-size:18px;line-height:1.2;font-weight:600}
    .panel>.hierarchy-filters{flex-wrap:nowrap;overflow-x:auto;gap:8px}
    .hierarchy-filters>.compact{min-width:110px;flex:none}
    .hierarchy-filters .hierarchy-filter{width:150px;min-width:150px;flex:none}
    .hierarchy-filters>.date-range-trigger{min-width:110px;flex:none}
    .hierarchy-filters>.analytical-filters{flex-wrap:nowrap;max-width:none;flex:none}
    .hierarchy-filters .analytical-filter-all{width:220px}

  .action-with-help[hidden]{display:none}
.contour-card{display:flex;align-items:stretch;gap:0;margin:0 0 12px;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
    .contour-step{position:relative;flex:1;min-width:0;padding:10px 14px 10px 26px;border-right:1px solid var(--line)}
    .contour-step:first-child{padding-left:14px}.contour-step:last-child{border-right:0}
    .contour-step:not(:first-child):before{content:"›";position:absolute;left:8px;top:17px;color:#8aa2b6;font-size:18px;line-height:1}
    .contour-label{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
    .contour-value{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .contour-note{color:var(--muted);font-size:10px;margin-top:3px}
    .hierarchy-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;background:#fafbfc;border-bottom:1px solid var(--line)}
    .hierarchy-filter{min-width:170px;max-width:240px}
    input.hierarchy-filter{padding-right:28px}
    .hierarchy-cell{min-width:150px}.hierarchy-main{font-weight:500}.mirror-badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:10px;background:#fce9dd;color:#9a4f24;font-size:9px;font-weight:600;margin-top:4px}
    .accounting-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:11px 12px;border:1px solid #d7e2ea;border-radius:6px;background:#f7fafc;margin-bottom:12px}
    .accounting-strip .settlement-metric{padding:2px}
    table{min-width:1480px}
    @media(max-width:900px){.contour-card{display:grid;grid-template-columns:1fr 1fr}.contour-step{border-bottom:1px solid var(--line)}.hierarchy-filter{min-width:145px;flex:1}.accounting-strip{grid-template-columns:1fr}}
    
    
    .table-heading,.inline-help-label{display:inline-flex;align-items:center;gap:5px}
    .help-wrap{position:relative;display:inline-flex}
    .help-button{width:10.88px;height:10.88px;padding:0;border:1px solid #b9c7d4;border-radius:50%;background:#fff;color:#657887;font-size:6.4px;font-weight:700;line-height:9.6px;display:grid;place-items:center}
    .help-button:hover,.help-button:focus-visible{border-color:var(--blue);color:var(--blue);outline:none}
    .help-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:230px;padding:8px 10px;border-radius:5px;background:#263b4d;color:#fff;font-size:10px;line-height:1.45;font-weight:400;box-shadow:0 6px 18px rgba(22,42,60,.24);opacity:0;visibility:hidden;pointer-events:none;z-index:20;transition:.15s}
    .help-wrap:hover .help-tooltip,.help-button:focus-visible + .help-tooltip{opacity:1;visibility:visible}
    .table-heading .help-tooltip{top:calc(100% + 8px);bottom:auto;left:0;transform:none;text-transform:none;letter-spacing:normal;white-space:normal}
    .table-heading .help-wrap.help-right .help-tooltip{left:auto;right:0;transform:none}
    .doc-number,.secondary{display:block}
    .date-range-trigger{height:32px;min-width:204px;display:flex;align-items:center;gap:8px;border:1px solid #cfd5db;border-radius:4px;background:#fff;padding:0 10px;color:#52616d}
    .date-range-trigger .date-icon{font-size:14px;color:var(--blue)}
    .date-range-trigger .date-text{font-weight:500;white-space:nowrap}
    .calendar-modal{width:min(680px,calc(100vw - 32px))}
    .calendar-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .calendar-month-title{text-align:center;font-weight:600;margin-bottom:9px}
    .calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
    .calendar-week span{text-align:center;color:var(--muted);font-size:9px;padding:4px 0}
    .calendar-day{height:30px;border:0;border-radius:4px;background:transparent;padding:0;font-variant-numeric:tabular-nums}
    .calendar-day:hover{background:#eaf3fb}.calendar-day.in-range{background:#eef6fc;border-radius:0}.calendar-day.selected{background:var(--blue);color:#fff;border-radius:4px}.calendar-day.blank{visibility:hidden}
    .modal-foot{min-height:54px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:10px 18px}.modal-foot .range-caption{margin-right:auto;color:#64717c}
    .help-modal{width:min(520px,calc(100vw - 32px))}.help-copy{font-size:12px;line-height:1.55;color:#40515f}.help-example{margin-top:14px;padding:12px;border-left:3px solid var(--blue);background:#f3f8fc;border-radius:4px;line-height:1.5}.help-example strong{display:block;margin-bottom:4px}
    table{min-width:930px}.expected-table{min-width:1320px}.payments-table{min-width:1120px}
    .quote-drawer{width:min(1100px,calc(100vw - 58px))}
    .quote-drawer .drawer-body{padding:0;overflow:hidden;min-height:0}
    .quote-layout{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.78fr)}
    .quote-main{min-height:0;overflow:auto;padding:16px 18px}
    .quote-activity{min-height:0;overflow:hidden;border-left:1px solid var(--line);background:#fafbfc;padding:16px;display:flex;flex-direction:column}
    .quote-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;flex:0 0 auto}
    .activity-title{font-size:13px;font-weight:600;margin-bottom:12px;flex:0 0 auto}.activity-list{display:grid;gap:9px;overflow:auto;min-height:0;padding-right:2px}.activity-card{border:1px solid var(--line);background:#fff;border-radius:6px;padding:12px;line-height:1.5}.activity-time{font-size:9px;color:var(--muted);margin-top:6px}
    .quote-context-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .recipient-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
    .quote-status-badge{height:34px;display:flex;align-items:center}
    .items-head,.item-row{grid-template-columns:1.05fr 1.55fr .64fr .5fr .72fr .48fr .7fr 32px 32px}
    .description-toggle{width:30px;height:30px;border:1px solid #d6dce1;background:#fff;border-radius:4px;color:#627381;font-size:14px}.description-toggle.has-value{color:var(--blue);border-color:#9cc5e6;background:#f2f8fd}
    .line-description{grid-column:1/-1;display:none;grid-template-columns:88px 1fr 32px;gap:8px;align-items:center;padding:9px 10px;background:#f7f9fb;border-radius:5px}.line-description.open{display:grid}.line-description label{font-size:10px;color:#697681;font-weight:600}.save-description{width:30px;height:30px;border:0;border-radius:4px;background:var(--blue);color:#fff}
    .totals{grid-template-columns:1fr 220px}.quote-drawer .drawer-foot{justify-content:flex-start}
    .payment{width:min(460px,96vw)!important}.payment .drawer-body{padding:14px 16px}.payment .section{border:0;margin:0 0 16px}.payment .section-title{height:auto;padding:0 0 8px;background:none;border:0;font-size:11px}.payment .section-body{padding:0}
    .payment-context{display:grid;grid-template-columns:1fr;gap:10px}.payment-context .wide{grid-column:1/-1}
    .payment-inline{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
    .payment-order-picker{display:grid;grid-template-columns:minmax(0,1fr) 132px 132px;gap:8px;align-items:end}
    .conditional-block{margin-top:9px;padding:10px;background:#f6f8fa;border:1px solid var(--line);border-radius:5px}.conditional-block[hidden]{display:none}.fx-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}
    .payment .drawer-foot{justify-content:flex-end}.payment .validation{position:static;background:transparent}
    .badge.approval{background:#e4f0fb;color:#276ba5}.btn.danger{border-color:#e0a1a1;color:#b43737;background:#fff}.btn.danger:hover{background:#fde7e7}.control:disabled{background:#f5f6f7;color:#596672}
    .drawer.detail.quote-detail{width:min(1100px,calc(100vw - 58px))}.quote-detail .drawer-body{padding:0;overflow:hidden}.quote-detail .section{border:0;margin:0 0 16px}.quote-detail .section-title{height:auto;padding:0 0 8px;background:none;border:0;font-size:11px}.quote-detail .section-body{padding:0}.quote-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quote-detail-grid .wide{grid-column:1/-1}.quote-detail-items{display:grid;gap:8px}.quote-detail-item{border:1px solid var(--line);border-radius:5px;background:#f7f9fb;padding:9px}.quote-detail-item-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.quote-detail-item-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;color:#65717c;font-size:10px}.quote-detail-item-description{margin-top:7px;padding-top:7px;border-top:1px solid var(--line);color:#596672;line-height:1.4}.quote-detail-totals{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.quote-detail-totals span{color:var(--muted)}
    .quote-related-list{display:grid;gap:7px}.quote-related-row{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid var(--line);border-radius:5px;background:#f7f9fb}.quote-related-row.current{border-color:#8cbbe2;background:#f2f8fd}.quote-related-kind{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase}.quote-related-reference{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-related-status{font-size:10px;color:#64717c;white-space:nowrap}
    .settlement-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px}
    .settlement-column{display:contents}.settlement-column + .settlement-column{border:0}
    .settlement-metric{padding:9px 10px;border:1px solid transparent;border-radius:5px;background:#fff}.settlement-metric.outstanding{border-color:#efb75e;background:#fff8ec;box-shadow:inset 3px 0 0 #d99021}
    .accounting-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
    .expense-item-field .control{height:38px}
    .optional-note{margin-left:7px;color:var(--muted);font-size:9px;font-weight:500;text-transform:none}
    .quote-detail .quote-actions .btn{width:100%}
    @media(max-width:900px){.quote-layout{grid-template-columns:1fr}.quote-activity{height:auto;min-height:220px;overflow:visible;border-left:0;border-top:1px solid var(--line)}.activity-list{max-height:260px}.quote-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-layout{grid-template-columns:1fr}.settlement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .expense-related-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;white-space:nowrap}

.payment-related-expenses{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.payment-expense-row{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;padding:12px;border:1px solid var(--line);border-radius:5px;margin-top:8px}.payment-expense-row>div{display:flex;flex-direction:column;gap:5px;text-align:right}.payment-expense-row>div>span{font-size:10px;color:var(--muted)}.payment-expense-row .purpose-link{overflow-wrap:anywhere}
    .whatsapp-launcher{position:relative;width:48px;min-height:54px;padding:6px 3px;border:1px solid rgba(255,255,255,.38);border-radius:8px;background:#168c52;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 5px 14px rgba(5,80,43,.22)}
    .whatsapp-launcher:hover,.whatsapp-launcher:focus-visible{background:#107544;border-color:#fff;outline:0}.whatsapp-launcher-code{font-size:12px;font-weight:700;line-height:1}.whatsapp-launcher-label{font-size:8px;line-height:1}.whatsapp-launcher-dot{position:absolute;right:3px;top:3px;width:7px;height:7px;border-radius:50%;background:#d8ff63;border:1px solid #0c6b3c;opacity:0}.whatsapp-launcher.has-state .whatsapp-launcher-dot{opacity:1}
    .whatsapp-window{position:fixed;left:70px;bottom:18px;width:380px;height:min(650px,calc(100vh - 78px));z-index:45;border:1px solid #cbd4cf;border-radius:10px;background:#efeae2;box-shadow:0 18px 50px rgba(24,45,40,.28);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateX(-28px) scale(.97);transform-origin:left bottom;pointer-events:none;transition:opacity .2s ease,transform .24s ease,visibility 0s linear .24s}
    .whatsapp-window.open{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .2s ease,transform .24s ease}
    .whatsapp-head{height:58px;min-height:58px;padding:0 10px 0 12px;background:#176b55;color:#fff;display:flex;align-items:center;gap:9px}.whatsapp-avatar{width:34px;height:34px;border-radius:50%;background:#fff;color:#176b55;display:grid;place-items:center;font-weight:700}.whatsapp-title{font-size:13px;font-weight:600}.whatsapp-presence{font-size:9px;color:#d3eee5;margin-top:2px}.whatsapp-minimize{margin-left:auto;width:30px;height:30px;border:0;border-radius:5px;background:transparent;color:#fff;font-size:20px;line-height:1}.whatsapp-minimize:hover,.whatsapp-minimize:focus-visible{background:rgba(255,255,255,.14);outline:0}
    .whatsapp-messages{flex:1;min-height:0;overflow:auto;padding:14px 11px 8px;background-color:#efeae2;background-image:radial-gradient(rgba(65,91,80,.08) .7px,transparent .7px);background-size:12px 12px;display:flex;flex-direction:column;gap:7px}.whatsapp-message{max-width:86%;padding:8px 9px;border-radius:7px;background:#fff;box-shadow:0 1px 1px rgba(45,68,58,.12);line-height:1.4;white-space:pre-wrap}.whatsapp-message.user{align-self:flex-end;background:#d9fdd3}.whatsapp-message.bot{align-self:flex-start}.whatsapp-author{font-size:9px;font-weight:600;color:#176b55;margin-bottom:2px}.whatsapp-text{font-size:11px}.whatsapp-time{font-size:8px;color:#7b8983;text-align:right;margin-top:3px}
    .whatsapp-composer{border-top:1px solid #d4d8d5;background:#f7f7f7;padding:9px;display:grid;gap:7px}.whatsapp-prompt{font-size:10px;color:#5f6c66;font-weight:600}.whatsapp-options{display:flex;gap:6px;flex-wrap:wrap}.whatsapp-option{min-height:30px;border:1px solid #95c8b2;border-radius:16px;background:#fff;color:#176b55;padding:5px 10px;font-weight:600}.whatsapp-option:hover,.whatsapp-option:focus-visible{border-color:#176b55;background:#edf8f3;outline:0}.whatsapp-option:disabled{opacity:.48;cursor:not-allowed}.whatsapp-input-row{display:flex;align-items:flex-end;gap:6px}.whatsapp-control{min-width:0;width:100%;height:34px;border:1px solid #c9d0cc;border-radius:6px;background:#fff;padding:0 8px}.whatsapp-control:focus{outline:2px solid rgba(23,107,85,.18);border-color:#176b55}.whatsapp-control[type=file]{height:auto;padding:7px;font-size:10px}.whatsapp-send{height:34px;min-width:66px;border:0;border-radius:17px;background:#168c52;color:#fff;padding:0 12px;font-weight:600}.whatsapp-send:hover,.whatsapp-send:focus-visible{background:#107544;outline:0}.whatsapp-send:disabled{opacity:.45;cursor:not-allowed}.whatsapp-summary{display:grid;gap:4px;border:1px solid #d5ded9;border-radius:6px;background:#fff;padding:8px;font-size:10px}.whatsapp-summary-row{display:flex;justify-content:space-between;gap:10px}.whatsapp-summary-row span:first-child{color:#738079}.whatsapp-summary-row strong{text-align:right}.whatsapp-footer-actions{display:flex;gap:6px;flex-wrap:wrap}.whatsapp-secondary{height:30px;border:1px solid #c9d0cc;border-radius:5px;background:#fff;padding:0 9px;color:#516159}.whatsapp-secondary:hover,.whatsapp-secondary:focus-visible{border-color:#176b55;color:#176b55;outline:0}.whatsapp-created{font-size:10px;color:#446057}.whatsapp-created strong{color:#176b55}.whatsapp-error{min-height:14px;color:#b43737;font-size:9px}.whatsapp-highlight{animation:whatsapp-row-highlight 2.8s ease-out}@keyframes whatsapp-row-highlight{0%,35%{background:#dff8ea}100%{background:transparent}}
    .whatsapp-document-state{font-size:10px;margin-top:5px;padding-top:5px;border-top:1px solid #e0e8e3;color:#476156}.whatsapp-composer[hidden]{display:none}.whatsapp-message-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.whatsapp-reply-button{border:0;background:transparent;color:#176b55;font:inherit;font-size:10px;cursor:pointer;padding:2px 0}.whatsapp-reply-button:hover{text-decoration:underline}.whatsapp-reply-context{max-height:56px;overflow:auto;border-left:3px solid #168c52;padding:5px 8px;background:#eaf3ef;font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere}.whatsapp-reply-file{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border:1px solid #d5ded9;border-radius:5px;background:#fff;font-size:11px}.whatsapp-reply-file span{min-width:0;overflow-wrap:anywhere}.whatsapp-reply form{display:grid;gap:7px}.whatsapp-reply label{font-size:10px}.whatsapp-reply textarea{height:70px;resize:vertical;padding:7px;max-height:120px}.whatsapp-text{overflow-wrap:anywhere}
    .whatsapp-control[type=number]{-moz-appearance:textfield;appearance:textfield}.whatsapp-control[type=number]::-webkit-inner-spin-button,.whatsapp-control[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
    @media(max-width:700px){.whatsapp-window{left:62px;right:8px;bottom:8px;width:auto;height:min(620px,calc(100vh - 16px))}}
    @media(prefers-reduced-motion:reduce){.whatsapp-window{transition:none}.whatsapp-highlight{animation:none;background:#e9f8ef}}
    #quoteForm .form-grid>.field>label,#quoteForm .analytical-form-fields>.field>label{min-height:16px;display:flex;align-items:center;gap:5px}
    #quoteForm input[type=number]{appearance:textfield;-moz-appearance:textfield}
    #quoteForm input[type=number]::-webkit-inner-spin-button,#quoteForm input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
    .badge{white-space:nowrap;flex-shrink:0}
    #tableHost .badge{font-size:9px;padding:0 6px}
  
    .order-type-field{grid-column:1}
    .expense-money-grid{display:grid;grid-template-columns:minmax(70px,.7fr) minmax(95px,1.15fr) minmax(80px,.8fr) minmax(95px,1.15fr) minmax(90px,1fr);gap:10px}
    .expense-money-grid>*{min-width:0}.expense-money-grid .control{width:100%;min-width:0}
    .expense-money-grid label{white-space:nowrap}
    .order-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;grid-column:1/-1}
    @media(max-width:600px){.expense-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-status-grid{grid-template-columns:1fr}.quote-context-grid{grid-template-columns:1fr}}
      .quote-payment-totals{display:grid;gap:7px;width:max-content;max-width:100%;margin:14px 0 0 auto;padding-top:10px;border-top:1px solid var(--line)}
    .quote-payment-total{display:grid;grid-template-columns:minmax(60px,1fr) auto;gap:24px;align-items:baseline}
    .quote-payment-total>span{color:var(--muted)}.quote-payment-total>strong{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
    .quote-payment-total.overpaid>strong{color:var(--blue)}
  
.payment-order-purpose{grid-column:1/-1}.payment-order-purpose textarea{min-height:58px;resize:vertical}.payment-accounting{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-accounting .wide{grid-column:1/-1}.payment-order-settlement{grid-column:1/-1;display:flex;gap:14px;justify-content:flex-end;flex-wrap:wrap;font-size:10px}.payment-order-settlement>span{display:flex;gap:5px}
    .receipt-thumbnail{display:block;border:0;padding:0;background:transparent;margin:4px 0 7px;max-width:220px;width:100%}.receipt-thumbnail img{display:block;width:100%;max-height:310px;object-fit:contain;border-radius:4px}
    #documentPreviewOverlay{z-index:90}.document-preview{width:min(620px,calc(100vw - 40px))}.document-preview .modal-body{background:#eeece7;text-align:center}.document-preview img{display:block;max-width:100%;height:auto;margin:auto}.document-preview .drawer-title{overflow-wrap:anywhere}
  
    /* Payment order details: compact metadata above a consistent two-column grid. */
    .payment-order-context{display:grid;gap:12px}
    .payment-order-meta{display:grid;grid-template-columns:140px 140px minmax(0,1fr);gap:20px;padding:10px 12px;background:#f7f9fb;border:1px solid #e7ecf0;border-radius:5px;align-items:start}
    .payment-order-meta .field{gap:4px}
    .payment-order-meta .control[readonly]{height:24px;min-height:24px;padding:0;background:transparent;border:0;border-radius:0;color:#344553;font-weight:500}
    .payment-order-meta .quote-status-badge{height:24px;min-height:24px}
    .payment-order-meta [data-review-id="expense.detail.field.status.group"]{justify-self:end}
    .payment-order-meta [data-review-id="expense.detail.field.status.group"] .help-tooltip{left:auto;right:0;transform:none}
    .payment-order-context>.quote-detail-grid{gap:10px 12px}
    @media(max-width:900px){.payment-order-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:12px}.payment-order-meta [data-review-id="expense.detail.field.status.group"]{justify-self:start}}
    @media(max-width:600px){.payment-order-meta{grid-template-columns:1fr 1fr}.payment-order-meta [data-review-id="expense.detail.field.status.group"]{grid-column:1/-1}.payment-order-context>.quote-detail-grid{grid-template-columns:1fr}}
    .help-tooltip,.table-heading .help-tooltip,.table-heading .help-wrap.help-right .help-tooltip,.payment-order-meta [data-review-id="expense.detail.field.status.group"] .help-tooltip{position:fixed;left:12px;right:auto;top:12px;bottom:auto;transform:none;z-index:120;white-space:normal;text-transform:none;letter-spacing:normal;transition:opacity .15s,visibility .15s}
    #summaryHelpOverlay{z-index:150}
    .overlay.open>.drawer,.overlay.open>.modal{transform:none}
    .help-tooltip{display:none}.help-wrap:hover>.help-tooltip,.help-button:focus-visible+.help-tooltip{display:block}
    .filter-help .inline-help-label>.label-text,.filter-help [data-review-id$=".label-text"]{display:none}.filter-help{display:inline-flex;align-items:center}
    .help-wrap{flex:none}.inline-help-label{gap:4px}
    .action-with-help{display:inline-flex;align-items:center;gap:5px;min-width:0}
    .quote-actions>.action-with-help{display:flex}.quote-actions>.action-with-help>.btn{flex:1}
    .help-modal .modal-body{overflow:auto;min-height:0}.help-modal{max-height:calc(100vh - 32px)}

    .register-tabs{gap:8px;padding:10px 12px;background:#edf4fa;border-bottom:1px solid #cbddeb}
    .register-tabs .tab{height:30px;padding:0 14px;border:0;border-radius:4px;background:transparent;color:#426581;font-weight:600;white-space:nowrap}
    .register-tabs .tab.active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 1px 2px #22496824}
    .register-tabs .tab.active:after{display:none}
    .register-tabs .tab.active .count{background:#ffffff30;color:#fff}
    .register-tabs .tab:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
    .hierarchy-filters>.btn{flex:none;white-space:nowrap}
    .hierarchy-filters>.action-with-help{flex:none}.hierarchy-filters>.action-with-help>.btn{white-space:nowrap}

    .main>.project-tabs-row{flex-wrap:nowrap;gap:8px}
    .main>.project-tabs-row .project-switch{max-width:none;flex-wrap:nowrap;flex:none}
    .project-tabs-row>.register-tabs{display:flex;align-items:center;flex:none;margin-left:18px;padding:3px;border:1px solid #c8d9e8;border-radius:6px;background:#e8eef4;gap:0}
    @media(max-width:980px){.main>.project-tabs-row{overflow-x:auto;padding-bottom:4px}}

    .filter-divider{height:28px;width:1px;background:#c7d4df;flex:none;margin:0 8px}
    .search-control{position:relative;width:302.4px;min-width:302.4px;flex:none}
    .search-control>.search{width:100%;padding-right:32px}
    .search-clear{position:absolute;right:4px;top:4px;width:24px;height:24px;border:0;border-radius:3px;padding:0;background:transparent;color:#708191;font-size:18px;line-height:24px}
    .search-clear:hover{background:#e8eef4;color:#344b60}
    .search-clear:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
    .search-clear[hidden]{display:none}
    .workflow-filters{display:flex;align-items:center;gap:6px;flex:none;margin-left:10px;padding:6px 0}
    .workflow-filter{position:relative;height:30px;border:0;border-radius:5px;background:transparent;padding:0 12px;color:#84909b;white-space:nowrap;font-size:12px}
    .workflow-filter:hover{background:#edf0f3;color:#374957}
    .workflow-filter.active{background:#e9ecef;color:#293b49;font-weight:600}
    .workflow-filter:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
    .workflow-filter-counter{position:absolute;top:-3px;right:-2px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:#e95746;color:#fff;font-size:10px;font-weight:600;line-height:1}
    .workflow-filter-counter[hidden]{display:none}
    @media(max-width:1250px){.main>.project-tabs-row{flex-wrap:wrap}.project-tabs-row>.workflow-filters{margin-left:0}}
.action-with-help[hidden]{display:none}

/* Layout previously specified on individual HTML elements. */
.field.payment-method-field, .field.payment-reference-field, .field.payment-description-field { margin-top: 10px; }
.form-grid.recipient-bank-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
#quoteFileEditor.browser-file-editor { grid-column: 1 / -1; }

.quote-related-row.no-kind{grid-template-columns:minmax(0,1fr) auto}

.expense-items-summary{display:flex;gap:26px;padding:10px 12px;border-top:1px solid var(--line);font-size:13px}
.expense-items-summary .eis-row{display:flex;align-items:center;gap:8px}
.expense-items-summary .eis-row span{color:#8892A4}
.expense-items-summary .eis-row strong{font-weight:600}

#quoteExtraDocs{display:grid;gap:6px;margin:8px 0}
.extra-doc-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;font-size:12.5px}
.extra-doc-name{font-weight:500;overflow-wrap:anywhere}
.extra-doc-date{color:#8892A4;margin-left:auto;white-space:nowrap}
#quoteAddDoc{margin-top:2px}

.attach-row-wrap{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0}
.attach-row-wrap .browser-file-editor{display:flex;align-items:center;gap:8px;margin:0;flex:0 1 auto}
.attach-row-wrap .browser-file-editor .browser-file-links{display:flex;align-items:center;gap:8px}
.attach-row-wrap input[type=file]{flex:0 1 auto;min-width:0;max-width:240px}
.attach-row-wrap .browser-file-editor{flex:0 1 auto;min-width:0;white-space:nowrap}
.attach-row-wrap .browser-file-editor .browser-file-links{overflow:hidden}
.attach-row-wrap .browser-file-name{overflow:hidden;text-overflow:ellipsis;max-width:160px;display:inline-block;vertical-align:middle}

.attach-row-wrap{align-items:center}
.attach-row-wrap .browser-file-editor{display:flex;flex-flow:row nowrap;align-items:center;gap:8px;flex:0 1 auto;min-width:0}
.attach-row-wrap .browser-file-editor > *{flex:0 0 auto}
.attach-row-wrap .browser-file-editor .browser-file-links{display:flex;flex-flow:row nowrap;align-items:center;gap:8px;min-width:0}
.attach-row-wrap .browser-file-editor [data-review-id="expense.form.attachment.current.empty"]{display:none}
.attach-row-wrap .browser-file-editor button{white-space:nowrap}

.extra-doc-row.pending{display:flex;align-items:center;gap:8px}
.extra-doc-row.pending input[type=file]{flex:0 1 auto;min-width:0;max-width:240px}

#quoteExtraDocs{grid-column:1/-1}
#quoteExtraDocs:empty{display:none}
#quoteAddDoc{grid-column:1/-1;justify-self:start}
.extra-doc-row{background:#fff}

.extra-doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.extra-doc-grid .field:last-child{grid-column:span 2}
#quoteExtraDocs{display:grid;gap:12px}

.attach-row-wrap .browser-file-editor .browser-file-links{flex:0 1 auto}

.attach-row-wrap .browser-file-editor{flex-grow:0!important}

#quoteExtraItems{display:grid;gap:10px;margin-top:10px}
#quoteExtraItems:empty{display:none}
.extra-item-grid{grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:end}
.extra-item-actions button{white-space:nowrap}
#quoteAddItem{margin-top:10px;justify-self:start}

#quoteItemsSummary{display:flex;gap:26px;margin-top:12px;padding:10px 12px;border-top:1px solid var(--line);font-size:13px}
#quoteItemsSummary:empty{display:none}
#quoteItemsSummary .eis-row{display:flex;align-items:center;gap:8px}
#quoteItemsSummary .eis-row span{color:#8892A4}

#recipientPicker{position:absolute;top:100%;left:0;right:0;z-index:40;background:#fff;border:1px solid #D8DBDF;border-radius:8px;box-shadow:0 8px 22px rgba(20,27,52,.14);max-height:220px;overflow:auto;margin-top:4px}
#recipientPicker[hidden]{display:none}
.rp-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;font-size:13px;cursor:pointer}
.rp-row:hover{background:#F2F6FA}
.rp-name{font-weight:500}
.rp-dept{color:#8892A4;font-size:12px}
.rp-empty{padding:10px 12px;color:#8892A4;font-size:13px}

.rp-tabs{display:flex;gap:2px;padding:6px 6px 0;border-bottom:1px solid #EEEFF1;position:sticky;top:0;background:#fff}
.rp-tab{height:30px;padding:0 12px;font-size:12.5px;font-weight:600;color:#7C8591;border-radius:7px 7px 0 0;background:none;border:0;cursor:pointer}
.rp-tab:hover{color:#2A2D32}
.rp-tab.on{color:#4B80B4;box-shadow:inset 0 -2px 0 #4B80B4}
.rp-body{max-height:180px;overflow:auto}
.rp-deptrow{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;background:#FBFCFD}
.rp-deptrow:hover{background:#F2F6FA}
.rp-chev{color:#8892A4;width:12px}
.rp-deptrow .rp-dept{margin-left:auto}
.rp-row.rp-sub{padding-left:32px}

.sort-toggle{border:0;background:none;cursor:pointer;font-size:11px;color:#8892A4;padding:0 2px;vertical-align:middle}
.sort-toggle:hover{color:#4B80B4}

.payment-order-picker > .field:first-child{grid-column:1/-1;width:100%}
#paymentOrder{width:100%;max-width:none;min-width:0}

.po-amount-project-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:10px;align-items:end;grid-column:1/-1}
.po-amount-project-row .field{min-width:0;position:relative}
.po-amount-project-row .field select,.po-amount-project-row .field input{width:100%}
.po-amount-project-row .field label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.po-amount-project-row > .field:first-child{grid-column:auto}

#paymentForm .payment-inline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
#paymentForm .payment-inline .field{min-width:0}
#paymentForm .payment-inline .field input,#paymentForm .payment-inline .field select{width:100%}

.badge.draft{background:#eceff2;color:#697077}
