/* One shared interaction layer for Core, website, account, partner and admin. */
:root{--ohx-accent:#6e72ff;--ohx-text:#edf3ff;--ohx-muted:#a6b6cd;--ohx-border:rgba(158,180,226,.2);--ohx-surface:rgba(28,43,67,.7);--ohx-soft:rgba(99,133,205,.09);--ohx-good:#56cbb0;--ohx-warn:#f4bc72;--ohx-bad:#f58b9c;--ohx-radius:18px;--ohx-speed:160ms}
[data-theme="light"]{--ohx-accent:#505fe7;--ohx-text:#153750;--ohx-muted:#567492;--ohx-border:rgba(68,116,186,.19);--ohx-surface:rgba(249,252,255,.8);--ohx-soft:rgba(70,118,198,.06);--ohx-good:#14836b;--ohx-warn:#9b611b;--ohx-bad:#b7425d}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ohx-accent)!important;outline-offset:3px}
:where(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent;scroll-margin-block:90px}
:where(button,.btn,.btnGhost,.button,.oco-button,.olm-button){transition:background-color var(--ohx-speed),border-color var(--ohx-speed),box-shadow var(--ohx-speed),opacity var(--ohx-speed)}
:where(button,[role="button"]):disabled{cursor:not-allowed}
input[type="checkbox"],input[type="radio"]{accent-color:var(--ohx-accent)}
.ohx-panel{border:1px solid var(--ohx-border);border-radius:var(--ohx-radius);padding:22px;background:var(--ohx-surface);color:var(--ohx-text);min-width:0}
.ohx-panel h2,.ohx-panel h3,.ohx-panel p{margin:0 0 12px}.ohx-panel p,.ohx-muted{color:var(--ohx-muted)}
.ohx-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.ohx-heading h2,.ohx-heading h3{margin:0}
.ohx-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ohx-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 15px;border:1px solid var(--ohx-border);border-radius:12px;color:var(--ohx-text);background:var(--ohx-soft);font:inherit;font-weight:600;line-height:1.3;text-decoration:none;cursor:pointer}.ohx-button:hover{border-color:var(--ohx-accent)}.ohx-button[data-primary]{color:white;background:linear-gradient(115deg,#466cee,#8a4aca);border-color:transparent}.ohx-button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px var(--ohx-accent);background:var(--ohx-soft)}
.ohx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.ohx-stack{display:grid;gap:12px}.ohx-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--ohx-border);min-width:0}.ohx-row:last-child{border:0}.ohx-row>div{min-width:0}.ohx-row strong,.ohx-row small{display:block;overflow-wrap:anywhere}.ohx-row small{color:var(--ohx-muted);margin-top:4px}
.ohx-state{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.45;color:var(--ohx-muted);min-height:22px}.ohx-state[data-state="confirmed"]{color:var(--ohx-good)}.ohx-state[data-state="unconfirmed"]{color:var(--ohx-warn)}.ohx-state[data-state="error"]{color:var(--ohx-bad)}
.ohx-state[data-state="pending"]:before,button[data-ohx-state="pending"]:before{content:"";width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;flex-shrink:0;animation:ohx-spin .8s linear infinite}
.ohx-status{position:fixed;z-index:12000;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:min(90vw,560px);padding:12px 18px;background:var(--ohx-surface);color:var(--ohx-text);border:1px solid var(--ohx-border);border-radius:14px;box-shadow:0 10px 40px #0003;backdrop-filter:blur(20px);pointer-events:none}.ohx-status:empty{display:none}.ohx-status[data-tone="error"]{border-color:var(--ohx-bad)}
.ohx-loading{padding:26px;border:1px solid var(--ohx-border);border-radius:var(--ohx-radius);color:var(--ohx-muted)}.ohx-skeleton{height:12px;border-radius:8px;margin:14px 0;background:var(--ohx-soft);overflow:hidden;position:relative}.ohx-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--ohx-border),transparent);animation:ohx-shimmer 1.6s ease infinite}.ohx-skeleton:nth-child(3){width:67%}
.ohx-empty{text-align:center;padding:32px 20px;border:1px solid var(--ohx-border);border-radius:var(--ohx-radius);background:var(--ohx-soft);color:var(--ohx-text)}.ohx-empty p{color:var(--ohx-muted);max-width:46ch;margin:9px auto 18px}.ohx-error{border-color:var(--ohx-bad)}
.ohx-form{display:grid;gap:16px}.ohx-form label{display:grid;gap:7px;min-width:0;color:var(--ohx-text)}.ohx-form input:not([type="checkbox"]):not([type="radio"]),.ohx-form select,.ohx-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid var(--ohx-border);border-radius:11px;padding:10px 12px;background:var(--ohx-soft);color:var(--ohx-text);font:inherit}.ohx-form option{color:#17344c;background:#f6f9ff}.ohx-form textarea{min-height:100px;resize:vertical}.ohx-form .ohx-check{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:12px;background:var(--ohx-soft)}.ohx-check input{margin-top:4px;width:18px;height:18px;flex:0 0 auto}.ohx-check small{display:block;color:var(--ohx-muted);margin-top:5px}.ohx-form fieldset{border:1px solid var(--ohx-border);border-radius:14px;padding:16px;min-width:0}.ohx-form legend{padding:0 8px;color:var(--ohx-text)}
.ohx-steps{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 20px;flex-wrap:wrap}.ohx-steps li{display:flex;align-items:center;gap:8px;flex:1 1 110px;padding:10px;border:1px solid var(--ohx-border);border-radius:12px;color:var(--ohx-muted);font-size:12px}.ohx-steps li[aria-current="step"]{border-color:var(--ohx-accent);color:var(--ohx-text);background:var(--ohx-soft)}.ohx-step-number{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ohx-soft);flex-shrink:0}.ohx-steps [data-done="true"] .ohx-step-number{color:var(--ohx-good)}
.ohx-progress{width:100%;height:6px;border:0;border-radius:20px;accent-color:var(--ohx-accent)}
.ohx-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:20px;border:1px solid var(--ohx-border);font-size:11px;color:var(--ohx-muted)}.ohx-badge[data-level="warning"]{color:var(--ohx-warn)}.ohx-badge[data-level="success"]{color:var(--ohx-good)}
.ohx-highlight{animation:ohx-highlight 2s ease-out}.ohx-report{max-width:900px;margin:auto}.ohx-report dl{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:10px}.ohx-report dd{margin:0;overflow-wrap:anywhere}.ohx-report dt{color:var(--ohx-muted)}
@keyframes ohx-spin{to{transform:rotate(360deg)}}@keyframes ohx-shimmer{to{transform:translateX(100%)}}@keyframes ohx-highlight{0%{box-shadow:0 0 0 3px var(--ohx-accent)}100%{box-shadow:0 0 0 0 transparent}}
@media(pointer:coarse){:where(button,.btn,.btnGhost,.button,.oco-button,.oco-icon,.olm-button,.ohx-button){min-height:44px!important}:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){font-size:16px!important}}
@media(max-width:700px){.ohx-panel{padding:17px}.ohx-row{align-items:flex-start}.ohx-row .ohx-actions{justify-content:flex-end}.ohx-status{bottom:calc(86px + env(safe-area-inset-bottom))}.ohx-steps li{flex:1 1 80px}.ohx-report dl{grid-template-columns:1fr}.ohx-report dd{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.ohx-no-print{display:none!important}.ohx-report{color:#16334a;background:white}.ohx-report .ohx-panel{color:#16334a;background:white;border-color:#bec8d6}.ohx-report p,.ohx-report dt,.ohx-report small{color:#39546a}}

.ohx-section{margin:20px 0}.ohx-prewrap{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:520px){.ohx-row{flex-wrap:wrap}.ohx-row>.ohx-button,.ohx-row>.ohx-actions{margin-left:auto}.ohx-grid{grid-template-columns:minmax(0,1fr)}}

.ohx-report{display:grid;gap:16px}@media(pointer:coarse){:where(.iconButton,.oco-icon,.icon-btn,.ohx-button){min-width:44px!important}}
