/* Compact accounting: edit one property or expense at a time. */
.method-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;text-decoration:none;color:#737373;font-size:18px;border-radius:8px}
.method-link:hover{background:#f2f2f2;color:#111}
.cost-open{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;padding:6px 0;margin:12px 0 0;background:transparent;font-size:12px;color:#737373}
.cost-open:hover:enabled{background:transparent;color:#111}
.calculator .price-summary{border:0;padding:0;margin-top:20px}
#quoteComposition{padding:0;min-height:28px;text-align:left}
#quotePrice{font-size:34px;white-space:nowrap}
#quoteReason{max-width:100%;overflow-wrap:anywhere}
.cost-dialog{position:fixed;inset:0;margin:auto;width:min(520px,calc(100% - 32px));max-width:100%;height:fit-content;max-height:calc(100dvh - 32px);border:1px solid #e8e8e8;border-radius:12px;padding:16px 20px 0;display:grid;grid-template-rows:auto minmax(0,auto) auto;overflow:hidden}
.cost-dialog:not([open]){display:none}
.cost-dialog .dialog-head{min-height:34px;gap:12px;margin-bottom:16px}
.cost-dialog .dialog-head>button{padding:7px;min-width:32px;min-height:32px;border:0;color:#737373}
.cost-tabs{display:flex;gap:2px;margin:0}
.cost-tabs button{background:transparent;border:0;min-height:34px;padding:7px 10px;border-radius:7px;font-size:13px;color:#737373}
.cost-tabs button[aria-pressed=true]{background:#f1f1f1;color:#111}
.cost-body{max-height:calc(100dvh - 152px);overflow:auto;overscroll-behavior:contain;padding:0 0 16px;scrollbar-gutter:stable}
.cost-body section{padding-right:3px;min-width:0}
.cost-dialog .input-grid{gap:12px 16px;margin:12px 0 0;align-items:start}
.cost-dialog label{font-size:12px;color:#737373;margin:10px 0 0}
.cost-dialog .input-grid label,.cost-dialog .expense-editor label{margin:0;gap:5px;min-width:0}
.cost-dialog input[type=number],.cost-dialog input[type=text],.cost-dialog select{font:400 14px/22px Inter,sans-serif;padding:6px 9px;min-height:36px;border:1px solid transparent;border-radius:7px;color:#111;background:#f5f5f5;width:100%;margin:4px 0 0;min-width:0}
.cost-dialog input[type=number]{appearance:textfield}
.cost-dialog input:hover,.cost-dialog select:hover{border-color:#ddd}
.cost-dialog input::placeholder{font-size:13px;color:#737373}
.cost-dialog input:focus-visible,.cost-dialog select:focus-visible{border-color:#111}
.cost-dialog .hint{font-size:12px;line-height:18px;margin:10px 0 0;color:#737373}
.cost-dialog details{margin:12px 0 0;padding:0;border:0}
.cost-dialog summary{font-size:13px;color:#666;min-height:32px;align-content:center}
.cost-dialog summary:hover{color:#111}
.cost-dialog summary:focus-visible{outline:2px solid #111;outline-offset:3px;border-radius:4px}
.cost-dialog .property-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,50%);align-items:center;gap:16px;margin:0;max-width:none;font-size:13px;color:#333}
.cost-dialog .property-row select{font-size:14px;margin:0}
.cost-dialog .property-row input{margin:0;text-align:right}
.cost-dialog .cost-basis{margin:0 0 12px}
.capacity-basics{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.cost-dialog .capacity-basics .property-row{grid-template-columns:minmax(0,1fr) 56px;gap:8px}
.cost-dialog .reserve-line{margin:0;gap:6px;font-size:12px;white-space:nowrap;color:#444}
.capacity-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;margin:14px 0 0;font-size:13px;line-height:20px}
.capacity-result dt{color:#737373}.capacity-result dd{margin:0;color:#222;font-variant-numeric:tabular-nums;text-align:right}
.capacity-note{font-size:12px;color:#737373;margin:8px 0 0}
.capacity-result:empty,.capacity-note:empty{display:none}
.cost-dialog #capacityAdvanced{margin-top:12px}
.cost-dialog .availability{margin:14px 0 0;gap:16px}
.cost-dialog .availability label{font-size:13px;gap:6px;color:#444}
.cost-dialog .availability legend{font-size:12px;margin-bottom:6px}
.cost-dialog .check-line{font-size:13px;color:#444;gap:7px}
.cost-summary,#quoteBreakdown.cost-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;margin:14px 0 0;font-size:12px;line-height:18px}
.cost-summary dt{color:#737373;min-width:0}.cost-summary dd{margin:0;text-align:right;max-width:210px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:#222}
.cost-error{font-size:12px;line-height:18px;color:#111;font-weight:500;margin:0 0 12px}
.cost-notices:empty{display:none}.cost-notices{margin-top:12px}.cost-notices p{font-size:12px;line-height:18px;color:#444;margin:6px 0;overflow-wrap:anywhere}
.cost-dialog .cost-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px;font-size:12px}
.cost-scope select{width:auto;max-width:215px;margin:0;font-size:12px}
.cost-dialog .expense-row{margin:0;padding:0}
.expense-row>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:38px;list-style:none;color:#222}
.expense-row>summary::-webkit-details-marker{display:none}
.expense-row>summary>span:first-child{font-size:13px}
.expense-value{font-size:12px;color:#737373;text-align:right;max-width:155px;font-variant-numeric:tabular-nums}
.expense-row>summary:hover .expense-value,.expense-row[open]>summary .expense-value{color:#111}
.expense-row[open]{padding-bottom:12px}
.expense-row[open]>summary>span:first-child{font-weight:500}
.expense-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:6px 0 0}
.expense-editor>label:first-child:last-child,.expense-editor:has(>label[hidden])>label:first-child{grid-column:1/-1}
.cost-dialog .expense-factor{margin:8px 0 0}
.expense-factor>summary{font-size:12px;min-height:28px}
.cost-dialog .expense-factor label{max-width:180px;margin:6px 0 0}
.cost-dialog .expense-factor .hint{max-width:360px;margin-top:6px}
.cost-dialog-footer{display:flex;align-items:center;gap:14px;border-top:1px solid #eee;padding:12px 0;background:#fff}
.cost-dialog-footer>div{margin-right:auto;min-width:0}
.cost-dialog-footer span{display:block;font-size:11px;line-height:16px;color:#737373}
.cost-dialog-footer strong{font-size:19px;line-height:25px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.cost-dialog-footer a{font-size:12px;white-space:nowrap;color:#737373;text-decoration:none}
.cost-dialog-footer a:hover{color:#111;text-decoration:underline}
.cost-dialog-footer button{min-height:36px;padding-inline:16px;font-size:13px}
@media(max-width:600px){
 .cost-dialog{padding:14px 16px 0;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
 .cost-dialog .dialog-head{gap:6px;margin-bottom:14px}.cost-tabs button{padding-inline:9px}
 .cost-dialog input[type=number],.cost-dialog input[type=text],.cost-dialog select{font-size:16px}
 .cost-dialog .input-grid{gap:12px}.cost-body section{padding-right:1px}
 .capacity-basics{grid-template-columns:1fr}.cost-dialog .reserve-line{font-size:13px}
 .cost-dialog .capacity-basics .property-row{grid-template-columns:minmax(0,1fr) 100px}
 .expense-row>summary{gap:10px;min-height:40px}.expense-value{max-width:125px}
 .cost-dialog-footer{gap:10px;flex-wrap:wrap}.cost-dialog-footer a{font-size:11px}.cost-dialog-footer strong{font-size:18px}
 .cost-summary dd{max-width:145px}#quotePrice{font-size:32px}
}
@media(pointer:coarse){.cost-tabs button,.cost-dialog input,.cost-dialog select,.cost-dialog .dialog-head>button,.cost-dialog-footer button,.expense-row>summary,.cost-dialog>summary{min-height:44px}}
