.od-tools{
  --od-color-brand:#0f4a35;
  --od-color-brand-hover:#0b3b2a;
  --od-color-brand-soft:#dcebe2;
  --od-color-surface:#fff;
  --od-color-surface-soft:#f4f7f4;
  --od-color-result:#eef6f0;
  --od-color-text:#17211c;
  --od-color-text-muted:#66716b;
  --od-color-border:#dce4df;
  --od-radius-card:14px;
  --od-radius-control:6px;
  /* 09F1: wspólne parametry interfejsu; nadpisywane tylko przy realnej potrzebie. */
  --od-ui-control-height:42px;
  --od-ui-control-inner-height:40px;
  --od-ui-control-radius:var(--od-radius-control);
  --od-ui-control-border:#cfdad3;
  --od-ui-control-bg:#fff;
  --od-ui-control-focus:#78a987;
  --od-ui-step-divider:#e7ece9;
  --od-ui-table-divider:#e3e9e5;
  --od-ui-table-header-bg:#f7faf8;
  --od-ui-table-header-text:#435b4b;
  --od-ui-table-header-line:#dce6df;
  --od-ui-table-pad-y:9px;
  --od-ui-table-pad-x:9px;
  --od-ui-table-row-min-height:48px;
  box-sizing:border-box;font:inherit;color:var(--od-color-text)
}
.od-tools *{box-sizing:border-box}
.od-tools-shell{width:100%;margin:0;padding:8px 20px 64px;background:var(--od-color-surface-soft)}
.od-tools-shell__inner{width:min(1180px,100%);margin:0 auto}
/* 09C2: clickable, access-aware breadcrumbs for HUB and all tool routes. */
.od-tools-shell__breadcrumb{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:0 0 10px;padding-top:0;color:var(--od-color-brand);font-size:.92rem;line-height:1.5}
.od-tools .od-tools-shell__breadcrumb a{color:var(--od-color-brand);text-decoration:none;font-weight:650;border-radius:3px}
.od-tools .od-tools-shell__breadcrumb a:hover{color:var(--od-color-brand-hover);text-decoration:underline}
.od-tools .od-tools-shell__breadcrumb a:focus-visible{outline:3px solid #5da777;outline-offset:3px}
.od-tools-shell__breadcrumb [aria-current="page"]{color:var(--od-color-text-muted)}
.od-tools-shell__breadcrumb-separator{color:#7e9587}
.od-tools-shell__header{max-width:860px;margin:0;padding:26px 32px 18px}
.od-tools-shell__header h1{margin:0 0 10px;font-size:clamp(2rem,2.8vw,2.25rem);line-height:1.08;letter-spacing:-.02em;color:var(--od-color-text)}
.od-tools-shell__header p{margin:0;color:var(--od-color-text-muted);font-size:1.06rem;line-height:1.6}
.od-tools-shell__workspace{position:relative;width:100%;padding:0;border:1px solid var(--od-color-border);border-radius:var(--od-radius-card);background:var(--od-color-surface);box-shadow:0 8px 28px rgba(15,74,53,.06);overflow:hidden}
.od-tools-shell__brandbar{display:flex;align-items:baseline;gap:8px;padding:20px 32px;background:var(--od-color-brand);color:#fff}
.od-tools-shell__brandbar strong{font-size:1.22rem;letter-spacing:-.01em}
.od-tools-shell__module{padding:0 32px 32px}
.od-tools-shell__workspace--compact{max-width:640px}
.od-tools-shell__workspace--standard{max-width:940px}
.od-tools-shell__workspace--wide{max-width:1080px}
.od-tools-shell__workspace--wood-species{max-width:1180px}
.od-tools-shell__info{max-width:1080px;margin-top:36px;padding:20px 18px 18px;border:1px solid #d6e5da;border-left:3px solid #49a35e;border-radius:var(--od-radius-card);background:linear-gradient(90deg,#f8fbf8 0%,#f4f7f4 100%);box-shadow:0 8px 24px rgba(15,74,53,.04)}
.od-tools-shell__info-title{margin:0 0 16px;font-size:1.28rem;line-height:1.25;color:var(--od-color-text)}
.od-tools-shell__info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.od-tools-shell__info-card{padding:18px 20px;border:1px solid var(--od-color-border);border-radius:12px;background:var(--od-color-surface)}
.od-tools-shell__info-kicker{display:block;margin:0 0 10px;color:#557b5d;font-size:.76rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
.od-tools-shell__info-card h3{margin:0 0 8px;font-size:1.08rem;line-height:1.3;color:var(--od-color-text)}
.od-tools-shell__info-card p{margin:0;line-height:1.65;color:#39423c}
.od-tools .od-tools-shell__info-card a{color:var(--od-color-brand);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.od-tools .od-tools-shell__info-card a:focus-visible{outline:3px solid #5da777;outline-offset:3px}
.od-tools-shell__section{max-width:800px;margin-top:36px;padding-top:28px;border-top:1px solid var(--od-color-border)}
.od-tools-shell__section h2{margin:0 0 12px;font-size:1.4rem;color:var(--od-color-text)}
.od-tools-shell__section p{margin:0;line-height:1.7;color:#39423c}
.od-tools .od-tool{font:inherit}
.od-tools .od-tool__title{line-height:1.2;margin-top:0}
.od-tools .od-tool__description{margin-top:-4px;color:var(--od-color-text-muted)}
.od-tools button,.od-tools input,.od-tools select,.od-tools textarea{font:inherit}
.od-tools button[type=submit],.od-tools .od-tool__submit{border:1px solid var(--od-color-brand);border-radius:var(--od-radius-control);background:var(--od-color-brand);color:#fff;font-weight:600;transition:background .15s ease,border-color .15s ease,transform .05s ease}
.od-tools button[type=submit]:hover,.od-tools button[type=submit]:focus-visible,.od-tools .od-tool__submit:hover,.od-tools .od-tool__submit:focus-visible{background:var(--od-color-brand-hover);border-color:var(--od-color-brand-hover)}
.od-tools button[type=submit]:active,.od-tools .od-tool__submit:active{transform:translateY(1px)}
@media(max-width:640px){.od-tools-shell{padding:8px 16px 44px}.od-tools-shell__workspace{border-radius:11px}.od-tools-shell__brandbar{padding:17px 20px}.od-tools-shell__brandbar strong{font-size:1.08rem}.od-tools-shell__header{padding:24px 20px 16px}.od-tools-shell__header h1{font-size:1.8rem}.od-tools-shell__module{padding:0 20px 24px}.od-tools-shell__info{margin-top:28px;padding:16px 14px 14px}.od-tools-shell__info-grid{grid-template-columns:1fr}.od-tools-shell__info-card{padding:16px}.od-tools-shell__section{margin-top:30px;padding-top:24px}}

.od-tools .od-export{margin-top:10px;border:1px solid var(--od-color-border);border-radius:8px;background:#fff}
.od-tools .od-export summary{padding:10px 12px;color:var(--od-color-brand);font-size:.82rem;font-weight:750;cursor:pointer;list-style-position:inside}
.od-tools .od-export[open] summary{border-bottom:1px solid var(--od-color-border)}
.od-tools .od-export__actions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px 7px}
.od-tools .od-export__actions button{min-height:34px;padding:5px 11px;border:1px solid #bad1c2;border-radius:var(--od-radius-control);background:#fff;color:var(--od-color-brand);font-size:.8rem;font-weight:750;cursor:pointer}
.od-tools .od-export__actions button:hover,.od-tools .od-export__actions button:focus-visible{background:#f3f8f4;border-color:#8fb39d}
.od-tools .od-export__actions button[aria-pressed="true"]{background:#e5f1e9;border-color:#78a987}
.od-tools .od-export__actions button:disabled{opacity:.55;cursor:default}
.od-tools .od-export__actions>strong{align-self:center;font-size:.8rem;color:var(--od-color-brand)}
.od-tools .od-export__actions[hidden]{display:none!important}
.od-tools .od-export__actions.od-export__actions--variants{display:flex;flex-wrap:nowrap}
.od-tools .od-export__actions--variants button{flex:1 1 0;min-width:0;padding:6px 3px}
.od-tools .od-export>small{display:block;padding:0 12px 10px;color:var(--od-color-text-muted);font-size:.72rem;line-height:1.35}
@media(max-width:640px){.od-tools .od-export__actions{display:grid;grid-template-columns:1fr}.od-tools .od-export__actions button{width:100%}}

/* Shared optional appliance-efficiency control for energy-related tools. */
.od-tools .od-efficiency{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,220px);
  gap:8px 14px;
  align-items:end;
  margin-top:2px;
  padding:12px 14px;
  border:1px solid var(--od-color-border);
  border-left:4px solid #64a878;
  border-radius:10px;
  background:#fbfdfb;
}
.od-tools .od-efficiency__toggle{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  color:var(--od-color-text);
  font-size:.84rem;
  font-weight:700;
  cursor:pointer;
}
.od-tools .od-efficiency__toggle input{
  width:17px;
  height:17px;
  accent-color:var(--od-color-brand);
}
.od-tools .od-efficiency__value{
  display:grid;
  gap:6px;
  color:#33423a;
  font-size:.8rem;
  font-weight:700;
}
.od-tools .od-efficiency__input{display:flex;align-items:center}
.od-tools .od-efficiency__input input{
  width:100%;
  height:42px;
  padding:6px 10px;
  border:1px solid #cfdad3;
  border-radius:var(--od-radius-control) 0 0 var(--od-radius-control);
  background:#fff;
  color:var(--od-color-text);
  outline:none;
}
.od-tools .od-efficiency__input b{
  display:grid;
  place-items:center;
  height:42px;
  min-width:42px;
  border:1px solid #cfdad3;
  border-left:0;
  border-radius:0 var(--od-radius-control) var(--od-radius-control) 0;
  background:#f5f8f6;
  color:#526159;
}
.od-tools .od-efficiency__input input:focus-visible{
  border-color:#71a781;
  box-shadow:0 0 0 3px #e4f1e7;
}
.od-tools .od-efficiency>small{
  grid-column:1/-1;
  margin:0;
  color:var(--od-color-text-muted);
  font-size:.7rem;
  line-height:1.4;
}
@media(max-width:700px){
  .od-tools .od-efficiency{grid-template-columns:1fr}
  .od-tools .od-efficiency__value{max-width:220px}
}
.od-tools .od-result-subline{display:block;margin-top:5px;color:var(--od-color-text-muted);font-size:.74rem;line-height:1.35;font-weight:600}

/* Shared segmented choice used by calculators with two or more calculation paths. */
.od-tools .od-option-switch{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:12px 0 14px;
}
.od-tools .od-option-switch>label{display:block;min-width:0;cursor:pointer}
.od-tools .od-option-switch input{position:absolute;opacity:0;pointer-events:none}
.od-tools .od-option-switch span{
  display:grid;
  gap:3px;
  min-height:64px;
  padding:11px 13px;
  border:1px solid var(--od-color-border);
  border-radius:10px;
  background:#fff;
  color:var(--od-color-text);
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.od-tools .od-option-switch strong{font-size:.84rem;line-height:1.3}
.od-tools .od-option-switch small{color:var(--od-color-text-muted);font-size:.7rem;line-height:1.35;font-weight:500}
.od-tools .od-option-switch input:checked+span{border-color:#78a987;background:#f2f8f4;box-shadow:inset 3px 0 0 #4d9362}
.od-tools .od-option-switch input:focus-visible+span{outline:2px solid #78a987;outline-offset:2px}
@media(max-width:640px){.od-tools .od-option-switch{grid-template-columns:1fr}}

/* Shared calculator table. New/refactored tools should prefer this over module-specific table styling. */
.od-tools .od-table-wrap{width:100%;overflow-x:auto;border-top:1px solid var(--od-color-border)}
.od-tools .od-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.76rem}
.od-tools .od-table th,.od-tools .od-table td{padding:var(--od-ui-table-pad-y) var(--od-ui-table-pad-x);border-bottom:1px solid var(--od-ui-table-divider);vertical-align:middle}
.od-tools .od-table th{background:var(--od-ui-table-header-bg);color:var(--od-ui-table-header-text);font-size:.68rem;font-weight:800;line-height:1.2;text-align:center}
.od-tools .od-table th small{display:block;margin-top:2px;color:#738378;font-size:.6rem;font-weight:600;white-space:nowrap}
.od-tools .od-table td{color:#344039;text-align:right;font-variant-numeric:tabular-nums}
.od-tools .od-table th:first-child,.od-tools .od-table td:first-child{text-align:left}
.od-tools .od-table td strong{display:block;color:#24342a;font-size:.76rem}
.od-tools .od-table td small{display:block;margin-top:2px;color:#768079;font-size:.62rem;line-height:1.3}
.od-tools .od-table tbody tr:hover{background:#f8fbf9}
.od-tools .od-table--compact th,.od-tools .od-table--compact td{padding:7px 7px}
@media(max-width:700px){.od-tools .od-table{min-width:620px}}

/* Opt-in table that fits its container; narrow layouts retain every value and sort control. */
.od-tools .od-table-wrap--fit{min-width:0;container-type:inline-size}
.od-tools .od-table--fit{min-width:0;max-width:100%}
.od-tools .od-table--fit th,.od-tools .od-table--fit td{white-space:normal;overflow-wrap:anywhere}
.od-tools .od-table--fit th small{white-space:normal}
@container(max-width:600px){
  .od-tools .od-table--fit,.od-tools .od-table--fit thead,.od-tools .od-table--fit tbody{display:block;width:100%}
  .od-tools .od-table--fit thead tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--od-color-border)}
  .od-tools .od-table--fit thead th{display:block;width:auto;text-align:left;min-width:0;padding:8px 20px 8px 10px}
  .od-tools .od-table--fit thead th small{display:inline;margin-left:4px}
  .od-tools .od-table--fit tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--od-color-border)}
  .od-tools .od-table--fit tbody td{display:block;width:auto;min-width:0;padding:9px 10px;text-align:left;border:0}
  .od-tools .od-table--fit tbody td:first-child{grid-column:1/-1;background:var(--od-color-surface-soft)}
  .od-tools .od-table--fit tbody td[data-label]::before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--od-color-text-muted);font-size:.62rem;font-weight:600;line-height:1.3}
}

/* Shared visibility rule: author display styles must never override the HTML hidden state. */
.od-tools [hidden]{display:none!important}

/* Shared compact row editor for dynamic calculator inputs. */
.od-tools .od-row-editor{width:100%;min-width:0}
.od-tools .od-row-editor__head,
.od-tools .od-row-editor__row{
  display:grid;
  grid-template-columns:var(--od-row-columns,minmax(0,1fr));
  gap:10px;
  align-items:center;
  min-width:0;
}
.od-tools .od-row-editor__head{
  padding:0 10px 6px;
  color:var(--od-color-text);
  font-size:.72rem;
  line-height:1.25;
  font-weight:700;
}
.od-tools .od-row-editor__row{
  padding:8px 10px;
  border:1px solid #dce6df;
  border-left:4px solid #79aa87;
  border-radius:10px;
  background:#fff;
}
.od-tools .od-row-editor__row:hover{background:#f8fbf9}
.od-tools .od-row-editor__row>*{min-width:0}
.od-tools .od-row-editor__field{margin:0!important}
.od-tools .od-row-editor__mobile-label{display:none}
@media(max-width:620px){
  .od-tools .od-row-editor__head{display:none}
  .od-tools .od-row-editor__mobile-label{display:block;margin-bottom:5px}
  .od-tools .od-row-editor__row{align-items:start}
}

/* Shared sortable table header. */
.od-tools .od-table th[data-od-sort]{position:relative;cursor:pointer;padding-right:18px;user-select:none}
.od-tools .od-table th[data-od-sort]:hover{background:#eef5f0;color:#244c34}
.od-tools .od-table th[data-od-sort]::after{content:'↕';position:absolute;right:5px;top:5px;color:#9aa79f;font-size:9px;font-weight:400;opacity:.75}
.od-tools .od-table th[data-od-sort].is-sorted::after{content:'↑';color:#356845;opacity:1}
.od-tools .od-table th[data-od-sort].is-sorted[aria-sort="descending"]::after{content:'↓'}
.od-tools .od-table__scientific{font-style:italic;font-weight:500}

/* Shared appliance-efficiency picker: device preset + user-overridable seasonal efficiency. */
.od-tools .od-appliance-efficiency{
  display:grid;
  gap:10px;
  margin-top:14px;
  padding:12px 14px;
  border:1px solid var(--od-color-border);
  border-left:4px solid #64a878;
  border-radius:10px;
  background:#fbfdfb;
}
.od-tools .od-appliance-efficiency__heading{display:grid;gap:2px}
.od-tools .od-appliance-efficiency__heading>strong{font-size:.84rem;color:var(--od-color-text)}
.od-tools .od-appliance-efficiency__heading>small{font-size:.7rem;line-height:1.4;color:var(--od-color-text-muted)}
.od-tools .od-appliance-efficiency__grid{
  display:grid;
  grid-template-columns:minmax(240px,1.6fr) minmax(150px,.6fr);
  gap:10px 14px;
  align-items:end;
}
.od-tools .od-appliance-efficiency__hint{
  margin:0;
  color:var(--od-color-text-muted);
  font-size:.7rem;
  line-height:1.45;
}
@media(max-width:700px){.od-tools .od-appliance-efficiency__grid{grid-template-columns:1fr}}

/* 0.5.45 — shared compact result summary for calculators. */
.od-tools .od-result-highlight{
  display:grid;
  gap:0;
  background:#edf6ef;
  border-bottom:1px solid var(--od-color-border);
}
.od-tools .od-result-highlight--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.od-tools .od-result-highlight>div{
  min-width:0;
  padding:18px 22px;
  border-right:1px solid #d7e4da;
}
.od-tools .od-result-highlight>div:last-child{border-right:0}
.od-tools .od-result-highlight small,
.od-tools .od-result-context small{
  display:block;
  color:var(--od-color-text-muted);
  font-size:.7rem;
  line-height:1.3;
}
.od-tools .od-result-highlight strong{
  display:block;
  margin-top:5px;
  color:#143d29;
  font-size:clamp(1.2rem,2.8vw,1.65rem);
  line-height:1.2;
  font-variant-numeric:tabular-nums;
}
.od-tools .od-result-context{
  display:grid;
  border-bottom:1px solid var(--od-color-border);
  background:#fff;
}
.od-tools .od-result-context--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.od-tools .od-result-context--4{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.4fr)}
.od-tools .od-result-context>div{
  min-width:0;
  padding:13px 15px;
  border-right:1px solid #e5ebe7;
}
.od-tools .od-result-context>div:last-child{border-right:0}
.od-tools .od-result-context strong{
  display:block;
  margin-top:4px;
  color:#27372e;
  font-size:.92rem;
  line-height:1.35;
}
@media(max-width:700px){
  .od-tools .od-result-highlight--2{grid-template-columns:1fr}
  .od-tools .od-result-highlight>div{border-right:0;border-bottom:1px solid #d7e4da}
  .od-tools .od-result-highlight>div:last-child{border-bottom:0}
  .od-tools .od-result-context--3{grid-template-columns:1fr}
  .od-tools .od-result-context--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .od-tools .od-result-context>div{border-right:0;border-bottom:1px solid #e5ebe7}
  .od-tools .od-result-context>div:last-child{border-bottom:0}
}
@media(max-width:480px){.od-tools .od-result-context--4{grid-template-columns:1fr}}

/* Shared compact secondary line below a dynamic input row. */
.od-tools .od-row-editor__subrow{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding-top:6px;border-top:1px solid var(--od-color-border);min-width:0}
.od-tools .od-row-editor__subrow label{display:flex;align-items:center;gap:6px;margin:0;color:var(--od-color-text-muted);font-size:.68rem;font-weight:600;min-width:0}
.od-tools .od-row-editor__subrow select,.od-tools .od-row-editor__subrow input[type="number"]{width:90px;height:30px;min-height:30px;padding:3px 7px;border:1px solid #cfdad3;border-radius:var(--od-radius-control);background:#fff;color:var(--od-color-text);font-size:.72rem;box-sizing:border-box}
.od-tools .od-row-editor__subrow select:focus-visible,.od-tools .od-row-editor__subrow input:focus-visible{outline:2px solid #78a987;outline-offset:1px}
.od-tools .od-row-editor__subrow-unit{display:flex;align-items:center;gap:5px}
.od-tools .od-row-editor__subrow-unit b{font-size:.68rem;font-weight:600}
.od-tools .od-row-editor__subrow-check{cursor:pointer}
.od-tools .od-row-editor__subrow-check input{width:15px;height:15px;margin:0;accent-color:var(--od-color-brand)}

/* Shared row editor controls: stable action slots and geometry independent of other calculators. */
.od-tools .od-row-editor--adaptive{container-type:inline-size}
.od-tools .od-row-editor--compact-controls .od-row-editor__field{display:block;min-width:0}
.od-tools .od-row-editor--compact-controls .od-row-editor__field>select,
.od-tools .od-row-editor--compact-controls .od-row-editor__field>input{
  width:100%;min-width:0;max-width:100%;height:var(--od-ui-control-height)!important;min-height:var(--od-ui-control-height)!important;
  padding:0 8px!important;line-height:normal!important;margin:0;box-sizing:border-box;
}
.od-tools .od-row-editor--compact-controls .od-row-editor__field>select{padding-right:22px!important}
.od-tools .od-row-editor__remove{
  display:grid;place-items:center;position:static;align-self:center;justify-self:center;
  width:24px;height:24px;min-width:24px;margin:0;padding:0;border:0;border-radius:50%;
  background:transparent;color:#849188;font-size:1.1rem;line-height:1;cursor:pointer;
}
.od-tools .od-row-editor__remove:hover,.od-tools .od-row-editor__remove:focus-visible{background:#f7f3f3;color:#8a2929}
.od-tools .od-row-editor__remove:focus-visible{outline:2px solid #8eb79a;outline-offset:2px}

/* Compact tables keep words and numeric endpoints intact, with controlled row spacing. */
.od-tools .od-table--compact th,.od-tools .od-table--compact td{line-height:1.35}
.od-tools .od-table--compact th{overflow-wrap:normal;word-break:normal}
.od-tools .od-table--compact th[data-od-sort]{padding:8px 14px 8px 6px}
.od-tools .od-table--compact th[data-od-sort]::after{right:3px}
.od-tools .od-table__value{display:block;margin:0;font-size:.74rem;line-height:1.35}
.od-tools .od-table__number{display:inline-block;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.od-tools .od-table__value--range{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.od-tools .od-table--compact .od-table__value--range{font-size:.7rem}
.od-tools .od-table-note{margin:7px 0 12px;color:var(--od-color-text-muted);font-size:.66rem;line-height:1.4}

/* Opt-in shared form and reference components, first used by seasoning (05I). */
.od-tools .od-calculator-form{display:grid;gap:12px}
.od-tools .od-form-panel{min-width:0;padding:13px 15px;border:1px solid var(--od-color-border);border-radius:9px;background:#fbfdfb}
.od-tools .od-form-panel h3{margin:0 0 10px;font-size:.86rem;line-height:1.3;color:var(--od-color-brand)}
.od-tools .od-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;align-items:start}
.od-tools .od-form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.od-tools .od-form-grid--wide-first{grid-template-columns:minmax(0,1.8fr) repeat(2,minmax(0,1fr))}
/* Seasoning storage: four controls per row whenever the tool panel allows it. */
.od-tools .od-form-panel--storage{container-type:inline-size}
.od-tools .od-form-grid--storage{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:9px}
@container(max-width:520px){.od-tools .od-form-grid--storage{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:300px){.od-tools .od-form-grid--storage{grid-template-columns:minmax(0,1fr)}}
.od-tools .od-field{display:grid;gap:5px;min-width:0;font-size:.73rem;font-weight:700;color:#34463b}
.od-tools .od-field--wide{grid-column:span 2}
.od-tools .od-field>input,.od-tools .od-field>select{width:100%;min-width:0;max-width:100%;height:var(--od-ui-control-height);min-height:var(--od-ui-control-height);margin:0;padding:5px 9px;border:1px solid var(--od-ui-control-border);border-radius:var(--od-ui-control-radius);background:var(--od-ui-control-bg);color:var(--od-color-text);font-size:.84rem;line-height:normal;box-shadow:none}
.od-tools .od-field>select{padding-right:24px}
.od-tools .od-field>input:focus-visible,.od-tools .od-field>select:focus-visible{outline:2px solid var(--od-ui-control-focus);outline-offset:1px;border-color:var(--od-ui-control-focus)}
.od-tools .od-field>[aria-invalid="true"]{border-color:#b54949}
.od-tools .od-field small,.od-tools .od-field-hint{color:var(--od-color-text-muted);font-size:.69rem;line-height:1.4;font-weight:500}
.od-tools .od-field-hint{margin:8px 0}
.od-tools .od-field-check{display:flex;align-items:center;gap:7px;margin:9px 0;font-size:.76rem;font-weight:650;color:#34463b;cursor:pointer}
.od-tools .od-field-check input{width:16px;height:16px;margin:0;accent-color:var(--od-color-brand)}
.od-tools .od-calculator-form>button[type="submit"]{justify-self:start;min-height:40px;padding:8px 20px;font-size:.86rem;cursor:pointer}
.od-tools .od-calculator-form>button:disabled{opacity:.65;cursor:wait}
.od-tools .od-calculator-form [hidden],.od-tools .od-result-panel [hidden],.od-tools .od-result-panel[hidden],.od-tools .od-notice[hidden]{display:none!important}
.od-tools .od-notice{margin:10px 0;padding:10px 12px;border-left:3px solid #8fb39d;border-radius:0 6px 6px 0;background:#f4f8f5;color:#435249;font-size:.76rem;line-height:1.45}
.od-tools .od-notice--error{border-left-color:#b54949;background:#fff3f3;color:#7a2424}
.od-tools .od-notice ul{margin:6px 0 4px;padding-left:19px}
.od-tools .od-notice small{font-size:.69rem}
.od-tools .od-result-panel{margin-top:18px;border:1px solid var(--od-color-border);border-radius:10px;overflow:hidden;min-width:0;scroll-margin-top:80px}
.od-tools .od-result-panel__note{margin:0;padding:11px 18px;background:#f5faf6;color:#435249;font-size:.79rem;line-height:1.45}
.od-tools .od-result-panel__body{padding:12px 15px;min-width:0}
.od-tools .od-result-panel__body h3{margin:14px 0 8px;font-size:.85rem;color:#34463b}
.od-tools .od-content-list{margin:9px 0;padding-left:20px;color:#536258;font-size:.73rem;line-height:1.5}
.od-tools .od-content-list li+li{margin-top:5px}
.od-tools .od-reference-details{margin:12px 0;border-top:1px solid var(--od-color-border);padding-top:10px}
.od-tools .od-reference-details>summary{font-size:.79rem;font-weight:700;color:var(--od-color-brand);cursor:pointer}
.od-tools .od-reference-grid{display:grid;gap:10px;margin-top:10px}
.od-tools .od-reference-card{padding:12px 13px;border:1px solid var(--od-color-border);border-radius:8px;background:#fcfdfc;min-width:0}
.od-tools .od-reference-card h4{margin:0 0 5px;font-size:.81rem;color:#34463b;line-height:1.4}
.od-tools .od-reference-card>small{font-size:.67rem;font-weight:700;color:var(--od-color-text-muted)}
.od-tools .od-reference-card .od-table-wrap{margin-top:9px}
.od-tools .od-reference-card a{color:var(--od-color-brand);overflow-wrap:anywhere}
.od-tools .od-table .od-table__text{text-align:left}
@media(max-width:700px){.od-tools .od-form-grid--3,.od-tools .od-form-grid--wide-first{grid-template-columns:repeat(2,minmax(0,1fr))}.od-tools .od-form-grid--wide-first>.od-field:first-child{grid-column:1/-1}}
@media(max-width:480px){.od-tools .od-form-grid,.od-tools .od-form-grid--3,.od-tools .od-form-grid--wide-first{grid-template-columns:1fr}.od-tools .od-field--wide{grid-column:auto}.od-tools .od-form-panel{padding:11px 12px}}

/* Shared paired tables; keep tabular columns even when each table is narrow. */
.od-tools .od-table-section{container-type:inline-size}
.od-tools .od-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.od-tools .od-table--matrix{min-width:0;max-width:100%}
.od-tools .od-table--matrix th,.od-tools .od-table--matrix td{white-space:normal;overflow-wrap:normal;word-break:normal}
.od-tools .od-table--matrix .od-table__number{white-space:nowrap}
.od-tools .od-table--variant-matrix th,.od-tools .od-table--variant-matrix td{padding:4px 3px;font-size:.72rem;line-height:1.25;overflow-wrap:anywhere}
.od-tools .od-table--variant-matrix tbody th{background:#f7faf8;font-weight:700}
.od-tools .od-table--variant-matrix [data-matrix-months]{border-top:2px solid #bad1c2}
.od-tools .od-table__variant-number{display:none;text-decoration:none}
.od-tools .od-table__date-short{display:none}
.od-tools .od-table .od-table__date{white-space:nowrap}
.od-tools .od-table .od-table__row--target th,.od-tools .od-table .od-table__row--target td{background:#dceee2;color:#174c30;font-weight:750;border-top:2px solid #83af92;border-bottom:2px solid #83af92}
.od-tools .od-table .od-table__cell--goal{background:#edf7ef;color:#245b35;font-weight:700}
@container(max-width:480px){
  .od-tools .od-table--variant-matrix th,.od-tools .od-table--variant-matrix td{font-size:.65rem;padding:4px 2px;overflow-wrap:anywhere}
  .od-tools .od-table--variant-matrix .od-table__date-full{display:none}
  .od-tools .od-table--variant-matrix .od-table__date-short{display:inline}
  .od-tools .od-table__variant-name{display:none}
  .od-tools .od-table__variant-number{display:inline}
}
@container(max-width:340px){.od-tools .od-table--variant-matrix .od-table__date{font-size:.52rem}.od-tools .od-table--variant-matrix th,.od-tools .od-table--variant-matrix td{padding:4px 1px}}
.od-tools .od-table__caption{text-align:left;padding:9px 7px;background:#edf5ef;color:var(--od-color-brand);font-weight:750;font-size:.76rem;caption-side:top}
.od-tools .od-table .od-table__row--goal{background:#edf7ef}
.od-tools .od-table .od-table__row--goal td{color:#245b35;font-weight:700}
@media(max-width:640px){.od-tools .od-table-grid{grid-template-columns:1fr}}
@container(max-width:640px){.od-tools .od-table-grid{grid-template-columns:1fr}}

/* 06C4: common scroll clearance for in-page links. Anchor targets, not their
   wrappers, need scroll-margin-top; this leaves section headings visible below
   the WordPress/Astra navigation header and provides visual breathing room.
   Override --od-scroll-target-offset on a specific host layout if required. */
.od-tools .od-scroll-target{scroll-margin-top:var(--od-scroll-target-offset,132px)}

/* 06C: shared informational navigation and data-evidence states.
   Reusable in Atlas, future property views and comparison tables. */
.od-tools .od-atlas-nav{display:flex;align-items:center;gap:5px 9px;flex-wrap:wrap;margin:6px 0 14px;padding:8px 10px;border:1px solid var(--od-color-border);border-radius:8px;background:var(--od-color-surface-soft,#f7faf8);font-size:.77rem}
.od-tools .od-atlas-nav>span{color:var(--od-color-text-muted);font-weight:650}
.od-tools .od-atlas-nav a{display:inline-block;padding:5px 9px;border:1px solid var(--od-color-border);border-radius:6px;background:#fff;color:var(--od-color-brand);font-weight:650;text-decoration:none}
.od-tools .od-atlas-nav a:hover,.od-tools .od-atlas-nav a:focus-visible{border-color:var(--od-color-brand);text-decoration:underline}
.od-tools .od-atlas-nav a:focus-visible{outline:2px solid #78a987;outline-offset:2px}
.od-tools .od-data-state{display:inline-block;padding:1px 5px;border:1px solid #d9e2db;border-radius:4px;background:#f7faf8;color:#465d4d;font-size:.65rem;line-height:1.4;font-weight:650;white-space:normal}
.od-tools .od-data-state--reviewed{background:#f1f8f2;border-color:#bedcc6;color:#275e40}
.od-tools .od-data-state--missing{background:#f6f7f6;color:#606e64}
.od-tools .od-data-state--estimated{background:#fff6e9;border-color:#f0d7ad;color:#805927}
.od-tools .od-data-note{margin:6px 0;color:var(--od-color-text-muted);font-size:.75rem;line-height:1.4}

.od-tools .od-atlas-index{margin:0 0 15px;border:1px solid var(--od-color-border);border-radius:7px;background:#fff;font-size:.77rem}
.od-tools .od-atlas-index summary{padding:8px 11px;cursor:pointer;color:var(--od-color-brand);font-weight:700}
.od-tools .od-atlas-index__links{display:flex;gap:6px;flex-wrap:wrap;padding:3px 10px 11px}
.od-tools .od-atlas-index__links a{display:inline-block;padding:4px 7px;border-radius:5px;background:var(--od-color-surface-soft,#f7faf8);color:var(--od-color-brand);text-decoration:none}
.od-tools .od-atlas-index__links a:hover,.od-tools .od-atlas-index__links a:focus-visible{text-decoration:underline}
.od-tools .od-atlas-index__links a:focus-visible{outline:2px solid #78a987;outline-offset:2px}

/* 06C3: reusable hierarchy for technical values and subordinate evidence. */
.od-tools .od-evidence-primary{display:block;color:var(--od-color-text);font-size:1rem;line-height:1.35;font-weight:750;overflow-wrap:normal;word-break:normal}
.od-tools .od-data-state--source{background:#f6f9f7;border-color:#e2e9e4;color:#56695e}
.od-tools .od-evidence-value .od-data-state,.od-tools .od-table .od-data-state{display:table;width:fit-content;margin-top:6px;font-weight:500}
.od-tools .od-data-note--caution{display:block;margin:5px 0 0;color:#786238;font-weight:500}
.od-tools .od-evidence-extras .od-evidence-details>summary{display:list-item;width:fit-content;max-width:100%;padding:3px 0;color:var(--od-color-text-muted);font-size:.75rem;font-weight:450;line-height:1.45;cursor:pointer}
.od-tools .od-evidence-extras .od-evidence-details>summary:hover{text-decoration:underline;color:var(--od-color-text)}
.od-tools .od-evidence-extras .od-evidence-details>summary:focus-visible{outline:2px solid var(--od-color-brand);outline-offset:3px}
/* 06C2: shared compact, accessible disclosure for sources and test methods.
   Can be reused by the Atlas, data tables and future calculators. */
.od-tools .od-source-details{display:block;max-width:100%;min-width:0;margin-top:6px;font-size:.69rem;color:var(--od-color-text-muted)}
.od-tools .od-source-details>summary{display:list-item;width:fit-content;max-width:100%;padding:1px 0;cursor:pointer;font-size:inherit;line-height:1.4;font-weight:400;color:var(--od-color-text-muted)}
.od-tools .od-source-details>summary:hover{text-decoration:underline}
.od-tools .od-source-details>summary:focus-visible{outline:2px solid var(--od-color-brand);outline-offset:2px;border-radius:3px}
.od-tools .od-source-details__content{box-sizing:border-box;max-width:100%;margin:5px 0 5px;padding:8px 10px;border:1px solid var(--od-color-border);border-radius:6px;background:var(--od-color-surface-soft,#f7faf8);color:var(--od-color-text);line-height:1.45;overflow-wrap:anywhere}
.od-tools .od-source-details__source,.od-tools .od-source-details__meta{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere}
.od-tools .od-source-details__meta{margin-top:4px;color:var(--od-color-text-muted);font-size:.72rem}
.od-tools .od-source-details__source a{color:var(--od-color-brand);text-decoration:underline;text-underline-offset:2px}

/* 06D — reusable Atlas / Wood Data presentation; controls and tables share the tools shell. */
.od-tools .od-data-hero{margin:0 0 13px;padding:10px 0;border-bottom:1px solid var(--od-color-border)}
.od-tools .od-data-hero h2{margin:2px 0 5px;color:var(--od-color-brand);font-size:1.14rem}
.od-tools .od-data-hero p{margin:0;color:var(--od-color-text-muted);font-size:.77rem;line-height:1.45}
.od-tools .od-data-hero__eyebrow{color:var(--od-color-text-muted);font-size:.66rem;font-weight:700;letter-spacing:.03em}
.od-tools .od-data-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:8px 0 13px;padding:11px 13px;border:1px solid var(--od-color-border);border-radius:8px;background:var(--od-color-surface-soft,#f7faf8)}
.od-tools .od-data-filter label{flex:1 1 210px;min-width:0;margin:0;display:flex;flex-direction:column;gap:5px}
.od-tools .od-data-filter label>span{font-weight:650;color:var(--od-color-text);font-size:.74rem}
.od-tools .od-data-filter select{box-sizing:border-box;width:100%;max-width:100%;min-height:36px;margin:0;border:1px solid var(--od-color-border);border-radius:5px;background:#fff;color:var(--od-color-text);padding:6px 9px;font-size:.77rem}
.od-tools .od-data-filter button{min-height:36px;margin:0;padding:6px 14px;border:1px solid var(--od-color-brand);border-radius:5px;background:var(--od-color-brand);color:white;font-size:.76rem;font-weight:650;cursor:pointer}
.od-tools .od-data-filter button:hover{filter:brightness(1.07)}
.od-tools .od-data-filter :is(select,button):focus-visible{outline:2px solid #78a987;outline-offset:2px}
.od-tools .od-data-intro{margin:15px 0 12px;padding:0 2px}
.od-tools .od-data-intro h3{margin:0 0 3px;font-size:.99rem;color:var(--od-color-brand)}
.od-tools .od-data-intro p{margin:0;font-size:.78rem;line-height:1.55;color:var(--od-color-text-muted)}
.od-tools .od-data-empty{margin:13px 0;padding:13px 14px;border:1px solid var(--od-color-border);border-radius:6px;background:var(--od-color-surface-soft,#f7faf8);font-size:.78rem;line-height:1.5}
.od-tools .od-data-conditions{display:block;color:var(--od-color-text-muted);font-size:.73rem;line-height:1.45}
.od-tools .od-data-main-value{display:block;font-size:.89rem;font-weight:750;line-height:1.4;color:var(--od-color-text);font-variant-numeric:tabular-nums}
.od-tools .od-data-main-value--missing{font-weight:550;color:var(--od-color-text-muted)}
.od-tools .od-table--property{width:100%;table-layout:fixed}
.od-tools .od-table--property th,.od-tools .od-table--property td{box-sizing:border-box;padding:12px 13px;vertical-align:top;text-align:left;font-size:.74rem;line-height:1.45;overflow-wrap:normal}
.od-tools .od-table--property th:nth-child(1){width:31%}
.od-tools .od-table--property th:nth-child(2){width:25%}
.od-tools .od-table--property th:nth-child(3){width:44%}
.od-tools .od-table--property tbody th{font-weight:700}
.od-tools .od-table--property tbody th strong{display:block;font-size:.77rem}
.od-tools .od-table--property tbody th small{display:block;margin-top:3px;color:var(--od-color-text-muted);font-size:.67rem;font-weight:400}
.od-tools .od-table--property .od-data-state{margin-top:5px}
.od-tools .od-table--property .od-data-note{display:block;margin:4px 0 0;font-size:.68rem}
.od-tools .od-table--property .od-source-details{margin-top:7px}
.od-tools .od-data-evidence-list{margin:6px 0;padding-left:19px;font-size:.71rem;line-height:1.5}
.od-tools .od-data-evidence-list li{margin:5px 0}
@media(max-width:700px){
  .od-tools .od-data-filter{align-items:stretch;gap:8px}
  .od-tools .od-data-filter label{flex-basis:100%}
  .od-tools .od-data-filter button{width:100%}
  .od-tools .od-table--property{display:block;width:100%;min-width:0}
  .od-tools .od-table--property thead{display:none}
  .od-tools .od-table--property tbody{display:block;width:100%}
  .od-tools .od-table--property tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--od-color-border);border-radius:6px;margin:8px 0;overflow:hidden}
  .od-tools .od-table--property tbody tr :is(th,td){display:block;box-sizing:border-box;width:auto;min-width:0;border:0;padding:9px 12px;text-align:left}
  .od-tools .od-table--property tbody tr th:first-child{grid-column:1/-1;background:var(--od-color-surface-soft,#f7faf8);padding:9px 12px;border-bottom:1px solid var(--od-color-border)}
  .od-tools .od-table--property tbody tr td:nth-child(2){grid-column:1/2}
  .od-tools .od-table--property tbody tr td:nth-child(3){grid-column:2/3}
  .od-tools .od-table--property tbody td[data-label]::before{content:attr(data-label);display:block;margin:0 0 4px;color:var(--od-color-text-muted);font-size:.62rem;font-weight:650}
}
@media(max-width:390px){
  .od-tools .od-table--property tbody tr{grid-template-columns:1fr}
  .od-tools .od-table--property tbody tr td:nth-child(2),.od-tools .od-table--property tbody tr td:nth-child(3){grid-column:1/-1}
  .od-tools .od-table--property tbody tr td:nth-child(3){border-top:1px solid var(--od-color-border)}
}

/* 06E: shared comparison-table pattern for Atlas and future multi-item tools. */
.od-tools .od-compare-pick{display:block;padding:12px 14px}
.od-tools .od-compare-pick__heading{font-size:.79rem;font-weight:700;margin:0 0 10px}
.od-tools .od-compare-pick__heading small{margin-left:6px;font-size:.68rem;color:var(--od-color-text-muted);font-weight:400}
.od-tools .od-compare-pick__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:9px 12px}
.od-tools .od-compare-pick__fields>label{display:flex;min-width:0;flex-direction:column;gap:4px}
.od-tools .od-compare-pick__fields>label>span,.od-tools .od-compare-pick__footer label>span{font-size:.71rem;font-weight:650}
.od-tools .od-compare-pick__footer{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:12px;margin-top:12px}
.od-tools .od-compare-pick__footer>label{max-width:270px}
.od-tools .od-compare-summary{margin:10px 1px 9px;font-size:.76rem}
.od-tools .od-table-wrap--compare{border:1px solid var(--od-color-border);border-radius:7px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-gutter:stable}
.od-tools .od-table--compare{table-layout:fixed;min-width:var(--od-compare-min-width,650px);max-width:none;width:100%}
.od-tools .od-table--compare th,.od-tools .od-table--compare td{padding:11px 12px;vertical-align:top;text-align:left;line-height:1.4;overflow-wrap:normal;word-break:normal}
.od-tools .od-table--compare thead th:first-child,.od-tools .od-table--compare .od-compare-property{width:185px;position:sticky;left:0;z-index:2;box-shadow:1px 0 0 var(--od-color-border);background:#fff}
.od-tools .od-table--compare thead th:first-child{z-index:4;background:#f7faf8}
.od-tools .od-table--compare thead th{font-size:.71rem;text-align:left;background:var(--od-ui-table-header-bg)}
.od-tools .od-table--compare thead th strong{display:block;font-size:.75rem;line-height:1.3}
.od-tools .od-table--compare thead th small{display:block;white-space:normal;font-size:.62rem;font-weight:450;margin-top:3px}
.od-tools .od-table--compare .od-compare-group th{position:static;background:#eaf3ed;color:var(--od-color-brand);padding:9px 11px;font-size:.74rem;letter-spacing:.01em;box-shadow:none}
.od-tools .od-table--compare .od-compare-property>strong{display:block;font-size:.75rem;color:var(--od-color-text);line-height:1.4}
.od-tools .od-compare-profile{display:flex;flex-direction:column;gap:4px;margin-top:7px}
.od-tools .od-compare-profile>span{font-size:.64rem;font-weight:550;color:var(--od-color-text-muted)}
.od-tools .od-compare-profile select{width:100%;min-width:0;max-width:100%;height:32px;margin:0;padding:3px 5px;font-size:.68rem;border:1px solid var(--od-color-border);border-radius:4px;background:#fff;color:var(--od-color-text)}
.od-tools .od-compare-profile__description,.od-tools .od-compare-profile__unit{display:block;margin-top:5px;font-size:.66rem;font-weight:400;line-height:1.4;color:var(--od-color-text-muted)}
.od-tools .od-compare-cell--missing{background:#fafbfa}
.od-tools .od-compare-cell__state{display:block;margin-top:5px;font-size:.66rem;font-weight:450;line-height:1.3;color:var(--od-color-text-muted)}
.od-tools .od-compare-cell__state--estimated{color:#805927}
.od-tools .od-compare-cell__caution{display:block;margin-top:5px;color:#786238;font-size:.65rem;font-weight:450}
.od-tools .od-table--compare .od-source-details{font-size:.67rem;margin-top:8px}
.od-tools .od-table--compare .od-source-details__content strong{font-size:.68rem}
.od-tools .od-table--compare .od-data-main-value{font-size:.85rem;white-space:normal;overflow-wrap:normal;line-height:1.3}
.od-tools .od-table--compare .od-data-evidence-list{overflow-wrap:anywhere}
.od-tools .od-table-wrap--compare:focus-visible{outline:2px solid var(--od-color-brand);outline-offset:2px}
@media(max-width:600px){
  .od-tools .od-compare-pick__footer>label{flex:1 1 100%;max-width:none}
  .od-tools .od-compare-pick__footer button{flex:1 1 100%}
  .od-tools .od-table--compare th,.od-tools .od-table--compare td{padding:9px 10px}
  .od-tools .od-table--compare thead th:first-child,.od-tools .od-table--compare .od-compare-property{width:160px}
  .od-tools .od-table--compare{min-width:calc(var(--od-compare-min-width,650px) - 25px)}
}

/* Shared accessible hidden label (e.g. compact table profile selector). */
.od-tools .od-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* 06E2 — reusable upper scrollbar controls. One visual vocabulary for all wide tables. */
.od-tools .od-hscroll{min-width:0;max-width:100%;position:relative}
.od-tools .od-hscroll__toolbar{position:sticky;top:42px;z-index:9;display:flex;align-items:center;gap:7px;padding:5px 8px;background:#f8faf8;border:1px solid var(--od-color-border);border-radius:7px 7px 0 0;box-shadow:0 1px 4px rgba(0,0,0,.035)}
.od-tools .od-hscroll__toolbar[hidden]{display:none!important}
.od-tools .od-hscroll__hint{flex:0 0 auto;font-size:.66rem;color:var(--od-color-text-muted)}
.od-tools .od-hscroll__arrow{flex:0 0 29px;min-height:28px;min-width:29px;padding:0;border:1px solid var(--od-color-border);border-radius:5px;background:#fff;color:var(--od-color-brand);font-size:1.05rem;line-height:1;cursor:pointer}
.od-tools .od-hscroll__arrow:disabled{opacity:.35;cursor:default}
.od-tools .od-hscroll__arrow:focus-visible,.od-tools .od-hscroll__track:focus-visible{outline:2px solid var(--od-color-brand);outline-offset:2px}
.od-tools .od-hscroll__track{flex:1 1 auto;min-width:30px;overflow-x:auto;overflow-y:hidden;height:18px;scrollbar-width:auto;scrollbar-color:#7c9c85 #e5ebe7}
.od-tools .od-hscroll__track-inner{height:1px}
.od-tools .od-hscroll .od-table-wrap--compare{border-top:0;border-radius:0 0 7px 7px}
/* Same two-level value hierarchy even with five selected species. */
.od-tools .od-table--compare th,.od-tools .od-table--compare td{padding:8px 10px;vertical-align:top;line-height:1.28}
.od-tools .od-table--compare .od-data-main-value{display:block;font-size:.84rem;line-height:1.22;font-weight:750;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.od-tools .od-table--compare .od-compare-property>strong{font-size:.72rem;line-height:1.25}
.od-tools .od-compare-cell__meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 7px;margin-top:5px}
.od-tools .od-table--compare .od-compare-cell__meta .od-compare-cell__state{display:inline;margin:0;font-size:.60rem;line-height:1.2;color:#697770}
.od-tools .od-compare-cell__state--estimated{color:#85642a}
.od-tools .od-table--compare .od-source-details{display:inline-block;margin:0;font-size:.61rem;line-height:1.2;min-width:0}
.od-tools .od-table--compare .od-source-details summary{font-size:.61rem;font-weight:450;color:#67766d;white-space:nowrap}
.od-tools .od-table--compare .od-source-details__content{min-width:190px;max-width:340px;font-size:.70rem;line-height:1.4;overflow-wrap:anywhere}
.od-tools .od-table--compare .od-source-details__content strong{font-size:.7rem}
.od-tools .od-compare-detail-note{margin:2px 0 7px;color:#7c6141}
.od-tools .od-compare-profile{margin-top:4px;gap:0}
.od-tools .od-compare-profile select{height:29px;font-size:.64rem;text-overflow:ellipsis}
.od-tools .od-compare-profile__description{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.od-tools .od-table--compare .od-compare-group th{padding:8px 11px}
.od-tools .od-table--compare thead th:first-child,.od-tools .od-table--compare .od-compare-property{width:175px}
.od-tools .od-table--compare thead th{padding:8px 10px}
.od-tools .od-compare-cell--missing .od-data-main-value{color:#78847b}
@media(max-width:782px){.od-tools .od-hscroll__toolbar{top:48px}}
@media(max-width:600px){
  .od-tools .od-hscroll__hint{font-size:.6rem}
  .od-tools .od-hscroll__toolbar{gap:5px;padding:5px 6px}
  .od-tools .od-hscroll__arrow{flex-basis:28px;min-width:28px;min-height:27px}
  .od-tools .od-table--compare thead th:first-child,.od-tools .od-table--compare .od-compare-property{width:155px}
}

/* 06E3 — shared label-side unit for compact data tables. No units repeated in each value. */
.od-tools .od-table-unit{display:inline;font-size:.66rem;font-weight:500;line-height:1.3;color:var(--od-color-text-muted);white-space:nowrap;letter-spacing:normal}
/* A two-level cell: the figure, then only exceptional status / source details. */
.od-tools .od-table--compare .od-compare-cell__meta{gap:3px 8px;margin-top:5px}
.od-tools .od-table--compare .od-compare-cell__meta:empty{display:none}
.od-tools .od-table--compare .od-compare-property .od-table-unit{font-size:.65rem}


/* 06E4 — denser comparison layout for five species on one desktop screen. */
.od-tools .od-table--compare{min-width:var(--od-compare-min-width,636px)}
.od-tools .od-table--compare th,.od-tools .od-table--compare td{padding:7px 8px;line-height:1.22}
.od-tools .od-table--compare thead th:first-child,.od-tools .od-table--compare .od-compare-property{width:148px}
.od-tools .od-table--compare thead th{font-size:.68rem;padding:7px 8px}
.od-tools .od-table--compare thead th strong{font-size:.72rem;line-height:1.22}
.od-tools .od-table--compare thead th small{font-size:.57rem;line-height:1.2;margin-top:2px}
.od-tools .od-table--compare .od-compare-property>strong{font-size:.70rem;line-height:1.18}
.od-tools .od-table--compare .od-compare-property .od-table-unit{font-size:.61rem}
.od-tools .od-compare-profile__description{font-size:.62rem;line-height:1.2}
.od-tools .od-table--compare .od-data-main-value{font-size:.82rem;line-height:1.15}
.od-tools .od-table--compare .od-compare-cell__meta{gap:2px 6px;margin-top:4px}
.od-tools .od-table--compare .od-source-details{font-size:.58rem}
.od-tools .od-table--compare .od-source-details summary{font-size:.58rem}
.od-tools .od-table--compare .od-compare-group th{padding:7px 9px;font-size:.72rem}
@media(max-width:900px){
  .od-tools .od-table--compare thead th:first-child,.od-tools .od-table--compare .od-compare-property{width:142px}
}
@media(max-width:600px){
  .od-tools .od-table--compare thead th:first-child,.od-tools .od-table--compare .od-compare-property{width:150px}
  .od-tools .od-table--compare th,.od-tools .od-table--compare td{padding:8px 9px}
  .od-tools .od-table--compare thead th strong{font-size:.73rem}
  .od-tools .od-table--compare .od-data-main-value{font-size:.84rem}
}


/* 06E5 — shared, responsive 6-column comparison pattern and clickable technical detail cells. */
.od-tools .od-compare-interaction-hint{font-size:.69rem;color:var(--od-color-text-muted);margin:5px 2px 8px;line-height:1.45}
.od-tools .od-compare-interaction-hint strong{font-weight:650;color:var(--od-color-text)}
.od-tools .od-table--compare{width:100%;min-width:0;max-width:100%;table-layout:fixed}
.od-tools .od-table--compare thead th:first-child,.od-tools .od-table--compare .od-compare-property{width:21%;min-width:0}
.od-tools .od-table--compare th,.od-tools .od-table--compare td{min-width:0;padding:7px 6px;overflow-wrap:anywhere;hyphens:auto}
.od-tools .od-table--compare thead th{padding:8px 6px}
.od-tools .od-table--compare thead th strong{font-size:.68rem;overflow-wrap:anywhere;hyphens:auto;line-height:1.25}
.od-tools .od-table--compare thead th small{display:none}
.od-tools .od-table--compare .od-compare-property>strong{font-size:.70rem}
.od-tools .od-table--compare .od-table-property-trigger strong{font-size:.70rem;line-height:1.23}
.od-tools .od-table--compare .od-data-main-value{font-size:.79rem;white-space:normal;overflow:visible;overflow-wrap:normal;word-break:normal;line-height:1.18}
.od-tools .od-table--compare .od-compare-property .od-table-unit{font-size:.58rem}
.od-tools .od-compare-profile__description{white-space:normal;overflow-wrap:anywhere;font-size:.59rem;line-height:1.25}
.od-tools .od-table--compare .od-compare-cell__state{display:block;margin-top:3px;font-size:.58rem;line-height:1.15}
.od-tools .od-table-detail-trigger{display:inline-block;padding:1px 2px;margin:-1px -2px;text-align:left;max-width:100%;border:0;border-radius:3px;box-shadow:none;background:transparent;color:inherit;cursor:pointer;line-height:inherit;font-family:inherit}
.od-tools .od-table-value-trigger{width:auto}
.od-tools .od-table-detail-trigger:hover{background:#eaf4ee;color:var(--od-color-brand)}
.od-tools .od-table-detail-trigger:focus-visible{outline:2px solid var(--od-color-brand);outline-offset:2px;background:#eaf4ee}
.od-tools .od-table-detail-trigger[aria-expanded="true"]{background:#eaf4ee}
.od-tools .od-table--compare .od-table-detail-trigger .od-data-main-value{color:inherit}
.od-tools .od-table--compare .od-table-detail-trigger .od-data-main-value--missing{color:#78847b}
.od-tools .od-compare-property .od-table-property-trigger{width:100%;text-align:left}
.od-tools.od-compare-atlas .od-hscroll__toolbar{display:none}
.od-tools .od-table-detail-dialog{position:fixed;inset:0;margin:auto;padding:0;width:min(520px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:min(84vh,780px);border:1px solid var(--od-color-border);border-radius:9px;background:#fff;color:var(--od-color-text);box-shadow:0 16px 56px rgba(0,0,0,.20);overflow:auto}
.od-tools .od-table-detail-dialog::backdrop{background:rgba(12,37,25,.38)}
.od-tools .od-table-detail-dialog__header{position:sticky;top:0;display:flex;align-items:start;justify-content:space-between;gap:12px;padding:14px 17px 11px;background:#f3f8f4;border-bottom:1px solid var(--od-color-border);z-index:1}
.od-tools .od-table-detail-dialog__header h3{margin:0;font-size:1rem;line-height:1.3;color:var(--od-color-brand)}
.od-tools .od-table-detail-dialog__close{flex:0 0 30px;height:30px;padding:0;background:#fff;border:1px solid var(--od-color-border);border-radius:5px;font-size:1.3rem;line-height:1;color:var(--od-color-text);cursor:pointer}
.od-tools .od-table-detail-dialog__close:focus-visible{outline:2px solid var(--od-color-brand);outline-offset:2px}
.od-tools .od-table-detail-dialog__body{padding:16px 18px 20px;font-size:.83rem;line-height:1.55;overflow-wrap:anywhere}
.od-tools .od-table-detail-dialog__body p{margin:0 0 10px}
.od-tools .od-table-detail-dialog__body strong{display:block;margin-top:9px}
.od-tools .od-table-detail-dialog__body .od-source-details__meta,.od-tools .od-table-detail-dialog__body .od-source-details__source{display:block;margin-top:3px}
.od-tools .od-table-detail-dialog__body .od-data-evidence-list{margin:4px 0 12px;padding-left:20px}
@media(max-width:560px){
  /* On narrow phones, retain legibility and the existing accessible top scrollbar. */
  .od-tools.od-compare-atlas .od-table--compare{min-width:600px}
  .od-tools.od-compare-atlas .od-hscroll__toolbar:not([hidden]){display:flex}
  .od-tools .od-table--compare thead th:first-child,.od-tools .od-table--compare .od-compare-property{width:140px}
  .od-tools .od-table--compare th,.od-tools .od-table--compare td{padding:8px 7px}
}

/* Subtle persistent hint that the displayed figure/parameter is interactive. */
.od-tools .od-table-value-trigger{border-bottom:1px dotted #b3c7b7}
.od-tools .od-table-property-trigger strong{border-bottom:1px dotted #c6d4c9}

.od-tools.od-compare-atlas .od-table-wrap--compare{scrollbar-gutter:auto;border-top:1px solid var(--od-color-border);border-radius:7px}
@media(max-width:560px){
  .od-tools.od-compare-atlas .od-table-wrap--compare{border-top:0;border-radius:0 0 7px 7px}
}


/* 06E6 — compact picker, centered figures and unobtrusive button affordance.
   The declarations remain global in tools.css, scoped by the reusable Atlas view. */
.od-tools.od-compare-atlas .od-compare-pick{padding:10px 12px}
.od-tools.od-compare-atlas .od-compare-pick__heading{margin-bottom:7px;font-size:.76rem}
.od-tools.od-compare-atlas .od-compare-pick__heading small{font-size:.67rem}
.od-tools.od-compare-atlas .od-compare-pick__fields{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;row-gap:10px;align-items:end}
.od-tools.od-compare-atlas .od-compare-pick__fields>label{gap:0}
.od-tools.od-compare-atlas .od-compare-pick__fields select{display:block;width:100%;min-width:0;max-width:100%;height:34px;padding:4px 7px;font-size:.72rem}
.od-tools.od-compare-atlas .od-compare-pick__action{box-sizing:border-box;display:flex;align-items:center;justify-content:center;align-self:end;width:100%;min-width:0;min-height:34px;height:34px;padding:4px 10px;margin:0;font-size:.73rem;line-height:1.2;white-space:nowrap}
.od-tools.od-compare-atlas .od-compare-interaction-hint{margin:9px 2px 7px;line-height:1.35}
.od-tools.od-compare-atlas .od-table--compare thead th:not(:first-child){text-align:center}
.od-tools.od-compare-atlas .od-table--compare .od-compare-line>td{text-align:center;vertical-align:middle}
.od-tools.od-compare-atlas .od-table--compare .od-table-value-trigger{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:100%;text-align:center;border:0;border-bottom:0;box-shadow:none;border-radius:4px;padding:4px 2px;margin:-4px -2px}
.od-tools.od-compare-atlas .od-table--compare .od-table-value-trigger .od-data-main-value{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.005em}
.od-tools.od-compare-atlas .od-table--compare .od-table-value-trigger:hover{background:#eaf4ee;color:var(--od-color-brand)}
.od-tools.od-compare-atlas .od-table--compare .od-table-value-trigger:focus-visible{background:#eaf4ee;outline:2px solid var(--od-color-brand);outline-offset:1px}
.od-tools.od-compare-atlas .od-table--compare .od-compare-group th small{font-size:.60rem;font-weight:450;color:var(--od-color-text-muted)}
@media(max-width:580px){
 .od-tools.od-compare-atlas .od-compare-pick__fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .od-tools.od-compare-atlas .od-compare-pick__action{grid-column:1/-1}
}
@media(max-width:340px){
 .od-tools.od-compare-atlas .od-compare-pick__fields{grid-template-columns:1fr}
}


/* 06F: shared, folded methodological explanations across Atlas data views.
   Kept separate from table spacing, so approved comparison layout does not shift. */
.od-tools .od-atlas-methodology__content{display:grid;grid-template-columns:1fr;row-gap:9px;margin:12px 0 10px;max-width:900px}
.od-tools .od-atlas-methodology__item{padding:0 0 8px;border-bottom:1px solid var(--od-color-border);min-width:0}
.od-tools .od-atlas-methodology__item:last-child{padding-bottom:0;border-bottom:0}
.od-tools .od-atlas-methodology__item h4{margin:0 0 3px;color:var(--od-color-text);font-size:.78rem;font-weight:700;line-height:1.35}
.od-tools .od-atlas-methodology__item p{margin:0;color:var(--od-color-text-muted);font-size:.76rem;line-height:1.5}


/* 06G3 — shared export panel for Atlas and future result tables.
   One unobtrusive component; no Atlas-specific CSS duplication. */
.od-tools .od-atlas-export-bar{
  display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;
  gap:9px 10px;margin:16px 0 18px;padding:12px 14px;
  border:1px solid var(--od-color-border);border-radius:7px;
  background:var(--od-color-surface-soft,#f7faf8);
  color:var(--od-color-text-muted);font-size:.72rem
}
.od-tools .od-atlas-export-bar__heading{
  flex:1 1 100%;display:block;margin:0 0 2px;
  font-size:.78rem;line-height:1.3;font-weight:700;color:var(--od-color-text)
}
.od-tools .od-atlas-export-bar__option{
  display:inline-flex;flex:1 1 230px;align-items:center;gap:7px;min-width:0;
  cursor:pointer;font-size:.72rem;font-weight:450;line-height:1.35;
  color:var(--od-color-text-muted)
}
.od-tools .od-atlas-export-bar__option input[type=checkbox]{
  width:15px;height:15px;margin:0;flex:0 0 15px;
  accent-color:var(--od-color-brand);cursor:pointer
}
.od-tools .od-atlas-export-bar__option:focus-within{color:var(--od-color-text)}
.od-tools .od-atlas-export-bar button{
  width:auto;min-width:0;min-height:29px;padding:5px 11px;
  font-size:.71rem;line-height:1.2;border:1px solid var(--od-color-border);
  border-radius:5px;background:#fff;color:var(--od-color-brand);
  font-weight:650;cursor:pointer
}
.od-tools .od-atlas-export-bar button:hover,.od-tools .od-atlas-export-bar button:focus-visible{
  background:#ebf5ed;border-color:#7da98b
}
@media(max-width:540px){
  .od-tools .od-atlas-export-bar__option{flex:1 1 100%}
  .od-tools .od-atlas-export-bar button{flex:1 1 auto}
}
@media(max-width:360px){
  .od-tools .od-atlas-export-bar button{flex:1 1 100%}
}

/* 07E / 07.2 — Needs guide. Shared OD theme; clear selection hierarchy and progressive disclosure. */
.od-tools .od-needs{width:100%;color:var(--od-color-text)}
.od-tools .od-needs [hidden]{display:none!important}
.od-tools .od-needs__section-head{margin-bottom:12px}
.od-tools .od-needs__section-head h2{font-size:1.08rem;line-height:1.35;font-weight:700;margin:0 0 4px}
.od-tools .od-needs__section-head p{font-size:.84rem;color:var(--od-color-text-muted);margin:0}
.od-tools .od-needs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.od-tools .od-needs__card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:96px;width:100%;padding:13px 15px;border:1px solid var(--od-color-border);border-radius:10px;background:var(--od-color-surface);color:var(--od-color-text);text-align:left;cursor:pointer;transition:border-color .14s,background .14s,box-shadow .14s}
.od-tools .od-needs__card .od-needs__icon{height:20px;width:20px;color:#15944b;flex:none;margin-bottom:1px}
.od-tools .od-needs__card strong{font-size:.95rem;line-height:1.3;font-weight:700}
.od-tools .od-needs__card>span{font-size:.82rem;color:var(--od-color-text-muted);line-height:1.35}
.od-tools .od-needs__card:hover,.od-tools .od-needs__card.is-active{border-color:#72b089;background:#f0f9f2;box-shadow:0 2px 9px rgba(15,74,53,.06)}
.od-tools .od-needs__card.is-active{border-width:2px;padding:12px 14px;box-shadow:0 0 0 2px rgba(36,135,73,.07)}
.od-tools .od-needs__card:focus-visible,.od-tools .od-needs__task:focus-visible,.od-tools .od-needs__question summary:focus-visible,.od-tools .od-needs__choices a:focus-visible,.od-tools .od-needs__directory a:focus-visible,.od-tools .od-needs__directory summary:focus-visible,.od-tools .od-needs__close:focus-visible{outline:3px solid #57a878;outline-offset:2px}
.od-tools .od-needs__panels{margin-top:16px}
.od-tools .od-needs__panel{position:relative;padding:17px 18px 18px;border:1px solid #93c7a6;border-left:4px solid #26935a;border-radius:10px;background:#f5faf6;box-shadow:0 4px 14px rgba(22,77,44,.055)}
.od-tools .od-needs__selected-label{display:flex;align-items:center;gap:5px;margin-bottom:7px;font-size:.73rem;line-height:1.3;font-weight:750;letter-spacing:.035em;text-transform:uppercase;color:#267548}
.od-tools .od-needs__selected-mark{font-size:1.25rem;line-height:.8}
.od-tools .od-needs__panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.od-tools .od-needs__panel-title{display:flex;align-items:center;gap:10px;min-width:0}
.od-tools .od-needs__panel-title .od-needs__icon{height:23px;width:23px;flex:none;color:#198648}
.od-tools .od-needs__panel h2{font-size:1.13rem;line-height:1.35;margin:0;font-weight:750}
.od-tools .od-needs__panel h2:focus{outline:none}
.od-tools .od-needs__hint{margin:8px 0 12px;color:var(--od-color-text-muted);font-size:.83rem}
.od-tools .od-needs__close{border:1px solid var(--od-color-border);background:#fff;border-radius:6px;color:var(--od-color-brand);padding:5px 9px;cursor:pointer;font-size:.81rem;white-space:nowrap}
.od-tools .od-needs__tasks,.od-tools .od-needs__directory ul{list-style:none;margin:0;padding:0}
.od-tools .od-needs__tasks{display:grid;gap:7px}
.od-tools .od-needs__task,.od-tools .od-needs__question>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 13px;border:1px solid var(--od-color-border);border-radius:7px;background:#fff;color:var(--od-color-text);font-size:.9rem;line-height:1.35;font-weight:600;text-align:left;text-decoration:none;cursor:pointer;list-style:none}
.od-tools .od-needs__question>summary::-webkit-details-marker{display:none}
.od-tools .od-needs__task:hover,.od-tools .od-needs__question>summary:hover,.od-tools .od-needs__choices a:hover{border-color:#8ebe9a;background:#eff8f1;color:var(--od-color-brand)}
.od-tools .od-needs__arrow{color:#238c50;font-size:1.12rem;flex:none}
.od-tools .od-needs__choices{padding:12px 13px 13px;background:#fff;border:1px solid var(--od-color-border);border-top:0;border-radius:0 0 7px 7px}
.od-tools .od-needs__question[open]>summary{border-radius:7px 7px 0 0;border-color:#a3c8af}
.od-tools .od-needs__choices p{margin:0 0 9px;font-size:.88rem;font-weight:650}
.od-tools .od-needs__choices a{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-top:6px;padding:8px 10px;border:1px solid #e0e9e2;border-radius:6px;color:var(--od-color-text);font-size:.87rem;line-height:1.4;text-decoration:none}
.od-tools .od-needs__choices a span{color:#238c50}
/* The tools catalog is a separate route for users who know what they are looking for. */
.od-tools .od-needs__catalog-separator{display:flex;align-items:center;gap:13px;margin:28px 0 12px;color:var(--od-color-text-muted);font-size:.77rem;font-weight:650}
.od-tools .od-needs__catalog-separator::before,.od-tools .od-needs__catalog-separator::after{content:"";height:1px;background:var(--od-color-border);flex:1}
.od-tools .od-needs__directory{border:1px solid var(--od-color-border);border-radius:10px;background:#fff;overflow:hidden}
.od-tools .od-needs__directory>summary{display:flex;align-items:center;gap:12px;padding:14px 15px;cursor:pointer;list-style:none}
.od-tools .od-needs__directory>summary::-webkit-details-marker{display:none}
.od-tools .od-needs__directory-icon{font-size:1.45rem;color:#15944b;line-height:1}
.od-tools .od-needs__directory-title{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.od-tools .od-needs__directory-title strong{font-size:.94rem}
.od-tools .od-needs__directory-title small{font-size:.79rem;color:var(--od-color-text-muted)}
.od-tools .od-needs__directory-action{border:1px solid #b8d4c1;color:var(--od-color-brand);border-radius:6px;padding:6px 10px;font-size:.81rem;font-weight:650;white-space:nowrap}
.od-tools .od-needs__directory[open] .od-needs__directory-action{background:#e9f5ed}
.od-tools .od-needs__directory[open] .od-needs__directory-action>span:last-child{display:inline-block;transform:rotate(180deg)}
.od-tools .od-needs__directory-action .od-needs__hide-label{display:none}
.od-tools .od-needs__directory[open] .od-needs__directory-action .od-needs__hide-label{display:inline}
.od-tools .od-needs__directory[open] .od-needs__directory-action .od-needs__show-label{display:none}
.od-tools .od-needs__directory-content{border-top:1px solid var(--od-color-border);padding:14px 15px 16px;background:#fafcfb}
.od-tools .od-needs__directory-note{margin:0 0 12px;color:var(--od-color-text-muted);font-size:.79rem}
/* 07.4: an alphabetical, directly clickable directory; no nested categories. */
.od-tools .od-needs__directory>summary{background:#f2f8f4;border-left:3px solid #249353}
.od-tools .od-needs__directory>summary:hover{background:#eaf5ed}
.od-tools .od-needs__directory[open]>summary{background:#eaf5ee}
.od-tools .od-needs__directory-title strong{font-size:1rem}
.od-tools .od-needs__directory-content{background:#fafcfb}
.od-tools .od-needs__directory-note{line-height:1.55}
.od-tools .od-needs__info-example{display:inline-block;border:1px solid #b8d4c1;border-radius:50%;font-weight:700;color:#247a46;font-size:.73rem;line-height:1.3;width:17px;text-align:center}
/* 07.5: alphabetic order runs down the left column, then down the right. The DOM order remains linear on mobile and for assistive technology. */
.od-tools .od-needs__directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--od-needs-directory-rows),max-content);grid-auto-flow:column;gap:0 19px;padding:0;margin:0;list-style:none}
.od-tools .od-needs__directory-item{padding:0;margin:0;min-width:0;border-bottom:1px solid #e4eae6}
.od-tools .od-needs__directory-item:last-child{border-bottom:0}
.od-tools .od-needs__directory-line{display:flex;align-items:center;min-height:42px;gap:8px}
.od-tools .od-needs__directory-link{display:flex;align-items:center;justify-content:space-between;min-width:0;flex:1;gap:10px;color:var(--od-color-text);text-decoration:none;padding:10px 3px;font-size:.86rem;font-weight:600;line-height:1.35}
.od-tools .od-needs__directory-link:hover,.od-tools .od-needs__directory-link:focus-visible{color:#167c44;text-decoration:underline}
.od-tools .od-needs__directory-go{color:#25864d;flex:none;font-size:.9rem}
/* 09C1: resist Astra's generic button padding and minimum sizes. */
.od-tools .od-needs button.od-needs__info-button{display:inline-flex;align-items:center;justify-content:center;appearance:none;box-sizing:border-box;flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;padding:0!important;margin:0;border:1px solid #b8d4c1;border-radius:50%!important;background:#fff;color:#187a43;font-size:12px!important;font-weight:750;line-height:1!important;cursor:pointer;box-shadow:none}
.od-tools .od-needs__info-button:hover,.od-tools .od-needs__info-button[aria-expanded="true"]{background:#e8f4eb;border-color:#6cb58b}
.od-tools .od-needs__info-button:focus-visible{outline:3px solid #57a878;outline-offset:2px}
/* Description is a floating tooltip: hovering does not move or reflow rows. */
.od-tools .od-needs__directory{overflow:visible}
.od-tools .od-needs__directory-item{position:relative}
.od-tools .od-needs__directory-item.is-info-open{z-index:5}
.od-tools .od-needs__info-description{position:absolute;top:calc(100% + 2px);right:0;z-index:6;box-sizing:border-box;width:min(300px,100%);background:#f3f9f4;border:1px solid #a9d0b5;border-left:3px solid #6cb58b;border-radius:5px;padding:9px 12px;margin:0;box-shadow:0 5px 16px rgba(24,74,48,.14);font-size:.8rem;color:#3b5142;line-height:1.55}
.od-tools .od-needs__info-description.is-above{top:auto;bottom:calc(100% + 3px)}
@media(hover:none), (pointer:coarse){.od-tools .od-needs button.od-needs__info-button{flex-basis:26px!important;width:26px!important;min-width:26px!important;max-width:26px!important;height:26px!important;min-height:26px!important}}

.od-tools .od-needs__empty,.od-tools .od-needs__nojs{font-size:.9rem;color:var(--od-color-text-muted)}
@media(max-width:760px){.od-tools .od-needs__directory-list{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}}
@media(max-width:600px){.od-tools .od-needs__card{min-height:102px;padding:11px 12px}.od-tools .od-needs__card.is-active{padding:10px 11px}.od-tools .od-needs__card strong{font-size:.85rem}.od-tools .od-needs__card>span{font-size:.76rem}.od-tools .od-needs__directory-title small{font-size:.74rem}.od-tools .od-needs__panel{padding:14px 12px 15px}.od-tools .od-needs__directory-content{padding:11px 10px}}
@media(max-width:350px){.od-tools .od-needs__grid{grid-template-columns:1fr}.od-tools .od-needs__card{min-height:75px}}

/* 09C — compact HUB. Reuses global brand, spacing and focus tokens. */
.od-tools .od-hub{width:100%;margin:0;color:var(--od-color-text)}
.od-tools .od-hub__paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.od-tools .od-hub__path{display:flex;flex-direction:column;min-width:0;min-height:184px;gap:10px;padding:20px;border:1px solid var(--od-color-border);border-radius:11px;background:#fff;color:inherit;text-decoration:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.od-tools a.od-hub__path:hover,.od-tools a.od-hub__path:focus-visible{border-color:#8fbea1;background:#fafdfa;box-shadow:0 5px 18px rgba(15,74,53,.065);color:inherit;text-decoration:none}
.od-tools .od-hub__path:focus-visible,.od-tools .od-hub__shortcut:focus-visible,.od-tools .od-hub__atlas-link:focus-visible,.od-tools .od-hub__back a:focus-visible{outline:3px solid #5da777;outline-offset:3px}
.od-tools .od-hub__icon{display:inline-flex;align-items:center;justify-content:flex-start;height:30px;color:#168048;font-weight:700;font-size:27px;line-height:1}
.od-tools .od-hub__path strong{font-size:1.08rem;line-height:1.24;color:var(--od-color-text)}
.od-tools .od-hub__path-description{font-size:.87rem;line-height:1.5;color:var(--od-color-text-muted);flex:1}
.od-tools .od-hub__action{margin-top:4px;color:#177942;font-weight:700;font-size:.83rem}
.od-tools .od-hub__path--disabled{background:#f8faf8;opacity:.65}
.od-tools .od-hub__path--disabled .od-hub__action{color:#536359}
.od-tools .od-hub__shortcuts{border-top:1px solid var(--od-color-border);margin-top:25px;padding-top:21px}
.od-tools .od-hub__shortcuts h2{margin:0 0 13px;color:var(--od-color-text);font-size:1.08rem;line-height:1.35}
.od-tools .od-hub__shortcut-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.od-tools .od-hub__shortcut{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:11px 13px;border-radius:7px;background:var(--od-color-surface-soft);border:1px solid transparent;text-decoration:none;color:var(--od-color-text);font-size:.87rem;font-weight:600;line-height:1.4}
.od-tools .od-hub__shortcut>span:last-child{font-size:1.05rem;color:#21854d}
.od-tools .od-hub__shortcut:hover,.od-tools .od-hub__shortcut:focus-visible{background:#eaf5ed;border-color:#b2d5bd;color:var(--od-color-brand);text-decoration:none}
.od-tools .od-hub__back{margin:0 0 18px}
.od-tools .od-hub__back a{display:inline-flex;align-items:center;min-height:36px;color:var(--od-color-brand);font-size:.87rem;font-weight:650;text-decoration:none}
.od-tools .od-hub__back a:hover{text-decoration:underline}
.od-tools .od-hub__atlas-links{display:grid;grid-template-columns:1fr;gap:11px}
.od-tools .od-hub__atlas-link{position:relative;display:flex;flex-direction:column;gap:5px;padding:17px 48px 17px 18px;border:1px solid var(--od-color-border);border-radius:9px;text-decoration:none;color:var(--od-color-text);background:#fff}
.od-tools .od-hub__atlas-link strong{font-size:1rem;line-height:1.35}
.od-tools .od-hub__atlas-link>span:not(.od-hub__atlas-arrow){font-size:.85rem;color:var(--od-color-text-muted);line-height:1.5}
.od-tools .od-hub__atlas-arrow{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.2rem;color:#168048}
.od-tools .od-hub__atlas-link:hover,.od-tools .od-hub__atlas-link:focus-visible{border-color:#8fbea1;background:#fafdfa;text-decoration:none;color:var(--od-color-brand)}
.od-tools .od-hub-catalog .od-needs__directory{margin-top:0}
.od-tools .od-hub-catalog .od-needs__directory>summary{cursor:default}
@media(max-width:760px){.od-tools .od-hub__paths{grid-template-columns:1fr;gap:10px}.od-tools .od-hub__path{min-height:0;padding:15px 16px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:4px 10px}.od-tools .od-hub__icon{grid-row:1/3;grid-column:1}.od-tools .od-hub__path strong{grid-column:2;font-size:.99rem}.od-tools .od-hub__path-description{grid-column:2;font-size:.78rem}.od-tools .od-hub__action{grid-column:3;grid-row:1/3;margin:0;white-space:nowrap;font-size:0}.od-tools .od-hub__action:after{content:'›';font-size:1.5rem;line-height:1}.od-tools .od-hub__path--disabled .od-hub__action:after{content:'–';font-size:1rem}.od-tools .od-hub__shortcut-list{grid-template-columns:1fr;gap:4px}.od-tools .od-hub__shortcut{min-height:44px;padding:10px 12px}.od-tools .od-hub__shortcuts{margin-top:20px;padding-top:17px}}

/* 09C3: short-loop navigation for tools opened via Chcę… (no unrelated catalog detour). */
.od-tools .od-tools-shell__related{max-width:940px;margin:24px 0 0;padding:18px 20px;border:1px solid #cfe2d5;border-left:3px solid #49a35e;border-radius:12px;background:#f5faf6}
.od-tools-shell__related-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.od-tools-shell__related-kicker{display:block;margin-bottom:3px;color:#3b7650;font-size:.69rem;text-transform:uppercase;letter-spacing:.04em;font-weight:750}
.od-tools .od-tools-shell__related h2{margin:0;color:#193928;font-size:1.02rem;line-height:1.3}
.od-tools .od-tools-shell__related-back{color:var(--od-color-brand);text-decoration:none;font-weight:700;font-size:.82rem}
.od-tools .od-tools-shell__related p{margin:14px 0 7px;font-size:.82rem;color:var(--od-color-text-muted)}
.od-tools .od-tools-shell__related ul{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;margin:0;padding:0}
.od-tools .od-tools-shell__related li{margin:0;padding:0}
.od-tools .od-tools-shell__related li a{display:inline-flex;align-items:center;gap:8px;border:1px solid #dce7df;border-radius:6px;background:#fff;color:var(--od-color-brand);padding:7px 10px;font-size:.8rem;font-weight:600;text-decoration:none}
.od-tools .od-tools-shell__related a:hover{text-decoration:underline;background:#edf7f0}
.od-tools .od-tools-shell__related a:focus-visible{outline:3px solid #5da777;outline-offset:3px}
.od-needs__panel{scroll-margin-top:clamp(24px,10vh,90px)}
.od-tools .od-needs__choices a.is-return-target,.od-tools .od-needs__task.is-return-target{background:#e7f3eb;border-color:#76a989}
@media(max-width:640px){.od-tools .od-tools-shell__related{padding:14px}.od-tools .od-tools-shell__related ul{display:grid;grid-template-columns:1fr}.od-tools .od-tools-shell__related li a{display:flex;justify-content:space-between}}

/* 09D — compact step-oriented navigation; shares ToolShell colors and spacing. */
.od-tools .od-tools-shell__next{max-width:940px;margin:20px 0 0;padding:17px 20px;border:1px solid #d5e2d8;border-radius:12px;background:#fff}
.od-tools-shell__next-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.od-tools-shell__next-kicker{display:block;font-size:.69rem;text-transform:uppercase;letter-spacing:.04em;font-weight:750;color:#3b7650;margin-bottom:3px}
.od-tools .od-tools-shell__next h2{font-size:1.03rem;color:#193928;margin:0;line-height:1.35}
.od-tools .od-tools-shell__next-back{color:var(--od-color-brand);font-size:.8rem;font-weight:700;text-decoration:none}
.od-tools .od-tools-shell__next ul{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.od-tools .od-tools-shell__next li{margin:0;min-width:0;padding:0}
.od-tools .od-tools-shell__next li a{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:100%;padding:10px 12px;background:#f7faf8;border:1px solid #dce7df;border-radius:7px;text-decoration:none;color:var(--od-color-brand);font-size:.83rem}
.od-tools .od-tools-shell__next li strong{font-size:.83rem;font-weight:700;display:block;line-height:1.45}
.od-tools .od-tools-shell__next li small{font-size:.75rem;font-weight:400;color:var(--od-color-text-muted);display:block;line-height:1.4;margin-top:3px}
.od-tools .od-tools-shell__next p{margin:11px 0 0;font-size:.77rem;color:var(--od-color-text-muted)}
.od-tools .od-tools-shell__next a:hover{background:#eaf5ee;text-decoration:underline}
.od-tools .od-tools-shell__next a:focus-visible{outline:3px solid #5da777;outline-offset:3px}
@media(max-width:800px){.od-tools .od-tools-shell__next ul{grid-template-columns:1fr}}
@media(max-width:640px){.od-tools .od-tools-shell__next{padding:14px}}

/* 09D1: one continuation panel; discovery card explicitly broadens knowledge. */
.od-tools .od-tools-shell__next-discovery{display:block;margin-top:7px;color:#526e5b;font-size:.70rem;font-style:normal;font-weight:600}
.od-tools .od-tools-shell__next li a{min-height:94px}
@media(max-width:800px){.od-tools .od-tools-shell__next li a{min-height:0}}

/* 09E1: Cards in the same row share height, even with longer descriptions. */
.od-tools .od-tools-shell__next ul{grid-auto-rows:1fr;align-items:stretch}
.od-tools .od-tools-shell__next li{display:flex;min-height:0}
.od-tools .od-tools-shell__next li a{width:100%;height:100%;box-sizing:border-box;align-items:center}
/* A transferred datum is editable, explicitly attributed and never triggers calculation. */
.od-tools .od-tools-transfer-note{padding:10px 13px;margin:0 0 14px;border-left:3px solid #368d5a;border-radius:5px;background:#edf7f0;color:#16492e;font-size:.83rem;line-height:1.5}

/* 09F2 — table headings: shared sort marks and keyboard-accessible links. */
.od-tools .od-table th[data-od-sort].is-sorted::after{content:'▲';font-size:8px}
.od-tools .od-table th[data-od-sort].is-sorted[aria-sort="descending"]::after{content:'▼'}
.od-tools .od-table th[data-od-sort] .od-table__sort-link{display:block;color:inherit;font:inherit;text-decoration:none;outline-offset:2px}
.od-tools .od-table th[data-od-sort] .od-table__sort-link:focus-visible{outline:2px solid var(--od-color-brand,#0f4a35);border-radius:3px}
.od-tools .od-table th[data-od-sort] .od-table__sort-link small{font-weight:500}

/* Sorting anchors retain their position after a reload (including sticky navigation). */
.od-tools #od-property-results{scroll-margin-top:clamp(24px,9vh,96px)}

/* 09F2D — Atlas cards share the same design and breakpoints as Chcę… */
.od-tools .od-hub__atlas-cards{margin-top:12px}
.od-tools a.od-hub__atlas-card{display:flex;text-decoration:none;color:var(--od-color-text);min-width:0}
.od-tools a.od-hub__atlas-card:hover,.od-tools a.od-hub__atlas-card:focus-visible{border-color:#72b089;background:#f0f9f2;text-decoration:none;color:var(--od-color-text)}
/* JS is optional: the submit button stays available without it. */
.od-tools form.is-atlas-live [data-od-fallback-submit]{display:none!important}
.od-tools form.is-atlas-live{align-items:stretch}
.od-tools .od-property-species-link{display:inline-flex;flex-direction:column;gap:3px;text-decoration:none;color:inherit}
.od-tools .od-property-species-link:hover,.od-tools .od-property-species-link:focus-visible{color:#127443;text-decoration:underline}
.od-tools .od-table--property th:first-child{width:47%}
.od-tools .od-table--property th:nth-child(2){width:53%}
.od-tools [data-od-atlas-root][aria-busy="true"]{opacity:.76;transition:opacity .1s ease}

/* 09F2D: compact two-column property Atlas on tablet and phone. */
@media(max-width:700px){
  .od-tools .od-table--property tbody tr{grid-template-columns:minmax(0,1fr)}
  .od-tools .od-table--property tbody tr td:nth-child(2){grid-column:1/-1}
}

/* 09F2E: readable, centered values only in the two-column property Atlas.
   Other Atlas tables and engineering calculators retain their accepted density. */
.od-tools .od-table--property tbody td:nth-child(2){text-align:center;vertical-align:middle}
.od-tools .od-table--property tbody td:nth-child(2)>.od-data-main-value{font-size:1.13rem;line-height:1.35;text-align:center;font-weight:750;font-variant-numeric:tabular-nums}
.od-tools .od-table--property tbody td:nth-child(2)>.od-data-main-value--missing{font-size:.86rem;font-weight:550}
.od-tools .od-table--property tbody td:nth-child(2)>.od-data-state{margin-left:auto;margin-right:auto;text-align:center}
.od-tools .od-table--property tbody td:nth-child(2)>.od-source-details{text-align:left}

/* 09F2J — unified, low-noise read-only table export actions. */
.od-tools .od-reference-export{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px 14px;padding:12px 14px;border:1px solid var(--od-color-border);border-radius:9px;background:#f7faf8}
.od-tools .od-reference-export>strong{font-size:.87rem;color:var(--od-color-brand)}
.od-tools .od-reference-export__actions{display:flex;flex-wrap:wrap;gap:8px}
.od-tools .od-reference-export__actions button{appearance:none;border:1px solid #b7d4c0;border-radius:6px;min-height:34px;background:#fff;color:#104936;font-size:.79rem;font-weight:700;padding:6px 12px;cursor:pointer}
.od-tools .od-reference-export__actions button:hover,.od-tools .od-reference-export__actions button:focus-visible{border-color:#407f57;background:#eaf5ed}
.od-tools .od-reference-export>small{width:100%;color:var(--od-color-text-muted);font-size:.72rem}
@media print{
 .od-tools-shell__breadcrumb,.od-tools-shell__next,.od-tools-shell__info,.od-reference-export,.od-export,.od-atlas-export-bar{display:none!important}
 .od-tools-shell__brandbar{background:#fff!important;color:#104936!important;border-bottom:2px solid #104936}
 .od-tools-shell__brandbar strong{color:#104936!important}
 .od-tools-shell__workspace{break-inside:auto}
 .od-tools-shell__workspace::after{content:"Wygenerowano w serwisie Ofertadrewna.pl";display:block;padding-top:8px;margin-top:16px;border-top:1px solid #b7cec0;color:#476757;font-size:9px}
}

/* 09G1: one export / share panel across calculators, Atlas and reference data. */
.od-tools details.od-export,
.od-tools details.od-reference-export,
.od-tools details.od-atlas-export-bar,
.od-tools.od-proj details.od-proj__export {
  box-sizing:border-box;display:block;width:100%;margin:16px 0 18px;
  padding:0;border:1px solid var(--od-color-border,#d3e2d8);
  border-radius:10px;background:#fff;color:var(--od-color-text,#183d2b);
  font-size:.82rem;box-shadow:none
}
.od-tools details.od-export>summary,
.od-tools details.od-reference-export>summary,
.od-tools details.od-atlas-export-bar>summary,
.od-tools.od-proj details.od-proj__export>summary {
  display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;
  margin:0;padding:14px 13px;min-height:42px;box-sizing:border-box;
  border:0;color:var(--od-color-brand,#104936);font-size:.81rem;font-weight:750;line-height:1.3
}
.od-tools details.od-export>summary::-webkit-details-marker{display:none}
.od-tools details.od-export>summary::before,
.od-tools.od-proj details.od-proj__export>summary::before {
  content:'▸';display:inline-block;transform:rotate(0);transition:transform .12s ease;
  font-size:13px;line-height:1;color:var(--od-color-brand,#104936)
}
.od-tools details.od-export[open]>summary::before,
.od-tools.od-proj details.od-proj__export[open]>summary::before {transform:rotate(90deg)}
.od-tools details.od-export>summary:focus-visible{outline:2px solid #16865c;outline-offset:-3px;border-radius:8px}
.od-tools details.od-export[open]>summary{border-bottom:1px solid var(--od-color-border,#d3e2d8)}
.od-tools details.od-export>.od-export__content{padding:10px 12px 13px}
.od-tools details.od-export>.od-export__actions,
.od-tools details.od-export .od-export__actions,
.od-tools details.od-export .od-reference-export__actions,
.od-tools.od-proj details.od-proj__export .od-proj__export-actions {
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  padding:10px 12px 13px;margin:0;width:auto
}
.od-tools details.od-export .od-export__content .od-export__actions,
.od-tools details.od-export .od-export__content .od-reference-export__actions,
.od-tools.od-proj details.od-proj__export .od-proj__export-actions{padding:0}
.od-tools details.od-export button,
.od-tools.od-proj details.od-proj__export .od-proj__export-actions button {
  appearance:none;width:auto;min-width:0;min-height:36px;box-sizing:border-box;
  padding:7px 12px;border:1px solid #b7d4c0;border-radius:6px;
  background:#fff;color:#104936;font:inherit;font-size:.79rem;line-height:1.35;
  font-weight:700;cursor:pointer
}
.od-tools details.od-export button:hover,
.od-tools details.od-export button:focus-visible,
.od-tools.od-proj details.od-proj__export .od-proj__export-actions button:last-child:hover{
  background:#eaf5ed;color:#104936;border-color:#407f57
}
.od-tools.od-proj details.od-proj__export .od-proj__export-actions button:last-child{background:#fff;color:#104936;border-color:#b7d4c0}
.od-tools details.od-export .od-atlas-export-bar__option,
.od-tools details.od-export .od-pdim__include-sources{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 11px;
  width:100%;flex-basis:100%;font-size:.76rem;color:var(--od-color-text-muted,#536b5b)
}
.od-tools.od-proj .od-proj__export-inputs{margin-top:12px;padding:0;background:#fff}
.od-tools.od-proj .od-proj__export-inputs>summary{font-size:12px;color:#345a42;padding:9px 10px}
.od-tools.od-proj .od-proj__export-inputs>summary::before{content:none}
.od-tools.od-proj .od-proj__export-inputs dl{padding:10px 12px 12px}
@media(max-width:540px){
  .od-tools details.od-export .od-export__actions,
  .od-tools details.od-export .od-reference-export__actions,
  .od-tools.od-proj details.od-proj__export .od-proj__export-actions{display:flex;flex-direction:column;align-items:stretch}
  .od-tools details.od-export button{width:100%}
}
@media print{.od-tools details.od-export,.od-tools.od-proj details.od-proj__export{display:none!important}}

/* 09G1A — checkbox and export controls have the same layout in every tool. */
.od-tools details.od-export .od-export__option,
.od-tools.od-proj details.od-proj__export .od-export__option{
  display:flex;flex:0 0 100%;align-items:center;gap:8px;width:100%;
  min-width:0;margin:0 0 3px;padding:0;
  color:var(--od-color-text-muted,#536b5b);font-size:.76rem;font-weight:400;
  line-height:1.4;cursor:pointer
}
.od-tools details.od-export .od-export__option input,
.od-tools.od-proj details.od-proj__export .od-export__option input{
  flex:0 0 auto;appearance:auto;width:15px;height:15px;margin:0;accent-color:#155b41
}
/* Catalog and Atlas have an outer content wrapper; align their checkbox with button row. */
.od-tools details.od-export>.od-export__content>.od-export__option{margin:0 0 10px}
.od-tools details.od-export .od-export__actions>.od-export__option,
.od-tools details.od-export .od-reference-export__actions>.od-export__option{margin-bottom:3px}
.od-tools details.od-export .od-export__content .od-export__actions>.od-export__option{margin-bottom:10px}
.od-tools details.od-export .od-export__content>.od-export__actions,
.od-tools details.od-export .od-export__content>.od-reference-export__actions{padding:0}

/* 09G6: one accelerated numeric control, with original field layout preserved. */
.od-tools .od-speed-stepper{
  display:flex;align-items:stretch;position:relative;box-sizing:border-box;
  width:100%;min-width:0;min-height:0;flex:1 1 auto;
}
.od-tools .od-speed-stepper>input[data-od-sawn-dimension],
.od-tools .od-speed-stepper>input[type="number"]{
  width:100%;min-width:0;flex:1 1 auto;box-sizing:border-box;
  padding-right:30px!important;appearance:textfield;-moz-appearance:textfield;
}
.od-tools .od-speed-stepper>input[type="number"]::-webkit-inner-spin-button,
.od-tools .od-speed-stepper>input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none;appearance:none;margin:0;
}
.od-tools .od-speed-stepper__arrows{
  position:absolute;z-index:2;right:2px;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;width:23px;height:min(34px,90%);
  border-left:1px solid #e1eae4;background:#fff;overflow:hidden;border-radius:0 3px 3px 0;
}
.od-tools .od-speed-stepper__arrows>button{
  display:flex!important;align-items:center;justify-content:center;flex:1 1 50%;
  box-sizing:border-box;width:23px;height:50%;min-height:0!important;min-width:0!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:#fff!important;color:#326747!important;cursor:pointer;
  font:700 9px/1 Arial,sans-serif!important;box-shadow:none!important;touch-action:none;
}
.od-tools .od-speed-stepper__arrows>button:hover,
.od-tools .od-speed-stepper__arrows>button:focus-visible{
  background:#e8f4eb!important;color:#0d5037!important;
  outline:1px solid #96c4a8!important;outline-offset:-1px;
}
.od-tools .od-speed-stepper__arrows>button:disabled{opacity:.4;cursor:default}

/* 09G19: localized text inputs with two-decimal Polish lengths and shared arrows. */
.od-tools .od-tool--demo-volume .od-tool__control>.od-speed-stepper{padding:0;color:inherit;font-size:inherit;font-weight:inherit}

/* 09G36 — wspólna informacja o oznaczeniach mp i m³ w przeliczniku i tabeli LP. */
.od-tools .od-unit-equivalence{
  display:grid;gap:5px;
  margin:0 0 16px;padding:12px 15px;
  background:#eff7f1;color:#104b34;border-left:3px solid #166344;
  border-radius:0 6px 6px 0;line-height:1.48;font-size:.88rem;
}
.od-tools .od-unit-equivalence strong{display:block;font-weight:800;color:#104b34}
@media(max-width:560px){.od-tools .od-unit-equivalence{font-size:.82rem}}

/* 09G39 — jasny nagłówek wzorowany na Atlasie porównawczym;
   zachowuje środkowanie wartości, jednostki i dostępne sortowanie. */
.od-tools .od-table--property thead th{
  background:var(--od-ui-table-header-bg);color:var(--od-ui-table-header-text);
  border-bottom:1px solid var(--od-ui-table-header-line);
  font-size:.74rem;font-weight:800;line-height:1.3;padding:10px 13px;
  vertical-align:middle;
}
.od-tools .od-table--property thead th[data-od-sort]:hover{background:#edf5ef;color:#244c34}
.od-tools .od-table--property thead th:first-child{text-align:left}
.od-tools .od-table--property thead th:nth-child(2),
.od-tools .od-table--property thead th:nth-child(2) .od-table__sort-link{text-align:center}
.od-tools .od-table--property thead th:nth-child(2) .od-table__sort-link small{
  color:#738378;font-size:.65rem;font-weight:600;margin-top:3px;
}
.od-tools .od-table--property thead th[data-od-sort]::after{color:#91a59a;opacity:.9}
.od-tools .od-table--property thead th[data-od-sort].is-sorted::after{color:#376847;opacity:1}
.od-tools .od-property-transport-note{
  margin:11px 0 14px;padding:11px 14px;border-left:3px solid #4a9463;
  border-radius:5px;background:#f1f7f3;color:#354b3b;
  font-size:.79rem;line-height:1.55;
}
.od-tools .od-property-transport-note a{
  color:#10583b;font-weight:750;text-decoration:underline;text-underline-offset:2px;
}
.od-tools .od-property-transport-note a:hover{color:#0b3d2b}
.od-tools .od-property-transport-note a:focus-visible{outline:2px solid #70aa84;outline-offset:2px}

/* 09G40 — delikatne pionowe podziały kolumn, bez zmiany przyjętej jasnej palety.
   Dotyczy wyłącznie komórek tabel, nie paneli formularzy ani wydruków. */
.od-tools .od-table thead tr > :is(th,td):not(:last-child),
.od-tools .od-table tbody tr > :is(th,td):not(:last-child){
  border-right:1px solid var(--od-ui-table-header-line,#dce6df);
}
/* Atlas właściwości na telefonie zmienia wiersze w karty — bez sztucznych linii między polami. */
@media(max-width:700px){
  .od-tools .od-table--property tbody tr > :is(th,td):not(:last-child){border-right:0}
}

/* 09G54 — consistent in-progress hint for live-only calculators. */
.od-tools__auto-status{display:inline-block;margin:8px 0;padding:6px 11px;border-left:3px solid #397b53;background:#f1f7f2;color:#145039;font-size:.82rem;font-weight:750;border-radius:0 6px 6px 0}
.od-tools__auto-status[hidden]{display:none!important}
.od-tools button[aria-busy="true"]{cursor:progress;opacity:.78}
