/* Visual finish only: the existing palette, layout, controls and state colors stay intact. */
:root{
  --glass-fill:rgba(255,255,255,.76);
  --glass-inner:rgba(245,247,239,.76);
  --glass-field:rgba(255,255,255,.82);
  --glass-edge:rgba(215,222,200,.78);
  --glass-light:rgba(255,255,255,.88);
  --glass-glint:rgba(255,255,255,.58);
  --glass-shadow:0 10px 32px rgba(53,76,43,.07),0 2px 6px rgba(53,76,43,.035);
  --glass-reflection:inset 0 1px 0 var(--glass-light),inset 1px 0 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(53,76,43,.035);
}
html[data-theme="dark"]{
  --glass-fill:rgba(34,37,43,.78);
  --glass-inner:rgba(42,46,53,.72);
  --glass-field:rgba(25,28,34,.8);
  --glass-edge:rgba(69,75,88,.74);
  --glass-light:rgba(255,255,255,.105);
  --glass-glint:rgba(255,255,255,.065);
  --glass-shadow:0 12px 36px rgba(0,0,0,.19),0 2px 8px rgba(0,0,0,.12);
  --glass-reflection:inset 0 1px 0 var(--glass-light),inset 1px 0 0 rgba(255,255,255,.035),inset 0 -1px 0 rgba(0,0,0,.18);
}
/* Broad outer panes receive the optical effect; dense tables keep quiet surfaces. */
html body:has(#review-dialog) :is(.card,.overview-toolbar,dialog,.table-wrap,.design-object-breakdown,.risk-register,.risk-entry,.upload-panel,.upload-saved-job,.economics-costs,.economics-prices){
  background:radial-gradient(ellipse at 0 0,var(--glass-glint),transparent 58%),linear-gradient(145deg,var(--glass-light),transparent 38%),var(--glass-fill)!important;
  border-color:var(--glass-edge)!important;
  box-shadow:var(--glass-reflection),var(--glass-shadow)!important;
  backdrop-filter:blur(18px) saturate(110%);
  -webkit-backdrop-filter:blur(18px) saturate(110%);
}
html body:has(#review-dialog) :is(.card .card,.risk-entry,.table-wrap){backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
html body:has(#review-dialog) :is(.economics-total,.to-price-component,.to-fund-calculation,.to-bid-explanation,.to-rule,.upload-file-zone,.upload-steps,.design-line-sources,.source-text){
  background:linear-gradient(145deg,var(--glass-glint),transparent 50%),var(--glass-inner)!important;
  border-color:var(--glass-edge)!important;
  box-shadow:inset 0 1px 0 var(--glass-light)!important;
}
html body:has(#review-dialog) :is(.design-object-breakdown>summary,.risk-register>summary,.risk-entry>summary,.tmc-group>summary,th){
  background:linear-gradient(150deg,var(--glass-glint),transparent 65%),var(--glass-inner)!important;
  border-color:var(--glass-edge)!important;
}
/* Keep priority, error, readiness and human decision hues as semantic accents. */
html body:has(#review-dialog) .risk-entry.risk-priority-high{border-left-color:#b8402f!important}
html[data-theme="dark"] body:has(#review-dialog) .risk-entry.risk-priority-high{border-left-color:#df8276!important}
html body:has(#review-dialog) .risk-entry.risk-priority-important{border-left-color:#859864!important}
html body:has(#review-dialog) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:linear-gradient(145deg,var(--glass-glint),transparent 45%),var(--glass-field)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.035),0 1px 0 var(--glass-light);
  border-color:var(--glass-edge)!important;
}
html body:has(#review-dialog) :is(input,select,textarea):focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)!important}
html body:has(#review-dialog) :is(input,textarea)[aria-invalid="true"]{border-color:#b8402f!important;box-shadow:0 0 0 3px #b8402f20!important}
html body:has(#review-dialog) :is(.risk-stat,.notice,.badge,.work-status,.work-decision){background-image:linear-gradient(150deg,var(--glass-glint),transparent 58%)!important;box-shadow:inset 0 1px 0 var(--glass-light);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
html body:has(#review-dialog) :is(.button,button.action,.theme-toggle,.account-logout,.sidebar-toggle){
  background-image:linear-gradient(155deg,var(--glass-glint),transparent 52%)!important;
  box-shadow:inset 0 1px 0 var(--glass-light),inset 0 -1px 0 rgba(0,0,0,.08),0 3px 10px rgba(0,0,0,.045)!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:box-shadow .2s,border-color .2s;
}
html body:has(#review-dialog) :is(.button,button.action):not(.primary):not([data-human-decision="CONFIRM"]):not([data-design-confirm]){background-color:var(--glass-fill)!important}
/* Saturated action colors stay saturated; reflection adds volume without recoloring. */
html body:has(#review-dialog) :is(.button.primary,button.primary,button[data-human-decision="CONFIRM"],button[data-design-confirm]){
  background-image:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 3px 10px rgba(0,0,0,.06)!important;
}
html body:has(#review-dialog) :is(.button,button.action):not(:disabled):hover{box-shadow:inset 0 1px 0 var(--glass-light),0 5px 16px rgba(0,0,0,.10)!important}
html body:has(#review-dialog) :is(button,.button):disabled{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 1px 0 var(--glass-light)!important}
/* Inactive actions keep a readable label instead of fading the whole control. */
html:root body:has(#review-dialog) :is(.button.primary,button.primary,button[data-human-decision="CONFIRM"],button[data-design-confirm]):disabled{
  background:var(--surface-soft)!important;color:var(--muted)!important;border-color:var(--line)!important;opacity:1!important;
}
html body:has(#review-dialog)>aside{
  background:linear-gradient(140deg,rgba(195,202,146,.06),transparent 45%),rgba(53,76,43,.94)!important;
  border-right:1px solid rgba(195,202,146,.15);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.04),10px 0 35px rgba(0,0,0,.12)!important;
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
}
html[data-theme="dark"] body:has(#review-dialog)>aside{background:linear-gradient(140deg,rgba(255,255,255,.035),transparent 45%),rgba(31,34,40,.92)!important}
html body:has(#review-dialog) #nav .theia-nav-status{background-image:linear-gradient(155deg,var(--glass-glint),transparent 65%)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 var(--glass-light)}
html body:has(#review-dialog) :is(.overview-toolbar,.theia-state-hero){position:relative;isolation:isolate}
html body:has(#review-dialog) :is(.overview-toolbar,.theia-state-hero)::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
  background:linear-gradient(115deg,transparent 22%,var(--glass-glint) 40%,transparent 56%);
  background-size:250% 100%;opacity:.22;animation:theia-glass-light 18s ease-in-out infinite;
}
@keyframes theia-glass-light{0%,30%{background-position:100% 50%}80%,100%{background-position:0 50%}}
/* Welcome screen keeps its existing green/graphite palette and composition. */
body:has(#theia-login) .login-fields input{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background-image:linear-gradient(150deg,rgba(195,202,146,.075),transparent 55%)!important;box-shadow:inset 0 1px 0 rgba(195,202,146,.14),0 5px 18px rgba(0,0,0,.055)}
body:has(#theia-login) .hero-actions .primary{background-image:linear-gradient(155deg,rgba(255,255,255,.14),transparent 55%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.08),0 6px 20px rgba(0,0,0,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@supports not (backdrop-filter:blur(1px)){
  html body:has(#review-dialog) :is(.card,.overview-toolbar,dialog,.table-wrap,.design-object-breakdown,.risk-register,.risk-entry,.upload-panel){background-color:var(--surface)!important}
}
@media(prefers-reduced-motion:reduce){html body:has(#review-dialog) :is(.overview-toolbar,.theia-state-hero)::after{animation:none}html body:has(#review-dialog) :is(.button,button.action){transition:none}}
@media print{html body:has(#review-dialog) :is(.card,.overview-toolbar,dialog,.table-wrap){backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none!important;background:#fff!important}html body:has(#review-dialog) :is(.overview-toolbar,.theia-state-hero)::after{display:none}}

/* Compact purchase facts, independent of financial calculation cards. */
.procurement-information{margin-bottom:24px}
.procurement-card-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.procurement-card-heading h2{font-size:20px;margin:5px 0 0;letter-spacing:-.35px}
.procurement-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:var(--muted)}
.procurement-card-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.procurement-number{font-size:11px;color:var(--muted);padding:7px 10px;border:1px solid var(--line);border-radius:8px}
.procurement-card-links .action{font-size:11px;min-height:34px;padding:7px 12px}
.procurement-primary-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.procurement-detail-facts{display:grid;grid-template-columns:1fr 1fr 2fr 1fr;gap:20px;margin:0}
.procurement-fact{min-width:0}.procurement-fact dt{font-size:11px;color:var(--muted);margin-bottom:7px}
.procurement-fact dd{margin:0;font-size:13px;font-weight:550;line-height:1.6;overflow-wrap:anywhere}
.procurement-primary-facts dd{font-size:17px;font-weight:650;letter-spacing:-.2px}
.procurement-fact dd.is-unknown{color:var(--muted);font-weight:400}
.procurement-platform-link{display:block;font-size:11px;font-weight:500;margin-top:5px}
@media(max-width:1000px){.procurement-detail-facts{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.procurement-card-heading{align-items:flex-start;flex-direction:column;gap:10px}.procurement-primary-facts{grid-template-columns:1fr;gap:16px}.procurement-detail-facts{gap:16px}.procurement-primary-facts dd{font-size:15px}.procurement-fact dd{font-size:12px}}

/* Customer quote uses the established accent in each theme. */
html:not([data-theme="dark"]) body #content .customer-price-value{color:#3b512f!important}
html[data-theme="dark"] body #content .customer-price-value{color:#e66277!important}

.kontur-settings-card{max-width:820px}.kontur-settings-card .review-fields{grid-template-columns:1fr}.kontur-settings-card .dialog-top{flex-wrap:wrap;gap:12px}
