@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url('./onest-v11-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url('./onest-v11-latin.woff2') format('woff2')}
:root {
  color-scheme: light;
  font-family: Onest, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  color: #203330;
  background: #f6f8f7;
  --ink: #203330;
  --muted: #657572;
  --line: #dbe5e1;
  --green: #16775e;
  --green-dark: #0e614b;
  --green-soft: #e7f5ee;
  --amber-soft: #fff4dc;
  --amber-ink: #8c5c09;
  --red-soft: #fcecea;
  --red-ink: #a93832;
  --shadow: 0 9px 32px rgba(25, 56, 46, .055);
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #86cdb7; outline-offset: 3px; }

.page-shell { max-width: 1136px; padding: 0 28px 64px; margin: 0 auto; }
.site-header { height: 78px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid var(--line); }
.brand-mark { width: 34px; height: 34px; border-radius: 11px; background: #d7ede4; display: flex; align-items: center; justify-content: center; gap: 3px; }
.brand-mark span { width: 4px; border-radius: 4px; background: var(--green); }
.brand-mark span:nth-child(1) { height: 9px; }
.brand-mark span:nth-child(2) { height: 17px; }
.brand-mark span:nth-child(3) { height: 12px; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.17; }
.brand-copy strong { font-size: 15px; letter-spacing: -.01em; }
.brand-copy span { color: var(--muted); font-size: 12px; margin-top: 3px; }
.header-note { margin-left: auto; color: var(--muted); font-size: 13px; }

.page-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; padding: 39px 0 22px; }
.eyebrow { margin: 0 0 8px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 8px; font-size: clamp(28px, 4vw, 37px); line-height: 1.15; letter-spacing: -.035em; }
h2 { margin-bottom: 3px; font-size: 19px; line-height: 1.22; letter-spacing: -.02em; }
.lead { margin-bottom: 0; color: var(--muted); line-height: 1.5; }

.button { min-height: 42px; border: 1px solid transparent; border-radius: 10px; padding: 10px 17px; font-size: 14px; font-weight: 700; transition: background .16s ease, border-color .16s ease, transform .12s ease; }
.button:not(:disabled):active { transform: translateY(1px); }
.button.primary { background: var(--green); color: #fff; }
.button.primary:not(:disabled):hover { background: var(--green-dark); }
.button.secondary { background: #fff; border-color: #b9cbc4; color: #245746; }
.button.secondary:not(:disabled):hover { background: #f0f8f4; border-color: #80aa9b; }
.button.quiet { background: transparent; color: #42705e; }
.button.quiet:not(:disabled):hover { background: #e9f1ed; }
.button.danger { background: #fff; border-color: #ddb0aa; color: #a53730; }
.button.danger:not(:disabled):hover { background: #fff1ef; }
.button:disabled { opacity: .48; }
.button.wide { width: 100%; }
.refresh-button { white-space: nowrap; }
.refresh-button::first-letter { font-size: 19px; }
.password-row { display: flex; align-items: stretch; gap: 6px; }
.password-row input { min-width: 0; flex: 1; }
.password-row button { flex: 0 0 auto; }
.login-help { margin-top: 22px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.login-help summary { cursor: pointer; color: var(--green); }
.login-help p { margin: 12px 0 0; }

.flash { margin: 0 0 16px; border-radius: 12px; padding: 13px 16px; border: 1px solid #afd6c2; background: #e9f7ef; color: #155a46; font-size: 14px; line-height: 1.45; }
.flash.error { border-color: #edc1bc; background: #fff0ee; color: #97322d; }
.status-banner { display: flex; align-items: flex-start; gap: 13px; padding: 18px 20px; margin-bottom: 23px; border: 1px solid #e9d5a4; background: var(--amber-soft); border-radius: 14px; }
.status-banner.ready { background: var(--green-soft); border-color: #a9d3bd; }
.status-banner.active { background: #e9f0fa; border-color: #bdd0ec; }
.status-banner.blocked { background: var(--red-soft); border-color: #e9c5c1; }
.status-dot { flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; background: #d59b2f; margin-top: 4px; box-shadow: 0 0 0 4px rgba(213, 155, 47, .16); }
.status-banner.ready .status-dot { background: #3b9f70; box-shadow: 0 0 0 4px rgba(59,159,112,.16); }
.status-banner.active .status-dot { background: #467abe; box-shadow: 0 0 0 4px rgba(70,122,190,.17); }
.status-banner.blocked .status-dot { background: #c64d45; box-shadow: 0 0 0 4px rgba(198,77,69,.15); }
.status-banner strong { font-size: 15px; }
.status-banner p { margin: 4px 0 0; font-size: 14px; line-height: 1.45; color: #6a5733; }
.status-banner.ready p { color: #3a7153; }
.status-banner.active p { color: #476885; }
.status-banner.blocked p { color: #8b4c47; }

.steps, .model-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.steps { margin-top: 26px; }
.section-heading { display: flex; gap: 12px; align-items: center; margin-top: 28px; }
.section-heading h2 { margin: 0; }
.settings-help { color: var(--muted); font-size: 14px; line-height: 1.5; margin: 12px 0 18px; max-width: 850px; }
.card-heading > .subtle-badge { margin-left: auto; white-space: nowrap; }
.card-heading .model-caption { color: var(--green); font-size: 12px; margin-bottom: 5px; }
.prompt-help { color: var(--muted); font-size: 13px; line-height: 1.5; margin: 0 0 12px; }
.model-notice { padding: 13px 14px; border-radius: 9px; background: var(--amber-soft); color: var(--amber-ink); font-size: 13px; line-height: 1.5; margin-bottom: 20px; }
.model-notice.on { background: var(--green-soft); color: var(--green-dark); }
.knowledge-note { font-size: 12px; line-height: 1.5; color: var(--muted); margin: 10px 0 0; }
.mapping-help { margin-top: 16px; font-size: 12px; color: var(--muted); }
.mapping-help summary { cursor: pointer; color: var(--green); }
.mapping-help p { line-height: 1.6; margin: 9px 0 0; }
.mapping-help code { overflow-wrap: anywhere; font-size: 11px; }
.card { min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); overflow: hidden; }
.card-heading { display: flex; align-items: flex-start; gap: 13px; padding: 21px 23px 18px; border-bottom: 1px solid #ecf0ee; }
.card-heading p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.step-number { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; background: #e2f3e9; color: #0e7457; font-size: 13px; font-weight: 800; }
.card-body { padding: 22px 23px 24px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field-label, label { display: block; margin-bottom: 8px; color: #314942; font-size: 13px; font-weight: 700; }
.fixed-model strong { display: flex; align-items: center; height: 43px; padding: 0 13px; border: 1px solid var(--line); border-radius: 9px; background: #f8faf9; font-size: 14px; }
select, textarea, input[type=password], input[type=text] { width: 100%; border: 1px solid #b8cbc3; border-radius: 9px; background: #fff; color: var(--ink); }
select { height: 43px; padding: 0 12px; }
input[type=text] { height: 43px; padding: 0 12px; }
textarea { resize: vertical; min-height: 247px; padding: 13px 14px; line-height: 1.53; font-size: 14px; }
textarea::placeholder { color: #899a94; }
.field-help { color: var(--muted); font-size: 12px; line-height: 1.45; margin: 9px 0 22px; }
.field-footer { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 12px; line-height: 1.4; margin-top: 9px; }
.field-footer span:last-child { flex: 0 0 auto; }
.card-actions { display: flex; align-items: center; gap: 12px; margin-top: 22px; }
.action-hint { color: var(--muted); font-size: 12px; }
.action-hint.dirty { color: var(--amber-ink); font-weight: 700; }
.file-input { display: block; width: 100%; padding: 10px; border: 1px dashed #a9c2b7; border-radius: 10px; color: #40574e; background: #f8fbf9; font-size: 13px; }
.file-input::file-selector-button { margin-right: 11px; border: 1px solid #b4c9bf; border-radius: 7px; background: #fff; color: #245746; padding: 8px 11px; font-weight: 700; cursor: pointer; }
.number-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 24px; }
.number-summary div { min-height: 81px; padding: 13px 11px; border: 1px solid #e5eeea; border-radius: 10px; background: #f9fbfa; }
.number-summary strong, .number-summary span { display: block; }
.number-summary strong { font-size: 22px; letter-spacing: -.03em; }
.number-summary span { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.24; }
.small-note { margin: 15px 0 0; font-size: 12px; line-height: 1.48; color: #75837e; }
.run-summary { display: flex; flex-direction: column; gap: 5px; padding: 14px 15px; border-radius: 10px; background: #f6faf8; border: 1px solid #e3eeea; }
.run-summary strong { font-size: 14px; }
.run-summary span { color: var(--muted); font-size: 12px; line-height: 1.43; }
.run-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 17px; }
.check-result { margin-top: 24px; }
.section-caption { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; margin-bottom: 9px; font-size: 12px; }
.section-caption span { color: var(--muted); }
.check-result pre { margin: 0; padding: 13px 14px; border: 1px solid #e2eae6; border-radius: 9px; background: #f7faf8; font: 12px/1.55 Consolas, "Courier New", monospace; color: #3b5249; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 220px; overflow-y: auto; }
.results-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; margin-top: 20px; border-top: 1px solid #edf1ef; font-size: 13px; font-weight: 700; }
.text-link { color: var(--green); text-decoration: none; white-space: nowrap; }
.text-link:hover { text-decoration: underline; }
.muted { color: var(--muted); font-weight: 400; }

.subtle-badge { padding: 5px 8px; border-radius: 7px; background: #f0f3f1; color: #61746b; font-size: 11px; font-weight: 700; }
.subtle-badge.on { color: #1b7557; background: #e0f3e7; }
.delegated-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0 22px; align-items: end; }
.checkbox-row { display: flex; gap: 9px; align-items: center; min-height: 43px; margin: 0; font-size: 13px; font-weight: 600; cursor: pointer; }
.checkbox-row input { width: 16px; height: 16px; margin: 0; accent-color: var(--green); }
.checkbox-row span { line-height: 1.4; }
#backendScenarioText { min-height: 200px; }
.footer-note { margin: 25px 0 0; text-align: center; color: #82918a; font-size: 12px; }

.center-panel, .login-card { max-width: 420px; margin: 95px auto 0; text-align: center; }
.center-panel { color: var(--muted); font-size: 14px; }
.spinner { display: block; width: 27px; height: 27px; margin: 0 auto 17px; border: 3px solid #d6e9df; border-top-color: var(--green); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.login-card { background: #fff; border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow); padding: 31px; text-align: left; }
.login-card h1 { font-size: 28px; }
.login-card .subtle { color: var(--muted); font-size: 14px; line-height: 1.55; margin-bottom: 23px; }
.login-card input[type=password] { height: 44px; padding: 0 12px; margin-bottom: 15px; }
.login-icon { width: 39px; height: 39px; margin-bottom: 20px; display: grid; place-items: center; border-radius: 11px; background: #dff3e8; color: var(--green); font-size: 24px; }
.inline-message { margin: 14px 0 0; color: var(--red-ink); font-size: 13px; }
.error-symbol { width: 35px; height: 35px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 50%; color: var(--red-ink); background: var(--red-soft); font-weight: 800; }
.error-panel h1 { color: var(--ink); font-size: 25px; }
.error-panel p { line-height: 1.5; }

@media (max-width: 780px) {
  .page-shell { padding: 0 18px 45px; }
  .steps, .model-grid { grid-template-columns: 1fr; }
  .page-heading { padding-top: 30px; }
}
@media (max-width: 480px) {
  .page-shell { padding: 0 12px 35px; }
  .site-header { height: 65px; }
  .header-note { display: none; }
  .page-heading { align-items: flex-start; }
  .refresh-button span { display: none; }
  .card-heading { padding: 18px 16px 15px; }
  .card-body { padding: 19px 16px 21px; }
  .field-row { gap: 10px; }
  .delegated-fields { grid-template-columns: 1fr; gap: 12px; }
  .field-footer { flex-direction: column; }
  .number-summary { gap: 5px; }
  .number-summary div { padding: 11px 8px; }
  .number-summary strong { font-size: 19px; }
  .run-actions .button { flex: 1 1 100%; }
  .login-card { margin-top: 42px; padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; }
}

/* AXCEND: quiet workspace, matching the public site's palette and typography. */
:root{color:#172e3b;background:#fafaf8;--ink:#172e3b;--muted:#66757d;--line:#dce1e1;--green:#187bb0;--green-dark:#126894;--shadow:none}
.page-shell{max-width:1180px;padding-bottom:35px}.site-header{height:86px;gap:22px}.wordmark{font-size:29px;font-weight:700;letter-spacing:-1.5px;color:#13334b}.header-note{margin-left:0}.site-header .button{margin-left:auto}.page-heading{padding:34px 0 24px;align-items:center}.eyebrow{color:var(--muted);font-weight:500}h1{font-size:clamp(34px,4vw,48px);font-weight:650;letter-spacing:-1.8px}mark{background:#f5ffad;color:inherit;padding:0 .14em}.lead{font-size:14px}
.button{border-radius:30px;min-height:45px;padding:12px 21px;font-weight:600}.button.primary{background:#187bb0}.button.primary:not(:disabled):hover{background:#126894}.button.secondary{color:#172e3b;border-color:#cdd5d9}.button.secondary:not(:disabled):hover{background:#edf5fa;border-color:#aac6d5}.button.quiet{color:#335568}.button.quiet:not(:disabled):hover{background:#eef3f5}.button:disabled{opacity:.45}.steps{margin-top:0;gap:22px}.card{box-shadow:none;border-radius:19px;border-color:var(--line)}.card-heading{padding:22px 25px;align-items:center}.card-heading p{display:none}.card-body{padding:24px 25px}.step-number{background:none;color:var(--muted);font-weight:500;width:auto;padding:0;font-size:13px}.card h2{font-size:20px;font-weight:600}
.status-banner{background:#f7f8eb;border-color:#e5e8d3}.status-banner p{color:var(--muted)}.status-banner.ready{background:#f4f9ec;border-color:#dfe8cc}.status-banner.active{background:#eef7fc;border-color:#c8e2f0}.status-dot{box-shadow:none;width:7px;height:7px;flex-basis:7px;margin-top:7px}.flash{background:#eef7fc;border-color:#c8e2f0;color:#214f69}.flash.error{background:#fff3f1;border-color:#eac4bf;color:#8c3030}.file-input{background:#fafbf9}.number-summary{border-top:1px solid var(--line);padding-top:20px;gap:14px}.number-summary div{border:0;background:none;padding:0}.number-summary strong{font-weight:600;font-size:29px}.number-summary span{font-size:12px}.run-summary{background:none;border:0;padding:0;min-height:76px}.run-summary strong{font-size:18px}.run-actions{margin-top:14px}.run-actions .button{flex:0 1 auto}.results-row{margin-top:23px}.text-link{color:#146c9b}.small-note,.field-help{line-height:1.5}.settings-panel{border:1px solid var(--line);border-radius:18px;background:white;margin-top:22px}.settings-panel>summary{padding:22px 25px;display:flex;align-items:center;gap:20px;list-style:none}.settings-panel>summary::-webkit-details-marker{display:none}.settings-panel>summary:before{content:'+';font-size:25px;font-weight:300;width:16px}.settings-panel[open]>summary:before{content:'−'}.settings-panel>summary strong{font-size:17px;font-weight:600}.summary-help{display:block;font-size:13px;color:var(--muted);margin-top:5px}.settings-panel>summary .subtle-badge{margin-left:auto;background:none;border:0;color:var(--muted);text-align:right}.settings-content{padding:0 24px 24px;border-top:1px solid var(--line)}.settings-help{margin:22px 0}.settings-content .card{border:0;overflow:visible}.settings-content .card-heading{padding:0 0 16px;border:0}.settings-content .card-body{padding:0}.settings-content .model-grid{gap:30px}.settings-check{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.settings-check p{margin:0}.settings-content .model-notice{background:#f3f6f7;color:#44616f}.settings-content .model-notice.on{background:#eff6eb;color:#47683b}.subtle-badge.on{background:#eff6eb;color:#47683b}.footer-note{margin-top:24px;font-size:12px}.login-card{box-shadow:none;border-radius:22px;margin-top:65px}.login-icon{display:none}.login-card h1{font-size:36px}.password-row .button{padding:10px}.spinner{border-top-color:#187bb0}
@media(max-width:780px){.site-header{height:74px;gap:14px}.wordmark{font-size:24px}.page-shell{padding:0 18px 30px}.page-heading{padding:27px 0 22px}.steps{gap:18px}.card-heading,.card-body{padding:21px}.settings-panel>summary{padding:21px;gap:12px}.settings-content{padding:0 20px 22px}.settings-check{flex-direction:column;align-items:stretch}.run-actions .button{flex:1}.settings-panel>summary .subtle-badge{max-width:100px}.summary-help{font-size:12px}.header-note{font-size:11px}.settings-content .model-grid{gap:28px}}
