body { min-width: 0; min-height: 100vh; overflow-x: hidden; overflow-y: auto; }
:where([hidden]) { display: none !important; }
.auth-login-background, .auth-login-shell { min-height: 100vh; }
.runtime-error-view { display: grid; place-items: center; min-height: 100vh; padding: clamp(18px, 5vw, 64px); box-sizing: border-box; background: #f5f8fb; }
.runtime-error-card { width: min(100%, 760px); padding: clamp(24px, 5vw, 48px); border: 1px solid #e2bcbc; border-radius: 18px; background: #fff; box-shadow: 0 24px 70px rgba(91,43,43,.12); color: #334155; }
.runtime-error-kicker { color: #b42318; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.runtime-error-card h1 { margin: 10px 0; color: #182b3b; font-size: clamp(26px, 4vw, 38px); letter-spacing: -.04em; }
.runtime-error-card p { margin: 0 0 22px; line-height: 1.6; }
.runtime-error-meta { display: flex; flex-wrap: wrap; gap: 18px; margin: 0 0 20px; }
.runtime-error-meta div { min-width: min(100%, 230px); }
.runtime-error-meta dt { color: #718096; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.runtime-error-meta dd { margin: 4px 0 0; color: #182b3b; font: 700 13px ui-monospace, SFMono-Regular, Menlo, monospace; }
.runtime-error-details { border: 1px solid #e6e8ed; border-radius: 10px; background: #f8fafc; }
.runtime-error-details summary { padding: 11px 14px; color: #496272; font-size: 12px; font-weight: 800; cursor: pointer; }
.runtime-error-details pre { max-height: 280px; margin: 0; padding: 14px; overflow: auto; border-top: 1px solid #e6e8ed; color: #334155; font: 12px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.runtime-error-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
.runtime-error-actions button { min-height: 38px; padding: 0 14px; border: 0; border-radius: 8px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.runtime-error-actions .primary { color: #fff; background: #b42318; }
.runtime-error-actions .flat-action { color: #496272; background: #edf2f7; }
.runtime-error-actions span { color: #26734d; font-size: 12px; }
body[data-color-mode="dark"] .runtime-error-view { background: #0f1720; }
body[data-color-mode="dark"] .runtime-error-card { border-color: #633d43; background: #121b25; color: #c7d1dc; }
body[data-color-mode="dark"] .runtime-error-card h1, body[data-color-mode="dark"] .runtime-error-meta dd { color: #e8eef5; }
body[data-color-mode="dark"] .runtime-error-details { border-color: #2b3948; background: #0d151e; }
body[data-color-mode="dark"] .runtime-error-details summary { color: #c7d1dc; }
body[data-color-mode="dark"] .runtime-error-details pre { border-color: #2b3948; color: #c7d1dc; }
.auth-shell { display: grid; place-items: center; min-height: calc(100vh - 32px); padding: clamp(24px, 6vw, 72px) clamp(18px, 5vw, 64px); background: radial-gradient(circle at 15% 15%, #eaf3ff, transparent 38%), #f5f8fb; }
.auth-card { width: min(100%, 440px); margin: 0 auto; padding: clamp(28px, 5vw, 44px); border: 1px solid #dce5ec; border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 24px 70px rgba(43,70,91,.12); }
.auth-back { display: inline-block; margin-bottom: 34px; color: #667b8a; font-size: 12px; font-weight: 700; text-decoration: none; }
.auth-back:hover { color: #4777d4; }
.auth-card h1 { margin: 0 0 10px; color: #182b3b; font-size: clamp(30px, 6vw, 42px); letter-spacing: -.045em; }
.auth-lead { margin-bottom: 26px; color: #667b8a; font-size: 13px; line-height: 1.6; }
.auth-form { display: grid; gap: 15px; }
.auth-form label { display: grid; gap: 7px; color: #496272; font-size: 12px; font-weight: 800; }
.auth-form input { min-height: 44px; padding: 0 13px; border: 1px solid #dce5ec; border-radius: 9px; color: #182b3b; background: #fff; font: inherit; font-size: 13px; outline: 0; }
.auth-form input:focus { border-color: #4777d4; box-shadow: 0 0 0 3px rgba(71,119,212,.14); }
.auth-form button { margin-top: 7px; }
.auth-error { margin: 0 0 16px; padding: 11px 12px; border: 1px solid #f0c4c4; border-radius: 9px; color: #9b3030; background: #fff1f1; font-size: 12px; line-height: 1.45; }
.link-button { display: inline-flex; margin: 0; padding: 0; border: 0; color: #4777d4; background: transparent; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.auth-card > .link-button { display: block; margin: 20px auto 0; }
.auth-security { margin: 26px 0 0; color: #7b8d99; font-size: 11px; line-height: 1.5; text-align: center; }
.operations-shell { padding-top: 0; }
.operations-shell .app-frame { min-height: 100vh; }
.operations-shell .side-panel { top: 0; height: 100vh; }
.operations-shell .workspace-topbar { top: 0; }
.operations-shell .workspace-topbar { grid-template-columns: minmax(0, 1fr) minmax(0, min(30vw, 320px)) minmax(0, 1fr); gap: min(1.2vw, 16px); padding-inline: min(2vw, 24px); }
.operations-shell .workspace-topbar > *, .operations-shell .topbar-actions, .operations-shell .topbar-actions > * { min-width: 0; }
.operations-shell .topbar-actions { max-width: 100%; flex-wrap: nowrap; overflow: hidden; }
.operations-shell .topbar-actions { gap: min(.6vw, 6px); }
.operations-shell .topbar-actions .topbar-home-link { flex: 0 1 auto; max-width: min(9vw, 90px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.operations-shell .topbar-actions .topbar-user { flex: 0 1 auto; max-width: min(12vw, 130px); }
.operations-shell .topbar-actions .theme-toggle { min-width: 0; width: min(4vw, 42px); padding-inline: min(.8vw, 9px); }
.operations-shell .topbar-user { gap: min(.7vw, 8px); padding: min(.5vw, 5px) min(.8vw, 9px) min(.5vw, 5px) min(.4vw, 5px); }
.operations-shell .topbar-user .user-avatar { width: min(2.6vw, 28px); min-width: 0; height: min(2.6vw, 28px); }
.operations-shell .compact-language-picker { gap: min(.4vw, 4px); height: min(3.1vw, 34px); padding-inline: min(.7vw, 7px); }
.operations-shell .compact-language-picker .language-symbol { width: min(1.5vw, 16px); height: min(1.5vw, 16px); font-size: min(1.2vw, 13px); }
.operations-shell .compact-language-picker select { flex: 0 1 auto; width: min(8vw, 72px); height: min(2.2vw, 24px); padding-right: min(1.5vw, 18px); }
.module-nav .nav-link { border: 0; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.platform-content { min-width: 0; }
.platform-content > .idw-page { min-height: calc(100vh - 48px); }
.dashboard-panel { min-height: 0; }
.platform-view { display: grid; gap: 34px; }
.platform-card { display: grid; width: min(100%, 720px); gap: 18px; margin-inline: auto; padding: 22px; border: 1px solid #e6e8ed; border-radius: 10px; background: #fff; box-shadow: 0 8px 15px rgba(54,91,160,.08); }
.platform-card-heading { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 14px; }
.platform-card-heading > img { width: 40px; height: 40px; object-fit: contain; }
.platform-card h3 { margin: 0; color: #273348; font-size: 17px; font-weight: 500; }
.platform-card p { margin: 0; color: #89909f; font-size: 12px; line-height: 1.6; }
.platform-card .session-picker { display: grid; gap: 7px; color: #64748b; font-size: 11px; font-weight: 800; }
.platform-card .session-picker select { min-height: 38px; padding: 0 10px; border: 1px solid #e1e4ea; border-radius: 8px; color: #273348; background: #fff; font: inherit; font-size: 12px; }
.platform-tools { display: flex; flex-wrap: wrap; gap: 8px; }
.platform-tool { display: inline-flex; align-items: center; min-height: 30px; padding: 0 11px; border-radius: 999px; color: #4d6ed2; background: #eef4ff; font-size: 11px; font-weight: 800; }
.platform-empty { display: grid; gap: 12px; padding: 24px; border: 1px dashed #cdd8e5; border-radius: 10px; color: #667b8a; background: #f8fbff; }
.platform-empty strong { color: #273348; }
.platform-card .primary { justify-self: start; }
.platform-card.theme-blue { border-top: 3px solid #4777d4; }
.platform-card.theme-orange { border-top: 3px solid #ea580c; }
.platform-card.theme-green { border-top: 3px solid #16a34a; }
.platform-card.theme-yellow { border-top: 3px solid #ca8a04; }
.session-area { display: grid; width: min(100%, 430px); justify-items: center; gap: 12px; margin-inline: auto; padding: 16px; border: 1px solid #edf0f5; border-radius: 10px; background: #fafcff; text-align: center; }
.session-area .session-picker { width: 100%; text-align: left; }
.session-area .session-picker select { width: 100%; }
.session-area p { max-width: 360px; margin: 0; color: #718096; font-size: 12px; line-height: 1.55; }
.session-area .primary { justify-self: center; }
.idworks-session-row { display: flex; align-items: end; gap: 12px; max-width: 420px; }
.idworks-session-row .session-picker { flex: 1; }
.dashboard-tools button.module-lane { width: 100%; font: inherit; text-align: left; cursor: pointer; }
.dashboard-tools .module-lane.theme-orange { background: linear-gradient(115deg, #db6517, #f0a63a); }
.dashboard-tools .module-lane.theme-orange:hover { background: linear-gradient(115deg, #c95713, #e9982f); }
.dashboard-tools .module-lane.theme-yellow { background: linear-gradient(115deg, #ca8a04, #f2c94c); }
.dashboard-tools .module-lane.theme-yellow:hover { background: linear-gradient(115deg, #b77903, #e7b83d); }
.dashboard-tools .module-lane.theme-green { background: linear-gradient(115deg, #16a34a, #4cc978); }
.dashboard-tools .module-lane.theme-green:hover { background: linear-gradient(115deg, #128d40, #42b96b); }
.terminal-workspace .terminal-window { min-height: calc(100dvh - 110px); }
.page-crumb { gap: 0; min-height: clamp(34px, 4vw, 42px); overflow-x: auto; scrollbar-width: thin; }
.page-tab { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; gap: clamp(4px, .6vw, 8px); min-height: 100%; padding: 0 clamp(6px, 1vw, 12px); }
.page-tab-link,
.page-tab-close { padding: 0; border: 0; color: #202735; background: transparent; font: inherit; cursor: pointer; }
.page-tab-link { white-space: nowrap; }
.page-tab-close { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: #8d98a8; font-size: 15px; line-height: 1; }
.page-tab-close:hover { color: #c23c47; background: #fce9eb; }
.page-tab-separator { flex: 0 0 auto; color: #a5afbd; }
.page-tab.is-active:not([data-tab-key="workspace"]) .page-tab-link { color: #6485f7; }
.page-tab.is-active:not([data-tab-key="workspace"])::after { position: absolute; right: clamp(6px, 1vw, 12px); bottom: 0; left: clamp(6px, 1vw, 12px); height: 2px; background: #6689ff; content: ""; }
.operations-shell[data-color-mode="dark"] .page-tab-link { color: #e4eaf2; }
.operations-shell[data-color-mode="dark"] .page-tab-close:hover { color: #ff8d99; background: #47252c; }
.order-table tr[data-state="running"] .order-status-column span { background: #dce8ff; color: #4265bc; animation: search-status-pulse 1.1s ease-in-out infinite alternate; }
@keyframes search-status-pulse { to { box-shadow: 0 0 0 5px rgba(99,135,251,.12); } }
#module-output { margin: 0; padding: 14px; overflow: auto; color: #334155; font: 12px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }
.auth-login-submit { justify-content: center; gap: 12px; }
.auth-login-submit span { flex: 0 0 auto; }
.commerce-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
#commerce-view .panel-actions { display: flex; align-items: center; gap: 10px; }
.commerce-card { position: relative; width: 100%; border: 0; color: inherit; background: var(--paper, #fff); font: inherit; text-align: left; cursor: pointer; }
.brand-lockup { border: 0; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.brand-lockup:disabled { cursor: default; opacity: 1; }
.topbar-home-link { border: 0; background: transparent; font: inherit; cursor: pointer; }
.language-symbol { display: inline-grid; place-items: center; width: 16px; height: 16px; color: currentColor; font-size: 13px; font-weight: 800; line-height: 1; }
.auth-login-topbar .language-picker { display: inline-flex; align-items: center; gap: 6px; }
.auth-login-topbar .language-picker select { min-width: 58px; width: auto; }
.compact-language-picker { gap: 4px; padding-inline: 7px; }
.compact-language-picker select { box-sizing: border-box; min-width: 0; width: min(6vw, 60px); padding-inline: 0 min(.8vw, 8px); }
.session-picker-compact select { min-width: 160px; }
.session-status-note { max-width: 640px; margin: 14px 0; padding: 10px 12px; border-left: 3px solid #d89b35; color: var(--muted, #718096); background: var(--soft, #f8fbff); font-size: 12px; line-height: 1.5; }
.auth-password-control { position: relative; }
.auth-password-control input { width: 100%; box-sizing: border-box; padding-right: 48px; }
.background-task-indicator { position: fixed; right: 0; bottom: 0; z-index: 20; display: grid; gap: 6px; min-width: min(220px, 100vw); max-width: min(280px, 100vw); font-size: 11px; }
.background-task { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; min-height: 34px; padding: 0 10px; border: 0; border-radius: 6px 6px 0 0; color: #273348; font: inherit; text-align: left; cursor: pointer; }
.background-task:hover { filter: brightness(.97); }
.background-task strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.background-task b { flex: 0 0 auto; color: currentColor; font-variant-numeric: tabular-nums; }
.background-task-blue { color: #fff; background: #4777d4; }
.background-task-orange { color: #fff; background: #d87824; }
.auth-password-toggle { position: absolute; top: 50%; right: 10px; width: 30px; min-height: 30px; padding: 0; border: 0; color: #718096; background: transparent; font-size: 15px; cursor: pointer; transform: translateY(-50%); }
.auth-password-toggle:hover { color: #4777d4; }
.commerce-card:focus-visible { outline: 3px solid rgba(98,136,255,.35); outline-offset: 3px; }
button, select { user-select: none; -webkit-user-select: none; }
button:focus-visible, select:focus-visible { outline: 3px solid rgba(98,136,255,.35); outline-offset: 2px; }
@media (max-width: 760px) {
    .operations-shell .workspace-topbar { grid-template-columns: minmax(0, 5vw) minmax(0, 1fr) minmax(0, min(24vw, 190px)); padding-inline: min(2vw, 12px); }
    .operations-shell .topbar-menu { width: min(5vw, 34px); min-width: 0; height: min(5vw, 34px); }
    #commerce-view .commerce-hero { align-items: flex-start; flex-direction: column; }
    .idworks-session-row { align-items: stretch; flex-direction: column; }
}
@media (min-width: 761px) and (max-width: 920px) {
    .operations-shell .workspace-topbar { grid-template-columns: minmax(0, 1fr) minmax(0, min(24vw, 240px)); gap: min(1.2vw, 8px); padding-inline: min(2vw, 12px); }
    .operations-shell .topbar-context { grid-column: 1; }
    .operations-shell .topbar-actions { grid-column: 2; }
    .operations-shell .topbar-actions .topbar-home-link { display: none; }
}
@media (min-width: 921px) and (max-width: 1120px) {
    .operations-shell .topbar-actions .topbar-home-link { display: none; }
}
@media (max-width: 560px) {
    .operations-shell .workspace-topbar { gap: min(1.2vw, 6px); padding-inline: min(2vw, 8px); }
    .operations-shell .topbar-actions .topbar-user { max-width: min(8vw, 34px); padding-right: min(.8vw, 3px); }
    .operations-shell .topbar-actions .topbar-user strong { display: none; }
}
body[data-color-mode="dark"] .platform-card-heading h3 { color: #e8eef5; }
body[data-color-mode="dark"] .platform-card { border-color: #2b3948; background: #121b25; }
body[data-color-mode="dark"] .platform-card.theme-blue { border-top-color: #4777d4; }
body[data-color-mode="dark"] .platform-card.theme-orange { border-top-color: #ea580c; }
body[data-color-mode="dark"] .platform-card.theme-green { border-top-color: #16a34a; }
body[data-color-mode="dark"] .platform-card.theme-yellow { border-top-color: #ca8a04; }
body[data-color-mode="dark"] .platform-card .session-picker select { border-color: #344657; color: #e8eef5; background: #0e1721; }
body[data-color-mode="dark"] .session-area { border-color: #2b3948; background: #0e1721; }
body[data-color-mode="dark"] .platform-empty { border-color: #344657; color: #9aaabc; background: #18232f; }
body[data-color-mode="dark"] .platform-empty strong { color: #e8eef5; }
body[data-color-mode="dark"] #module-output { color: #dbeafe; }
html.theme-switching,
html.theme-switching body,
html.theme-switching body *,
html.theme-switching body *::before,
html.theme-switching body *::after {
    transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease, fill 250ms ease, filter 250ms ease, outline-color 250ms ease, stroke 250ms ease, box-shadow 250ms ease !important;
}
@media (prefers-reduced-motion: reduce) {
    html.theme-switching,
    html.theme-switching body,
    html.theme-switching body *,
    html.theme-switching body *::before,
    html.theme-switching body *::after {
        transition-duration: 1ms !important;
    }
}
.desktop-product-toolbar { grid-template-columns: minmax(0, 1fr); }
.product-local-panel { display: grid; gap: 14px; max-width: 760px; padding: 22px; border: 1px solid #e6e8ed; border-radius: 10px; background: #fff; box-shadow: 0 8px 15px rgba(54,91,160,.08); }
.product-local-panel > label { display: grid; gap: 7px; }
.product-local-panel textarea { min-height: 96px; resize: vertical; }
.product-local-panel .primary { justify-self: start; }
.product-local-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 9px; }
.product-local-card { display: grid; gap: 3px; min-width: 0; padding: 12px; border: 1px solid #e6e8ed; border-radius: 8px; background: #f8fbff; }
.product-local-card strong { overflow: hidden; color: #273348; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.product-local-card span, .product-local-card small { color: #718096; font: 11px ui-monospace, monospace; }
.product-local-empty { margin: 0; color: #718096; font-size: 12px; }
.product-review-dialog { box-sizing: border-box; width: min(100% - 32px, 580px); max-height: calc(100dvh - 32px); padding: 0; overflow-x: hidden; overflow-y: auto; border: 1px solid #dce5ec; border-radius: 14px; background: #fff; color: #273348; box-shadow: 0 24px 70px rgba(15,23,42,.28); }
.product-review-dialog::backdrop { background: rgba(15,23,42,.58); }
.product-review-dialog form { display: grid; min-width: 0; gap: 16px; padding: 24px; }
.product-review-dialog h2 { margin: 0; font-size: 20px; }
.product-review-dialog p { margin: 6px 0 0; font-size: 12px; }
.product-review-items { display: grid; gap: 9px; }
.product-review-item { display: grid; grid-template-columns: minmax(100px, .6fr) minmax(0, 1fr); align-items: center; gap: 10px; }
.product-review-item > span { min-width: 0; color: #52697a; font: 11px/1.4 ui-monospace, monospace; overflow-wrap: anywhere; }
.product-review-item input, .product-review-group-label input { min-height: 38px; width: 100%; padding: 0 10px; border: 1px solid #dce5ec; border-radius: 7px; color: #273348; background: #fff; }
.product-relation { display: grid; min-inline-size: 0; gap: 8px; margin: 0; padding: 0; border: 0; }
.product-relation label { display: flex; min-width: 0; align-items: flex-start; gap: 9px; padding: 10px; border: 1px solid #e1e7ef; border-radius: 8px; color: #273348; text-transform: none; cursor: pointer; }
.product-relation label:hover { border-color: #bfcaf2; background: #f8faff; }
.product-relation label:has(input:checked) { border-color: #7f9cf5; background: #eef4ff; box-shadow: 0 0 0 2px rgba(71,119,212,.1); }
.product-relation input[type="radio"] { flex: 0 0 16px; width: 16px; min-width: 16px; min-height: 16px; margin: 3px 0 0; padding: 0; accent-color: #4777d4; }
.product-relation span, .product-relation strong, .product-relation small { display: block; min-width: 0; }
.product-relation strong { font-size: 12px; }
.product-relation small { margin-top: 2px; color: #718096; font-size: 11px; line-height: 1.4; font-weight: 500; }
.product-review-group-label { display: grid; gap: 7px; }
.product-review-group-label span { color: #52697a; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.product-review-dialog footer { display: flex; justify-content: flex-end; gap: 9px; }
.product-review-dialog footer button { min-height: 36px; padding: 0 14px; border: 1px solid #dce5ec; border-radius: 7px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.product-review-dialog footer .secondary { color: #52697a; background: #fff; }
.product-review-dialog footer .primary { border-color: #4777d4; color: #fff; background: #4777d4; }
body[data-color-mode="dark"] .product-local-panel, body[data-color-mode="dark"] .product-review-dialog { border-color: #2b3948; background: #121b25; color: #e8eef5; }
body[data-color-mode="dark"] .product-local-card { border-color: #344657; background: #18232f; }
body[data-color-mode="dark"] .product-local-card strong, body[data-color-mode="dark"] .product-relation label { color: #e8eef5; }
body[data-color-mode="dark"] .product-relation label:hover, body[data-color-mode="dark"] .product-relation label:has(input:checked) { border-color: #5876d8; background: #182744; }
body[data-color-mode="dark"] .product-review-item input, body[data-color-mode="dark"] .product-review-group-label input { border-color: #344657; color: #e8eef5; background: #0e1721; }
body[data-color-mode="dark"] .product-review-dialog footer .secondary { border-color: #344657; color: #e8eef5; background: #0e1721; }
@media (max-width: 520px) { .product-review-dialog form { padding: 18px; } .product-review-item { grid-template-columns: 1fr; gap: 5px; } .product-review-dialog footer { flex-direction: column-reverse; } .product-review-dialog footer button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .order-table tr[data-state="running"] .order-status-column span { animation: none; } }
.manualess-chat-frame { display: block; width: 100%; height: calc(100dvh - 9rem); min-height: 24rem; border: 0; border-radius: 1rem; }
