.pcc-dialog { width: min(1060px, calc(100vw - 32px)); max-width: 1060px; max-height: calc(100dvh - 48px); padding: 0; border: 1px solid #dce3ec; border-radius: 12px; background: #fff; color: #293548; box-shadow: 0 22px 70px #10203335; overflow: hidden; box-sizing: border-box; }
.pcc-dialog[open] { display: flex; flex-direction: column; }
.pcc-dialog::backdrop { background: #14223565; }
.pcc-dialog * { box-sizing: border-box; }
.pcc-dialog .pcc-head { display: flex; gap: 16px; justify-content: space-between; align-items: flex-start; padding: 16px 22px 12px; border-bottom: 1px solid #e7ebf0; }
.pcc-dialog .pcc-head > div { min-width: 0; }
.pcc-dialog h3 { margin: 0; font-size: 18px; line-height: 1.5; }
.pcc-dialog .pcc-head p { margin: 4px 0 0; color: #738092; font-size: 12px; line-height: 1.6; }
.pcc-dialog button { width: auto; min-height: 30px; flex: 0 0 auto; padding: 4px 10px; color: #365879; background: #fff; border: 1px solid #cdd8e5; border-radius: 5px; font-size: 12px; font-weight: 500; line-height: 1.5; cursor: pointer; }
.pcc-dialog button:hover { background: #f1f6fa; border-color: #9fb5cb; }
.pcc-dialog button:disabled { opacity: .45; cursor: default; }
.pcc-dialog button:focus-visible, .pcc-dialog summary:focus-visible { outline: 2px solid #3178bd; outline-offset: 2px; }
.pcc-dialog .pcc-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 22px; flex: 0 0 auto; }
.pcc-dialog .pcc-asof { color: #738092; font-size: 12px; }
.pcc-dialog .pcc-status { flex: 0 0 auto; padding: 0 22px; font-size: 13px; color: #69778a; }
.pcc-dialog .pcc-status:empty { display: none; }
.pcc-dialog .pcc-status p { margin: 0 0 12px; padding: 10px 12px; background: #fff6e8; color: #8b6026; border-radius: 5px; }
.pcc-dialog .pcc-status button { margin-left: 8px; }
.pcc-dialog .pcc-results { min-height: 100px; overflow-y: auto; overscroll-behavior: contain; padding: 0 22px 18px; }
.pcc-dialog .pcc-projects { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pcc-dialog .pcc-project { min-width: 0; padding: 12px 14px; border: 1px solid #e0e6ed; border-radius: 7px; background: #f7f9fb; }
.pcc-dialog .pcc-side-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; font-weight: 600; color: #34689a; }
.pcc-dialog .pcc-side-label span { color: #738092; font-weight: 400; }
.pcc-dialog .pcc-project h4 { margin: 7px 0 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.pcc-dialog .pcc-project p { margin: 4px 0 10px; color: #6b7c8e; font-size: 12px; }
.pcc-dialog .pcc-project-total { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.pcc-dialog .pcc-project-total > span, .pcc-dialog .pcc-project-total small { font-size: 11px; color: #738092; }
.pcc-dialog .pcc-project-total .pcc-money { font-size: 20px; font-weight: 600; }
.pcc-dialog button.pcc-money { min-height: 24px; padding: 1px 0; color: #2469a5; background: transparent; border: 0; border-radius: 2px; font-variant-numeric: tabular-nums; text-decoration: underline; text-decoration-color: #b3c9df; text-underline-offset: 3px; white-space: nowrap; }
.pcc-dialog button.pcc-money:hover { color: #144878; text-decoration-color: currentColor; }
.pcc-dialog .pcc-total-difference { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; margin-top: 10px; font-size: 13px; }
.pcc-dialog .pcc-total-difference > span:last-child { color: #738092; font-size: 11px; }
.pcc-dialog .pcc-difference { color: #344e67; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pcc-dialog .pcc-empty-value { color: #8390a0; font-size: 12px; font-weight: 400; white-space: nowrap; }
.pcc-dialog .pcc-explanation { margin: 6px 0 10px; color: #738092; font-size: 12px; line-height: 1.65; }
.pcc-dialog .pcc-section { margin-top: 16px; }
.pcc-dialog .pcc-section h4 { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 0 0 8px; font-size: 13px; }
.pcc-dialog .pcc-section h4 span { font-size: 11px; color: #7a8796; font-weight: 400; }
.pcc-dialog .pcc-table-wrap { border: 1px solid #e1e7ef; border-radius: 6px; overflow: auto; }
.pcc-dialog table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.pcc-dialog th, .pcc-dialog td { text-align: right; padding: 8px 12px; border-bottom: 1px solid #edf0f4; font-weight: 400; vertical-align: middle; }
.pcc-dialog th:first-child, .pcc-dialog td:first-child { text-align: left; width: 31%; }
.pcc-dialog thead th { background: #f5f7fa; color: #718093; font-size: 11px; line-height: 1.6; }
.pcc-dialog thead th span { display: block; font-size: 10px; }
.pcc-dialog tbody tr:last-child > th, .pcc-dialog tbody tr:last-child > td { border-bottom: 0; }
.pcc-dialog button.pcc-expand { min-height: 24px; padding: 0; border: 0; color: #365879; background: transparent; text-align: left; }
.pcc-dialog .pcc-breakdown > td { padding: 0 12px 10px 22px; background: #fbfcfe; }
.pcc-dialog .pcc-breakdown table { border-left: 2px solid #dbe6f0; }
.pcc-dialog .pcc-breakdown thead th { padding-top: 5px; padding-bottom: 5px; background: #f0f4f8; }
.pcc-dialog .pcc-breakdown tbody th { color: #728194; }
.pcc-dialog .pcc-empty { margin: 10px 0; padding: 10px 12px; color: #8390a0; background: #f7f9fb; border-radius: 5px; font-size: 12px; }
.pcc-dialog .pcc-notes { margin-top: 14px; color: #738092; font-size: 11px; line-height: 1.7; }
.pcc-dialog .pcc-notes summary { cursor: pointer; }
.pcc-dialog .pcc-notes ul { padding-left: 18px; margin: 6px 0 0; }
.project-cost-candidate-table .open-project-cost-comparison { white-space: nowrap; min-width: 64px; }
.pcc-dialog td small, .pcc-dialog th small { display: block; margin-top: 3px; font-size: 11px; font-weight: 400; color: #788698; line-height: 1.6; overflow-wrap: anywhere; }
.pcc-dialog th strong { font-weight: 500; color: #35465a; overflow-wrap: anywhere; }
.pcc-dialog .pcc-expand small { display: inline; margin-left: 6px; }
.pcc-dialog .pcc-drivers { margin: 8px 0; padding: 9px 12px; background: #f0f6fb; border-radius: 5px; font-size: 12px; line-height: 1.7; color: #43647f; }
.pcc-dialog .pcc-drivers strong { margin-right: 8px; }
.pcc-dialog .pcc-project p.pcc-area-cost { margin: 4px 0 0; }
.pcc-dialog .pcc-project p.pcc-caution { margin: 5px 0 0; color: #9b6320; }
.pcc-dialog .pcc-reason-row > td { padding: 0 12px 8px; text-align: left; }
.pcc-dialog .pcc-reason { color: #708297; font-size: 11px; line-height: 1.65; }
.pcc-dialog .pcc-reason summary { cursor: pointer; color: #406b90; width: fit-content; }
.pcc-dialog .pcc-reason p { margin: 5px 0; }
.pcc-dialog .pcc-reason[open] { padding: 8px 10px; background: #f1f5f9; border-radius: 5px; }
.pcc-dialog .pcc-effects { color: #365879; }
.pcc-dialog .pcc-effects strong { font-weight: 600; }
.pcc-dialog .pcc-price-sides { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 9px; }
.pcc-dialog .pcc-price-sides > section { min-width: 0; }
.pcc-dialog .pcc-price-sides > section > strong { color: #40586e; font-weight: 600; }
.pcc-dialog .pcc-price-table { border: 1px solid #dce4ed; margin-top: 6px; background: #fff; }
.pcc-dialog .pcc-price-table :is(th, td) { padding: 5px 8px; font-size: 11px; }
.pcc-dialog .pcc-price-table :is(th, td):first-child { width: 38%; }
.pcc-dialog .pcc-price-table td { font-variant-numeric: tabular-nums; }
.pcc-dialog .pcc-price-unknown { color: #956631; }
.pcc-dialog .pcc-readiness { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 10px 12px; background: #f7f9fb; margin-top: 8px; border-radius: 5px; }
.pcc-dialog .pcc-stage-note { display: grid; gap: 3px; margin-top: 9px; padding: 7px 9px; border-left: 2px solid #d5a45e; background: #fff9ee; color: #89642f; font-size: 11px; line-height: 1.6; }
.pcc-dialog .pcc-stage-note strong { font-size: 12px; font-weight: 600; }
.pcc-dialog .pcc-material-group > :is(th, td) { background: #f3f7fb; }
.pcc-dialog .pcc-group-amount { color: #40566d; font-variant-numeric: tabular-nums; }
.pcc-dialog .pcc-group-details > td { padding: 0 0 8px 12px; background: #fff; }
.pcc-dialog .pcc-group-details table { border-left-color: #e8edf2; }
.pcc-dialog .pcc-group-details > td > table > tbody > tr > th { color: #40566d; }
.pcc-dialog .pcc-source-names { overflow-wrap: anywhere; }
@media (max-width: 650px) {
  .pcc-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 24px); border-radius: 8px; }
  .pcc-dialog .pcc-head, .pcc-dialog .pcc-toolbar { padding: 12px 14px; }
  .pcc-dialog .pcc-status { padding: 0 14px; }
  .pcc-dialog .pcc-results { padding: 0 14px 14px; }
  .pcc-dialog .pcc-projects { gap: 8px; }
  .pcc-dialog .pcc-project { padding: 10px; }
  .pcc-dialog .pcc-project-total .pcc-money { font-size: 16px; }
  .pcc-dialog .pcc-side-label { flex-wrap: wrap; gap: 3px; }
  .pcc-dialog th, .pcc-dialog td { padding: 7px 6px; }
  .pcc-dialog .pcc-table-wrap > table { min-width: 510px; }
}
body.mobile-ui-active .pcc-dialog .pcc-head {display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
body.mobile-ui-active .pcc-dialog .pcc-head>div {grid-row:2;}
body.mobile-ui-active .pcc-dialog .pcc-head [data-pcc-action="close"] {grid-column:1;grid-row:1;justify-self:start;width:auto;margin:0;}
