.ora600-lc {
  --lc-ink: #181818;
  --lc-muted: #656565;
  --lc-line: #dedbd6;
  --lc-paper: #ffffff;
  --lc-soft: #f5f3ef;
  --lc-accent: #df452b;
  --lc-accent-dark: #a82d1b;
  --lc-warn: #9a5a00;
  --lc-warn-bg: #fff7e5;
  --lc-error: #a72828;
  --lc-error-bg: #fff0f0;
  color: var(--lc-ink);
  container: ora600-license-calculator / inline-size;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  margin: 2rem auto;
  max-width: 1440px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.ora600-lc *, .ora600-lc *::before, .ora600-lc *::after { box-sizing: border-box; }
.ora600-lc button, .ora600-lc input, .ora600-lc select { font: inherit; }
.ora600-lc button { cursor: pointer; }
.ora600-lc [hidden] { display: none !important; }

.ora600-lc__hero {
  align-items: flex-end;
  background: var(--lc-ink);
  color: #fff;
  display: flex;
  justify-content: space-between;
  min-height: 190px;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  position: relative;
  overflow: hidden;
}

.ora600-lc__hero::after {
  background: var(--lc-accent);
  content: '';
  height: 240px;
  opacity: .95;
  position: absolute;
  right: -95px;
  top: -100px;
  transform: rotate(38deg);
  width: 170px;
}

.ora600-lc__hero h2 { color: #fff; font-size: clamp(1.8rem, 4vw, 3.2rem); line-height: 1.05; margin: .2rem 0 .7rem; max-width: 800px; }
.ora600-lc__hero p { margin: 0; max-width: 760px; }
.ora600-lc__eyebrow { color: #ff8069; font-size: .78rem; font-weight: 800; letter-spacing: .22em; }
.ora600-lc__language { display: flex; gap: .35rem; margin-left: 1rem; position: relative; z-index: 1; }
.ora600-lc__language button { background: transparent; border: 1px solid rgba(255,255,255,.5); color: #fff; min-width: 45px; padding: .45rem .6rem; }
.ora600-lc__language button.is-active { background: #fff; color: var(--lc-ink); }

.ora600-lc__sourcebar { align-items: center; background: var(--lc-soft); border: 1px solid var(--lc-line); border-top: 0; display: flex; flex-wrap: wrap; gap: .35rem; padding: .8rem clamp(1rem, 3vw, 2rem); }
.ora600-lc__sourcebar a { color: var(--lc-accent-dark); font-weight: 700; }

.ora600-lc__card--selection { margin-top: 1.25rem; }
.ora600-lc__choice-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ora600-lc__choice { border: 0; margin: 0; min-width: 0; padding: 0; }
.ora600-lc__choice legend { font-size: .88rem; font-weight: 800; margin-bottom: .45rem; padding: 0; }
.ora600-lc__choice-buttons { display: grid; gap: .6rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ora600-lc__choice-buttons label { min-width: 0; }
.ora600-lc__choice-buttons input { opacity: 0; pointer-events: none; position: absolute; }
.ora600-lc__choice-buttons span { align-items: center; background: #fff; border: 1px solid #aaa69f; cursor: pointer; display: flex; font-size: .88rem; font-weight: 700; justify-content: center; min-height: 48px; padding: .6rem .8rem; text-align: center; }
.ora600-lc__choice-buttons input:checked + span { background: var(--lc-ink); border-color: var(--lc-ink); color: #fff; }
.ora600-lc__choice-buttons input:focus-visible + span { outline: 3px solid rgba(223,69,43,.3); outline-offset: 2px; }
.ora600-lc__commercial-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1.1rem; }
.ora600-lc__commercial-note { color: var(--lc-muted); font-size: .78rem; margin: .55rem 0 0; }
.ora600-lc__currency-field { display: flex; flex-direction: column; gap: .4rem; margin-top: 1.1rem; max-width: 620px; }
.ora600-lc__currency-field > span { font-size: .88rem; font-weight: 800; }
.ora600-lc__currency-field small { color: var(--lc-muted); font-size: .78rem; }
.ora600-lc__currency-field a { color: var(--lc-accent-dark); font-weight: 700; }

.ora600-lc__layout { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); margin-top: 1.25rem; }
.ora600-lc__inputs { display: grid; gap: 1.25rem; }
.ora600-lc__card { background: var(--lc-paper); border: 1px solid var(--lc-line); box-shadow: 0 12px 35px rgba(0,0,0,.055); min-width: 0; padding: clamp(1rem, 2.5vw, 2rem); }
.ora600-lc__card--sticky { position: sticky; top: 1rem; }
.ora600-lc__section-head { align-items: center; border-bottom: 1px solid var(--lc-line); display: flex; justify-content: space-between; margin-bottom: 1.25rem; padding-bottom: 1rem; }
.ora600-lc__section-head > div { align-items: center; display: flex; gap: .75rem; }
.ora600-lc__section-head h3 { font-size: 1.25rem; margin: 0; }
.ora600-lc__step { align-items: center; background: var(--lc-accent); color: #fff; display: inline-flex; font-size: .8rem; font-weight: 800; height: 28px; justify-content: center; width: 28px; }

.ora600-lc__server { border: 0; border-bottom: 1px solid var(--lc-line); margin: 0 0 1.4rem; padding: 0 0 1.4rem; }
.ora600-lc__server:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.ora600-lc__server-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1rem; }
.ora600-lc__server legend { font-size: 1.05rem; font-weight: 800; padding: 0; }
.ora600-lc__remove { background: transparent; border: 0; color: var(--lc-error); font-size: .85rem; font-weight: 700; text-decoration: underline; }
.ora600-lc__fields { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ora600-lc__field { display: flex; flex-direction: column; gap: .35rem; }
.ora600-lc__field--wide { max-width: 500px; }
.ora600-lc__field > span { font-size: .88rem; font-weight: 700; overflow-wrap: anywhere; }
.ora600-lc__field small, .ora600-lc__hint, .ora600-lc__factor-warning { color: var(--lc-muted); font-size: .78rem; }
.ora600-lc input[type="text"], .ora600-lc input[type="number"], .ora600-lc select { background: #fff; border: 1px solid #aaa69f; border-radius: 0; color: var(--lc-ink); min-height: 44px; padding: .55rem .65rem; width: 100%; }
.ora600-lc input:focus, .ora600-lc select:focus, .ora600-lc button:focus-visible { outline: 3px solid rgba(223,69,43,.3); outline-offset: 2px; }
.ora600-lc__factor-warning { border-left: 3px solid var(--lc-accent); margin: 1rem 0 0; padding-left: .75rem; }

.ora600-lc__options { border: 0; margin: 1.5rem 0 0; padding: 0; }
.ora600-lc__options legend { font-weight: 800; padding: 0; }
.ora600-lc__option-grid { display: grid; gap: .55rem 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
.ora600-lc__check { align-items: flex-start; border: 1px solid var(--lc-line); display: flex; gap: .6rem; padding: .65rem; }
.ora600-lc__check:has(input:checked) { background: #fff6f3; border-color: var(--lc-accent); }
.ora600-lc__check input { accent-color: var(--lc-accent); margin-top: .25rem; }
.ora600-lc__check--scope { margin-top: .9rem; max-width: 620px; }
.ora600-lc__check--scope span { display: flex; flex-direction: column; gap: .2rem; }
.ora600-lc__check--scope small { color: var(--lc-muted); font-size: .75rem; line-height: 1.35; }

.ora600-lc__primary, .ora600-lc__secondary { border: 1px solid var(--lc-accent); font-weight: 800; min-height: 42px; padding: .55rem .9rem; }
.ora600-lc__primary { background: var(--lc-accent); color: #fff; }
.ora600-lc__primary:hover { background: var(--lc-accent-dark); }
.ora600-lc__primary:disabled { cursor: wait; opacity: .65; }
.ora600-lc__secondary { background: #fff; color: var(--lc-accent-dark); }
.ora600-lc__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }

.ora600-lc__alert { border-left: 4px solid; font-size: .87rem; margin-bottom: 1rem; padding: .75rem 1rem; }
.ora600-lc__alert ul { margin: .4rem 0 0 1.1rem; }
.ora600-lc__alert--warn { background: var(--lc-warn-bg); border-color: var(--lc-warn); color: #714400; }
.ora600-lc__alert--error { background: var(--lc-error-bg); border-color: var(--lc-error); color: var(--lc-error); }
.ora600-lc__facts { display: grid; gap: 1px; grid-template-columns: repeat(auto-fit, minmax(105px, 1fr)); margin-bottom: 1rem; }
.ora600-lc__facts > div { background: var(--lc-soft); padding: .65rem; }
.ora600-lc__facts span { color: var(--lc-muted); display: block; font-size: .68rem; line-height: 1.2; min-height: 2.4em; text-transform: uppercase; }
.ora600-lc__facts strong { display: block; font-size: 1.15rem; margin-top: .35rem; }

.ora600-lc__edition { border-top: 3px solid var(--lc-ink); margin-top: 1.35rem; padding-top: .8rem; }
.ora600-lc__edition h4 { font-size: 1.1rem; margin: 0 0 .5rem; }
.ora600-lc__selected { color: var(--lc-muted); font-size: .78rem; margin: 0 0 .75rem; }
.ora600-lc__metrics { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ora600-lc__metrics--single { grid-template-columns: minmax(0, 1fr); }
.ora600-lc__metric { border: 1px solid var(--lc-line); min-width: 0; padding: .8rem; }
.ora600-lc__metric h5 { align-items: center; display: flex; font-size: .9rem; justify-content: space-between; margin: 0 0 .6rem; }
.ora600-lc__metric dl { margin: 0; }
.ora600-lc__metric dl > div { display: grid; gap: .5rem; grid-template-columns: minmax(0, 1fr) auto; padding: .35rem 0; }
.ora600-lc__metric dt { color: var(--lc-muted); font-size: .78rem; min-width: 0; overflow-wrap: anywhere; }
.ora600-lc__metric dd { font-size: .82rem; font-weight: 700; margin: 0; text-align: right; white-space: nowrap; }
.ora600-lc__metric .ora600-lc__total { border-top: 1px solid var(--lc-line); margin-top: .35rem; padding-top: .55rem; }
.ora600-lc__metric .ora600-lc__total dt, .ora600-lc__metric .ora600-lc__total dd { color: var(--lc-ink); font-weight: 800; }
.ora600-lc__breakdown { margin-top: 1rem; overflow-x: auto; width: 100%; }
.ora600-lc__breakdown table { border-collapse: collapse; font-size: .74rem; min-width: 720px; width: 100%; }
.ora600-lc__breakdown th, .ora600-lc__breakdown td { border-bottom: 1px solid var(--lc-line); padding: .5rem .45rem; text-align: right; vertical-align: top; }
.ora600-lc__breakdown th:first-child, .ora600-lc__breakdown td:first-child { min-width: 180px; text-align: left; }
.ora600-lc__breakdown thead th { background: var(--lc-soft); color: var(--lc-muted); font-size: .67rem; text-transform: uppercase; }
.ora600-lc__breakdown tfoot th, .ora600-lc__breakdown tfoot td { background: var(--lc-soft); font-weight: 800; }
.ora600-lc__breakdown-total th, .ora600-lc__breakdown-total td { border-top: 2px solid var(--lc-ink); color: var(--lc-ink); }
.ora600-lc__comparison { background: var(--lc-soft); font-size: .78rem; margin: .75rem 0 0; padding: .55rem .7rem; }
.ora600-lc__rate { background: var(--lc-soft); font-size: .76rem; margin: .75rem 0 0; overflow-wrap: anywhere; padding: .6rem .7rem; }
.ora600-lc__rate a { color: var(--lc-accent-dark); font-weight: 700; }
.ora600-lc__note { color: var(--lc-muted); font-size: .72rem; margin: .55rem 0 0; }
.ora600-lc__badge { background: var(--lc-warn-bg); color: var(--lc-warn); font-size: .6rem; padding: .15rem .3rem; }
.ora600-lc__empty { color: var(--lc-muted); }

.ora600-lc__disclaimer { background: var(--lc-soft); border-left: 5px solid var(--lc-accent); margin-top: 1.25rem; padding: 1rem 1.25rem; }
.ora600-lc__disclaimer p { font-size: .83rem; margin: .3rem 0 0; }

@media (max-width: 1250px) {
  .ora600-lc__layout { grid-template-columns: 1fr; }
  .ora600-lc__card--sticky { position: static; }
}

@container ora600-license-calculator (max-width: 1050px) {
  .ora600-lc__layout { grid-template-columns: 1fr; }
  .ora600-lc__card--sticky { position: static; }
}

@media (max-width: 680px) {
  .ora600-lc__hero { align-items: flex-start; flex-direction: column; gap: 1.2rem; }
  .ora600-lc__language { margin-left: 0; }
  .ora600-lc__section-head { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .ora600-lc__fields, .ora600-lc__option-grid, .ora600-lc__metrics, .ora600-lc__choice-grid, .ora600-lc__commercial-grid { grid-template-columns: 1fr; }
  .ora600-lc__facts { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 430px) {
  .ora600-lc__choice-buttons { grid-template-columns: 1fr; }
  .ora600-lc__metric dl > div { grid-template-columns: 1fr; }
  .ora600-lc__metric dd { text-align: left; white-space: normal; }
}

@media print {
  body * { visibility: hidden; }
  .ora600-lc, .ora600-lc * { visibility: visible; }
  .ora600-lc { left: 0; margin: 0; max-width: none; position: absolute; top: 0; width: 100%; }
  .ora600-lc__hero { background: #fff !important; color: #000; min-height: auto; padding: 1rem 0; }
  .ora600-lc__hero h2 { color: #000; }
  .ora600-lc__hero::after, .ora600-lc__language, .ora600-lc__inputs, .ora600-lc__actions, .ora600-lc__disclaimer { display: none !important; }
  .ora600-lc__layout { display: block; }
  .ora600-lc__card { border: 0; box-shadow: none; padding: 0; }
  .ora600-lc__metric, .ora600-lc__facts > div { break-inside: avoid; }
  .ora600-lc__breakdown { overflow: visible; }
  .ora600-lc__breakdown table { font-size: 8pt; min-width: 0; }
}
