/* Calculator workspace. Screen colors never affect the printable estimate. */
@media screen {
  body.page-smeta {
    --smeta-bg:#f7f8fa; --smeta-surface:#fff; --smeta-soft:#f0f2f5;
    --smeta-text:#202832; --smeta-muted:#596574; --smeta-line:#dfe3e9;
    --smeta-field:#fff; --smeta-field-line:#c6cdd6; --smeta-link:#1769b3;
    --smeta-danger:#ba3434; --smeta-invalid:#fff0f0; --smeta-success:#246343;
    --smeta-field-accent:#f5a623; --smeta-camera-accent:#4a90d9;
    --panel-bg:var(--smeta-surface); --panel-border:var(--smeta-line);
    --shared-bg:var(--smeta-bg); --surface-muted:var(--smeta-soft); --surface-tint:var(--smeta-soft);
    --muted-text:var(--smeta-muted); --blue-accent:var(--smeta-link);
    --control-bg:var(--smeta-field); --control-bg-hover:var(--smeta-soft);
    --control-border:var(--smeta-field-line); --control-border-strong:var(--smeta-link);
    --control-text:var(--smeta-text); --control-placeholder:var(--smeta-muted);
    background:var(--smeta-bg); color:var(--smeta-text); color-scheme:light;
  }
  html[data-theme="dark"] body.page-smeta {
    --smeta-bg:#101113; --smeta-surface:#191b1f; --smeta-soft:#22252b;
    --smeta-text:#eceef2; --smeta-muted:#a8b0be; --smeta-line:#343943;
    --smeta-field:#111317; --smeta-field-line:#49515e; --smeta-link:#8fc6ff;
    --smeta-danger:#ff9696; --smeta-invalid:#3a2026; --smeta-success:#9cdeba;
    --accent-soft:rgba(91,158,230,.09); --accent-soft-strong:rgba(91,158,230,.2);
    --accent-border:rgba(91,158,230,.3); --warm-accent-border:rgba(245,166,35,.24);
    --shadow-soft:0 2px 8px rgba(0,0,0,.14); color-scheme:dark;
  }
  @media (prefers-color-scheme:dark) {
    html:not([data-theme]) body.page-smeta {
      --smeta-bg:#101113; --smeta-surface:#191b1f; --smeta-soft:#22252b;
      --smeta-text:#eceef2; --smeta-muted:#a8b0be; --smeta-line:#343943;
      --smeta-field:#111317; --smeta-field-line:#49515e; --smeta-link:#8fc6ff;
      --smeta-danger:#ff9696; --smeta-invalid:#3a2026; --smeta-success:#9cdeba;
      --accent-soft:rgba(91,158,230,.09); --accent-soft-strong:rgba(91,158,230,.2);
      --accent-border:rgba(91,158,230,.3); --warm-accent-border:rgba(245,166,35,.24);
      --shadow-soft:0 2px 8px rgba(0,0,0,.14); color-scheme:dark;
    }
  }
  .page-smeta .calculator-main { --form-right-gap:0px; max-width:1360px; padding:20px clamp(18px,3vw,40px) 40px; overflow:visible; }
  .page-smeta .page-hero { padding:22px 0 24px; text-align:left; }
  .page-smeta .page-header__content { text-align:left; }
  .page-smeta .page-hero h1 { max-width:1000px; text-align:left; color:var(--smeta-text); font-size:clamp(22px,2.2vw,30px); line-height:1.3; }
  .page-smeta .page-hero .intro { max-width:960px; margin:10px 0 0; text-align:left; color:var(--smeta-muted); font-size:14px; }
  .page-smeta :is(h2,.date-range-popover__summary) { color:var(--smeta-text); }
  .page-smeta .calculator-main a:hover { color:var(--smeta-link); }
  .page-smeta :is(.stacked-field-inline-hint,.conditions-section-divider,.block-caption,.estimate-save-status) { color:var(--smeta-muted); }
  .page-smeta :is(fieldset,.work-type-item,.volume-block,.work-stream-card,.k2-work-list-panel,.shared-fields-block) { background:var(--smeta-surface); border-color:var(--smeta-line); }
  .page-smeta .estimate-basics-panel { background:transparent; border-color:transparent; }
  .page-smeta .work-type-item--topo { background:transparent; }
  .page-smeta .work-stream-card--field { background:linear-gradient(135deg,var(--warm-accent-soft),var(--smeta-surface)); border-color:var(--warm-accent-border); }
  .page-smeta .work-stream-card--camera { background:linear-gradient(135deg,var(--accent-soft),var(--smeta-surface)); border-color:var(--accent-border); }
  .page-smeta .work-stream-card .volume-block { background:var(--smeta-surface); }
  .page-smeta #vol_spec_raboty :is(.spec-branch,.spec-branch.spec-leaf.work-stream-card--field,.spec-branch.spec-leaf.work-stream-card--camera,.spec-subgroup,.spec-mixed-branch,.spec-aux-card) { background:var(--smeta-surface); border-color:var(--smeta-line); }
  .page-smeta #vol_spec_raboty .spec-subgroup { background:var(--smeta-soft); }
  /* Keep the work type accent separate from the subtle surrounding outline. */
  .page-smeta .work-stream-card--field,
  .page-smeta #vol_spec_raboty :is(.spec-branch.work-stream-card--field,.spec-branch.spec-leaf.work-stream-card--field) { border-left:3px solid var(--smeta-field-accent); }
  .page-smeta .work-stream-card--camera,
  .page-smeta #vol_spec_raboty :is(.spec-branch.work-stream-card--camera,.spec-branch.spec-leaf.work-stream-card--camera) { border-left:3px solid var(--smeta-camera-accent); }
  .page-smeta #form :is(input,textarea,select):focus { background-color:var(--smeta-field); border-color:var(--smeta-link); }
  .page-smeta #form :is(input,textarea,select,.rs__control,.btn-add-group) { box-shadow:var(--control-shadow); }
  .page-smeta #form :is(input,textarea,select):focus-visible { outline:2px solid var(--smeta-link); outline-offset:2px; }
  .page-smeta #form select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23818c9c' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-position:right .95rem center; background-size:16px 16px; background-repeat:no-repeat; }
  .page-smeta .date-range-control__input { background-image:none; }
  .page-smeta .date-range-control__input--invalid { background:var(--smeta-invalid) !important; border-color:var(--smeta-danger) !important; }
  .page-smeta :is(.field-region-picker__menu,.rs__menu,.date-range-popover,.inline-help-popover) { background:var(--smeta-surface); color:var(--smeta-text); border-color:var(--smeta-line); box-shadow:0 14px 35px rgba(0,0,0,.2); }
  .page-smeta :is(.k2-work-list-action,.date-range-control__btn,.date-range-popover__nav,.date-range-calendar__picker-btn,.help-trigger,.btn-remove-group) { background:var(--smeta-field); color:var(--smeta-text); border-color:var(--smeta-field-line); }
  .page-smeta :is(.k2-work-list-action,.date-range-control__btn,.date-range-popover__nav,.date-range-calendar__picker-btn,.help-trigger,.btn-remove-group):hover { background:var(--smeta-soft); color:var(--smeta-text); border-color:var(--smeta-link); }
  .page-smeta .date-range-calendar { background:var(--smeta-soft); border-color:var(--smeta-line); }
  .page-smeta :is(.date-range-calendar__title,.date-range-calendar__day) { color:var(--smeta-text); }
  .page-smeta :is(.date-range-calendar__title,.date-range-calendar__day):hover { background:var(--smeta-field); border-color:var(--smeta-field-line); }
  .page-smeta .date-range-calendar__day--muted { color:var(--smeta-muted); opacity:.65; }
  .page-smeta :is(.date-range-calendar__day--start,.date-range-calendar__day--end,.date-range-calendar__picker-btn--active) { background:var(--accent-soft-strong); border-color:var(--smeta-link); }
  .page-smeta .date-range-calendar__day--in-range { background:var(--accent-soft); border-color:var(--accent-border); }
  .page-smeta :is(.rs__chip-x,.rs__ind-btn) { color:var(--smeta-muted); }
  .page-smeta :is(.rs__chip-x,.rs__ind-btn):hover { color:var(--smeta-text); }
  .page-smeta .rs__opt[aria-selected="true"] { color:var(--smeta-text); }
  .page-smeta .estimate-preview__table-wrap { background:var(--smeta-surface); border-color:var(--smeta-line); }
  .page-smeta .estimate-table :is(th,td) { border-color:var(--smeta-line); }
  .page-smeta .estimate-table :is(th,td), .page-smeta .estimate-table__item .estimate-table__name { color:var(--smeta-text); background:var(--smeta-surface); }
  .page-smeta .estimate-table :is(thead,.estimate-table__section,.estimate-table__total,.estimate-table__grand-total) :is(th,td) { background:var(--smeta-soft); color:var(--smeta-text); }
  .page-smeta .estimate-table :is(.estimate-table__note,.estimate-table__detail,.estimate-table__footer) td,
  .page-smeta .estimate-table__title-debug { color:var(--smeta-muted); }
  .page-smeta .btn-export { background:var(--smeta-surface); color:var(--smeta-text); border-color:var(--smeta-field-line); }
  .page-smeta .btn-export:hover { background:var(--smeta-soft); border-color:var(--smeta-link); }
  .page-smeta .btn-export:disabled { background:var(--smeta-soft); color:var(--smeta-muted); border-color:var(--smeta-line); opacity:.65; }
  .page-smeta .btn-save-estimate, .page-smeta .btn-save-estimate:disabled { background:var(--amber); border-color:transparent; color:#061423; }
  .page-smeta .btn-save-estimate:hover { background:var(--amber-hover); }
  .page-smeta :is(.error,.estimate-preview__error,.estimate-save-status.is-error) { color:var(--smeta-danger); }
  .page-smeta .estimate-save-status.is-success { color:var(--smeta-success); }
  .page-smeta .nz-table-modal-content { background:var(--smeta-surface); color:var(--smeta-text); }

  .page-smeta .estimate-workspace-nav > .btn-save-estimate { width:auto; min-height:40px; margin:0; padding:9px 14px; font:600 13px/1.4 var(--font-body); box-shadow:none; }
  .estimate-workspace-nav .estimate-save-status { flex-basis:100%; grid-column:1 / -1; margin:0; text-align:left; }
  .estimate-workspace-nav .estimate-save-status:empty { display:none; }
  .recent-estimates { position:relative; }
  .recent-estimates > summary { list-style:none; }
  .recent-estimates > summary::-webkit-details-marker { display:none; }
  .recent-estimates > summary::after { content:""; width:6px; height:6px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg) translateY(-2px); margin-left:3px; }
  .recent-estimates[open] > summary::after { transform:rotate(225deg) translate(-1px,-1px); }
  .recent-estimates__panel { position:absolute; top:calc(100% + 8px); left:0; width:min(400px,calc(100vw - 36px)); padding:8px; border:1px solid var(--smeta-line); border-radius:12px; background:var(--smeta-surface); box-shadow:0 16px 40px rgba(0,0,0,.2); }
  .recent-estimates__list { max-height:min(55dvh,380px); overflow:auto; overscroll-behavior:contain; }
  .page-smeta .recent-estimates .workspace-estimate-link { display:flex; flex-direction:column; gap:4px; margin:0; padding:12px; border:0; border-radius:8px; color:var(--smeta-text); text-decoration:none; }
  .page-smeta .recent-estimates .workspace-estimate-link:is(:hover,.is-active) { background:var(--smeta-soft); color:var(--smeta-text); }
  .recent-estimates .workspace-estimate-link__title { overflow-wrap:anywhere; font-size:14px; font-weight:600; }
  .page-smeta .recent-estimates .workspace-estimate-link__meta { font-size:12px; color:var(--smeta-muted); }
  .page-smeta .recent-estimates .workspace-estimates-empty { margin:0; padding:16px 12px; background:transparent; border:0; color:var(--smeta-muted); font-size:13px; }
  .page-smeta .recent-estimates__all { display:block; padding:12px; border:0; border-top:1px solid var(--smeta-line); font-size:13px; color:var(--smeta-link); }
  .estimate-leave-dialog { width:min(480px,calc(100vw - 36px)); max-height:calc(100dvh - 36px); padding:24px; border:1px solid var(--smeta-line); border-radius:14px; background:var(--smeta-surface); color:var(--smeta-text); box-shadow:0 20px 60px rgba(0,0,0,.3); }
  .estimate-leave-dialog::backdrop { background:rgba(0,0,0,.55); }
  .page-smeta .estimate-leave-dialog h2 { margin:0 0 10px; font-size:19px; line-height:1.4; }
  .estimate-leave-dialog p { margin:0; color:var(--smeta-muted); }
  .estimate-leave-dialog form { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
  .estimate-leave-dialog button { flex:1 1 auto; min-height:42px; margin:0; padding:10px 12px; border:1px solid var(--smeta-field-line); border-radius:8px; background:var(--smeta-soft); color:var(--smeta-text); }
  .estimate-leave-dialog button[value="cancel"] { border-color:transparent; background:#176fc1; color:#fff; }
  .estimate-leave-dialog button:focus-visible { outline:2px solid var(--smeta-link); outline-offset:3px; }
  @media (max-width:600px) {
    .page-smeta .calculator-main { padding-top:16px; }
    .recent-estimates > summary { white-space:normal; }
    .page-smeta .estimate-workspace-nav > .btn-save-estimate { width:100%; margin-left:0; padding:9px 10px; font-size:12px; white-space:normal; }
    .estimate-workspace-nav .recent-estimates { position:static; }
    .recent-estimates__panel { top:calc(100% + 8px); }
    .page-smeta .page-hero { padding:18px 0 20px; }
  }
}
