/* Portal appearance. Only virtual tool pages; embedded calculators keep their layout. */
body:has(main.od-tools-shell),body:has(main.od-tools-shell) #page,body:has(main.od-tools-shell) #content,body:has(main.od-tools-shell) #content>.ast-container{background:#fff!important}
.od-tools-shell.od-tools,.od-tools-shell .od-tools{--od-color-brand:#24553a;--od-color-brand-hover:#173e29;--od-color-brand-soft:#e2ecdf;--od-color-surface-soft:#f0f5ef;--od-color-result:#f0f5ef;--od-color-text:#24372c;--od-color-text-muted:#526157;--od-color-border:#dce3dc;--od-radius-card:14px;--od-radius-control:8px;--od-ui-control-radius:8px;--od-ui-control-border:#cbd9cb;--od-ui-control-bg:#fbfcfa;--od-ui-table-header-bg:#f0f5ef}
#content>.ast-container:has(>.od-tools-shell){display:block;width:100%;max-width:none;padding-inline:20px;box-sizing:border-box;margin-inline:auto}
main.od-tools-shell.od-tools{width:100%;max-width:1140px;margin:28px auto 64px;padding:0;background:#fff;font-family:Arial,sans-serif;line-height:1.7;float:none}
.od-tools-shell.od-tools .od-tools-shell__inner{width:100%;max-width:1140px;margin-inline:auto}
.od-tools-shell.od-tools .od-tools-shell__breadcrumb{font-size:13px;line-height:1.6;margin:0 0 20px;gap:6px 10px}
.od-tools-shell.od-tools .od-tools-shell__workspace{margin-inline:auto;border:0;background:transparent;box-shadow:none;overflow:visible}
.od-tools-shell.od-tools .od-tools-shell__brandbar{padding:28px 32px 0;background:#f0f5ef;color:#536c51;border:1px solid #dce7da;border-bottom:0;border-radius:18px 18px 0 0}
.od-tools-shell.od-tools .od-tools-shell__brandbar strong{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;line-height:1.7}
.od-tools-shell.od-tools .od-tools-shell__header{max-width:none;padding:16px 32px 32px;margin:0 0 26px;background:#f0f5ef;border:1px solid #dce7da;border-top:0;border-radius:0 0 18px 18px}
.od-tools-shell.od-tools .od-tools-shell__header h1{font-size:clamp(29px,3.6vw,44px);line-height:1.18;letter-spacing:-.025em;font-weight:700;color:#183e2b;margin:0 0 18px;overflow-wrap:anywhere}
.od-tools-shell.od-tools .od-tools-shell__header p{font-size:17px;line-height:1.75;color:#526157;max-width:800px}
.od-tools-shell.od-tools .od-tools-shell__module{padding:28px;border:1px solid #dce3dc;border-radius:14px;background:#fff;box-shadow:none}
.od-tools-shell.od-tools .od-hub__paths{gap:20px}
.od-tools-shell.od-tools .od-hub__path{border-radius:14px;padding:24px;border-color:#dce3dc;box-shadow:none}
.od-tools-shell.od-tools .od-hub__path strong{font-size:21px;line-height:1.3;letter-spacing:-.02em;color:#183e2b}
.od-tools-shell.od-tools .od-hub__path-description{font-size:15px;line-height:1.7}
.od-tools-shell.od-tools a.od-hub__path:hover{background:#f8faf6;border-color:#b9cebb;box-shadow:0 8px 24px rgba(24,62,43,.05)}
.od-tools-shell.od-tools .od-hub__icon{color:#24553a}
.od-tools-shell.od-tools .od-hub__shortcut{border-radius:8px;box-shadow:none}
.od-tools-shell.od-tools .od-hub__shortcuts{margin-top:30px;padding-top:26px;border-top:1px solid #dce3dc}
.od-tools-shell.od-tools .od-hub__shortcuts h2{color:#183e2b;font-size:25px;letter-spacing:-.02em}
.od-tools-shell.od-tools .od-needs__card{border-radius:12px;box-shadow:none}
.od-tools-shell.od-tools .od-needs__card.is-active{background:#f0f5ef;border-color:#24553a}
.od-tools-shell.od-tools .od-needs__panel{border-radius:12px;box-shadow:none}
.od-tools-shell.od-tools button[type=submit],.od-tools-shell.od-tools .od-tool__submit{background:#24553a;color:#fff;border:1px solid #24553a;border-radius:8px;box-shadow:none;font-weight:700}
.od-tools-shell.od-tools button[type=submit]:hover,.od-tools-shell.od-tools .od-tool__submit:hover{background:#173e29;color:#fff;border-color:#173e29}
.od-tools-shell.od-tools input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),.od-tools-shell.od-tools select,.od-tools-shell.od-tools textarea{border-color:#cbd9cb;border-radius:8px;background-color:#fbfcfa;color:#24372c;box-shadow:none}
.od-tools-shell.od-tools :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b47723;outline-offset:2px}
.od-tools-shell.od-tools .od-tools-shell__next{max-width:1080px;margin:32px auto 0;padding:28px;background:#f0f5ef;border:1px solid #dce7da;border-radius:14px;box-shadow:none}
.od-tools-shell.od-tools .od-tools-shell__next h2{color:#183e2b;font-size:26px;line-height:1.25;letter-spacing:-.02em}
.od-tools-shell.od-tools .od-tools-shell__next li a{background:#fff;border-color:#dce3dc;border-radius:10px;box-shadow:none}
.od-tools-shell.od-tools .od-tools-shell__info{margin:32px auto 0;padding:28px;background:#f7f6f0;border:1px solid #e8e5d8;border-radius:14px;box-shadow:none}
.od-tools-shell.od-tools .od-tools-shell__info-title{font-size:26px;line-height:1.25;color:#183e2b;letter-spacing:-.02em}
.od-tools-shell.od-tools .od-tools-shell__info-card{border:1px solid #e3e9e1;border-radius:10px;box-shadow:none}
.od-tools-shell.od-tools .od-tools-shell__section{margin-inline:auto}
@media(max-width:760px){main.od-tools-shell.od-tools{margin-top:18px}.od-tools-shell.od-tools .od-tools-shell__brandbar{padding:24px 22px 0}.od-tools-shell.od-tools .od-tools-shell__header{padding:14px 22px 26px}.od-tools-shell.od-tools .od-tools-shell__header p{font-size:16px}.od-tools-shell.od-tools .od-tools-shell__module{padding:20px 16px}.od-tools-shell.od-tools .od-hub__paths{gap:12px}.od-tools-shell.od-tools .od-hub__path{padding:18px 16px}.od-tools-shell.od-tools .od-hub__path strong{font-size:18px}.od-tools-shell.od-tools .od-hub__path-description{font-size:14px}.od-tools-shell.od-tools .od-tools-shell__next,.od-tools-shell.od-tools .od-tools-shell__info{padding:22px 18px}.od-tools-shell.od-tools .od-tools-shell__info-grid{grid-template-columns:1fr}}
@media print{main.od-tools-shell.od-tools{max-width:none;margin:0}.od-tools-shell.od-tools .od-tools-shell__module{padding:0;border:0}.od-tools-shell.od-tools .od-tools-shell__header{background:#fff}}

/* Input values should read clearly without competing with labels and results. */
.od-tools-shell.od-tools form input:is([type="number"], [inputmode="decimal"], [inputmode="numeric"]),
.od-tools-shell.od-tools .od-transport .od-transport__control input {
  font-size: 1.1875rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.od-tools-shell.od-tools .od-transport select,
.od-tools-shell.od-tools .od-transport select:has(option:checked[value=""]) {
  font-size: 1rem;
  font-weight: 500;
}

.od-tools-shell.od-tools .od-transport .od-transport__control input::placeholder {
  font-size: .875rem;
  font-weight: 400;
}

/* Use the explicit primary-value markers already present in the calculators. */
.od-tools-shell.od-tools :is([data-main-value], [data-result-main-value], [data-proj-main]) {
  color: #183e2b;
  font-size: clamp(1.875rem, 4vw, 2.75rem);
  font-weight: 750;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.od-tools-shell.od-tools .od-transport__result {
  gap: 20px;
}

.od-tools-shell.od-tools .od-transport__result-main {
  border-radius: 12px;
  border-left: 4px solid #24553a;
  padding: clamp(16px, 3vw, 24px);
  box-shadow: none;
}

.od-tools-shell.od-tools .od-transport__result-main [data-main-value] {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
}

.od-tools-shell.od-tools .od-transport__result-secondary strong {
  font-size: 1.125rem;
  font-weight: 650;
}

.od-tools-shell.od-tools .od-transport__group {
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid #e3e9e1;
}

.od-tools-shell.od-tools .od-transport__group > small {
  color: #183e2b;
  font-size: .875rem;
  font-weight: 700;
}

.od-tools-shell.od-tools .od-transport__result-item strong {
  font-size: 1rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.od-tools-shell.od-tools .od-transport__group[data-cost-group] .od-transport__result-item:first-child {
  grid-column: 1 / -1;
  background: #f0f5ef;
  padding: 14px 16px;
}

.od-tools-shell.od-tools .od-transport__group[data-cost-group] .od-transport__result-item:first-child strong {
  font-size: 1.625rem;
  font-weight: 750;
}

@media (max-width: 640px) {
  .od-tools-shell.od-tools .od-transport__batch-row {
    grid-template-columns: 22px minmax(0, 1fr) 24px;
  }

  .od-tools-shell.od-tools .od-transport__batch-row > .od-transport__field {
    grid-column: 2;
  }

  .od-tools-shell.od-tools .od-transport__batch-mass {
    grid-column: 2;
  }

  .od-tools-shell.od-tools .od-transport__batch-remove {
    grid-column: 3;
  }
}
