.qpp-workspace{display:grid;gap:21px;min-width:0;color:var(--ink)}
/* Safari's native project selector can paint long option text beyond the budget page. */
body:has(#qps-po-workspace) .qx-context-project{overflow:hidden}
body:has(#qps-po-workspace) .qx-context-project select{overflow:hidden;text-overflow:ellipsis}
.qpp-workspace .qpp-stat:has(.qpp-stat-edit){position:relative;padding-top:37px}
.qpp-stat-edit{position:absolute;right:10px;top:8px;border:0;border-radius:5px;background:var(--soft);color:var(--steel);font-size:11px;font-weight:650;padding:4px 9px;cursor:pointer;line-height:1.6}
.qpp-stat-edit:hover{background:var(--blue-soft)}
.qpp-manual-label{display:block;font-style:normal;font-weight:600;color:var(--steel);margin-top:3px}
.qpp-plan{min-width:0;display:grid;gap:18px}.qpp-plan>*{min-width:0}.qpp-plan .qpp-register-head>.actions{flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}
.qpp-plan-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:18px 0 0}.qpp-plan-totals>div{display:flex;flex-direction:column;gap:8px;min-width:0}.qpp-plan-totals span{color:var(--muted);font-size:11px}.qpp-plan-totals strong{font-size:22px;overflow-wrap:anywhere}.qpp-plan-totals strong>small{font-size:12px;font-weight:500}
.qpp-over-budget,.qpp-over-budget strong{color:var(--danger)!important}.qpp-plan-warning{color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:11px 14px;font-size:12px;line-height:1.6;margin:0}
.qpp-allocation-track{height:7px;overflow:hidden;border-radius:10px;background:var(--line)}.qpp-allocation-track>span{display:block;height:100%;border-radius:10px;background:var(--steel)}
.qpp-plan-list{display:grid}.qpp-plan-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);min-width:0}.qpp-plan-row:last-child{border:0}.qpp-plan-row>div{min-width:0}.qpp-plan-row>div:last-child{text-align:right;flex-shrink:0}.qpp-plan-row strong{font-size:13px;overflow-wrap:anywhere}.qpp-plan-row small{display:block;font-size:11px;color:var(--muted);margin-top:6px;line-height:1.6;overflow-wrap:anywhere}.qpp-plan-empty{font-size:12px;color:var(--muted);line-height:1.7}.qpp-plan-empty p{margin:0 0 13px}
.qpp-source-wrap{overflow:auto;margin-top:15px}.qpp-source-table{width:100%;border-collapse:collapse;font-size:11px}.qpp-source-table th,.qpp-source-table td{padding:11px 8px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.qpp-source-table th:first-child{text-align:left}.qpp-source-table thead{color:var(--muted)}
.qpp-category-list{display:grid;gap:14px}.qpp-category-edit{display:grid;grid-template-columns:2fr 1.2fr 1fr;gap:12px;padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:12px}.qpp-category-edit>.field:nth-child(4){grid-column:1/3}.qpp-category-edit>.button{align-self:end;justify-self:end}.qpp-category-actions{flex-wrap:wrap;margin-top:17px}.qpp-budget-reason{margin-top:20px}.qpp-dialog:has([data-budget-form]){width:min(940px,calc(100vw - 32px))}
@media(max-width:760px){.qpp-workspace .qpp-stat:has(.qpp-stat-edit){padding-top:36px}.qpp-plan .qpp-register-head{flex-direction:column}.qpp-plan .qpp-register-head>.actions{justify-content:flex-start;flex-shrink:1}.qpp-plan-totals{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0}.qpp-plan-totals>div:last-child{grid-column:1/-1}.qpp-plan-totals strong{font-size:20px}.qpp-plan{gap:15px}.qpp-category-edit{grid-template-columns:1fr 1fr;padding:13px}.qpp-category-edit>.field:first-child,.qpp-category-edit>.field:nth-child(4){grid-column:1/-1}.qpp-category-edit>.button{grid-column:1/-1}.qpp-plan-row{gap:12px}.qpp-plan-row>div:last-child{max-width:44%;flex-shrink:1}.qpp-source-table{min-width:550px}.qpp-dialog:has([data-budget-form]){width:calc(100vw - 20px)}}
.qpp-heading,.qpp-heading-title,.qpp-register-head,.qpp-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.qpp-heading-title{justify-content:flex-start;min-width:0}.qpp-heading-title>div{min-width:0}.qpp-heading h2{font-size:27px;letter-spacing:-.6px;margin:6px 0 9px;line-height:1.25}.qpp-heading p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}.qpp-heading>.button{flex-shrink:0}.qpp-symbol{display:grid;place-items:center;flex:none;width:53px;height:53px;background:var(--blue-soft);color:var(--steel);border:1px solid var(--line);border-radius:15px}.qpp-symbol svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.qpp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.qpp-stat{display:flex;flex-direction:column;gap:10px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.qpp-stat>span{font-size:12px;font-weight:650;color:var(--muted)}.qpp-stat>strong{font-size:25px;line-height:1.2;letter-spacing:-.5px;overflow-wrap:anywhere}.qpp-stat>small{font-size:10px;color:var(--muted);line-height:1.65}.qpp-stat-budget{border-color:var(--steel);background:var(--blue-soft)}.qpp-stat-budget>strong{color:var(--steel)}.qpp-stat-negative>strong{color:var(--danger)}
.qpp-budget-overview{display:grid;gap:13px;min-width:0}.qpp-stat-total{background:var(--soft)}.qpp-stat-total>span,.qpp-stat-budget>span{color:var(--ink)}.qpp-stat-released{border-color:var(--green)}.qpp-stat-released>strong{color:var(--green)}.qpp-spending{min-width:0}.qpp-spending>h3{font-size:12px;color:var(--muted);font-weight:650;margin:0 0 12px}.qpp-stats-secondary .qpp-stat{padding:15px 18px;background:var(--soft);gap:8px}.qpp-stats-secondary .qpp-stat>span{font-size:11px}
.qpp-budget-detail{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:15px 18px}.qpp-budget-detail>summary{font-size:12px;color:var(--ink);font-weight:650;line-height:1.7;cursor:pointer}.qpp-budget-detail p{font-size:11px;color:var(--muted);line-height:1.8;margin:13px 0 0}.qpp-budget-lines{max-width:660px;display:grid;gap:12px;margin-top:20px}.qpp-budget-lines>div{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.65}.qpp-budget-lines span{color:var(--muted)}.qpp-budget-lines strong{white-space:nowrap}.qpp-budget-lines .qpp-budget-total{padding-top:13px;border-top:1px solid var(--line);font-size:14px}.qpp-budget-total span{font-weight:700;color:var(--ink)}
.qpp-register{min-width:0}.qpp-register-head h3{font-size:16px;margin:0 0 7px}.qpp-register-head p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.qpp-filters{display:flex;gap:15px;align-items:flex-end;margin:23px 0 5px;padding-bottom:20px;border-bottom:1px solid var(--line)}.qpp-filters>.field{min-width:0;flex:1 1 150px}.qpp-filters>.field:first-child{flex:3 1 300px}.qpp-filters .field>span{display:block;font-size:11px;font-weight:650;line-height:1.6;color:var(--muted);margin-bottom:7px}.qpp-filters input,.qpp-filters select{width:100%;max-width:100%;background:var(--panel);color:var(--ink);border-color:var(--line)}.qpp-filters>.button{margin-bottom:1px}.qpp-results{min-height:120px}.qpp-table-wrap{width:100%;overflow:auto}.qpp-table{width:100%;border-collapse:collapse;font-size:12px;color:var(--ink);background:var(--panel)}.qpp-table th{text-align:left;font-size:10px;font-weight:650;color:var(--muted);padding:13px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.qpp-table td{padding:19px 10px;border-bottom:1px solid var(--line);vertical-align:middle;line-height:1.7}.qpp-table tbody tr:last-child>td{border-bottom:0}.qpp-table th:first-child,.qpp-table td:first-child{padding-left:0}.qpp-table th:last-child,.qpp-table td:last-child{padding-right:0}.qpp-table td:not(:first-child){white-space:nowrap}.qpp-table .qpp-po-name{min-width:190px;max-width:340px}.qpp-po-name>button{display:block;border:0;padding:0;background:none;color:var(--steel);text-align:left;font-weight:750;font-size:13px;line-height:1.6;overflow-wrap:anywhere;cursor:pointer}.qpp-po-name>button:hover{text-decoration:underline}.qpp-po-name p{font-size:12px;color:var(--ink);margin:4px 0;overflow-wrap:anywhere}.qpp-po-name>small,.qpp-amount>small{font-size:10px;color:var(--muted);display:block;margin-top:4px;line-height:1.6;overflow-wrap:anywhere}.qpp-amount>strong{font-size:15px}.qpp-row-actions{text-align:right}.qpp-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:700;line-height:1.5;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--muted);white-space:nowrap}.qpp-badge-approved,.qpp-badge-closed{background:var(--accent-soft);color:var(--green)}.qpp-badge-pending{background:var(--warning-soft);color:var(--amber)}.qpp-badge-voided{background:var(--danger-soft);color:var(--danger)}
.qpp-empty{display:flex;align-items:center;flex-direction:column;text-align:center;padding:40px 15px}.qpp-empty h3{font-size:18px;margin:20px 0 10px;line-height:1.5}.qpp-empty p{font-size:13px;line-height:1.85;color:var(--muted);max-width:500px;margin:0 0 22px}.qpp-footnote{font-size:11px;color:var(--muted);line-height:1.8;margin:20px 0 0}.qpp-notice{font-size:12px;line-height:1.7;border:1px solid var(--green);color:var(--green);background:var(--soft);border-radius:9px;padding:12px 16px;margin:0}.qpp-error{font-size:12px;line-height:1.7;border:1px solid var(--danger);color:var(--danger);border-radius:9px;padding:12px 16px;margin:14px 0}.qpp-sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.qpp-dialog-open{overflow:hidden}.qpp-dialog{width:min(850px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);padding:0;overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.qpp-dialog::backdrop{background:#061019b8;backdrop-filter:blur(3px)}.qpp-dialog-head{position:sticky;top:0;z-index:2;padding:21px 25px;background:var(--panel);border-bottom:1px solid var(--line)}.qpp-dialog-head>div{min-width:0}.qpp-dialog-head h2{margin:6px 0 0;font-size:22px;line-height:1.4;overflow-wrap:anywhere}.qpp-dialog-head .eyebrow{line-height:1.6;overflow-wrap:anywhere}.qpp-dialog-head>.button{flex:none}.qpp-dialog-body{padding:24px 25px}.qpp-intro{margin:0 0 22px;font-size:13px;line-height:1.8;color:var(--muted)}.qpp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.qpp-form-grid>.full{grid-column:1/-1;min-width:0}.qpp-dialog .field{min-width:0}.qpp-dialog .field>label{display:block;font-size:12px;font-weight:650;line-height:1.6;margin-bottom:7px}.qpp-dialog .field input,.qpp-dialog .field select,.qpp-dialog .field textarea{width:100%;max-width:100%;min-width:0;background:var(--panel);color:var(--ink);border-color:var(--line)}.qpp-dialog .field input:disabled,.qpp-dialog .field select:disabled,.qpp-dialog .field textarea:disabled{opacity:.65}.qpp-dialog .field textarea{resize:vertical;min-height:82px}.qpp-dialog .field>small{display:block;font-size:11px;color:var(--muted);line-height:1.75;margin-top:7px}.qpp-dialog .field input[type=file]{font-size:12px;line-height:1.7}.qpp-dialog input[type=file]::file-selector-button{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:6px;padding:7px 9px;margin-right:9px;font-size:11px}.qpp-impact{font-size:12px;line-height:1.85;padding:13px 16px;border-left:3px solid var(--steel);background:var(--soft);color:var(--muted);border-radius:0 9px 9px 0;margin:20px 0}.qpp-optional{border:1px solid var(--line);border-radius:10px;padding:16px;margin:22px 0}.qpp-optional>summary{font-size:12px;font-weight:650;line-height:1.7;cursor:pointer;color:var(--muted)}.qpp-optional[open]>summary{margin-bottom:22px}.qpp-quote-links{padding:0;border:0;min-width:0;margin:0}.qpp-quote-links legend{font-size:12px;font-weight:650;line-height:1.6}.qpp-quote-links>p{font-size:11px;line-height:1.75;color:var(--muted);margin:7px 0 13px}.qpp-quote-options{display:grid;gap:8px;max-height:260px;overflow:auto}.qpp-quote-options>label{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-size:12px;line-height:1.7;cursor:pointer;min-width:0}.qpp-quote-options input[type=checkbox]{width:16px;height:16px;flex:none;margin:3px 0 0;accent-color:var(--steel)}.qpp-quote-options>label>span{min-width:0;overflow-wrap:anywhere}.qpp-quote-options small{display:block;color:var(--muted);font-size:10px;line-height:1.7}.qpp-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px;padding:4px 0}.qpp-form-actions>.button:first-child{min-width:150px}.qpp-form-error{font-size:12px;color:var(--danger);line-height:1.75;white-space:pre-wrap;margin-top:17px}.qpp-form-error:empty{display:none}.qpp-loading{text-align:center;padding:35px 10px;color:var(--muted);font-size:13px}
.qpp-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.qpp-detail-heading>div:first-child{min-width:0}.qpp-detail-heading h3{font-size:19px;line-height:1.5;margin:15px 0 9px;overflow-wrap:anywhere}.qpp-detail-heading p{font-size:12px;line-height:1.7;margin:0;color:var(--muted);overflow-wrap:anywhere}.qpp-detail-amount{display:flex;flex-direction:column;gap:9px;align-items:flex-end;max-width:45%}.qpp-detail-amount>strong{font-size:26px;line-height:1.3;letter-spacing:-.5px;overflow-wrap:anywhere}.qpp-detail-amount>span{font-size:10px;line-height:1.7;color:var(--muted);text-align:right}.qpp-detail-actions,.qpp-preview-actions{gap:9px;flex-wrap:wrap;margin-bottom:15px}.qpp-attachment-name{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 20px;overflow-wrap:anywhere}.qpp-detail-section{margin:27px 0 0;padding-top:23px;border-top:1px solid var(--line)}.qpp-detail-section h3{font-size:14px;line-height:1.5;margin:0 0 13px}.qpp-linked{list-style:none;display:grid;gap:11px;padding:0;margin:0}.qpp-linked>li{display:flex;flex-direction:column;gap:5px;line-height:1.7;font-size:12px;overflow-wrap:anywhere}.qpp-linked span{font-size:11px;color:var(--muted)}.qpp-notes{font-size:12px;line-height:1.85;white-space:pre-wrap;color:var(--muted);overflow-wrap:anywhere}.qpp-history{display:grid;gap:13px;list-style:none;padding:0;margin:18px 0 0}.qpp-history>li{min-width:0;border:1px solid var(--line);border-left:3px solid var(--steel);border-radius:0 8px 8px 0;background:var(--soft);padding:14px 17px;font-size:12px;line-height:1.7}.qpp-history header{display:flex;justify-content:space-between;gap:15px;font-size:12px;line-height:1.7}.qpp-history time{font-size:10px;color:var(--muted)}.qpp-history p{font-size:11px;line-height:1.8;color:var(--muted);margin:6px 0 0;overflow-wrap:anywhere}.qpp-history summary{font-size:11px;line-height:1.7;margin-top:10px;cursor:pointer;color:var(--steel)}.qpp-preview{height:65dvh;min-height:320px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--soft)}.qpp-preview iframe{width:100%;height:100%;border:0;background:#fff}.qpp-dialog:has(.qpp-preview){width:min(1080px,calc(100vw - 24px));max-width:calc(100vw - 24px)}
.qpp-workspace button:focus-visible,.qpp-dialog button:focus-visible,.qpp-workspace summary:focus-visible,.qpp-dialog summary:focus-visible{outline:2px solid var(--steel);outline-offset:3px}.qpp-dialog [hidden]{display:none!important}
@media(max-width:1100px){.qpp-stat{padding:17px}.qpp-stat>strong{font-size:23px}.qpp-heading{align-items:flex-start}.qpp-table{min-width:670px}}
@media(max-width:760px){.qpp-workspace{gap:16px}.qpp-heading{flex-direction:column;gap:16px}.qpp-heading-title{gap:12px}.qpp-heading h2{font-size:23px}.qpp-heading>.button{width:100%}.qpp-symbol{width:46px;height:46px;border-radius:12px}.qpp-heading .eyebrow{line-height:1.6}.qpp-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.qpp-stat{padding:14px;gap:8px}.qpp-stat>strong{font-size:22px}.qpp-stat>span{font-size:11px}.qpp-stat>small{font-size:10px}.qpp-register{padding:17px}.qpp-register-head{gap:12px;align-items:flex-start}.qpp-register-head p{font-size:11px}.qpp-filters{flex-wrap:wrap;gap:12px}.qpp-filters>.field:first-child{flex:1 1 100%}.qpp-filters>.field{flex:1}.qpp-table{display:block;min-width:0}.qpp-table thead{display:none}.qpp-table tbody{display:grid}.qpp-table tbody>tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px;padding:20px 0;border-bottom:1px solid var(--line)}.qpp-table tbody>tr:last-child{border-bottom:0}.qpp-table td{display:block;min-width:0!important;max-width:none!important;white-space:normal!important;padding:0!important;border:0!important}.qpp-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.qpp-table .qpp-po-name{grid-column:1/-1}.qpp-po-name::before,.qpp-row-actions::before{display:none!important}.qpp-table .qpp-po-name>button{font-size:14px}.qpp-table .qpp-row-actions{align-self:center}.qpp-amount>strong{font-size:17px}.qpp-empty{padding:30px 5px}.qpp-budget-detail{padding:13px 15px}.qpp-budget-lines>div{gap:12px;font-size:11px}.qpp-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:12px}.qpp-dialog-head{padding:17px;gap:12px}.qpp-dialog-head h2{font-size:18px}.qpp-dialog-body{padding:17px}.qpp-form-grid{grid-template-columns:1fr;gap:17px}.qpp-form-actions>.button{flex:1}.qpp-optional{padding:14px}.qpp-dialog .field input[type=file]{font-size:11px}.qpp-detail-heading{flex-direction:column;gap:17px}.qpp-detail-amount{align-items:flex-start;max-width:100%}.qpp-detail-amount>span{text-align:left}.qpp-detail-actions>.button{flex:1 1 auto}.qpp-history header{flex-wrap:wrap;gap:4px}.qpp-history li{padding:12px 14px}.qpp-preview{height:62dvh;min-height:280px}.qpp-preview-actions>.button{flex:1;font-size:11px}.qpp-dialog:has(.qpp-preview){width:calc(100vw - 16px);max-width:calc(100vw - 16px)}}
@media(prefers-reduced-motion:reduce){.qpp-workspace *,.qpp-dialog *{scroll-behavior:auto!important}}

/* Size complete currency strings to the card rather than wrapping monetary digits. */
.qpp-stat{container-type:inline-size}.qpp-stat>strong{font-size:clamp(12px,calc(100cqw / var(--qpp-digits,10) * 1.45),25px);white-space:nowrap;overflow-wrap:normal}
.qpp-stats-secondary .qpp-stat>strong{font-size:clamp(12px,calc(100cqw / var(--qpp-digits,10) * 1.45),20px)}
@media(max-width:760px){.qpp-budget-overview{gap:9px}.qpp-budget-overview>.qpp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.qpp-budget-overview>.qpp-stats>.qpp-stat:last-child{grid-column:1/-1}.qpp-stats-secondary{grid-template-columns:1fr}.qpp-stats-secondary .qpp-stat{padding:14px}.qpp-spending>h3{margin-bottom:9px}}

/* PO reading keeps its source, editable amounts and review state together. */
.qpp-upload{border:1px solid var(--steel);border-radius:12px;background:var(--blue-soft);padding:20px;margin-bottom:22px;display:grid;gap:17px}.qpp-upload h3{font-size:17px;line-height:1.45;margin:7px 0}.qpp-upload p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.qpp-upload .eyebrow{font-size:10px}.qpp-upload input[type=file]{background:var(--panel)}.qpp-read-status:empty{display:none}.qpp-read-status{padding-top:14px;border-top:1px solid var(--line);font-size:12px;line-height:1.8;overflow-wrap:anywhere}.qpp-read-status>p{font-weight:600;color:var(--ink)}.qpp-read-status>button{margin-top:12px;white-space:normal;text-align:left;line-height:1.6}.qpp-read-status>ul{font-size:11px;color:var(--muted);padding-left:19px;margin:9px 0 0}.qpp-read-status li+li{margin-top:5px}.qpp-read-error>p{color:var(--danger)}.qpp-read-loading>p{color:var(--steel)}
.qpp-amounts{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--soft);margin-top:22px}.qpp-amounts h3,.qpp-items-head h3{font-size:14px;line-height:1.6;margin:0 0 17px}.qpp-amount-help{align-self:end;font-size:11px;line-height:1.8;color:var(--muted)}.qpp-amount-help p{margin:0 0 9px}.qpp-amount-help button{font-size:10px;white-space:normal;line-height:1.7;width:100%}.qpp-breakdown-status{font-size:11px;line-height:1.8;margin:17px 0 0;color:var(--muted);overflow-wrap:anywhere}.qpp-breakdown-warning{color:var(--danger);font-weight:600}.qpp-dialog [name=currency]{text-transform:uppercase}.qpp-items-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.qpp-items-head h3{margin:0}.qpp-items-head+.qpp-footnote{margin:9px 0 16px}.qpp-items{display:grid;gap:15px;min-width:0}.qpp-line{padding:16px;border:1px solid var(--line);border-radius:9px;background:var(--soft);min-width:0}.qpp-line>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:14px;font-size:12px}.qpp-line .field textarea{min-height:64px}.qpp-line-extra{margin-top:15px;font-size:11px;line-height:1.8;color:var(--muted)}.qpp-line-extra summary{cursor:pointer}.qpp-line-extra[open]>summary{margin-bottom:15px}.qpp-items-empty{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.qpp-breakdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.qpp-breakdown-grid>div{padding:14px;border:1px solid var(--line);background:var(--soft);border-radius:8px;min-width:0;display:flex;flex-direction:column;gap:8px}.qpp-breakdown-grid span{font-size:11px;color:var(--muted);line-height:1.7}.qpp-breakdown-grid strong{font-size:16px;line-height:1.6;overflow-wrap:anywhere}.qpp-document-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:24px 0 0}.qpp-document-metadata>div{min-width:0}.qpp-document-metadata dt{font-size:11px;color:var(--muted);margin-bottom:7px}.qpp-document-metadata dd{font-size:12px;line-height:1.85;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.qpp-saved-lines{margin-top:24px}.qpp-saved-lines>summary{font-size:12px;font-weight:650;cursor:pointer;line-height:1.7;margin-bottom:13px}.qpp-detail-table{width:100%;min-width:600px;font-size:11px;border-collapse:collapse;background:var(--panel);color:var(--ink)}.qpp-detail-table th{font-size:10px;color:var(--muted);text-align:left;padding:10px;border-bottom:1px solid var(--line)}.qpp-detail-table td{padding:12px 10px;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.75;white-space:nowrap}.qpp-detail-table td:first-child{white-space:normal;min-width:180px;overflow-wrap:anywhere}.qpp-detail-table small{display:block;color:var(--muted);font-size:10px}.qpp-detail-table th:first-child,.qpp-detail-table td:first-child{padding-left:0}
@media(max-width:760px){.qpp-upload{padding:15px}.qpp-upload h3{font-size:16px}.qpp-amounts{padding:15px}.qpp-line{padding:13px}.qpp-document-metadata{grid-template-columns:1fr}.qpp-breakdown-grid{gap:9px}.qpp-breakdown-grid>div{padding:12px}.qpp-breakdown-grid strong{font-size:14px}.qpp-items-head{gap:10px}.qpp-read-status>button{width:100%}.qpp-dialog-body .qpp-optional{min-width:0}}

/* Separate PO taxes from releases while keeping complete document totals visible. */
@media(min-width:1200px){.finance-budget .workforce-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
.qpp-stats.qpp-stats-taxes{grid-template-columns:repeat(2,minmax(0,1fr))}.qpp-stat-taxes{border-color:var(--amber)}.qpp-stat-taxes>strong{color:var(--amber)}.qpp-tax-note{font-size:11px;color:var(--muted);line-height:1.8;margin:0}.qpp-breakdown-grid>.qpp-breakdown-total{grid-column:1/-1}
.qpp-amount>small{white-space:normal}
@media(max-width:760px){.qpp-budget-overview>.qpp-stats-taxes>.qpp-stat:last-child{grid-column:auto}}

/* Keep the authorization, released base and separate taxes in the first view. */
.qpp-budget-extra{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}
.qpp-budget-extra>summary{display:flex;align-items:center;gap:10px;min-height:55px;padding:14px 18px;cursor:pointer;list-style:none;color:var(--ink);font-size:12px;font-weight:650}
.qpp-budget-extra>summary::-webkit-details-marker{display:none}
.qpp-budget-extra>summary::marker{content:''}
.qpp-budget-extra>summary::after{content:'⌄';font-size:18px;color:var(--steel);margin-left:auto}
.qpp-budget-extra[open]>summary::after{transform:rotate(180deg)}
.qpp-budget-extra>summary:hover{background:var(--soft)}
.qpp-budget-extra>summary:focus-visible{outline:2px solid var(--steel);outline-offset:-3px}
.qpp-budget-extra>summary>small{font-size:11px;color:var(--muted);font-weight:400}
.qpp-budget-extra-body{display:grid;gap:18px;padding:18px;border-top:1px solid var(--line)}
.qpp-budget-extra-body .qpp-stats-extra{grid-template-columns:repeat(2,minmax(0,1fr))}
.qpp-budget-extra-body .qpp-budget-detail{margin:0}
.qpp-budget-extra-body .qpp-spending{margin:0}
@media(max-width:760px){
  .qpp-budget-overview>.qpp-stats-primary>.qpp-stat:last-child{grid-column:auto}
  .qpp-stats-primary>.qpp-stat{padding:12px;gap:6px}
  .qpp-stats-primary>.qpp-stat>small{line-height:1.45}
  .qpp-budget-extra>summary{flex-wrap:wrap;gap:4px 10px;padding:12px 14px}
  .qpp-budget-extra>summary>small{flex-basis:100%;order:2}
  .qpp-budget-extra-body{padding:12px;gap:14px}
}
/* Category spending and labor allocation: compact tables on desktop, labeled cards on phones. */
.qpp-plan-totals{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:0}.qpp-plan-totals strong{font-size:21px}.qpp-plan-row{display:grid;grid-template-columns:minmax(170px,1.7fr) repeat(3,minmax(95px,1fr)) minmax(110px,.8fr);gap:14px;padding:18px 0}.qpp-plan-row>div:last-child{max-width:none;flex-shrink:1}.qpp-category-number{text-align:right}.qpp-category-number>span{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.qpp-category-number>strong{font-size:13px;font-variant-numeric:tabular-nums}.qpp-plan-row .qpp-category-name{align-self:center}.qpp-category-actions-inline{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.qpp-link-button{color:var(--steel);font-size:11px;font-weight:650;padding:0;line-height:1.65;border:0;background:none;text-align:left;cursor:pointer;overflow-wrap:anywhere}.qpp-link-button:hover{text-decoration:underline}.qpp-category-note{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.qpp-category-kept{font-size:10px;color:var(--muted);align-self:center;text-align:right;line-height:1.5}.qpp-category-edit{grid-template-columns:1.7fr 1fr}.qpp-category-edit.qpp-category-labor{grid-template-columns:1.7fr 1fr 1fr}.qpp-category-edit>.field:nth-child(4){grid-column:1/3}.qpp-category-edit.qpp-category-labor>.field:nth-child(4){grid-column:1/3}.qpp-category-edit input[type=hidden]{display:none}.qpp-category-edit .field{min-width:0}.qpp-category-edit .field input{width:100%;min-width:0}
.qpp-hours{border:1px solid var(--line);border-radius:14px;background:var(--blue-soft);padding:20px;min-width:0}.qpp-hours>header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.qpp-hours h4{font-size:16px;margin:6px 0 0;letter-spacing:-.15px}.qpp-hours .eyebrow{font-size:9px}.qpp-hours-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(135px,1.4fr);gap:18px}.qpp-hours-metrics>div{min-width:0}.qpp-hours-metrics span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.qpp-hours-metrics strong{font-size:23px;letter-spacing:-.4px;line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.qpp-hours-metrics strong>small{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:0}.qpp-hours-metrics .qpp-hours-runway{border-left:1px solid var(--line);padding-left:20px}.qpp-hours-runway strong{font-size:18px;color:var(--steel)}.qpp-hours-track{height:7px;background:var(--line);border-radius:7px;overflow:hidden;margin-top:20px}.qpp-hours-track>span{display:block;height:100%;background:var(--steel);border-radius:7px}.qpp-hours-over>span{background:var(--danger)}.qpp-hours-explanation{font-size:12px;line-height:1.8;margin:13px 0 0;color:var(--ink)}.qpp-hours-method{margin-top:10px}.qpp-hours-method summary{font-size:11px;color:var(--steel);cursor:pointer;font-weight:650;line-height:1.8}.qpp-hours-method p{font-size:11px;color:var(--muted);line-height:1.8;margin:8px 0 0}
.qpp-count{display:inline-flex;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-size:10px;margin-left:7px;padding:0 7px;line-height:1.6}.qpp-transaction-toolbar{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-top:17px}.qpp-transaction-toolbar>.field{min-width:0;flex:1 1 160px;max-width:310px}.qpp-transaction-toolbar>.field>span{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.qpp-transaction-toolbar select{width:100%;max-width:100%;background:var(--panel);color:var(--ink);font-size:12px}.qpp-show-voided{display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap;padding-bottom:9px;color:var(--muted);line-height:1.6}.qpp-show-voided input{margin:0;width:15px;height:15px}.qpp-transaction-toolbar>.button{margin-left:auto;flex-shrink:0}.qpp-transaction-list{margin-top:15px}.qpp-transaction-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.qpp-transaction-row:last-child{border:0}.qpp-transaction-row>div{min-width:0}.qpp-transaction-row>div:nth-child(2){text-align:right}.qpp-transaction-row>div>strong{font-size:13px;font-variant-numeric:tabular-nums}.qpp-transaction-row>div>small{display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.6;overflow-wrap:anywhere}.qpp-transaction-row p{margin:5px 0 0;font-size:11px;overflow-wrap:anywhere}.qpp-credit{color:var(--green)}.qpp-transaction-voided>div>strong{text-decoration:line-through;color:var(--muted)}.qpp-transaction-reference{font-size:12px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.qpp-dialog:has([data-budget-transaction-form]){width:min(780px,calc(100vw - 32px))}.qpp-dialog [data-budget-transaction-form] select{width:100%;max-width:100%;color:var(--ink);background:var(--panel)}.qpp-dialog .qpp-form-actions{display:flex;flex-wrap:wrap;gap:10px}.qpp-dialog .qpp-notes{overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1120px){.qpp-plan-row{grid-template-columns:minmax(145px,1.4fr) repeat(3,minmax(78px,1fr));gap:12px}.qpp-category-actions-inline{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-end}.qpp-hours-metrics{gap:12px}.qpp-hours-metrics strong{font-size:21px}.qpp-hours-runway strong{font-size:16px}.qpp-hours-metrics .qpp-hours-runway{padding-left:12px}}
@media(max-width:760px){.qpp-plan-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}.qpp-plan-totals>div:last-child{grid-column:auto}.qpp-plan-totals strong{font-size:18px}.qpp-plan-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 9px;padding:18px 0}.qpp-plan-row .qpp-category-name{grid-column:1/-1}.qpp-category-number{text-align:left}.qpp-category-number>strong{font-size:12px}.qpp-category-actions-inline{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-end}.qpp-plan-row>div:last-child{text-align:left}.qpp-category-number>span{font-size:10px}.qpp-category-edit,.qpp-category-edit.qpp-category-labor{grid-template-columns:1fr 1fr}.qpp-category-edit>.field:first-child,.qpp-category-edit>.field:nth-child(4),.qpp-category-edit.qpp-category-labor>.field:nth-child(4){grid-column:1/-1}.qpp-category-kept{grid-column:1/-1}.qpp-category-edit:not(.qpp-category-labor)>.field:nth-child(2){grid-column:1/-1}.qpp-hours{padding:16px}.qpp-hours>header{align-items:flex-start;margin-bottom:17px}.qpp-hours>header .button{max-width:135px;white-space:normal;line-height:1.5;font-size:10px;flex-shrink:0}.qpp-hours h4{font-size:14px}.qpp-hours-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 9px}.qpp-hours-metrics span{font-size:10px}.qpp-hours-metrics strong{font-size:18px}.qpp-hours-metrics .qpp-hours-runway{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.qpp-hours-runway span{margin:0}.qpp-hours-runway strong{font-size:16px;text-align:right}.qpp-transaction-toolbar{gap:10px}.qpp-transaction-toolbar>.field{max-width:none;flex-basis:100%}.qpp-transaction-toolbar>.button{margin-left:auto}.qpp-show-voided{padding-bottom:0}.qpp-transactions{padding:13px}.qpp-transaction-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.qpp-transaction-row>.button{grid-column:2;justify-self:end}.qpp-transaction-row>div:first-child{grid-row:span 2}.qpp-dialog:has([data-budget-transaction-form]){width:calc(100vw - 20px)}}
.qpp-refresh-note{margin:-6px 0 0;font-size:10px;line-height:1.6;color:var(--muted)}.qpp-hours-open{font-size:11px;line-height:1.7;color:var(--amber);background:var(--warning-soft);padding:8px 11px;border-radius:8px;margin:15px 0 0}
.qpp-dialog [data-budget-transaction-form] .field{display:flex;flex-direction:column;align-self:start;gap:0}
/* Keep employee and subcontractor allocations separate and readable at any width. */
.qpp-hours-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));align-items:start;gap:16px;min-width:0}
.qpp-hours-group .qpp-hours>header{align-items:flex-start;gap:10px;margin-bottom:18px}
.qpp-hours-group .qpp-hours>header>div{min-width:0}.qpp-hours-group .qpp-hours h4{overflow-wrap:anywhere}
.qpp-hours-group .qpp-hours>header .button{flex-shrink:0;white-space:normal}
.qpp-hours-group .qpp-hours-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}
.qpp-hours-group .qpp-hours-runway{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;display:flex;justify-content:space-between;align-items:center;gap:12px}
.qpp-hours-group .qpp-hours-runway span{margin:0}.qpp-hours-group .qpp-hours-runway strong{font-size:16px;text-align:right}
.qpp-hours-group .qpp-hours-track{margin-top:16px}.qpp-hours-group .qpp-hours-explanation{font-size:11px;line-height:1.7}
