:root {
    color-scheme: dark;
    --bg: #0b0c0e;
    --panel: #15171a;
    --panel-strong: #1d2024;
    --line: #30343a;
    --text: #f2f3f5;
    --muted: #c7cbd2;
    --accent: #d8dadd;
    --accent-strong: #ffffff;
    --shadow: 0 20px 60px rgba(0, 0, 0, 0.42);
}

.admin-rulebot-condition {
    margin-top: 12px;
    padding: 18px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--surface-subtle);
}
.admin-rulebot-condition header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.admin-rulebot-condition header div {
    display: grid;
    gap: 4px;
}
.admin-rulebot-condition pre {
    margin: 14px 0 0;
    padding: 14px;
    overflow-x: auto;
    border-radius: 9px;
    background: #090d10;
    color: #dce8e5;
    white-space: pre-wrap;
    line-height: 1.55;
}

.admin-diagnostic-reasons {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}
.admin-diagnostic-reasons details {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--surface-subtle);
}
.admin-diagnostic-reasons summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 15px;
    cursor: pointer;
}
.admin-diagnostic-reasons summary span {
    display: grid;
    gap: 3px;
}
.admin-diagnostic-stocks {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 8px;
    padding: 0 15px 15px;
}
.admin-diagnostic-stocks span {
    display: grid;
    gap: 2px;
    padding: 9px 11px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
}
.admin-diagnostic-stocks em {
    align-self: center;
    color: var(--text-muted);
    font-style: normal;
}

.admin-subscription-timeline {
    display: grid;
    gap: 10px;
}
.admin-subscription-timeline article {
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr);
    gap: 18px;
    padding: 14px 0;
    border-bottom: 1px solid var(--border-color);
}
.admin-subscription-timeline time {
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}
.admin-subscription-timeline header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.admin-subscription-timeline p {
    margin: 8px 0 0;
    overflow-wrap: anywhere;
}
.admin-subscription-timeline p b {
    display: inline-block;
    min-width: 38px;
}
.admin-subscription-stocks {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    vertical-align: top;
}
.admin-subscription-stocks > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border-radius: 7px;
    background: rgba(255, 255, 255, .04);
}
.admin-subscription-stocks em {
    padding: 2px 5px;
    border-radius: 999px;
    color: var(--accent);
    background: rgba(74, 147, 132, .12);
    font-size: 11px;
    font-style: normal;
}
@media (max-width: 720px) {
    .admin-subscription-timeline article {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    min-height: 100vh;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.06), transparent 32rem),
        linear-gradient(145deg, #08090a 0%, #101215 55%, #090a0b 100%);
    color: var(--text);
    font-family: "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

input,
select,
textarea,
button {
    font-family: inherit;
}

input::placeholder,
textarea::placeholder {
    color: #d3d6dc;
    opacity: 1;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

.app-layout {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.site-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.app-layout > main,
.site-shell > main {
    flex: 1 0 auto;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
    height: 72px;
    flex: 0 0 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 32px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(10, 11, 13, 0.92);
    backdrop-filter: blur(18px);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--text);
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.brand-logo {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    object-fit: cover;
}


.topbar-actions,
.guest-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.button {
    height: 40px;
    padding: 0 16px;
    border-radius: 9px;
    border: 1px solid var(--line);
    font: inherit;
    font-size: 14px;
}

.button:disabled,
.menu-button:disabled {
    opacity: 1;
    cursor: default;
}

.button-ghost {
    color: var(--text);
    background: transparent;
}

.button-primary {
    color: #0b0c0e;
    background: var(--accent);
    border-color: var(--accent);
    font-weight: 700;
}

.menu-button {
    width: 42px;
    height: 42px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: linear-gradient(145deg, #22252a, #111316);
}

.menu-button span {
    width: 18px;
    height: 1px;
    background: var(--text);
}

.page-shell {
    width: min(1180px, calc(100% - 40px));
    flex: 1 0 auto;
    margin: 0 auto;
    padding: 80px 0;
}

.hero-card {
    padding: clamp(32px, 6vw, 72px);
    border: 1px solid var(--line);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(31, 34, 38, 0.96), rgba(15, 17, 19, 0.96));
    box-shadow: var(--shadow);
}

.eyebrow {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.18em;
}

h1 {
    margin: 0;
    max-width: 780px;
    font-size: clamp(38px, 7vw, 76px);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.site-shell {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.site-shell > main {
    flex: 1 0 auto;
}

.topbar-home { display: grid; grid-template-columns: minmax(210px, 1fr) minmax(360px, 760px) minmax(120px, 1fr); gap: 22px; }
.topbar-stock-search { position: relative; min-width: 0; }
.topbar-stock-search input { width: 100%; height: 44px; padding: 0 150px 0 44px; border: 1px solid #3c4148; border-radius: 11px; outline: 0; color: #f2f4f7; background: #0b0d0f; font: inherit; }
.topbar-stock-search input:focus { border-color: #6e777f; box-shadow: 0 0 0 3px rgba(114,216,202,.1); }
.topbar-home .topbar-actions { justify-self: end; }
.topbar-home .stock-search-status { grid-column: auto; }

/* Rule condition editor */
.condition-page { display:grid; grid-template-columns:minmax(280px, 340px) minmax(0, 1fr); gap:16px; min-height:calc(100vh - 150px); padding:16px; background:#0b0e12; }
.condition-embedded { overflow:hidden; background:#0b0e12; }
.condition-embedded .site-shell { min-height:100vh; }
.condition-embedded .condition-page { min-height:100vh; height:100vh; padding:0; }
.condition-wts-chart { overflow:visible; }
.condition-chart-toolbar { position:relative; z-index:12; min-height:48px; padding:6px 10px; }
.condition-chart-toolbar .chart-indicator-menu { margin-right:auto; }
.condition-chart-toolbar .chart-tool-panel { max-height:420px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.condition-chart-indicator-search{position:sticky;z-index:3;top:0;display:grid;gap:5px;padding:8px;background:#181a1e}.condition-chart-indicator-search span{color:#aab3bd;font-size:11px;font-weight:800}.condition-chart-indicator-search input{width:100%;height:38px;padding:0 11px;border:1px solid #3b4651;border-radius:8px;color:#edf3f5;background:#0d1217}
.condition-chart-timeframes{gap:4px}.condition-chart-timeframes button{min-width:50px;border:1px solid #34424a;border-radius:7px;background:#151b20;color:#aeb9bf;font-weight:700}.condition-chart-timeframes button.is-active{border-color:#2fb8ad;background:#17302e;color:#7ce7dd}
.condition-wts-chart .wts-chart { min-height:700px; height:clamp(700px, 76vh, 980px); }
.condition-evaluation-values { display:grid; gap:7px; margin-top:10px; }
.condition-evaluation-value { display:grid; grid-template-columns:minmax(90px,.45fr) minmax(0,1.55fr); gap:12px; padding:10px 12px; border:1px solid #303944; border-radius:9px; background:#0d1217; }
.condition-evaluation-value strong { color:#eef3f7; }
.condition-evaluation-value span { color:#b9c5cf; line-height:1.5; }
.condition-list-panel,.condition-editor-panel { min-width:0; border:1px solid #2c333d; border-radius:16px; background:#11151a; box-shadow:0 14px 45px rgba(0,0,0,.22); }
.condition-list-panel { padding:18px; }
.condition-panel-heading,.condition-editor-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.condition-editor-heading { display:flex; align-items:center; gap:12px; min-width:0; }
.condition-mobile-back,.condition-mobile-sections { display:none; }
.condition-panel-heading h1,.condition-editor-toolbar h2 { margin:3px 0 0; color:#f4f7fa; font-size:21px; }
.condition-preset-import{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 0;padding:12px;border:1px solid #28534d;border-radius:10px;background:#10211f}
.condition-preset-import div{display:grid;gap:3px;min-width:0}.condition-preset-import strong{color:#d8fff7;font-size:14px}.condition-preset-import small{color:#a9c3be;line-height:1.45}.condition-preset-import .button{flex:0 0 auto;white-space:nowrap}
.condition-list-filter { display:grid; grid-template-columns:1fr 105px; gap:8px; margin:18px 0 12px; }
.condition-list-filter input,.condition-list-filter select,.condition-form-grid input,.condition-form-grid select,.condition-evaluation-form input,.condition-save-section input { width:100%; height:41px; border:1px solid #38414d; border-radius:9px; color:#eef2f6; background:#0c1015; }
.condition-list { display:grid; gap:8px; max-height:calc(100vh - 300px); overflow:auto; }
.condition-list-item { position:relative; display:grid; gap:11px; padding:14px; border:1px solid #2b323c; border-radius:11px; background:#161b21; cursor:pointer; outline:none; }
.condition-list-item > div:first-child { min-width:0; padding-right:62px; }
.condition-list-item > div:first-child strong { display:block; overflow-wrap:anywhere; }
.condition-list-item:hover,.condition-list-item:focus-visible,.condition-list-item.is-active { border-color:#47c8b7; background:#182421; box-shadow:0 0 0 3px rgba(71,200,183,.1); }
.condition-list-item strong { color:#f5f7fa; font-size:15px; }.condition-list-item p { margin:5px 0 0; color:#9da7b3; font-size:12px; line-height:1.45; }
.condition-list-item dl { display:flex; gap:18px; margin:0; }.condition-list-item dl div { display:flex; gap:6px; font-size:11px; }.condition-list-item dt { color:#707b87; }.condition-list-item dd { margin:0; color:#c8d0d8; }
.condition-status { position:absolute; top:12px; right:12px; padding:3px 6px; border-radius:999px; color:#68d8c8; background:#162824; font-size:10px; font-weight:800; white-space:nowrap; }
.condition-list-tags { display:flex; flex-wrap:wrap; gap:5px; }.condition-list-tags span { padding:3px 6px; border-radius:5px; color:#9fdbd3; background:#1b2928; font-size:10px; }
.condition-empty { padding:28px 10px; text-align:center; color:#aeb7c2; }.condition-empty strong { color:#edf1f5; }.condition-empty button { display:block; width:100%; margin-top:8px; padding:10px; border:1px solid #303946; border-radius:8px; color:#cfd6de; background:#171d24; }
.condition-editor-panel { display:flex; flex-direction:column; overflow:visible; }.condition-editor-toolbar { padding:18px 22px; border-bottom:1px solid #29313a; background:linear-gradient(135deg,#1b222a,#14191f); }.condition-editor-actions { display:flex; gap:8px; }
.condition-editor-scroll { min-height:0; padding:20px 22px 28px; overflow:visible; }.condition-section { margin:0 0 16px; padding:18px; border:1px solid #2c343f; border-radius:14px; background:#14191f; }
.rule-bot-condition-workspace,.rule-bot-condition-workspace .condition-page { height:auto; min-height:0; overflow:visible; }
.condition-section-title { display:flex; gap:11px; align-items:flex-start; margin-bottom:16px; }.condition-section-title>span,.condition-preview-card header span { display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border-radius:8px; color:#081310; background:#5bd1c1; font-weight:900; font-size:12px; }
.condition-section-title h3,.condition-preview-card h3 { margin:0; color:#f1f4f7; font-size:16px; }.condition-section-title p { margin:4px 0 0; color:#8f9aa6; font-size:12px; }
.condition-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.condition-form-grid label,.condition-evaluation-form label,.condition-save-section>label { display:grid; gap:7px; color:#bdc6d0; font-size:12px; font-weight:700; }
.condition-reference-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:13px;border:1px solid #2f3944;border-radius:10px;background:#10161d}.condition-reference-fields[hidden]{display:none}.condition-reference-fields label{display:grid;gap:7px;color:#bdc6d0;font-size:12px;font-weight:700}
.condition-amount-input { display:grid; grid-template-columns:minmax(0,1fr) 42px; align-items:center; border:1px solid #38414d; border-radius:9px; overflow:hidden; background:#0c1015; }
.condition-amount-input input { border:0; border-radius:0; }
.condition-amount-input b { color:#dce4eb; text-align:center; font-size:13px; }
.condition-schedule-presets { display:flex; flex-wrap:wrap; gap:6px; }
.condition-schedule-presets button { min-height:32px; padding:6px 9px; border:1px solid #3d4c59; border-radius:999px; color:#cbd6dc; background:#151b22; font-size:11px; font-weight:700; cursor:pointer; }
.condition-schedule-presets button:hover,.condition-schedule-presets button:focus-visible { border-color:#49b9aa; color:#8ce9db; background:#102522; }
.condition-allocation-preview { grid-column:1/-1; display:grid; gap:5px; padding:13px 15px; border:1px solid #376b64; border-radius:10px; color:#cbd6dc; background:#10201e; }
.condition-allocation-preview strong { color:#78dfd0; }.condition-allocation-preview span { font-size:13px; }.condition-allocation-preview small { color:#8fa6a2; }
.condition-risk-sizing { grid-column:1/-1; border:1px solid #3b4652; border-radius:10px; background:#10161c; }
.condition-risk-sizing summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 15px; cursor:pointer; list-style:none; }
.condition-risk-sizing summary::-webkit-details-marker { display:none; }
.condition-risk-sizing summary span { display:grid; gap:3px; }.condition-risk-sizing summary small { color:#8f9ba7; font-weight:400; }
.condition-risk-sizing[open] summary>b { transform:rotate(180deg); }.condition-risk-sizing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0 15px 12px; }
.condition-risk-sizing-result { margin:0 15px 12px; padding:11px 12px; border-radius:8px; color:#bcd0cc; background:#0b1115; font-size:12px; line-height:1.55; }
.condition-risk-sizing-result strong { color:#78dfd0; }.condition-risk-sizing>.button { width:calc(100% - 30px); margin:0 15px 15px; }
.condition-position-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.condition-position-grid label { display:grid; gap:7px; color:#bdc6d0; font-size:12px; font-weight:700; }.condition-position-grid select { width:100%; height:42px; border:1px solid #3a4552; border-radius:9px; color:#edf1f5; background:#0d1217; }.condition-position-grid a { color:#6bd3c5; font-size:12px; text-decoration:none; }.condition-position-help { margin:13px 0 0; padding:10px 12px; border-radius:8px; color:#b8c2cc; background:#101820; font-size:12px; }
.condition-builder { display:grid; gap:10px; }.condition-group { min-width:0; margin:0; padding:14px; border:1px solid #35404c; border-radius:12px; background:#10151a; }.condition-group.depth-1 { border-left:3px solid #4ec9b8; }.condition-group.depth-2 { border-left:3px solid #7f8cff; }.condition-group.depth-3 { border-left:3px solid #d294ff; }
.condition-group legend { display:flex; align-items:center; gap:8px; padding:0 6px; }.condition-group legend select { height:34px; border:1px solid #3a4653; border-radius:8px; color:#eef2f5; background:#1b222a; font-weight:800; }.condition-group legend small { color:#7f8995; }.condition-group legend button,.condition-group-actions button { border:0; color:#8fded3; background:transparent; font-size:12px; }
.condition-group-children { display:grid; gap:10px; }.condition-group-actions { display:flex; gap:8px; padding-top:11px; }
.condition-row { display:grid; grid-template-columns:68px 88px minmax(180px,1fr) 132px minmax(180px,1fr) 34px; gap:9px; align-items:start; padding:12px; border:1px solid #29323b; border-radius:10px; background:#181e25; }.condition-row.is-disabled{border-style:dashed;opacity:.58}.condition-row.is-disabled .condition-value,.condition-row.is-disabled .condition-row-control{filter:saturate(.45)}.condition-row-index { padding-top:11px; color:#788491; font-size:11px; font-weight:800; }.condition-operator,.condition-value select,.condition-value input { width:100%; min-height:39px; border:1px solid #3a4552; border-radius:8px; color:#edf1f5; background:#0d1217; }
.condition-enable-switch{display:grid;grid-template-columns:30px;justify-items:center;gap:3px;padding-top:4px;color:#8d98a3;font-size:10px;font-weight:800;cursor:pointer}.condition-enable-switch input{position:absolute;opacity:0;pointer-events:none}.condition-enable-switch span{position:relative;width:30px;height:17px;border-radius:999px;background:#414a53;transition:.18s}.condition-enable-switch span::after{content:"";position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:#c7ced4;transition:.18s}.condition-enable-switch input:checked+span{background:#238b7c}.condition-enable-switch input:checked+span::after{transform:translateX(13px);background:#fff}.condition-enable-switch:has(input:focus-visible){outline:2px solid #76d9cb;outline-offset:2px;border-radius:6px}
.condition-value { display:grid; gap:7px; }.condition-timeframe { width:100%; height:39px; border:1px solid #3a4552; border-radius:8px; color:#7ee0d3; background:#0d1217; font-weight:800; }.condition-value-select{position:relative}.condition-indicator-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:39px;padding:7px 10px;border:1px solid #3a4552;border-radius:8px;color:#edf1f5;background:#0d1217;text-align:left}.condition-indicator-trigger::after{content:"▾";color:#8d99a4}.condition-indicator-trigger small{color:#7f8b96;font-size:10px}.condition-indicator-menu{position:absolute;z-index:210;top:43px;left:0;width:max(310px,100%);max-height:370px;overflow:auto;padding:7px;border:1px solid #45515e;border-radius:10px;background:#121820;box-shadow:0 18px 50px rgba(0,0,0,.62);scrollbar-gutter:stable}.condition-indicator-menu section+section{margin-top:7px;padding-top:7px;border-top:1px solid #28323c}.condition-indicator-menu section>strong{display:block;padding:4px 7px;color:#78d9cd;font-size:11px}.condition-indicator-menu button{display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,.8fr);gap:8px;width:100%;padding:8px;border:0;border-radius:7px;color:#e4e9ed;background:transparent;text-align:left}.condition-indicator-menu button small{color:#87939e}.condition-indicator-menu button:hover,.condition-indicator-menu button:focus-visible{outline:0;background:#26313a}.condition-indicator-menu button.is-selected{color:#8de7dc;background:#182a2c}.condition-indicator-mobile-help{display:none;margin-top:4px;color:#81909b;font-size:10px}.condition-value-options { display:flex; flex-wrap:wrap; gap:6px; }.condition-value-options label { max-width:145px; color:#87929e; font-size:10px; }.condition-value-options input { height:31px; min-height:31px; margin-top:3px; }.condition-value.constant { grid-template-columns:110px 1fr; }.condition-remove { width:32px; height:39px; padding:0; border:0; border-radius:8px; color:#c48389; background:#24191d; font-size:20px; }
.condition-slope-source{display:grid;grid-template-columns:repeat(2,minmax(115px,1fr));gap:6px;flex:1 1 100%;padding:9px;border:1px solid #2c4c4a;border-radius:8px;background:#101c1d}.condition-slope-source>label{max-width:none}.condition-slope-source select{margin-top:3px;border-color:#37716a;color:#8de6d9}
.condition-field-help{display:block;width:fit-content;cursor:help;border-bottom:1px dotted #719a96;color:#a9babd}.condition-field-help:focus-visible{border-radius:3px;outline:2px solid #62cfc2;outline-offset:2px}.condition-slope-mobile-help{display:none;margin-top:4px;color:#81909b;font-size:10px;font-weight:500}
.condition-row-control { display:contents; }
.condition-row-control > span,
.condition-value::before { display:none; }
.condition-remove b { display:none; }
.condition-help { display:inline-grid; place-items:center; width:23px; height:23px; padding:0; border:1px solid #4a5663; border-radius:50%; color:#aeb9c5; background:#1c232b; font-size:11px; }.condition-help-popover { position:fixed; z-index:280; pointer-events:none; width:min(320px,calc(100vw - 24px)); padding:13px; border:1px solid #45515e; border-radius:10px; color:#dfe5eb; background:#1b222a; box-shadow:0 14px 45px rgba(0,0,0,.55); }.condition-help-popover strong { display:block; color:#fff; }.condition-help-popover small,.condition-help-popover em { color:#73d8ca; }.condition-help-popover p { margin:7px 0; font-size:12px; line-height:1.55; }.condition-help-popover .condition-help-formula{display:grid;gap:4px;padding:8px;border-radius:7px;color:#d9eee9;background:#10191d;font-family:Consolas,monospace}.condition-help-popover .condition-help-formula b{color:#73d8ca;font:700 11px/1.2 system-ui,sans-serif}
.condition-preview-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }.condition-preview-card { min-width:0; padding:17px; border:1px solid #2c343f; border-radius:14px; background:#14191f; }.condition-preview-card header { display:flex; justify-content:space-between; gap:10px; }.condition-preview-card header>div { display:flex; align-items:center; gap:9px; }.condition-preview-card header button { color:#79dacc; background:transparent; border:0; }.condition-preview-card p { color:#d8dee5; line-height:1.65; }.condition-preview-card pre { min-height:90px; margin:13px 0 0; padding:12px; overflow:auto; border-radius:9px; color:#a8e6dc; background:#0b1014; font:12px/1.6 Consolas,monospace; white-space:pre-wrap; }
.condition-evaluation-form { display:grid; grid-template-columns:minmax(260px,560px); gap:10px; align-items:end; }.condition-evaluation-form small { color:#79d5c8; }.condition-stock-lookup { position:relative; }.condition-stock-lookup>div { position:absolute; z-index:30; top:46px; left:0; right:0; padding:6px; border:1px solid #3b4550; border-radius:9px; background:#11171d; box-shadow:0 15px 40px rgba(0,0,0,.5); }.condition-stock-lookup button { display:flex; justify-content:space-between; width:100%; padding:9px; border:0; border-radius:6px; color:#edf1f5; background:transparent; text-align:left; }.condition-stock-lookup button:hover { background:#202831; }.condition-stock-lookup span { color:#8e9aa6; }.condition-evaluation-result { margin-top:13px; padding:13px; border-radius:9px; color:#aeb7c1; background:#0e1318; }.condition-evaluation-result strong { display:block; margin-bottom:5px; }.condition-evaluation-result p { margin:0; }.condition-evaluation-result.is-true strong { color:#5ed3a6; }.condition-evaluation-result.is-false strong { color:#ff7a82; }.condition-evaluation-result.is-unknown strong { color:#f0c36b; }
.condition-test-chart { margin-top:12px; overflow:hidden; border:1px solid #2d3741; border-radius:11px; background:#0b1014; }.condition-test-chart header { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:10px 15px; padding:11px 13px; border-bottom:1px solid #28313a; }.condition-test-chart canvas { display:block; width:100%; height:300px; }
.condition-chart-indicator-summary{display:flex;min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:5px;color:#8f9ba7;font-size:12px;line-height:1.45}.condition-chart-indicator-summary>strong{margin-right:3px;color:#aab6c1;font-size:11px}.condition-chart-indicator-summary>span{padding:3px 7px;border:1px solid #314049;border-radius:999px;color:#b8d7d2;background:#111c20;white-space:normal;overflow-wrap:anywhere}
.condition-error-summary { margin:14px 22px 0; padding:12px 14px; border:1px solid #7b3f48; border-radius:10px; color:#ffd9dc; background:#28171b; }.condition-error-summary p { margin:5px 0; }.condition-versions { margin-top:15px; }.condition-versions h4 { color:#e9edf1; }.condition-versions>div { display:grid; grid-template-columns:150px 1fr auto; gap:9px; padding:9px 0; border-top:1px solid #2b333d; color:#adb7c1; font-size:12px; }.condition-versions em { color:#7f8a96; font-style:normal; }.condition-versions button { color:#72d8ca; border:0; background:transparent; }
@media(max-width:1100px){.condition-page{grid-template-columns:1fr}.condition-list{max-height:340px}.condition-row{grid-template-columns:1fr}.condition-row-index{display:none}.condition-remove{width:100%}}
@media(max-width:680px){.condition-page{padding:8px}.condition-form-grid,.condition-preview-grid,.condition-position-grid,.condition-risk-sizing-grid,.condition-reference-fields{grid-template-columns:1fr}.condition-evaluation-form{grid-template-columns:1fr}.condition-editor-scroll{padding:12px}.condition-editor-toolbar{align-items:flex-start;flex-direction:column}.condition-row{padding:9px}}
@media(max-width:680px){.condition-indicator-menu{position:fixed;z-index:260;top:auto;right:10px;bottom:10px;left:10px;width:auto;max-height:min(62vh,520px)}.condition-indicator-menu button{min-height:46px}.condition-indicator-mobile-help,.condition-slope-mobile-help{display:block}}
@media(max-width:680px){.chart-indicator-mobile-help{display:block;grid-column:1/-1}.context-help-popover{left:12px!important;right:12px!important;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto}}
@media(max-width:680px){.condition-test-chart header{grid-template-columns:1fr}.condition-chart-indicator-summary{justify-content:flex-start}}

@media(max-width:800px){
    .condition-page{display:block;min-height:calc(100vh - 116px);padding:8px;scroll-margin-top:124px}
    .condition-page[data-mobile-view="list"] .condition-editor-panel{display:none}
    .condition-page[data-mobile-view="editor"] .condition-list-panel{display:none}
    .condition-list-panel,.condition-editor-panel{border-radius:12px;box-shadow:none}
    .condition-list-panel{padding:12px}
    .condition-panel-heading{align-items:flex-end}
    .condition-panel-heading .button{min-height:44px;white-space:nowrap}
    .condition-preset-import{align-items:stretch;flex-direction:column}.condition-preset-import .button{width:100%;min-height:44px}
    .condition-list-filter{grid-template-columns:minmax(0,1fr) 96px;margin:12px 0}
    .condition-list-filter input,.condition-list-filter select{height:44px}
    .condition-list{max-height:none;overflow:visible}
    .condition-list-item{min-height:96px;padding:13px;padding-right:58px;touch-action:manipulation}
    .condition-list-item p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
    .condition-editor-toolbar{position:sticky;z-index:45;top:calc(116px + env(safe-area-inset-top, 0px));align-items:stretch;padding:10px 12px}
    .condition-editor-heading{width:100%}
    .condition-editor-heading>div{min-width:0}
    .condition-editor-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .condition-mobile-back{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:44px;padding:0 10px;border:1px solid #3a4652;border-radius:9px;color:#d7e0e7;background:#171d23;font-weight:800}
    .condition-editor-actions{display:flex;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
    .condition-editor-actions::-webkit-scrollbar{display:none}
    .condition-editor-actions .button{flex:0 0 auto;min-height:44px;white-space:nowrap}
    .condition-editor-actions #saveConditionButton{order:-1;min-width:108px}
    .condition-mobile-sections{position:sticky;z-index:44;top:calc(224px + env(safe-area-inset-top, 0px));display:flex;gap:6px;padding:8px 12px;overflow-x:auto;border-bottom:1px solid #29313a;background:#11151af2;backdrop-filter:blur(8px);scrollbar-width:none}
    .condition-mobile-sections::-webkit-scrollbar{display:none}
    .condition-mobile-sections button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:40px;padding:0 12px;border:1px solid #303a44;border-radius:999px;color:#b8c3cc;background:#151b20;font-size:12px;font-weight:800}
    .condition-section,.condition-preview-card{scroll-margin-top:286px}
    .condition-editor-scroll{padding:10px}
    .condition-section{padding:14px}
    .condition-form-grid input,.condition-form-grid select,.condition-evaluation-form input,.condition-save-section input{min-height:44px}
    .condition-group{padding:10px}
    .condition-group-actions button{min-height:44px;padding:0 10px;border:1px solid #31423f;border-radius:8px;background:#14211f}
    .condition-wts-chart .wts-chart{min-height:620px;height:72vh}
}

/* Running rule bot buy-condition matches */
.buy-opportunity-page{width:min(1480px,calc(100% - 40px));min-height:calc(100vh - 170px);margin:0 auto;padding:42px 0 64px}
.buy-opportunity-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.buy-opportunity-heading h1{margin:4px 0 8px;font-size:clamp(34px,5vw,64px);letter-spacing:-.05em}
.buy-opportunity-heading p:last-child{max-width:780px;margin:0;color:#9aa6b2;font-size:15px;line-height:1.7}
.buy-opportunity-live{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #33404a;border-radius:999px;color:#aab4be;background:#11161a;font-size:12px;font-weight:800;white-space:nowrap}
.buy-opportunity-live i{width:8px;height:8px;border-radius:50%;background:#88929c;box-shadow:0 0 0 4px rgba(136,146,156,.1)}
.buy-opportunity-live.is-live{border-color:#245b51;color:#78dfce}.buy-opportunity-live.is-live i{background:#3dd6bc;box-shadow:0 0 0 4px rgba(61,214,188,.13)}
.buy-opportunity-live.is-polling{color:#e7c06e}.buy-opportunity-live.is-polling i{background:#d5a84d}.buy-opportunity-live.is-error{color:#ff858a}.buy-opportunity-live.is-error i{background:#ff5964}
.buy-opportunity-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.buy-opportunity-summary article{display:grid;gap:8px;min-height:92px;padding:18px 20px;border:1px solid #2d363e;border-radius:14px;background:linear-gradient(145deg,#151a20,#101418)}
.buy-opportunity-summary span{color:#87939f;font-size:12px}.buy-opportunity-summary strong{font-size:24px;font-variant-numeric:tabular-nums}
.buy-opportunity-controls{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(170px,.7fr) minmax(240px,1.4fr) auto;gap:10px;padding:14px;border:1px solid #2a343d;border-radius:14px;background:#0e1317}
.buy-opportunity-controls label{display:grid;gap:6px;color:#9aa7b3;font-size:11px;font-weight:800}
.buy-opportunity-controls select,.buy-opportunity-controls input{width:100%;min-width:0;height:44px;padding:0 13px;border:1px solid #34414b;border-radius:10px;background:#11171c;color:#edf1f4}
.buy-opportunity-controls .button{align-self:end;min-height:44px;margin:0}
.buy-opportunity-asof{min-height:20px;margin:11px 2px;color:#778590;font-size:11px;text-align:right}
.buy-opportunity-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.buy-opportunity-card{min-width:0;padding:14px;border:1px solid #2d3841;border-radius:13px;background:#11161b;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.buy-opportunity-card.is-active{border-color:#286458;background:linear-gradient(145deg,rgba(27,71,63,.3),#11161b 44%)}.buy-opportunity-card.is-exited{opacity:.76}
.buy-opportunity-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.buy-opportunity-card>header>a{display:flex;min-width:0;align-items:center;gap:11px;color:inherit;text-decoration:none}
.buy-opportunity-card>header>a>span:last-child{display:grid;min-width:0;gap:3px}.buy-opportunity-card>header strong{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.buy-opportunity-card>header small{overflow:hidden;color:#82909b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.buy-opportunity-symbol{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border:1px solid #36534d;border-radius:12px;color:#78dfce;background:#172823;font-size:17px;font-weight:900}
.buy-opportunity-state{flex:0 0 auto;padding:6px 9px;border-radius:999px;color:#80e3d3;background:#16332e;font-size:10px;font-weight:900}.is-exited .buy-opportunity-state{color:#aeb7c0;background:#252b31}
.buy-opportunity-price{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:13px 0 10px}.buy-opportunity-price strong{font-size:20px;font-variant-numeric:tabular-nums}.buy-opportunity-price span{color:#7e8b96;font-size:10px;text-align:right}
.buy-opportunity-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.buy-opportunity-card dl div{display:grid;gap:5px;padding:10px;border:1px solid #28323a;border-radius:9px;background:#0d1216}.buy-opportunity-card dt{color:#75828d;font-size:10px}.buy-opportunity-card dd{margin:0;font-size:12px;font-variant-numeric:tabular-nums}
.buy-opportunity-card details{margin-top:12px;border-top:1px solid #29323a}.buy-opportunity-card summary{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;color:#c7d0d7;font-size:12px;font-weight:800;cursor:pointer}.buy-opportunity-card summary span{color:#65d9c7;font-size:10px}.buy-opportunity-card ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.buy-opportunity-card li{display:grid;gap:3px;padding:10px;border-radius:9px;background:#0c1115}.buy-opportunity-card li b{color:#75ddcc;font-size:11px}.buy-opportunity-card li span{color:#aeb8c1;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.buy-opportunity-empty{display:grid;grid-column:1/-1;min-height:210px;place-items:center;align-content:center;gap:14px;padding:28px;border:1px dashed #36414a;border-radius:15px;color:#9da9b3;text-align:center}.buy-opportunity-empty.is-error{color:#ff8b91}
.buy-opportunity-guide{display:grid;gap:7px;margin-top:14px;padding:16px 18px;border:1px solid #313b43;border-radius:13px;background:#10151a}.buy-opportunity-guide strong{font-size:13px}.buy-opportunity-guide p{margin:0;color:#8f9ca7;font-size:12px;line-height:1.65}.buy-opportunity-guide b{color:#72ddcc}
@media(max-width:1180px){.buy-opportunity-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
    .buy-opportunity-page{width:100%;padding:18px 12px 42px}
    .buy-opportunity-heading{align-items:flex-start;flex-direction:column;gap:14px}.buy-opportunity-heading h1{font-size:35px}.buy-opportunity-live{align-self:flex-start}
    .buy-opportunity-summary{display:flex;overflow-x:auto;padding-bottom:3px;scroll-snap-type:x proximity}.buy-opportunity-summary article{flex:0 0 142px;min-height:82px;padding:14px;scroll-snap-align:start}.buy-opportunity-summary strong{font-size:20px}
    .buy-opportunity-controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:11px}.buy-opportunity-search{grid-column:1/-1}.buy-opportunity-controls .button{grid-column:1/-1;width:100%}
    .buy-opportunity-list{grid-template-columns:minmax(0,1fr)}.buy-opportunity-card{padding:14px}.buy-opportunity-card>header strong{font-size:16px}.buy-opportunity-price strong{font-size:20px}
}
@media(max-width:390px){.buy-opportunity-page{padding-inline:9px}.buy-opportunity-controls{grid-template-columns:minmax(0,1fr)}.buy-opportunity-controls label,.buy-opportunity-search,.buy-opportunity-controls .button{grid-column:1}.buy-opportunity-card dl{grid-template-columns:minmax(0,1fr)}}

@media (max-width:700px){.workflow-bot-list-toolbar{align-items:stretch!important;flex-direction:column!important;gap:10px!important}.workflow-bot-list-toolbar label{flex-basis:auto!important}.workflow-bot-list-toolbar select{min-height:44px}}

/* Rule bot market-regime profiles */
.rule-bot-market-regime{margin:14px 0 18px;border:1px solid #34424a;border-radius:12px;background:#0d1418}.rule-bot-market-regime>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style:none}.rule-bot-market-regime>summary::-webkit-details-marker{display:none}.rule-bot-market-regime>summary span{display:grid;gap:4px}.rule-bot-market-regime>summary small,.market-regime-body>p{color:var(--muted)}.rule-bot-market-regime>summary>b{font-size:22px;transition:transform .2s ease}.rule-bot-market-regime[open]>summary>b{transform:rotate(180deg)}.market-regime-body{display:grid;gap:14px;padding:0 16px 16px}.market-regime-toggle{padding:12px;border:1px solid #31524d;border-radius:9px;background:#10201e}.market-regime-definition{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.market-regime-definition label{display:grid;gap:6px}.market-regime-definition label small{color:var(--muted)}.market-regime-profile-grid{display:grid;grid-template-columns:minmax(88px,.55fr) repeat(3,minmax(110px,1fr));gap:8px;align-items:center;padding:12px;border:1px solid #2b373e;border-radius:10px;background:#11191d}.market-regime-profile-grid>strong{color:var(--muted);font-size:12px}.market-regime-profile-grid>b{color:#dce6eb}.market-regime-profile-grid label{display:grid;grid-template-columns:1fr auto;align-items:center}.market-regime-profile-grid label span{padding:0 9px;color:var(--muted)}.market-regime-preview{padding:10px 12px;border-radius:8px;background:#142420;color:#9be0d4;font-size:13px;line-height:1.5}.market-regime-preview.is-warning{background:#342719;color:#efbd70}.workflow-bot-regime-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:9px 12px;border:1px solid #354049;border-radius:8px;background:#0c1216}.workflow-bot-regime-summary b{color:#aeb8bf}.workflow-bot-regime-summary.is-enabled{border-color:#31524d;background:#10201e}.workflow-bot-regime-summary.is-enabled b{color:#7edfd1}.workflow-bot-regime-summary span{overflow:hidden;color:#afc3c0;text-overflow:ellipsis;white-space:nowrap}.market-regime-audit-list{display:grid;gap:8px;padding:12px;border:1px solid #31524d;border-radius:9px;background:#0d1718}.market-regime-audit-list>article{display:grid;gap:3px;padding-top:8px;border-top:1px solid #28363b}.market-regime-audit-list>article span,.market-regime-audit-list>article small{color:var(--muted);font-size:12px}
@media(max-width:800px){.market-regime-definition{grid-template-columns:1fr 1fr}.market-regime-profile-grid{grid-template-columns:minmax(68px,.6fr) repeat(3,minmax(86px,1fr));overflow-x:auto}.workflow-bot-regime-summary{grid-template-columns:1fr}.workflow-bot-regime-summary span{white-space:normal}}
@media(max-width:520px){.market-regime-definition{grid-template-columns:1fr}.market-regime-profile-grid{font-size:12px}.market-regime-profile-grid input{min-width:72px;padding-inline:8px}}

/* Rule bot stop-loss re-entry guard */
.rule-bot-reentry-risk{margin:0 0 18px;border:1px solid #3d3949;border-radius:12px;background:#121119}.rule-bot-reentry-risk>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style:none}.rule-bot-reentry-risk>summary::-webkit-details-marker{display:none}.rule-bot-reentry-risk>summary span{display:grid;gap:4px}.rule-bot-reentry-risk>summary small,.reentry-risk-body>p{color:var(--muted)}.rule-bot-reentry-risk>summary>b{font-size:22px;transition:transform .2s ease}.rule-bot-reentry-risk[open]>summary>b{transform:rotate(180deg)}.reentry-risk-body{display:grid;gap:14px;padding:0 16px 16px}.reentry-risk-toggle{padding:12px;border:1px solid #4e4263;border-radius:9px;background:#1c1725}.reentry-risk-definition{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.reentry-risk-definition>label{display:grid;gap:6px}.reentry-risk-definition>label>span{display:grid;grid-template-columns:1fr auto;align-items:center}.reentry-risk-definition small{padding:0 9px;color:var(--muted)}.reentry-risk-preview{padding:10px 12px;border-radius:8px;background:#211a2d;color:#d0b4f5;font-size:13px;line-height:1.5}.workflow-bot-reentry-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:9px 12px;border:1px solid #3d3949;border-radius:8px;background:#121119}.workflow-bot-reentry-summary b{color:#aeb8bf}.workflow-bot-reentry-summary.is-enabled{border-color:#4e4263;background:#1c1725}.workflow-bot-reentry-summary.is-enabled b{color:#d0b4f5}.workflow-bot-reentry-summary span{overflow:hidden;color:#bdb4c9;text-overflow:ellipsis;white-space:nowrap}.reentry-state-list{display:grid;gap:8px;padding:12px;border:1px solid #4e4263;border-radius:9px;background:#15111d}.reentry-state-list>article{display:grid;gap:3px;padding-top:8px;border-top:1px solid #342c40}.reentry-state-list>article span,.reentry-state-list>article small{color:var(--muted);font-size:12px}
@media(max-width:800px){.reentry-risk-definition{grid-template-columns:1fr 1fr}.workflow-bot-reentry-summary{grid-template-columns:1fr}.workflow-bot-reentry-summary span{white-space:normal}}
@media(max-width:520px){.reentry-risk-definition{grid-template-columns:1fr}}
.rule-bot-pair-trade{margin:0 0 18px;border:1px solid #2f4b49;border-radius:12px;background:#101716}.rule-bot-pair-trade>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style:none}.rule-bot-pair-trade>summary::-webkit-details-marker{display:none}.rule-bot-pair-trade>summary span{display:grid;gap:4px}.rule-bot-pair-trade>summary small,.pair-trade-body>p{color:var(--muted)}.rule-bot-pair-trade>summary>b{font-size:22px;transition:transform .2s ease}.rule-bot-pair-trade[open]>summary>b{transform:rotate(180deg)}.pair-trade-body{display:grid;gap:14px;padding:0 16px 16px}.pair-trade-toggle,.pair-trade-risk{padding:12px;border:1px solid #346c64;border-radius:9px;background:#11221f}.pair-trade-definition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pair-trade-definition>label{display:grid;align-content:start;gap:6px}.pair-trade-definition>label>span{display:grid;grid-template-columns:1fr auto;align-items:center}.pair-trade-definition small{padding:0 9px;color:var(--muted)}.pair-trade-preview{padding:10px 12px;border-radius:8px;background:#112a26;color:#8fe1d3;font-size:13px;line-height:1.5}.workflow-bot-pair-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:9px 12px;border:1px solid #2f4b49;border-radius:8px;background:#101716}.workflow-bot-pair-summary b{color:#aeb8bf}.workflow-bot-pair-summary.is-enabled{border-color:#346c64;background:#11221f}.workflow-bot-pair-summary.is-enabled b{color:#8fe1d3}.workflow-bot-pair-summary span{overflow:hidden;color:#aebdb9;text-overflow:ellipsis;white-space:nowrap}.pair-trade-state-list{display:grid;gap:8px;padding:12px;border:1px solid #346c64;border-radius:9px;background:#101b19}.pair-trade-state-list>article{display:grid;gap:3px;padding-top:8px;border-top:1px solid #29413d}.pair-trade-state-list>article span,.pair-trade-state-list>article small{color:var(--muted);font-size:12px}
@media(max-width:800px){.pair-trade-definition{grid-template-columns:1fr 1fr}.workflow-bot-pair-summary{grid-template-columns:1fr}.workflow-bot-pair-summary span{white-space:normal}}
@media(max-width:520px){.pair-trade-definition{grid-template-columns:1fr}}

.description {
    max-width: 700px;
    margin: 28px 0 0;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.8;
}

.status-row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 32px;
    padding: 10px 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: #d6d8dc;
    background: rgba(0, 0, 0, 0.2);
    font-size: 14px;
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #b8bdc5;
    box-shadow: 0 0 14px rgba(216, 218, 221, 0.72);
}

.info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.info-card {
    min-height: 180px;
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(20, 22, 25, 0.82);
}

.info-card .label {
    display: block;
    margin-bottom: 28px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.info-card strong {
    display: block;
    font-size: 22px;
}

.info-card p {
    margin: 10px 0 0;
    color: var(--muted);
}

.site-footer {
    flex: 0 0 auto;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(8, 9, 10, 0.88);
}

.footer-inner {
    width: min(1180px, calc(100% - 40px));
    min-height: 132px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    color: var(--muted);
}

.footer-inner strong {
    color: var(--text);
    font-size: 15px;
}

.footer-inner span,
.footer-inner small {
    font-size: 14px;
}
.footer-links { display:flex; flex-wrap:wrap; gap:8px 14px; }.footer-links a { color:#bfc7d0; font-size:13px; text-decoration:none; }.footer-links a:hover { color:#fff; }
.legal-page{width:min(920px,calc(100% - 32px));margin:0 auto;padding:56px 0 80px}.legal-hero{padding-bottom:24px;border-bottom:1px solid var(--line)}.legal-hero h1{margin:6px 0 10px;font-size:clamp(30px,5vw,44px)}.legal-hero p:last-child{margin:0;color:var(--muted)}.legal-toc{display:grid;gap:10px;margin-top:20px}.legal-toc>strong{font-size:13px}.legal-toc>div{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin;scroll-snap-type:x proximity}.legal-toc a{display:inline-flex;flex:0 0 auto;min-height:40px;align-items:center;padding:0 13px;border:1px solid var(--line);border-radius:999px;color:#d6dde5;background:#111419;text-decoration:none;scroll-snap-align:start}.legal-toc a:hover,.legal-toc a:focus-visible{border-color:#5d6b78;color:#fff}.legal-document{display:grid;gap:14px;margin-top:20px}.legal-document section{padding:22px 24px;border:1px solid #303943;border-radius:12px;background:#12171c;scroll-margin-top:24px}.legal-document h2{margin:0 0 10px;color:#f4f7fa;font-size:18px}.legal-document p{margin:0;color:#b9c2cc;line-height:1.75;word-break:keep-all}.legal-back-to-top{display:inline-flex;min-height:44px;align-items:center;margin-top:18px;padding:0 14px;border:1px solid var(--line);border-radius:10px;color:var(--text);text-decoration:none}@media(max-width:600px){.legal-page{padding:32px 0 56px}.legal-toc{margin-inline:-16px;padding-left:16px}.legal-toc>strong{padding-left:2px}.legal-toc>div{padding-right:16px}.legal-toc a{min-height:44px}.legal-document section{padding:18px;scroll-margin-top:128px}.footer-inner{width:min(100% - 28px,1180px)}}
.profile-referral{display:grid;gap:14px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.profile-section-head h2{margin:4px 0 0}
.profile-card{width:min(860px,100%)}
.profile-referral-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-referral-grid>div{display:grid;gap:6px;padding:13px;border:1px solid #303741;border-radius:10px;background:#111419}.profile-referral-grid span,.profile-referral-grid small{color:var(--muted);font-size:11px}.profile-referral-grid strong{overflow-wrap:anywhere;font-size:17px}
.profile-referrer-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px}.profile-referrer-form label{display:grid;gap:6px;color:var(--muted);font-size:12px}.profile-referrer-form input{min-height:42px;padding:0 11px;border:1px solid #343b44;border-radius:8px;background:#0f1317;color:var(--text)}.profile-referral-notice{margin:0;color:var(--muted);font-size:11px}
.profile-point-wallet{display:grid;gap:12px;padding:16px;border:1px solid #31504b;border-radius:12px;background:#0d1818}.profile-point-heading,.profile-point-heading>div,.profile-point-balances>div{display:grid;gap:5px}.profile-point-heading{grid-template-columns:1fr auto;align-items:end}.profile-point-heading span,.profile-point-heading small,.profile-point-balances span,.profile-point-balances small{color:var(--muted);font-size:11px}.profile-point-heading h3{margin:0;font-size:18px}.profile-point-balances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-point-balances>div{padding:12px;border:1px solid #2d4643;border-radius:10px;background:#111a1a}.profile-point-balances strong{color:#72dfd0;font-size:20px}.profile-point-history{border-top:1px solid #29403e;padding-top:11px}.profile-point-history>summary{display:flex;justify-content:space-between;min-height:36px;align-items:center;cursor:pointer;color:#dce8e6;font-weight:800}.profile-point-history-list{display:grid;gap:7px;margin-top:8px}.profile-point-history-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px;border:1px solid #293b3a;border-radius:9px;background:#101717}.profile-point-history-list article>div{display:flex;flex-wrap:wrap;gap:5px 10px}.profile-point-history-list time,.profile-point-history-list p,.profile-point-history-list small,.profile-point-empty{color:var(--muted);font-size:11px}.profile-point-history-list p,.profile-point-history-list small{grid-column:1/-1;margin:0}.profile-point-history-list b.is-positive{color:#ff6268}.profile-point-history-list b.is-negative{color:#4b9cff}.profile-point-empty{padding:12px 0}.profile-point-wallet>.profile-referral-notice{line-height:1.6}
@media(max-width:680px){.profile-referral-grid{grid-template-columns:1fr}.profile-referrer-form{grid-template-columns:1fr}}
.support-page { width:min(1040px,calc(100% - 32px)); margin:0 auto; padding:56px 0 80px; }.support-page h1 { margin:5px 0 8px; font-size:36px; }.support-page header>p:last-child,.support-page header>div>p:last-child { color:#aeb8c3; }
.support-list,.support-faq { display:grid; gap:10px; margin-top:32px; }.support-list article { display:grid; grid-template-columns:120px 1fr; gap:24px; padding:22px; border:1px solid #303943; border-radius:12px; background:#12171c; }.support-list time { color:#71d7ca; }.support-list strong,.support-faq summary,.support-contact strong { color:#f4f7fa; }.support-list p,.support-faq p,.support-contact p { color:#aeb8c3; }
.support-faq details,.support-contact { padding:19px 22px; border:1px solid #303943; border-radius:12px; background:#12171c; }.support-faq summary { cursor:pointer; font-weight:800; }.support-contact { margin-top:20px; }

@media (max-width: 800px) {
    .topbar {
        height: 64px;
        flex-basis: 64px;
        padding: 0 18px;
    }

    .brand {
        gap: 9px;
        font-size: 16px;
    }

    .brand-logo {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    object-fit: cover;
}


    .guest-actions .button {
        height: 36px;
        padding: 0 11px;
        font-size: 13px;
    }

    .page-shell {
        width: min(100% - 24px, 1180px);
        padding: 36px 0;
    }

    .info-grid {
        grid-template-columns: 1fr;
    }

    .footer-inner {
        width: min(100% - 36px, 1180px);
        min-height: 120px;
    }
}

@media (max-width: 420px) {
    .brand-name {
        max-width: 118px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .guest-actions {
        gap: 6px;
    }

    .guest-actions .button {
        padding: 0 9px;
    }
}

.button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.auth-page-shell {
    width: min(560px, calc(100% - 40px));
    display: flex;
    align-items: center;
    padding: 56px 0;
}

.auth-card {
    width: 100%;
    padding: clamp(28px, 5vw, 44px);
    border: 1px solid var(--line);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(29, 32, 36, 0.98), rgba(14, 16, 18, 0.98));
    box-shadow: var(--shadow);
}

.auth-heading {
    margin-bottom: 30px;
}

.auth-title {
    font-size: clamp(32px, 6vw, 48px);
    line-height: 1.15;
}

.auth-heading p:last-child {
    margin: 14px 0 0;
    color: var(--muted);
    line-height: 1.7;
}

.auth-form {
    display: grid;
    gap: 18px;
}

.password-input-wrap {
    position: relative;
}

.password-input-wrap input {
    padding-right: 76px;
}

.password-visibility-toggle {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 62px;
    height: 40px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px;
    color: #d8dde3;
    background: #242a30;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.password-visibility-toggle:hover,
.password-visibility-toggle:focus-visible {
    color: #fff;
    background: #303840;
}

.field-help {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.field-help.is-valid { color: #70ddd0; }
.field-help.is-invalid { color: #ff9a9a; }

.terms-consent {
    display: flex;
    min-height: 48px;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: #d8dde3;
    background: rgba(255, 255, 255, .025);
    font-size: 13px;
    line-height: 1.65;
    cursor: pointer;
}

.terms-consent input {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin: 1px 0 0;
}

.terms-consent a { color: #fff; font-weight: 700; }
.terms-consent strong { color: #70ddd0; font-size: 11px; }

.form-field {
    display: grid;
    gap: 8px;
}

.form-field label {
    color: #d9dce0;
    font-size: 13px;
    font-weight: 700;
}

.form-field input,
.form-field select {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    outline: none;
    color: var(--text);
    background: #0d0f11;
    font: inherit;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.form-field input:focus,
.form-field select:focus {
    border-color: #70757d;
    box-shadow: 0 0 0 3px rgba(216, 218, 221, 0.08);
}

.form-field input::placeholder {
    color: #d3d6dc;
}

.field-error {
    margin: 0;
    color: #ff8d8d;
    font-size: 14px;
    line-height: 1.5;
}

.form-message {
    margin-bottom: 22px;
    padding: 13px 15px;
    border: 1px solid;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.6;
}

.form-message-error {
    color: #ffb1b1;
    border-color: rgba(255, 111, 111, 0.35);
    background: rgba(125, 26, 26, 0.18);
}

.form-message-success {
    color: #d5d9de;
    border-color: #41464d;
    background: rgba(255, 255, 255, 0.04);
}

.auth-submit {
    width: 100%;
    height: 48px;
    margin-top: 4px;
    cursor: pointer;
}

.auth-link-row {
    margin: 24px 0 0;
    color: var(--muted);
    text-align: center;
    font-size: 13px;
}

.auth-link-row a {
    color: var(--text);
    font-weight: 700;
}

.auth-secondary-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 24px;
}

.auth-secondary-actions a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: #d8dde3;
    background: rgba(255, 255, 255, .025);
    text-align: center;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.auth-secondary-actions .auth-signup-link { grid-column: 1 / -1; }
.auth-secondary-actions a:hover,
.auth-secondary-actions a:focus-visible { border-color: #5d6b78; background: rgba(255, 255, 255, .06); }

.otp-code-input {
    text-align: center;
    letter-spacing: .35em;
    font-size: 22px !important;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
    .topbar {
        height: 64px;
        flex-basis: 64px;
        padding: 0 16px;
    }

    .brand-name {
        display: none;
    }

    .guest-actions {
        gap: 6px;
    }

    .button {
        padding: 0 12px;
    }

    .auth-page-shell {
        width: min(100% - 24px, 560px);
        padding: 28px 0;
    }

    .footer-inner {
        width: calc(100% - 32px);
    }
}


.account-menu {
    position: relative;
}

.account-menu > summary {
    list-style: none;
}

.account-menu > summary::-webkit-details-marker {
    display: none;
}

.account-menu[open] .account-menu-panel {
    display: block;
}

.account-menu-panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    min-width: 230px;
    max-height: calc(100vh - 88px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #111315;
    box-shadow: var(--shadow);
    z-index: 30;
}

.account-menu-panel form {
    margin: 0;
}

.account-menu-item {
    width: 100%;
    padding: 11px 12px;
    border: 0;
    border-radius: 8px;
    color: var(--text);
    background: transparent;
    text-align: left;
    font: inherit;
    cursor: pointer;
}

.account-menu-item:hover {
    background: rgba(255, 255, 255, 0.06);
}


.auth-link-stack {
    margin-top: 24px;
}

.auth-link-stack .auth-link-row {
    margin-top: 8px;
}

.auth-link-stack .auth-link-row:first-child {
    margin-top: 0;
}

.find-id-result {
    display: grid;
    gap: 8px;
}

.find-id-result span {
    color: var(--muted);
    font-size: 14px;
}

.find-id-result strong {
    color: var(--text);
    font-size: 20px;
    letter-spacing: 0.04em;
}


.account-menu-link {
    display: block;
    text-decoration: none;
}

.otp-setup {
    display: grid;
    justify-items: center;
    gap: 18px;
    margin-bottom: 24px;
}

.otp-qr {
    width: min(280px, 100%);
    aspect-ratio: 1;
    padding: 10px;
    border-radius: 14px;
    background: #ffffff;
}

.otp-manual {
    width: 100%;
    display: grid;
    gap: 8px;
    text-align: center;
}

.otp-manual span {
    color: var(--muted);
    font-size: 14px;
}

.otp-manual strong {
    overflow-wrap: anywhere;
    font-size: 15px;
    letter-spacing: 0.08em;
}

.otp-guide {
    margin: 0 0 24px;
    padding-left: 22px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.8;
}


.settings-page-shell {
    display: grid;
    gap: 24px;
}

.settings-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.settings-header p:last-child {
    margin: 14px 0 0;
    color: var(--muted);
}

.settings-title {
    font-size: clamp(32px, 5vw, 52px);
}

.credential-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.credential-card,
.empty-state {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(20, 22, 25, 0.88);
}

.credential-card {
    padding: 24px;
}

.credential-card-head {
    display: grid;
    gap: 10px;
}

.credential-card-head strong {
    font-size: 20px;
}

.credential-type {
    width: fit-content;
    padding: 5px 9px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.credential-info {
    display: grid;
    gap: 12px;
    margin: 24px 0;
}

.credential-info div {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 12px;
}

.credential-info dt {
    color: var(--muted);
    font-size: 14px;
}

.credential-info dd {
    margin: 0;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.credential-key {
    font-family: Consolas, monospace;
}

.credential-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.credential-actions form {
    margin: 0;
}

.button-danger {
    color: #ffb1b1;
    border-color: rgba(255, 111, 111, 0.35);
    background: rgba(125, 26, 26, 0.18);
    cursor: pointer;
}

.empty-state {
    padding: 56px 24px;
    text-align: center;
}

.empty-state p {
    margin: 12px 0 0;
    color: var(--muted);
}

@media (max-width: 800px) {
    .settings-header {
        align-items: stretch;
        flex-direction: column;
    }

    .credential-grid {
        grid-template-columns: 1fr;
    }
}


.form-field select {
    padding-right: 46px;
    appearance: none;
    -webkit-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #8f959d 50%),
        linear-gradient(135deg, #8f959d 50%, transparent 50%);
    background-position:
        calc(100% - 20px) 21px,
        calc(100% - 15px) 21px;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.form-field select:disabled {
    color: var(--text);
    opacity: 1;
    cursor: default;
}


.readonly-input {
    color: var(--muted) !important;
    background: #15171a !important;
    cursor: not-allowed;
}

.field-help {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
}

.profile-security-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 24px;
}

@media (max-width: 480px) {
    .profile-security-links {
        grid-template-columns: 1fr;
    }
}


[hidden] {
    display: none !important;
}

.credential-actions .button {
    cursor: pointer;
}


.account-balance-panel {
    margin-top: 24px;
    padding: 22px;
    border: 1px solid #33363b;
    border-radius: 16px;
    background: linear-gradient(145deg, #17181a, #101113);
}

.balance-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.balance-panel-head h2 {
    margin: 4px 0 0;
}

.balance-panel-head > span {
    color: #a6a8ad;
    font-size: 13px;
}

.balance-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 18px;
}

.balance-summary div {
    padding: 14px;
    border: 1px solid #303238;
    border-radius: 12px;
    background: #131416;
}

.balance-summary dt {
    color: #8e9198;
    font-size: 14px;
}

.balance-summary dd {
    margin: 7px 0 0;
    color: #f1f1f2;
    font-size: 17px;
    font-weight: 700;
}

.balance-table-wrap {
    overflow-x: auto;
}

.balance-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
}

.balance-table th,
.balance-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #2b2d31;
    text-align: right;
    white-space: nowrap;
}

.balance-table th:first-child,
.balance-table th:nth-child(2),
.balance-table td:first-child,
.balance-table td:nth-child(2) {
    text-align: left;
}

.balance-table th {
    color: #989ba1;
    font-size: 14px;
    font-weight: 600;
}

.balance-table td {
    color: #dedfe1;
    font-size: 13px;
}

.balance-empty {
    padding: 28px !important;
    color: #8f9298 !important;
    text-align: center !important;
}

@media (max-width: 960px) {
    .balance-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .balance-panel-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .balance-summary {
        grid-template-columns: 1fr;
    }
}


/* API Key management spacing */
.api-key-page {
    gap: 16px;
}

.api-key-page .form-message {
    margin-bottom: 0;
}

.api-key-page .credential-card {
    padding-bottom: 18px;
}

.api-key-page .credential-card-head {
    gap: 4px;
}


/* Trading workspace */
.stock-search-bar {
    position: sticky;
    top: 72px;
    z-index: 90;
    min-height: 68px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(12, 13, 15, 0.96);
    backdrop-filter: blur(18px);
}

.stock-search-inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 680px) minmax(0, 1fr);
    align-items: center;
    gap: 12px;
}

.stock-search-box {
    grid-column: 2;
    position: relative;
    min-width: 0;
}

.stock-search-status {
    grid-column: 3;
    justify-self: end;
}

.stock-search-box input {
    width: 100%;
    height: 44px;
    padding: 0 150px 0 44px;
    border: 1px solid #383b40;
    border-radius: 10px;
    outline: none;
    color: var(--text);
    background: #0a0b0d;
    font: inherit;
}

.stock-search-box input:focus {
    border-color: #777c84;
    box-shadow: 0 0 0 3px rgba(216, 218, 221, 0.07);
}

.stock-search-icon {
    position: absolute;
    top: 14px;
    left: 16px;
    width: 14px;
    height: 14px;
    border: 1.5px solid #8d929a;
    border-radius: 50%;
    pointer-events: none;
}

.stock-search-icon::after {
    content: "";
    position: absolute;
    right: -5px;
    bottom: -3px;
    width: 6px;
    height: 1.5px;
    background: #8d929a;
    transform: rotate(45deg);
    transform-origin: left center;
}

.stock-search-hint {
    position: absolute;
    top: 14px;
    right: 14px;
    color: #bcc1c9;
    font-size: 14px;
    pointer-events: none;
}

.stock-search-results {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    max-height: 420px;
    overflow-y: auto;
    padding: 6px;
    border: 1px solid #35383d;
    border-radius: 12px;
    background: #101214;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.52);
}

.stock-search-result {
    width: 100%;
    min-height: 58px;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: center;
    gap: 5px;
    padding: 10px 12px;
    border: 0;
    border-radius: 8px;
    color: var(--text);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.stock-search-result:hover,
.stock-search-result.is-active {
    background: rgba(255, 255, 255, 0.07);
}

.stock-search-result strong {
    font-size: 14px;
}

.stock-search-result span,
.stock-search-message {
    color: var(--muted);
    font-size: 14px;
}

.stock-search-message {
    padding: 18px 14px;
}

.stock-search-status {
    display: inline-flex;
    align-items: center;
    justify-self: end;
    gap: 8px;
    color: var(--muted);
    font-size: 14px;
    white-space: nowrap;
}

.stock-search-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #6d727a;
}

.stock-search-status.is-connected .stock-search-status-dot {
    background: #c7cbd1;
    box-shadow: 0 0 10px rgba(216, 218, 221, 0.5);
}

.trading-main {
    width: 100%;
    flex: 1 0 auto;
    margin: 0 auto;
    padding: 0;
}

.market-workspace {
    display: grid;
    grid-template-columns: minmax(170px, 1fr) minmax(0, 4fr) minmax(460px, 2.4fr);
    height: calc(100vh - 72px);
    min-height: 640px;
    border-top: 1px solid #303238;
    border-bottom: 1px solid #303238;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    overflow: hidden;
    background: #101113;
    box-shadow: none;
}

.watchlist-panel,
.stock-side-panel,
.chart-panel {
    min-width: 0;
}

.watchlist-panel,
.stock-side-panel {
    padding: 14px;
    background: #131416;
}

.watchlist-panel {
    border-right: 1px solid #2d2f33;
}

.stock-side-panel {
    border-left: 1px solid #2d2f33;
    display: flex;
    flex-direction: column;
    gap: 14px;
    overflow: hidden;
    overscroll-behavior: contain;
}

.workspace-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.workspace-panel-head .eyebrow {
    margin-bottom: 8px;
}

.workspace-panel-head h2 {
    margin: 0;
    font-size: 18px;
}

.side-panel-head {
    padding-bottom: 12px;
    border-bottom: 1px solid #2d3034;
}

.panel-count {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #35383d;
    border-radius: 8px;
    color: var(--muted);
    font-size: 14px;
}

.watchlist-empty {
    margin-top: 26px;
    padding: 28px 16px;
    border: 1px dashed #34373c;
    border-radius: 12px;
    color: var(--muted);
    text-align: center;
}

.watchlist-empty strong {
    display: block;
    color: #d7d9dc;
    font-size: 13px;
}

.watchlist-empty p {
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 1.7;
}

.watchlist-controls {
    display: grid;
    gap: 8px;
    margin-top: 16px;
}

.watchlist-folder-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
}

.watchlist-folder-form input,
.watchlist-controls textarea {
    width: 100%;
    border: 1px solid #303338;
    border-radius: 7px;
    color: var(--text);
    background: #0d0f11;
    font: inherit;
    font-size: 14px;
}

.watchlist-folder-form input {
    height: 32px;
    padding: 0 9px;
}

.watchlist-controls textarea {
    min-height: 52px;
    resize: vertical;
    padding: 8px 9px;
    line-height: 1.45;
}

.watchlist-folder-form button,
.watchlist-add-current,
.watchlist-icon-button,
.watchlist-item-actions button {
    min-height: 30px;
    border: 1px solid #303338;
    border-radius: 7px;
    color: #c9cdd2;
    background: #101113;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}

.watchlist-folder-form button:hover,
.watchlist-add-current:hover,
.watchlist-icon-button:hover,
.watchlist-item-actions button:hover {
    color: #ffffff;
    border-color: #4a4f57;
    background: #1b1d20;
}

.watchlist-folder-form button:disabled,
.watchlist-add-current:disabled,
.watchlist-folder-form input:disabled,
.watchlist-controls textarea:disabled {
    opacity: 0.48;
    cursor: default;
}

.watchlist-add-current {
    width: 100%;
}

.watchlist-folders {
    display: grid;
    gap: 5px;
}

.watchlist-folder-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto auto;
    gap: 4px;
}

.watchlist-folder-select {
    min-width: 0;
    min-height: 30px;
    padding: 0 9px;
    border: 1px solid #303338;
    border-radius: 7px;
    color: var(--muted);
    background: #101113;
    font: inherit;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
}

.watchlist-folder-row.is-active .watchlist-folder-select {
    color: var(--text);
    border-color: #5d626a;
    background: #1b1d20;
}

.watchlist-icon-button {
    min-width: 28px;
    padding: 0 7px;
}

.watchlist-icon-button:disabled {
    opacity: 0.38;
    cursor: default;
}

.watchlist-message {
    margin-top: 10px;
    padding: 9px 10px;
    border: 1px solid #3b3f45;
    border-radius: 8px;
    color: #d8dadd;
    background: #101113;
    font-size: 14px;
    line-height: 1.5;
}

.watchlist-message.is-error {
    border-color: rgba(235, 87, 87, 0.45);
    color: #ffb3b3;
}

.watchlist-items {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.watchlist-item {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid #2f3237;
    border-radius: 8px;
    background: #101113;
    cursor: pointer;
}

.watchlist-item:hover,
.watchlist-item:focus {
    border-color: #4a4f57;
    outline: none;
    background: #17191c;
}

.watchlist-item-head,
.watchlist-item-title,
.watchlist-item-base {
    display: flex;
    align-items: center;
    gap: 7px;
}

.watchlist-item-head {
    justify-content: space-between;
    align-items: flex-start;
}

.watchlist-item-title {
    min-width: 0;
    flex: 1 1 auto;
    flex-wrap: wrap;
    line-height: 1.25;
}

.watchlist-item-title strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #f1f3f5;
    font-size: 13px;
}

.watchlist-item-title .stock-logo {
    align-self: flex-start;
}

.chart-stock-logo,
.order-stock-logo {
    width: 28px;
    height: 28px;
    border-radius: 9px;
}

.watchlist-current-price,
.watchlist-item-base strong,
.watchlist-item-memo {
    color: #f1f3f5;
}

.watchlist-current-price,
.watchlist-colored-value,
.watchlist-item-base span,
.watchlist-item-base em {
    color: var(--muted);
    font-size: 13px;
    font-style: normal;
}

.watchlist-current-price.is-positive,
.watchlist-colored-value.is-positive,
.watchlist-item-base .is-positive {
    color: #eb5757;
}

.watchlist-current-price.is-negative,
.watchlist-colored-value.is-negative,
.watchlist-item-base .is-negative {
    color: #2f80ed;
}

.watchlist-item-menu {
    position: relative;
    flex: 0 0 auto;
}

.watchlist-item-menu > summary {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 6px;
    color: var(--muted);
    list-style: none;
    cursor: pointer;
}

.watchlist-item-menu > summary::-webkit-details-marker {
    display: none;
}

.watchlist-item-menu[open] > summary,
.watchlist-item-menu > summary:hover {
    color: #ffffff;
    border-color: #4a4f57;
    background: #1b1d20;
}

.watchlist-menu-panel {
    position: absolute;
    top: calc(100% + 5px);
    right: 0;
    z-index: 35;
    min-width: 92px;
    display: grid;
    gap: 4px;
    padding: 6px;
    border: 1px solid #34383e;
    border-radius: 8px;
    background: #111315;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.42);
}

.watchlist-menu-panel button {
    width: 100%;
    min-height: 28px;
    padding: 0 7px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #c9cdd2;
    background: transparent;
    font: inherit;
    font-size: 13px;
    text-align: left;
    cursor: pointer;
}

.watchlist-menu-panel button:hover {
    color: #ffffff;
    border-color: #45494f;
    background: #22252a;
}

.watchlist-item-base {
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 7px;
    border-top: 1px solid #2a2d31;
}

.watchlist-item-memo {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.watchlist-item-actions {
    justify-content: flex-end;
}

.watchlist-item-actions button {
    min-width: 38px;
    padding: 0 7px;
}

.chart-panel {
    display: flex;
    flex-direction: column;
    padding: 0;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,0.035), transparent 24rem),
        #0d0f11;
}

.stock-overview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 54px;
    padding: 7px 14px;
    border-top: 1px solid #e54b55;
    border-bottom: 1px solid #30343a;
    background: #111315;
}

.chart-quote-line {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 8px;
    white-space: nowrap;
}

.chart-stock-symbol {
    display: inline-grid;
    place-items: center;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    border-radius: 50%;
    color: #fff;
    background: #e61943;
    font-size: 10px;
    font-weight: 900;
}

.chart-quote-line > #selectedStockName {
    color: #f4f6f8;
    font-size: 17px;
    letter-spacing: -.02em;
}

.chart-market-name,
.chart-market-stat,
.chart-quote-separator { color: #89919c; }

.quote-data-source {
    padding: 3px 7px;
    border: 1px solid #315f56;
    border-radius: 999px;
    color: #7ee0c7;
    background: #132522;
    font-size: 10px;
    font-weight: 800;
}

.stock-search-result-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
}
.otp-copy-secret{justify-self:center;min-height:42px;margin:2px 0 0}.otp-manual #otpCopyStatus{min-height:18px;color:#76d9ce;font-size:11px}

.mobile-market-nav {
    display: none;
}

.mobile-service-nav {
    display: none;
}

.quote-data-source.is-cache {
    border-color: #755b29;
    color: #f1c66f;
    background: #2a2112;
}

.chart-quote-separator { margin: 0 2px; }

.chart-current-price {
    color: #e6e9ed;
    font-size: 18px;
    font-variant-numeric: tabular-nums;
}

.chart-change-value {
    color: #b9c0c9;
    font-size: 14px;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
}

.stock-overview.is-up .chart-current-price,
.stock-overview.is-up .chart-change-value { color: #ff4f59; }

.stock-overview.is-down .chart-current-price,
.stock-overview.is-down .chart-change-value { color: #3f8cff; }

.stock-overview.is-up #changeAmount::before { content: '▲ '; font-size: 9px; }
.stock-overview.is-down #changeAmount::before { content: '▼ '; font-size: 9px; }

.chart-market-stat {
    font-size: 13px;
}

.chart-market-stat i {
    margin-right: 3px;
    color: #6f7782;
    font-style: normal;
}

.chart-market-stat b { color: #d1d5db; font-weight: 500; }

.chart-quote-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: 0 0 auto;
}

.chart-quote-actions button {
    height: 34px;
    padding: 0 9px;
    border: 0;
    color: #d5d9df;
    background: transparent;
    font-size: 13px;
}

.chart-quote-actions button:hover { background: #24282e; }
.chart-quote-actions button span {
    color: #8a929d;
    font-size: 18px;
}

.chart-quote-actions button.is-active span {
    color: #ffae22;
    text-shadow: 0 0 10px rgba(255, 174, 34, .25);
}

.stock-overview .eyebrow {
    display: none;
}

.stock-title-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.stock-title-row h1 {
    font-size: clamp(18px, 1.6vw, 24px);
    letter-spacing: 0;
}

.chart-stock-title {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
}

.chart-title-change {
    color: var(--muted);
    font-size: 0.82em;
}

.chart-title-divider {
    color: #555b63;
    font-weight: 400;
}

.stock-code {
    color: var(--muted);
    font-family: Consolas, monospace;
    font-size: 14px;
}

.stock-price-block {
    text-align: right;
}

.stock-price-block > strong {
    display: block;
    font-size: clamp(18px, 1.6vw, 24px);
    letter-spacing: 0;
}

.stock-change-row {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 8px;
    color: var(--muted);
    font-size: 13px;
}

.chart-api-message {
    margin: 18px 0 0;
}

.chart-api-guide {
    min-height: 470px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    text-align: center;
}

.chart-api-guide strong {
    font-size: 20px;
}

.chart-api-guide p {
    max-width: 520px;
    margin: 12px 0 24px;
    color: var(--muted);
    line-height: 1.7;
}

.chart-placeholder {
    position: relative;
    min-height: 430px;
    margin-top: 20px;
    overflow: hidden;
    border: 1px solid #292b2f;
    border-radius: 12px;
    background: #0a0b0c;
}

.chart-grid-lines {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
    background-size: 64px 48px;
}

.chart-placeholder-copy {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    gap: 8px;
    color: var(--muted);
    text-align: center;
}

.chart-placeholder-copy strong {
    color: #d8dade;
    font-size: 18px;
}

.chart-placeholder-copy span {
    font-size: 14px;
}

.stock-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    border-top: 1px solid #25282c;
}

.stock-metrics div,
.side-stock-info div {
    border: 1px solid #2d3034;
    background: #121315;
}

.stock-metrics div {
    padding: 9px 12px;
    border-width: 0 1px 0 0;
    border-radius: 0;
}

.stock-metrics dt,
.side-stock-info dt {
    color: var(--muted);
    font-size: 13px;
}

.stock-metrics dd {
    margin: 7px 0 0;
    font-size: 14px;
    font-weight: 700;
}

.side-stock-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 10px;
    border-radius: 12px;
    background: linear-gradient(180deg, #16181b, #101113);
}

.stock-info-panel[hidden] {
    display: none;
}

@media (max-width: 900px) {
    .chart-market-stat { display: none; }
    .chart-quote-actions button { font-size: 0; }
    .chart-quote-actions button span { font-size: 17px; }
    #chartMemoButton { font-size: 0; }
    #chartMemoButton::before { content: '▣'; font-size: 16px; }
}

.account-menu-group-label {
    padding: 8px 12px 5px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.account-menu-divider {
    height: 1px;
    margin: 7px 4px;
    background: var(--line);
}

.account-menu-link {
    display: block;
    text-decoration: none;
}

.side-stock-info div {
    display: grid;
    grid-template-columns: minmax(72px, auto) minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 9px 11px;
    border: 1px solid #292d32;
    border-radius: 8px;
    background: rgba(255, 255, 255, .018);
}

.side-stock-info .is-wide {
    grid-column: 1 / -1;
}

.side-stock-info .side-info-group-title {
    grid-column: 1 / -1;
    min-height: 0;
    margin-top: 10px;
    padding: 8px 2px 2px;
    border: 0;
    background: transparent;
    color: #dfe3e8;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .03em;
}

.side-info-group-title span {
    margin-left: auto;
    color: #747b85;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.side-stock-info .side-stock-identity {
    grid-column: 1 / -1;
    display: flex;
    min-height: 68px;
    align-items: center;
    gap: 10px;
    border-color: #3a4048;
    background: linear-gradient(135deg, rgba(86, 204, 242, .12), rgba(255, 176, 87, .06));
}

.side-stock-identity span {
    color: #8f98a4;
    font: 12px Consolas, monospace;
}

.side-stock-identity strong {
    color: #f3f5f7;
    font-size: 18px;
}

.metric-help {
    position: relative;
    width: fit-content;
    cursor: help;
    border-bottom: 1px dotted #8b929c;
}

.side-stock-info dd {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 14px;
    font-weight: 700;
    text-align: right;
}

.stock-info-panel {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 0;
    flex: 1 1 52%;
    overflow-y: auto;
    padding-right: 4px;
}

.realtime-trade-panel {
    display: grid;
    gap: 8px;
    padding-top: 4px;
}

.realtime-trade-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.realtime-trade-head h3 { margin: 0; font-size: 15px; }
.realtime-trade-head span { color: var(--muted); font-size: 12px; }

.realtime-trade-list {
    display: grid;
    max-height: 170px;
    overflow-y: auto;
    border-top: 1px solid #34373c;
    border-bottom: 1px solid #34373c;
}

.realtime-trade-row {
    display: grid;
    grid-template-columns: 1fr 1.25fr 1fr;
    gap: 10px;
    padding: 6px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.045);
    font-family: Consolas, monospace;
    font-size: 13px;
    text-align: right;
}

.realtime-trade-row time { color: var(--muted); text-align: left; }
.realtime-trade-row strong { color: #f2f3f5; }
.realtime-trade-row span { color: #9dd0ff; }
.realtime-trade-empty { margin: 0; padding: 14px 4px; color: var(--muted); font-size: 13px; }

.side-feature-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.side-main-tabs {
    flex: 0 0 auto;
}

.side-feature-tab {
    min-height: 40px;
    border: 1px solid #303338;
    border-radius: 8px;
    color: var(--muted);
    background: #101113;
    font: inherit;
    font-size: 14px;
}

.side-feature-tab.is-active {
    color: var(--text);
    border-color: #5d626a;
    background: #1b1d20;
}

.side-feature-tab:disabled {
    opacity: 0.45;
}

.stock-event-panel {
    min-height: 0;
    flex: 1 1 48%;
    max-height: 48%;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 2px;
    padding-top: 14px;
    border-top: 1px solid #2d3034;
}

.stock-event-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.stock-event-head h3 {
    margin: 0;
    font-size: 15px;
    letter-spacing: 0;
}

.stock-event-head > span {
    flex: 0 0 auto;
    color: #8c929b;
    font-family: Consolas, monospace;
    font-size: 13px;
}

.stock-event-counts {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.stock-event-count {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0 7px;
    border: 1px solid #303338;
    border-radius: 7px;
    color: #9ca2aa;
    background: #101113;
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.stock-event-count:hover,
.stock-event-count.is-active {
    color: var(--text);
    border-color: #555a62;
    background: #1a1c20;
}

.stock-event-count strong {
    color: #f2c94c;
    font-size: 13px;
}

.stock-event-count[data-event-filter="NEWS"] strong {
    color: #56ccf2;
}

.stock-event-count[data-event-filter="DISCLOSURE"] strong {
    color: #ffb057;
}

.stock-event-count[data-event-filter="IR"] strong { color: #bb8cff; }
.stock-event-count[data-event-filter="REPORT"] strong { color: #7bd88f; }

.stock-event-list {
    display: grid;
    grid-auto-rows: max-content;
    align-content: start;
    gap: 8px;
    min-height: 180px;
    max-height: 100%;
    overflow-y: auto;
    padding-right: 2px;
}

.stock-event-empty {
    margin: 0;
    padding: 16px 12px;
    border: 1px dashed #34373c;
    border-radius: 8px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}

.stock-event-load-more {
    width: 100%;
    min-height: 42px;
    border: 1px solid #3a4149;
    border-radius: 8px;
    color: #c9d1d9;
    background: #171a1e;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.stock-event-load-more:hover {
    border-color: #56a8bd;
    color: #f4f7f9;
    background: #1c2429;
}

.stock-event-item {
    width: 100%;
    height: auto;
    align-self: start;
    display: grid;
    gap: 5px;
    min-height: 92px;
    padding: 12px;
    border: 1px solid #303338;
    border-left-width: 3px;
    border-radius: 8px;
    color: var(--text);
    background: #101113;
    text-decoration: none;
}

.stock-event-date-item {
    width: 100%;
    min-height: 42px;
    display: grid;
    grid-template-columns: minmax(88px, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border: 1px solid #303338;
    border-left: 3px solid #ffb057;
    border-radius: 8px;
    color: var(--text);
    background: #101113;
    font: inherit;
    cursor: pointer;
}

.stock-event-date-item:hover {
    border-color: #4a4f57;
    border-left-color: #ffbf70;
    background: #17191c;
}

.stock-event-date-item strong {
    font-size: 14px;
    text-align: left;
}

.stock-event-date-item span {
    display: inline-flex;
    gap: 6px;
    color: #9fa6b0;
    font-size: 13px;
}

.stock-event-date-item em {
    font-style: normal;
}

.stock-event-item.has-thumbnail {
    grid-template-columns: 112px minmax(0, 1fr);
    grid-template-rows: minmax(84px, auto);
    gap: 14px;
    align-items: center;
    overflow: hidden;
}

.stock-event-item:hover {
    border-color: #4a4f57;
    background: #17191c;
}

.stock-event-item.is-news {
    border-left-color: #56ccf2;
}

.stock-event-item.is-disclosure {
    border-left-color: #f2c94c;
}

.stock-event-meta,
.stock-event-time {
    color: #8c929b;
    font-size: 13px;
}

.stock-event-content {
    min-width: 0;
    display: grid;
    gap: 5px;
    align-content: center;
    overflow: hidden;
}

.stock-event-item strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 15px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.stock-event-summary {
    display: -webkit-box;
    overflow: hidden;
    color: #aeb4bd;
    font-size: 13px;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.stock-event-thumbnail {
    width: 112px;
    height: 84px;
    align-self: center;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #303338;
    border-radius: 10px;
    color: #b9c2ce;
    background: #181b1f;
    font-size: 17px;
    font-weight: 800;
}

.stock-event-thumbnail img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.stock-event-thumbnail.is-empty {
    background:
        linear-gradient(145deg, rgba(86, 204, 242, 0.18), rgba(255, 255, 255, 0.04)),
        #15181c;
}

.stock-event-thumbnail.is-empty span { font-size: 18px; line-height: 1; }
.stock-event-thumbnail.is-empty small { color: #7b8794; font-size: 8px; letter-spacing: .1em; }

@media (max-width: 1100px) {
    .topbar-home { grid-template-columns: auto minmax(280px, 1fr) auto; }
    .topbar-home .brand-name, .topbar-home .stock-search-hint { display: none; }
    .topbar-stock-search input { padding-right: 14px; }
    .market-workspace {
        grid-template-columns: 210px minmax(0, 1fr);
    }

    .stock-side-panel {
        display: none;
    }
}

@media (max-width: 800px) {
    .topbar-home { grid-template-columns: auto minmax(0, 1fr) auto; gap: 9px; padding: 0 10px; }
    .topbar-home .stock-search-status { display: none; }
    .topbar-stock-search input { height: 40px; padding-left: 38px; font-size: 13px; }
    .stock-event-item.has-thumbnail { grid-template-columns: 88px minmax(0, 1fr); grid-template-rows:minmax(70px,auto); }
    .stock-event-thumbnail { width: 88px; height: 70px; }
    .stock-search-bar {
        top: 64px;
        min-height: 62px;
    }

    .stock-search-inner {
        width: calc(100% - 24px);
        grid-template-columns: 1fr;
        gap: 0;
    }

    .stock-search-box {
        grid-column: 1;
    }

    .stock-search-status,
    .stock-search-hint {
        display: none;
    }

    .stock-search-box input {
        padding-right: 14px;
    }

    .trading-main {
        width: 100%;
        padding-top: 0;
    }

    .market-workspace {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 0;
    }

    .watchlist-panel {
        display: none;
    }

    .chart-panel {
        padding: 0;
    }

    .stock-overview {
        align-items: stretch;
        flex-direction: column;
    }

    .stock-price-block {
        text-align: left;
    }

    .stock-change-row {
        justify-content: flex-start;
    }

    .chart-placeholder {
        min-height: 340px;
    }

    .stock-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .chart-toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: 6px;
    }

    .chart-resolution-toolbar {
        justify-content: flex-start;
    }

    .chart-resolution-favorites {
        justify-content: flex-start;
    }

    .chart-resolution-panel {
        left: 0;
        right: auto;
        width: min(286px, calc(100vw - 24px));
    }

    .wts-chart,
    .wts-chart-canvas {
        min-height: 520px;
    }
}


/* Admin */
.admin-shell {
    min-height: 100vh;
    color: var(--text);
    background:
        radial-gradient(circle at 20% 0, rgba(255, 255, 255, 0.035), transparent 34rem),
        #0b0c0e;
}

.admin-auth-wrap {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px 20px;
}

.admin-auth-card {
    width: min(100%, 520px);
}

.admin-topbar {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 32px;
    border-bottom: 1px solid var(--line);
    background: #101214;
}

.admin-topbar > div {
    display: grid;
    gap: 6px;
}

.admin-topbar strong {
    font-size: 18px;
}

.admin-page {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 36px 0 56px;
}

.admin-key-state {
    padding: 8px 12px;
    border: 1px solid #484c53;
    border-radius: 999px;
    color: var(--muted);
    font-size: 14px;
}

.admin-key-state.is-ready {
    color: var(--text);
    background: rgba(255, 255, 255, 0.06);
}

.admin-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
    gap: 20px;
}

.admin-operation-card {
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(20, 22, 25, 0.88);
}

.admin-operation-card h2 {
    margin: 8px 0 0;
}

.admin-operation-card > p:last-of-type {
    margin: 12px 0 0;
    color: var(--muted);
    line-height: 1.7;
}

.admin-operation-actions {
    display: grid;
    gap: 10px;
    margin-top: 28px;
}

.admin-operation-actions form,
.admin-operation-actions .button {
    width: 100%;
}

.vip-audit-card {
    margin-top: 20px;
}

.vip-audit-form,
.vip-audit-form label {
    display: grid;
    gap: 10px;
}

.vip-audit-inputs,
.vip-audit-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.vip-audit-form textarea {
    min-height: 240px;
    resize: vertical;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.vip-audit-results article {
    padding: 16px;
    border: 1px solid #303338;
    border-radius: 10px;
    background: #111315;
}

.vip-audit-results h3 {
    margin: 0 0 10px;
}
.vip-audit-actions{display:flex;gap:8px;flex-wrap:wrap}
.vip-audit-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.vip-audit-metrics article{display:grid;gap:5px;padding:14px;border:1px solid #34404c;border-radius:10px;background:#10161c}
.vip-audit-metrics span,.vip-audit-metrics small{color:#98a4af;font-size:12px}
.vip-audit-metrics strong{color:#73ddce;font-size:22px}

.vip-audit-results p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.admin-service-policy {
    display: grid;
    gap: 10px;
    margin: 28px 0 0;
}

.admin-service-policy div {
    padding: 14px;
    border: 1px solid #303338;
    border-radius: 10px;
    background: #111315;
}

.admin-service-policy dt {
    color: var(--muted);
    font-size: 13px;
}

.admin-service-policy dd {
    margin: 7px 0 0;
    font-size: 13px;
    line-height: 1.6;
}

.admin-service-key-page > .settings-header {
    margin-bottom: 28px;
}

.admin-service-key-page > .form-message {
    margin-top: 0;
    margin-bottom: 28px;
}

.admin-service-key-list {
    margin-top: 24px;
}

.admin-market-license{margin-top:24px}
.market-license-form{margin-top:20px}
.market-license-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.market-license-fields-wide{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}
.market-license-permissions{display:flex;flex-wrap:wrap;gap:10px 18px;margin:16px 0 4px;padding:16px;border:1px solid var(--line-color,#29313d);border-radius:14px}
.market-license-permissions legend{padding:0 8px;color:var(--muted-color,#9099a8);font-size:13px}
.market-license-permissions label{display:flex;align-items:center;gap:7px}
.market-license-table{margin-top:24px}
@media(max-width:900px){.market-license-fields,.market-license-fields-wide{grid-template-columns:1fr}}

.admin-api-usage{margin-top:24px;padding:24px;border:1px solid var(--line-color,#29313d);border-radius:18px;background:var(--panel-color,#111720)}
.admin-api-usage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.admin-api-usage-head h2{margin:4px 0 8px}.admin-api-usage-head p{margin:0;color:var(--muted-color,#9099a8)}
.admin-api-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-api-usage-grid article{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line-color,#29313d);border-radius:14px;background:rgba(255,255,255,.025)}
.admin-api-usage-grid span{color:var(--muted-color,#9099a8);font-size:13px}.admin-api-usage-grid strong{font-size:24px;font-variant-numeric:tabular-nums}
.admin-api-usage-message{min-height:20px;margin:12px 0 0;color:var(--muted-color,#9099a8);font-size:13px}
.admin-api-audit{margin-top:20px;padding-top:18px;border-top:1px solid var(--line-color,#29313d)}
.admin-api-audit h3{margin:0 0 6px;font-size:16px}.admin-api-audit>p{margin:0 0 12px;color:var(--muted-color,#9099a8);font-size:13px}
.admin-api-audit-list{display:grid;gap:8px}.admin-api-audit-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1.4fr) minmax(170px,.7fr);gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line-color,#29313d);border-radius:12px;background:rgba(255,255,255,.02)}
.admin-api-audit-row strong{font-size:14px}.admin-api-audit-row strong[data-result="SUCCEEDED"]{color:#5ed7ba}.admin-api-audit-row span,.admin-api-audit-row time{color:var(--muted-color,#9099a8);font-size:13px;font-variant-numeric:tabular-nums}.admin-api-audit-empty{margin:0;color:var(--muted-color,#9099a8);font-size:13px}
@media(max-width:800px){.admin-api-usage-head{flex-direction:column}.admin-api-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.admin-api-audit-row{grid-template-columns:1fr;gap:5px}.admin-api-audit-row time{font-size:12px}}

.stock-service-pending {
    color: var(--muted);
    font-size: 14px;
}

@media (max-width: 800px) {
    .admin-topbar {
        padding: 0 16px;
    }

    .admin-page {
        width: calc(100% - 24px);
        padding-top: 24px;
    }

    .admin-grid {
        grid-template-columns: 1fr;
    }

    .vip-audit-inputs,
    .vip-audit-results,
    .vip-audit-metrics {
        grid-template-columns: 1fr;
    }
}


/* WTS chart */
.chart-workspace {
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #0d0f11;
}

.chart-toolbar {
    position: relative;
    z-index: 12;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 5px 8px;
    border-bottom: 1px solid var(--line);
    overflow: visible;
}

.chart-history-data-source {
    flex: 0 0 auto;
    padding: 3px 7px;
    border: 1px solid #3f4b58;
    border-radius: 999px;
    color: #aeb8c5;
    background: #171c22;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.chart-history-data-source.is-db {
    border-color: #755b29;
    color: #f1c66f;
    background: #2a2112;
}

.chart-history-data-source.is-refresh {
    border-color: #315f56;
    color: #7ee0c7;
    background: #132522;
}

.chart-toolbar-left,
.chart-resolution-toolbar,
.chart-resolution-favorites {
    display: flex;
    align-items: center;
    min-width: 0;
}

.chart-toolbar-left {
    gap: 6px;
    flex: 0 0 auto;
}

.chart-venue-switch {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
    min-width: 0;
    margin: 0;
    padding: 3px 5px;
    border: 1px solid #2e3c43;
    border-radius: 8px;
    background: #10171b;
}

.chart-venue-switch legend {
    float: left;
    padding: 0 4px;
    color: #91a1aa;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.chart-venue-switch label {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 27px;
    padding: 0 7px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #aeb9bf;
    background: #151b20;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}

.chart-venue-switch label.is-active,
.chart-venue-switch label:has(input:checked) {
    border-color: #2fb8ad;
    color: #83e8de;
    background: #17302e;
}

.chart-venue-switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.chart-venue-switch label:has(input:focus-visible) {
    outline: 2px solid #83e8de;
    outline-offset: 2px;
}

.chart-venue-switch label:has(input:disabled) {
    opacity: .4;
    cursor: not-allowed;
}

@media(max-width:1100px){
    .chart-toolbar{gap:6px}
    .chart-venue-switch{padding:3px}
    .chart-venue-switch legend{display:none}
}

@media(max-width:800px){
    .chart-venue-switch{order:2;flex:0 0 auto;width:auto;box-sizing:border-box}
    .chart-venue-switch label{min-width:46px;min-height:38px;padding-inline:6px}
}

.chart-candle-count,.backtest-candle-count{display:flex;align-items:center;gap:4px;white-space:nowrap}
.chart-candle-count span,.backtest-candle-count span{margin-right:4px;color:#96a4ad;font-size:12px}
.chart-candle-count button,.backtest-candle-count button{padding:6px 9px;border:1px solid #34424a;border-radius:7px;background:#151b20;color:#aeb9bf;font-size:12px;cursor:pointer}
.chart-candle-count button:hover,.backtest-candle-count button:hover{border-color:#4f7774;color:#fff}
.chart-candle-count button.is-active,.backtest-candle-count button.is-active{border-color:#2fb8ad;background:#17302e;color:#7ce7dd}

.chart-resolution-toolbar {
    justify-content: flex-end;
    gap: 4px;
    flex: 1 1 auto;
}

.chart-resolution-favorites {
    justify-content: flex-end;
    gap: 2px;
    overflow-x: auto;
}

.chart-tool-menu,
.chart-resolution-picker {
    position: relative;
}

.chart-tool-menu > summary,
.chart-resolution-picker > summary {
    height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 9px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: var(--muted);
    background: transparent;
    font-size: 14px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    white-space: nowrap;
}

.chart-tool-menu > summary::-webkit-details-marker,
.chart-resolution-picker > summary::-webkit-details-marker {
    display: none;
}

.chart-tool-menu[open] > summary,
.chart-resolution-picker[open] > summary,
.chart-tool-menu > summary:hover,
.chart-resolution-picker > summary:hover {
    color: var(--text);
    border-color: #45494f;
    background: #1b1d21;
}

.chart-tool-icon {
    position: relative;
    width: 14px;
    height: 14px;
    display: inline-block;
    flex: 0 0 14px;
}

.chart-tool-icon-drawing::before {
    content: "";
    position: absolute;
    inset: 2px 4px 1px 5px;
    border-radius: 2px;
    background: #858b94;
    transform: rotate(38deg);
}

.chart-tool-icon-drawing::after {
    content: "";
    position: absolute;
    left: 1px;
    bottom: 1px;
    width: 5px;
    height: 2px;
    background: #858b94;
}

.chart-tool-icon-indicator::before,
.chart-tool-icon-indicator::after {
    content: "";
    position: absolute;
    left: 1px;
    right: 1px;
    border: 1px solid #858b94;
    border-top: 0;
    border-left: 0;
    transform: skewX(-18deg);
}

.chart-tool-icon-indicator::before {
    top: 2px;
    height: 4px;
}

.chart-tool-icon-indicator::after {
    top: 7px;
    height: 4px;
}

.chart-tool-panel,
.chart-resolution-panel {
    position: absolute;
    top: calc(100% + 7px);
    z-index: 40;
    padding: 8px;
    border: 1px solid #34383e;
    border-radius: 8px;
    background: #111315;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.52);
}

.chart-tool-panel {
    left: 0;
    min-width: 150px;
    display: grid;
    gap: 4px;
}

.chart-resolution-panel {
    right: 0;
    width: 286px;
    display: grid;
    gap: 10px;
}

.chart-resolution-panel fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.chart-resolution-panel legend {
    grid-column: 1 / -1;
    margin-bottom: 2px;
    color: #848a93;
    font-size: 13px;
    font-weight: 700;
}

.chart-resolution-panel label {
    min-height: 28px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 7px;
    border: 1px solid #2c3035;
    border-radius: 6px;
    color: #c7cbd1;
    background: #0d0f11;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
}

.chart-resolution-panel input {
    width: 13px;
    height: 13px;
    margin: 0;
    accent-color: #d8dadd;
}

.chart-dropdown-arrow {
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
}

.chart-resolution-picker[open] .chart-dropdown-arrow {
    transform: rotate(180deg);
}

.chart-toolbar-group {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: 0 0 auto;
}

.chart-toolbar-divider {
    width: 1px;
    height: 22px;
    flex: 0 0 1px;
    background: var(--line);
}

.chart-toolbar-label {
    padding: 0 6px 0 2px;
    color: #777d85;
    font-size: 13px;
    white-space: nowrap;
}

.chart-indicator-toolbar button {
    min-width: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.workspace-links {
    display: flex;
    align-items: center;
    gap: 6px;
}

.workspace-links a {
    padding: 7px 9px;
    border-radius: 6px;
    color: var(--muted);
    font-size: 14px;
    text-decoration: none;
    white-space: nowrap;
}

.workspace-links a:hover {
    color: var(--text);
    background: rgba(255, 255, 255, 0.07);
}

.stock-order-panel {
    display: grid;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    grid-template-columns: minmax(210px, 1fr) minmax(220px, 1fr);
    gap: 16px;
    padding: 14px;
    border: 1px solid #2d3034;
    border-radius: 9px;
    background: #121315;
}

.stock-order-account { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 10px; border: 1px solid #303338; border-radius: 7px; background: #17181a; }
.stock-order-account span { display: grid; gap: 4px; color: var(--muted); font-size: 12px; }
.stock-order-account strong { color: #f1f3f5; font-size: 13px; }

.stock-event-panel[hidden] { display: none; }

.stock-orderbook-column,
.stock-order-form {
    min-width: 0;
}

.stock-order-form {
    display: flex;
    flex-direction: column;
    gap: 13px;
    padding-left: 16px;
    border-left: 1px solid #2d3034;
}

.stock-order-kind {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid #303338;
}

.stock-order-kind button {
    padding: 9px;
    border: 0;
    border-bottom: 2px solid transparent;
    color: var(--muted);
    background: transparent;
    font-weight: 700;
}

.stock-order-kind button.is-active {
    color: #ff6b6b;
    border-bottom-color: #ff5d5d;
}

.stock-order-kind button[data-order-side="sell"].is-active {
    color: #64b5f6;
    border-bottom-color: #42a5f5;
}

.stock-order-type {
    display: flex;
    gap: 16px;
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--text);
    font-size: 14px;
}

.stock-order-type legend {
    float: left;
    margin-right: auto;
    color: var(--muted);
}

.stock-order-type label {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    gap: 5px;
}

.stock-order-form input[type="number"],
.stock-order-form select {
    min-width: 0;
    padding: 10px;
    border: 1px solid #34373c;
    border-radius: 6px;
    color: var(--text);
    background: #17181a;
    text-align: right;
}

.stock-order-form select { text-align: left; }

#orderMessage.is-error { color: #ff8a80; }

.stock-order-ratios {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
}

.stock-order-ratios button {
    padding: 7px 4px;
    border: 0;
    border-radius: 5px;
    color: var(--text);
    background: #303237;
    font-weight: 700;
}

.stock-order-summary {
    display: flex;
    justify-content: space-between;
    margin-top: auto;
    color: var(--muted);
    font-size: 14px;
}

.stock-order-summary strong { color: var(--text); }

.stock-order-submit {
    padding: 11px;
    border: 0;
    border-radius: 6px;
    color: white;
    background: #ef5b5b;
    font-weight: 800;
}

.stock-order-submit.is-sell { background: #3282d8; }
.stock-order-submit:disabled { opacity: 0.65; }

.stock-orderbook-head,
.stock-orderbook-totals {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.stock-order-form input.is-invalid { border-color: #ff5d62; box-shadow: 0 0 0 1px rgba(255, 93, 98, .25); }

.stock-order-capacity {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--muted);
    font-size: 12px;
}

.stock-order-capacity strong { color: #63a4ff; font-size: 13px; }

.stock-orderbook-head {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    padding: 6px 2px 12px;
}

.order-stock-symbol {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #16b85a;
    font-size: 14px;
    font-weight: 900;
}

.order-stock-heading { min-width: 0; display: grid; gap: 3px; }
.order-stock-heading > strong { overflow: hidden; color: #f3f5f7; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.order-stock-heading > span { color: #7f858d; font-size: 12px; }
.order-stock-heading b, .order-stock-heading i { font: inherit; }
.order-stock-heading i { color: #a7adb5; font-style: normal; }
.stock-orderbook-head time { color: #737a84; font: 11px Consolas, monospace; }

.order-quote-summary {
    display: flex;
    align-items: baseline;
    gap: 9px;
    padding: 10px 2px 12px;
    border-bottom: 1px solid #34383e;
}

.order-quote-summary strong { color: #f4f6f8; font-size: 19px; }
.order-quote-summary span, .order-quote-summary em { color: #ff5d62; font-size: 13px; font-style: normal; }

.stock-orderbook-head > span,
.stock-orderbook-totals {
    color: var(--muted);
    font-size: 13px;
}

.stock-orderbook {
    display: grid;
    margin-top: 8px;
    border: 0;
    border-top: 1px solid #32363b;
    border-bottom: 1px solid #32363b;
    border-radius: 0;
    overflow: hidden;
}

.stock-orderbook-row {
    display: grid;
    grid-template-columns: minmax(92px, .9fr) minmax(90px, 1.1fr);
    gap: 10px;
    align-items: center;
    min-height: 29px;
    padding: 2px 7px;
    border-bottom: 1px solid rgba(0, 0, 0, .32);
    font-size: 13px;
    text-align: right;
}

.stock-orderbook-row[role="button"] { width: 100%; border-width: 0 0 1px; color: inherit; cursor: pointer; }
.stock-orderbook-row[role="button"]:hover { filter: brightness(1.35); }

.stock-orderbook-row.is-ask { background: rgba(47, 128, 237, 0.13); }
.stock-orderbook-row.is-bid { background: rgba(235, 87, 87, 0.13); }
.stock-orderbook-row.is-ask strong, .stock-orderbook-row.is-ask small { color: #53a0ff; }
.stock-orderbook-row.is-bid strong, .stock-orderbook-row.is-bid small { color: #ff5d62; }
.stock-orderbook-row:last-child { border-bottom: 0; }

.orderbook-price { display: grid; line-height: 1.05; }
.orderbook-price strong { font-size: 14px; }
.orderbook-price small { margin-top: 1px; font-size: 10px; }
.orderbook-depth { position: relative; height: 20px; display: flex; align-items: center; overflow: hidden; border-radius: 5px; text-align: left; }
.orderbook-depth i { position: absolute; inset: 0 auto 0 0; max-width: 100%; border-radius: 5px; opacity: .26; }
.is-ask .orderbook-depth i { background: #4091ec; }
.is-bid .orderbook-depth i { background: #e85a5f; }
.orderbook-depth b { position: relative; z-index: 1; padding: 0 7px; color: #dbe0e6; font-size: 13px; font-weight: 600; }

.stock-orderbook-current {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    padding: 4px 8px;
    border-top: 1px solid #e6e9ed;
    border-bottom: 1px solid #e6e9ed;
    background: rgba(255, 255, 255, .055);
}

.stock-orderbook-current strong { grid-row: 1 / 3; color: #fff; font-size: 18px; text-align: right; }
.stock-orderbook-current span { color: #d5d8dc; font-size: 12px; }
.stock-orderbook-current em { color: #808892; font-size: 10px; font-style: normal; }

.stock-orderbook-message {
    margin: 0;
    padding: 18px 10px;
    color: var(--muted);
    font-size: 13px;
    text-align: center;
}

.stock-orderbook-message.is-error { color: #ff8a80; }

.stock-orderbook-totals {
    padding: 7px 8px 10px;
    border-bottom: 1px solid #2d3034;
}

.stock-order-form-title { margin-top: 16px; }

.stock-order-panel[hidden] {
    display: none;
}

.stock-order-panel label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 14px;
}

.stock-order-panel p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
}

.stock-order-lower { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(210px, 1fr) minmax(220px, 1fr); gap: 16px; padding-top: 14px; border-top: 1px solid #2d3034; }
.order-strength-panel, .order-account-detail { min-width: 0; }
.order-subhead { display: flex; justify-content: space-between; margin-bottom: 8px; }
.order-subhead span { color: #4093ff; font-size: 17px; font-weight: 800; }
.order-subhead span.is-buy-strong { color: #ff5d62; }
.order-subhead span.is-sell-strong { color: #53a0ff; }
.order-strength-meter { height: 5px; overflow: hidden; border-radius: 3px; background: #29323c; }
.order-strength-meter i { display: block; width: 0; height: 100%; background: #ef5b5b; transition: width .2s; }
.order-strength-trades { max-height: 190px; overflow-y: auto; margin-top: 8px; }
.order-detail-tabs { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid #303338; }
.order-detail-tabs button { padding: 8px; border: 0; color: var(--muted); background: transparent; }
.order-detail-tabs button.is-active { color: var(--text); border-bottom: 2px solid #e8eaed; font-weight: 800; }
.order-detail-list { max-height: 220px; overflow-y: auto; }
.order-detail-list[hidden] { display: none; }
.order-detail-row { display: grid; grid-template-columns: 1.4fr 1fr .8fr; gap: 8px; padding: 8px 4px; border-bottom: 1px solid #292c30; font-size: 13px; }
.order-detail-row span, .order-detail-row small { text-align: right; color: var(--muted); }
.order-detail-row.is-order-status { grid-template-columns: minmax(120px, 1.2fr) minmax(130px, 1fr) minmax(150px, 1.2fr); }
.order-detail-row.is-order-status:has(.order-status-actions) { grid-template-columns: minmax(110px, 1.1fr) minmax(120px, 1fr) minmax(130px, 1.1fr) auto; }
.order-status-actions { display: inline-flex; justify-content: flex-end; gap: 5px; }
.order-status-actions button { padding: 4px 7px; border: 1px solid #3d4651; border-radius: 5px; color: #dbe6f3; background: #202832; font-size: 11px; cursor: pointer; }
.order-status-actions button.is-cancel { color: #ff8b8f; border-color: rgba(255, 93, 98, .4); background: rgba(255, 93, 98, .09); }

@media (max-width: 1400px) {
    .stock-order-panel { grid-template-columns: 1fr; }
    .stock-order-form { padding: 16px 0 0; border: 0; border-top: 1px solid #2d3034; }
    .stock-order-lower { grid-template-columns: 1fr; }
}

.feature-workspace-page {
    min-height: calc(100vh - 180px);
    display: grid;
    place-items: center;
    padding: 48px 20px;
}

.feature-workspace-card {
    width: min(760px, 100%);
    padding: 36px;
    border: 1px solid #2d3034;
    border-radius: 16px;
    background: #121315;
}

.feature-workspace-card h1 {
    margin: 8px 0 12px;
}

.feature-workspace-description {
    color: var(--muted);
    line-height: 1.7;
}

.feature-workspace-status {
    display: grid;
    gap: 6px;
    margin-top: 28px;
    padding: 16px;
    border-radius: 10px;
    background: #0d0f11;
}

.feature-workspace-status span {
    color: var(--muted);
}

.feature-workspace-actions {
    display: flex;
    gap: 10px;
    margin-top: 24px;
}

@media (max-width: 960px) {
    .workspace-links {
        display: none;
    }
}

.chart-indicator-menu .chart-indicator-toolbar {
    width: min(360px, calc(100vw - 32px));
    max-height: min(72vh, 720px);
    overflow-y: auto;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 2px;
}

.chart-indicator-mobile-help{display:none;padding:7px 8px;color:#7f909c;font-size:11px;line-height:1.45}
.context-help-popover{width:min(340px,calc(100vw - 24px))}
[data-help],[data-help-description],[data-help-formula]{cursor:help}
.context-help-term{cursor:help;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in srgb,currentColor 42%,transparent);text-underline-offset:.22em}
.integration-jump-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.integration-jump-nav a{border:1px solid var(--line);border-radius:999px;padding:10px 16px;color:var(--text);text-decoration:none}.integration-jump-nav a:hover{border-color:var(--accent);color:var(--accent)}
.integration-status-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 18px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.integration-status-card p{flex-basis:100%;margin:0;color:var(--muted)}
.integration-admin-grid{align-items:start}.integration-guide-card ol{display:grid;gap:10px;padding-left:22px;line-height:1.65}.integration-guide-card pre{overflow:auto;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);font-size:13px;line-height:1.6;white-space:pre-wrap}.security-note{color:var(--muted);font-size:13px}
@media (max-width: 800px){.integration-jump-nav{display:grid;grid-template-columns:repeat(3,1fr)}.integration-jump-nav a{text-align:center;padding:9px 6px;font-size:12px}.integration-status-card{align-items:flex-start;flex-direction:column}.integration-guide-card pre{font-size:11px}}

.chart-indicator-section-title {
    padding: 10px 8px 6px;
    border-top: 1px solid #2d3034;
    color: #777d85;
    font-size: 14px;
}

.chart-indicator-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px;
    gap: 4px;
    align-items: center;
}

.chart-indicator-row:has(> button:only-child) {
    grid-template-columns: minmax(0, 1fr);
}

.chart-indicator-row > [data-chart-indicator] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.chart-tool-panel .chart-indicator-settings-button {
    width: 32px;
    min-width: 32px;
    padding: 0;
    justify-content: center;
    color: #9fa6b2;
    font-size: 15px;
}

.indicator-settings-error {
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 1px solid rgba(239, 83, 80, 0.45);
    border-radius: 8px;
    color: #ff8a80;
    background: rgba(239, 83, 80, 0.1);
    font-size: 13px;
}

.chart-indicator-toolbar [data-chart-indicator]::before {
    content: "";
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    border: 1px solid #6a7078;
    border-radius: 3px;
    background: transparent;
    box-sizing: border-box;
}

.chart-indicator-toolbar [data-chart-indicator].is-active::before {
    border-color: var(--indicator-color, #ff6b6b);
    background: var(--indicator-color, #ff6b6b);
    box-shadow: inset 0 0 0 3px #181a1d;
}

.chart-toolbar button {
    min-width: 44px;
    height: 30px;
    padding: 0 9px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: var(--muted);
    background: transparent;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
}

.chart-toolbar button:hover,
.chart-toolbar button.is-active,
.chart-tool-panel button:hover {
    color: var(--text);
    border-color: #45494f;
    background: #22252a;
}

.chart-indicator-toolbar button.is-active {
    border-color: var(--indicator-color, #d8dadd);
    background: rgba(255, 255, 255, 0.06);
}

.chart-tool-panel button {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
}

.chart-tool-panel button:disabled {
    opacity: 0.5;
    cursor: default;
}

.wts-chart {
    min-height: 620px;
    flex: 1;
    position: relative;
}

.chart-candle-tooltip {
    position: absolute;
    z-index: 12;
    box-sizing: border-box;
    width: min(420px, calc(100% - 16px));
    max-width: calc(100% - 16px);
    padding: 10px;
    border: 1px solid #5c636d;
    border-radius: 7px;
    color: #eef2f7;
    background: rgba(14, 16, 19, 0.96);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.52);
    font-size: 13px;
    pointer-events: none;
}

.chart-candle-tooltip[hidden] {
    display: none;
}

.chart-candle-tooltip.is-up {
    border-color: #e53935;
}

.chart-candle-tooltip.is-down {
    border-color: #1e88e5;
}

.chart-candle-tooltip.is-flat {
    border-color: #9ca2aa;
}

.chart-candle-tooltip-head,
.chart-candle-tooltip-columns,
.chart-candle-tooltip-row {
    display: grid;
    grid-template-columns: 58px minmax(120px, 0.9fr) minmax(174px, 1.25fr);
    align-items: center;
    gap: 7px;
}

.chart-candle-tooltip-head {
    grid-template-columns: auto 1fr;
    padding-bottom: 7px;
    border-bottom: 1px solid #2f3339;
}

.chart-candle-tooltip-head span {
    padding: 2px 6px;
    border-radius: 999px;
    color: #fff;
    background: #4b515a;
    font-weight: 800;
}

.chart-candle-tooltip.is-up .chart-candle-tooltip-head span {
    background: #e53935;
}

.chart-candle-tooltip.is-down .chart-candle-tooltip-head span {
    background: #1e88e5;
}

.chart-candle-tooltip-head strong {
    min-width: 0;
    overflow: hidden;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chart-candle-tooltip-columns {
    margin-top: 7px;
    color: #7f8791;
    font-size: 12px;
    font-weight: 700;
}

.chart-candle-tooltip-rows {
    display: grid;
    gap: 5px;
    margin-top: 5px;
}

.chart-candle-tooltip-label {
    color: #9fa6b0;
    font-weight: 700;
}

.chart-candle-tooltip-value,
.chart-candle-tooltip-delta {
    min-width: 0;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 520px) {
    .chart-candle-tooltip {
        font-size: 12px;
    }

    .chart-candle-tooltip-head,
    .chart-candle-tooltip-columns,
    .chart-candle-tooltip-row {
        grid-template-columns: 48px minmax(105px, 0.9fr) minmax(145px, 1.2fr);
        gap: 5px;
    }
}

@media (max-width: 360px) {
    .chart-candle-tooltip-columns,
    .chart-candle-tooltip-row {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .chart-candle-tooltip-columns span:nth-child(3) {
        display: none;
    }

    .chart-candle-tooltip-delta {
        grid-column: 2;
        white-space: normal;
    }
}

.chart-candle-tooltip-delta.is-up {
    color: #ff6b63;
}

.chart-candle-tooltip-delta.is-down {
    color: #5aa7ff;
}

.chart-candle-tooltip-delta.is-neutral {
    color: #a6adb8;
}

.chart-drawing-overlay {
    position: absolute;
    inset: 0;
}

.chart-day-boundary-overlay {
    position: absolute;
    inset: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.chart-day-boundary-line {
    stroke: rgba(216, 218, 222, 0.28);
    stroke-width: 1;
    stroke-dasharray: 4 6;
    shape-rendering: crispEdges;
}

.chart-drawing-overlay {
    z-index: 6;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.chart-drawing-overlay.is-drawing {
    cursor: crosshair;
    pointer-events: auto;
}

.chart-drawing-overlay.is-delete {
    cursor: not-allowed;
}

.chart-drawing-item {
    cursor: pointer;
    pointer-events: auto;
}

.chart-drawing-item .chart-drawing-line,
.chart-drawing-item .chart-fibonacci-line {
    pointer-events: stroke;
}

.chart-drawing-item .chart-drawing-label,
.chart-drawing-item .chart-drawing-anchor {
    pointer-events: auto;
}

.chart-drawing-line,
.chart-fibonacci-line {
    stroke: #e6edf7;
    stroke-width: 1.5;
    vector-effect: non-scaling-stroke;
    fill: none;
}

.chart-drawing-line.is-horizontal {
    stroke: #56ccf2;
    stroke-dasharray: 5 4;
}

.chart-drawing-item.is-selected .chart-drawing-line,
.chart-drawing-item.is-selected .chart-fibonacci-line {
    stroke: #ff8b2d;
    stroke-width: 2.25;
}

.chart-drawing-item.is-selected .chart-drawing-anchor {
    fill: #ff8b2d;
}

.chart-drawing-item.is-selected .chart-drawing-label {
    fill: #ffb36b;
}

.chart-drawing-line.is-preview,
.chart-fibonacci-line.is-preview {
    opacity: 0.55;
    stroke-dasharray: 4 4;
}

.chart-fibonacci-line {
    stroke: rgba(242, 201, 76, 0.78);
}

.chart-drawing-anchor {
    fill: #f2c94c;
    stroke: #0d0f11;
    stroke-width: 1.5;
}

.chart-drawing-label {
    fill: #d8dadd;
    font-size: 13px;
    paint-order: stroke;
    stroke: rgba(13, 15, 17, 0.9);
    stroke-width: 3px;
    stroke-linejoin: round;
}

.chart-drawing-label.is-fibonacci {
    fill: #f2c94c;
}

.chart-drawing-label.is-note {
    fill: #ffffff;
    font-weight: 700;
}

.chart-volume-profile {
    pointer-events: none;
}

.chart-volume-profile-bar {
    fill: rgba(255, 183, 77, 0.34);
    stroke: rgba(255, 183, 77, 0.16);
    stroke-width: 1;
}

.chart-volume-profile-label {
    fill: rgba(255, 214, 130, 0.76);
    font-size: 13px;
    font-weight: 700;
}

.trade-history-page { width: min(1180px, calc(100% - 32px)); margin: 34px auto 64px; }
.trade-history-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.trade-history-head h1 { margin: 4px 0 8px; }
.trade-history-head p:last-child { margin: 0; color: var(--muted); }
.trade-history-filter { display: flex; align-items: flex-end; gap: 8px; }
.trade-history-filter label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; }
.trade-history-filter input { padding: 9px; border: 1px solid #34373c; border-radius: 6px; color: var(--text); background: #17181a; }
.trade-date-shortcuts{display:flex;gap:5px}.trade-date-shortcuts button{min-height:40px;padding:7px 9px;border:1px solid #343a42;border-radius:7px;background:#15191d;color:#b6c0c8;font-size:11px;cursor:pointer}.trade-date-shortcuts button:hover:not(:disabled){border-color:#43837c;color:#82dfd4}.trade-date-shortcuts button:disabled{cursor:not-allowed;opacity:.42}
.trade-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.trade-summary article { display: grid; gap: 7px; padding: 16px; border: 1px solid #303338; border-radius: 10px; background: #17191c; }
.trade-summary span { color: var(--muted); font-size: 13px; }
.trade-summary strong { font-size: 21px; }
.trade-history-card { overflow: hidden; border: 1px solid #303338; border-radius: 10px; background: #17191c; }
.trade-history-tabs { display: flex; border-bottom: 1px solid #303338; }
.trade-history-tabs button { padding: 13px 20px; border: 0; color: var(--muted); background: transparent; font-weight: 700; }
.trade-history-tabs button.is-active { color: var(--text); box-shadow: inset 0 -2px #63a4ff; }
.trade-table-wrap { overflow-x: auto; }
.trade-table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.trade-table th, .trade-table td { padding: 12px 14px; border-bottom: 1px solid #272a2e; text-align: right; font-size: 13px; }
.trade-stock-cell > span { display:inline-grid;gap:2px;margin-left:8px;vertical-align:middle }.trade-stock-cell>.stock-logo{vertical-align:middle}.trade-stock-cell small{color:var(--muted)}
.trade-table th { color: var(--muted); background: #1d2024; }
.trade-table th:nth-child(2), .trade-table td:nth-child(2) { text-align: left; }
.trade-table td.is-buy { color: #ff6267; } .trade-table td.is-sell { color: #4d9cff; }
.trade-history-message { margin: 0; padding: 14px; color: var(--muted); text-align: center; }
.trade-history-message.is-error { color: #ff8a80; }
.realtime-status-page { width: min(1000px, calc(100% - 32px)); margin: 34px auto 64px; }
.realtime-status-page header>p:last-child { color: var(--muted); }
.realtime-status-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:22px 0; }
.realtime-status-grid article { display:grid; gap:8px; padding:18px; border:1px solid #303338; border-radius:10px; background:#17191c; }
.realtime-status-grid span,.realtime-status-detail dt { color:var(--muted); font-size:13px; }
.realtime-status-grid strong { font-size:20px; }
.realtime-status-grid strong[data-state="ok"]{color:#7fc8b4}.realtime-status-grid strong[data-state="wait"]{color:#aeb4bc}.realtime-status-grid strong[data-state="warn"]{color:#e7b66f}
.realtime-status-detail { padding:20px; border:1px solid #303338; border-radius:10px; background:#17191c; }
.realtime-status-detail dl { margin:0; }.realtime-status-detail dl div { display:grid; grid-template-columns:130px 1fr; gap:12px; padding:10px 0; border-bottom:1px solid #292c30; }
.realtime-status-detail dd { margin:0; overflow-wrap:anywhere; }.realtime-status-detail p { margin:16px 0 0; color:var(--muted); text-align:right; }
@media(max-width:720px){.realtime-status-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 720px) { .trade-summary { grid-template-columns: repeat(2, 1fr); } .trade-history-head { align-items: flex-start; flex-direction:column; } .trade-history-filter{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto}.trade-history-filter label{grid-column:1/-1}.trade-history-filter input{width:100%;min-height:44px}.trade-date-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.trade-date-shortcuts button,.trade-history-filter>.button{min-height:44px}.trade-history-filter>.button{min-width:70px;margin:0}.trade-history-tabs button{flex:1;min-height:44px}.trade-table,.trade-table tbody{display:block;width:100%;white-space:normal}.trade-table thead{display:none}.trade-table tbody{display:grid;gap:9px;padding:10px}.trade-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:7px 12px;border:1px solid #303943;border-radius:10px;background:#10161a}.trade-table td{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;width:100%;padding:8px 0;border-bottom:1px solid #252e35;text-align:right!important;white-space:normal;overflow-wrap:anywhere}.trade-table td::before{content:attr(data-label);color:#82909a;font-size:10px;font-weight:700;text-align:left}.trade-table td:nth-child(2),.trade-table td:last-child{grid-column:1/-1}.trade-table td:nth-last-child(-n+2){border-bottom:0}.trade-table td.is-buy,.trade-table td.is-sell{font-weight:800}.trade-table .trade-empty-row{display:block;padding:0;border:0;background:transparent}.trade-table .trade-empty-row td{display:block;padding:28px 10px;border:0;color:var(--muted);text-align:center!important}.trade-table .trade-empty-row td::before{display:none}.trade-history-message{padding:11px;font-size:11px} }

@media (max-width: 560px) {
    .chart-indicator-menu .chart-indicator-toolbar {
        width: min(320px, calc(100vw - 24px));
    }
}

.indicator-settings-dialog {
    width: min(680px, calc(100vw - 32px));
    max-height: min(760px, calc(100vh - 40px));
    padding: 0;
    overflow: hidden;
    color: #e8eaed;
    background: #15181d;
    border: 1px solid #3a424f;
    border-radius: 18px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.72);
}

.indicator-settings-dialog::backdrop {
    background: rgba(3, 6, 10, .78);
    backdrop-filter: blur(5px);
}

.indicator-settings-dialog form {
    max-height: min(760px, calc(100vh - 40px));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    overflow: hidden;
}

.indicator-settings-dialog header,
.indicator-settings-dialog footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 22px;
    background: rgba(25, 29, 35, .96);
}

.indicator-settings-dialog header {
    border-bottom: 1px solid #2f343b;
    background: linear-gradient(135deg, #202630 0%, #181c22 68%);
}

.indicator-settings-dialog footer {
    border-top: 1px solid #2f343b;
}

.indicator-settings-dialog h2 {
    margin: 3px 0 4px;
    color: #f8fafc;
    font-size: 21px;
    letter-spacing: -.02em;
}

.indicator-settings-heading > span {
    color: #67d8ca;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
}

.indicator-settings-heading p {
    margin: 0;
    color: #b5bdc9;
    font-size: 12px;
}

.indicator-settings-dialog header button {
    width: 36px;
    min-width: 36px;
    height: 36px;
    padding: 0;
    justify-content: center;
    border: 1px solid #3d4854;
    border-radius: 10px;
    color: #d4dae3;
    background: #252b34;
    font-size: 20px;
    cursor: pointer;
    appearance: none;
}
.indicator-settings-dialog header button:hover { border-color:#62d5c7; color:#fff; background:#29343c; }

.indicator-settings-dialog footer button {
    min-width: 82px;
    height: 40px;
    padding: 0 18px;
    border: 1px solid #3b4652;
    border-radius: 9px;
    color: #dce5ea;
    background: #20272e;
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
    appearance: none;
}

.indicator-settings-dialog footer button:hover { border-color:#55cdbd; color:#fff; background:#26343a; transform:translateY(-1px); }
.indicator-settings-dialog footer .indicator-dialog-apply,
.indicator-settings-dialog footer .button-primary { border-color:#45bfb1; color:#071312; background:linear-gradient(135deg,#69dfd0,#45bfb1); box-shadow:0 6px 18px rgba(69,191,177,.2); }
.indicator-settings-dialog footer .indicator-dialog-apply:hover,
.indicator-settings-dialog footer .button-primary:hover { border-color:#7ce8dc; background:linear-gradient(135deg,#7ce8dc,#55cdbd); }
.indicator-settings-dialog footer .indicator-settings-reset { min-width:auto; color:#9fadb6; background:transparent; }
.indicator-settings-dialog footer .indicator-dialog-cancel { color:#c6d0d6; background:#171d22; }

.indicator-settings-dialog footer > span { flex: 1; }
.indicator-settings-dialog footer .indicator-settings-reset { color: #aeb8c5; }

.indicator-settings-grid {
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 0;
    padding: 20px 22px 24px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.indicator-settings-grid::-webkit-scrollbar { width:10px; }
.indicator-settings-grid::-webkit-scrollbar-track { background:#151a1f; }
.indicator-settings-grid::-webkit-scrollbar-thumb { border:2px solid #151a1f; border-radius:999px; background:#56616a; }
.backtest-setting-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.indicator-settings-ma .backtest-setting-fields { grid-template-columns:1fr; gap:16px; }

.indicator-settings-grid fieldset {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 16px;
    border: 1px solid #303844;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(31, 36, 44, .82), rgba(20, 23, 28, .92));
    min-width: 0;
    box-sizing: border-box;
}

.indicator-settings-grid fieldset[hidden],
.indicator-settings-grid label[hidden] { display: none !important; }

.indicator-settings-grid legend {
    width: 100%;
    margin-bottom: 2px;
    padding: 0 6px;
    color: #f3f5f7;
    font-size: 14px;
    font-weight: 800;
}

.indicator-settings-grid label {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
    min-width: 0;
    min-height: 66px;
    margin: 0;
    color: #cbd2dc;
    font-size: 12px;
    font-weight: 650;
}

.indicator-settings-grid input {
    width: 100%;
    height: 40px;
    padding: 0 11px;
    border: 1px solid #3a4350;
    border-radius: 9px;
    color: #f3f5f7;
    background: #101318;
    font-size: 14px;
    font-weight: 700;
    outline: none;
}

.indicator-settings-grid input:focus {
    border-color: #55cdbd;
    box-shadow: 0 0 0 3px rgba(85, 205, 189, .14);
}

.indicator-settings-grid input[type="color"] { padding: 5px; cursor: pointer; }

.indicator-settings-grid .indicator-settings-ma {
    grid-template-columns: 1fr;
}

.indicator-settings-grid .indicator-settings-ma > * { min-width: 0; }

@media (max-width: 620px) {
    .indicator-settings-dialog { width: calc(100vw - 16px); }
    .indicator-settings-dialog header,
    .indicator-settings-dialog footer { padding: 14px; }
    .indicator-settings-grid { padding: 14px; }
    .indicator-settings-grid fieldset { grid-template-columns: 1fr; padding: 14px; }
    .indicator-settings-heading p { max-width: 260px; }
}
.indicator-settings-ma {
    display: grid;
    gap: 16px;
}
.indicator-settings-weight {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.indicator-settings-weight > span {
    grid-column: 1 / -1;
    color: #c9ced6;
    font-size: 13px;
    font-weight: 700;
}
.indicator-settings-weight label {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
    border: 1px solid #343941;
    border-radius: 6px;
    color: #d9dde3;
    background: #101214;
}
.indicator-settings-weight input {
    width: auto;
    height: auto;
    accent-color: #ff6b63;
}
.indicator-settings-tabs {
    display: flex;
    gap: 18px;
    border-bottom: 1px solid #343941;
    color: #8f96a1;
    font-size: 13px;
}
.indicator-settings-tabs span {
    padding-bottom: 8px;
}
.indicator-settings-tabs .is-active {
    color: #f3f5f7;
    border-bottom: 1px solid #f3f5f7;
}
.moving-average-periods {
    display: grid;
    gap: 6px;
    min-width: 0;
}
.moving-average-period-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px 28px;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 4px 0;
    border-bottom: 1px solid #252a31;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.moving-average-period-row label {
    grid-template-columns: minmax(84px, 1fr) minmax(82px, 118px);
    margin: 0;
    min-width: 0;
}
.moving-average-period-row input {
    width: 100%;
    min-width: 0;
    height: 32px;
    padding: 0 9px;
    border: 1px solid #343941;
    border-radius: 5px;
    color: #f3f5f7;
    background: #101214;
    font-weight: 700;
    box-sizing: border-box;
}
.moving-average-period-stepper {
    display: grid;
    gap: 1px;
}
.moving-average-period-stepper button,
.moving-average-period-remove {
    width: 28px;
    min-width: 28px;
    height: 16px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid #343941;
    border-radius: 4px;
    color: #d8dadd;
    background: #101214;
    cursor: pointer;
    appearance: none;
}
.moving-average-period-stepper button:hover { border-color:#55cdbd; color:#72dfd1; background:#172724; }
.moving-average-period-remove {
    height: 28px;
    border-radius: 5px;
    color: #ffaba6;
    background: #2a1f20;
}
.moving-average-period-add {
    width: min(180px, 100%);
    height: 32px;
    justify-self: center;
    border: 1px solid #343941;
    border-radius: 5px;
    color: #d8dadd;
    background: #24272c;
    cursor: pointer;
    appearance: none;
}
.moving-average-period-add:hover { border-color:#55cdbd; color:#74dfd2; background:#192b29; }
@media (max-width: 640px) {
    .moving-average-period-row {
        grid-template-columns: minmax(0, 1fr) 28px 26px;
    }
}

.chart-runtime-state {
    min-height: 478px;
    display: grid;
    place-content: center;
    gap: 8px;
    padding: 32px;
    text-align: center;
    color: var(--muted);
}

.chart-runtime-state strong {
    color: var(--text);
    font-size: 15px;
}

.chart-runtime-state span {
    max-width: 620px;
    line-height: 1.7;
    font-size: 13px;
}


/* Admin account management */
.admin-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.admin-nav form {
    margin: 0;
}

.admin-form-top {
    margin-top: 24px;
}

.admin-account-list {
    display: grid;
    gap: 8px;
    margin-top: 24px;
}

.admin-account-row {
    min-height: 64px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #303338;
    border-radius: 10px;
    background: #111315;
}

.admin-account-row > div {
    display: grid;
    gap: 6px;
}

.admin-account-row strong {
    font-size: 14px;
}

.admin-account-row span {
    color: var(--muted);
    font-size: 13px;
}

.admin-operation-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 22px}
.admin-operation-links a{display:grid;gap:5px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#171a1f;color:var(--text);text-decoration:none;transition:.15s}
.admin-operation-links a:hover{border-color:#46c7bc;transform:translateY(-1px)}
.admin-operation-links span,.admin-section-heading>p,.admin-event-list small{color:var(--muted);font-size:12px}
.admin-operation-section{display:grid;gap:14px;margin-top:22px}
.admin-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.admin-section-heading h2,.admin-section-heading h3{margin:3px 0 0}
.admin-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.admin-price-card{display:grid;gap:14px}
.admin-price-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.admin-price-card label,.admin-event-form label{display:grid;gap:7px;color:var(--muted);font-size:13px}
.admin-price-card input,.admin-event-form input,.admin-event-form select{width:100%;padding:11px 12px;border:1px solid #343a43;border-radius:8px;background:#101216;color:var(--text)}
.admin-compute-pricing-form{display:grid;gap:14px}.admin-compute-pricing-form>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-compute-pricing-form>header span,.admin-compute-pricing-form>p,.admin-compute-pricing-form small{color:var(--muted);font-size:12px}.admin-compute-pricing-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.admin-compute-pricing-grid label{display:grid;align-content:start;gap:7px;color:var(--muted);font-size:12px}.admin-compute-pricing-grid label>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #343a43;border-radius:8px;background:#101216}.admin-compute-pricing-grid input{min-width:0;border:0;background:transparent}.admin-compute-pricing-grid b{padding:0 10px;color:var(--muted);white-space:nowrap}.admin-compute-pricing-history>div{display:grid;gap:8px}.admin-compute-pricing-history article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.admin-compute-pricing-history article span,.admin-compute-pricing-history article small{color:var(--muted);font-size:12px}
.admin-compute-pricing-guide{display:grid;gap:10px;padding:14px;border:1px solid #2d5c55;border-radius:10px;background:#10201d}.admin-compute-pricing-guide ol{display:grid;gap:6px;margin:0;padding-left:20px;color:#aebbb8;font-size:12px;line-height:1.55}.admin-compute-pricing-guide p{margin:0;color:#aebbb8;font-size:12px;line-height:1.6}.admin-compute-pricing-guide .button{justify-self:start}
.admin-money-input{display:flex;align-items:center;gap:9px}
.admin-money-input b{color:var(--muted)}
.admin-check-label{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important;gap:8px!important;color:var(--text)!important}
.admin-check-label input{width:auto!important}
.admin-service-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#153b39;color:#5ce2d6;font-size:12px}
.admin-event-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:14px}
.admin-event-form{display:grid;gap:13px}
.admin-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.admin-event-list{display:grid;gap:9px;margin-top:15px}
.admin-event-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #30353c;border-radius:9px;background:#12151a}
.admin-event-list article>div{display:flex;align-items:center;gap:9px}
.admin-event-list article>div:first-child{align-items:flex-start;flex-direction:column}
.admin-event-list form{margin:0}.admin-current-badge.is-off{background:#34383e;color:#a9b0b8}
.admin-empty{color:var(--muted);text-align:center;padding:24px}
.admin-data-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#12151a}
.admin-data-table{width:100%;border-collapse:collapse;white-space:nowrap}
.admin-data-table th,.admin-data-table td{padding:11px 12px;border-bottom:1px solid #2b3037;text-align:left;font-size:13px}
.admin-data-table th{background:#191d22;color:var(--muted);font-weight:600}
.admin-data-table code{color:#60ddd2}.admin-inline-grant{display:flex;gap:6px;margin:0}
.admin-inline-grant input{width:64px;padding:8px;border:1px solid #343a43;border-radius:7px;background:#0f1216;color:var(--text)}
.admin-notice-main-settings{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(180px,1fr);align-items:end;gap:14px}
.home-notice-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 12px;padding:11px 14px;border:1px solid #31413f;border-radius:11px;background:linear-gradient(90deg,#12201f,#15191d)}
.home-notice-label{display:flex;align-items:center;gap:8px;padding-right:14px;border-right:1px solid #34403f}
.home-notice-label span{color:#52d7cc;font-size:10px;font-weight:800;letter-spacing:.12em}.home-notice-label strong{font-size:13px;white-space:nowrap}
.home-notice-items{display:flex;gap:18px;overflow:hidden}
.home-notice-items a{display:flex;min-width:0;align-items:center;gap:8px;color:var(--text);text-decoration:none}
.home-notice-items strong{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.home-notice-items time{color:var(--muted);font-size:11px}
.home-notice-more{color:#67ddd4;font-size:12px;text-decoration:none;white-space:nowrap}
@media(max-width:800px){.home-notice-strip{grid-template-columns:1fr auto}.home-notice-label{grid-column:1/-1;border-right:0;border-bottom:1px solid #34403f;padding:0 0 8px}.home-notice-items{display:grid;gap:7px}.home-notice-items a:nth-child(n+3){display:none}.admin-notice-main-settings{grid-template-columns:1fr}}
.payment-page{width:min(980px,calc(100% - 40px));margin:0 auto;padding:36px 0 56px}.payment-checkout{display:grid;gap:18px}
.payment-checkout-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.payment-checkout-heading h2{margin:2px 0 0;font-size:22px}.payment-checkout-heading>span{color:#85d5cc;font-size:12px;font-weight:800}
.payment-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.payment-product-card{position:relative;display:grid;gap:10px;padding:18px;border:1px solid #323943;border-radius:13px;background:#14181d;cursor:pointer;transition:.15s}
.payment-product-card:hover{border-color:#4cc8bd;transform:translateY(-1px)}.payment-product-card input{position:absolute;opacity:0}
.payment-product-card:has(input:checked){border-color:#59d8cc;background:#152523;box-shadow:0 0 0 1px #59d8cc}
.payment-product-card>strong{font-size:22px}.payment-product-card>small{color:var(--muted)}
.payment-product-check{position:absolute;top:14px;right:14px;width:18px;height:18px;border:1px solid #56616a;border-radius:50%}
.payment-product-card:has(input:checked) .payment-product-check{border:5px solid #5cdbcf}
.payment-summary{display:grid;gap:13px}.payment-summary>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:11px;border-bottom:1px solid #30363d}
.payment-summary>div span,.payment-summary p{color:var(--muted)}.payment-summary>div strong{font-size:17px}
.member-ad-free-status{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:16px 18px;border:1px solid #343d46;border-radius:12px;background:#11171c}.member-ad-free-status>div{display:grid;gap:4px}.member-ad-free-status h2{margin:0;font-size:20px}.member-ad-free-status strong{color:#e5eaed}.member-ad-free-status span{color:#98a4ad;font-size:12px}.member-ad-free-status .member-ad-free-detail{max-width:720px;margin-top:3px;color:#b8c3c9;line-height:1.55}.member-ad-free-status.is-active{border-color:#3b6c65;background:#11201f}.member-ad-free-status.is-active strong{color:#79d8cd}
.payment-empty{text-align:center}.payment-empty p{color:var(--muted)}
.payment-result-page{display:grid;place-items:center}.payment-result-card{width:min(100%,580px);display:grid;justify-items:center;gap:12px;padding:34px;text-align:center}
.payment-result-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;font-size:28px;font-weight:800}
.payment-result-card.is-success .payment-result-icon{background:#17423d;color:#5ce0d4}.payment-result-card.is-failed .payment-result-icon{background:#482226;color:#ff7b82}
.payment-result-card h1{margin:0}.payment-result-card>p{margin:0;color:var(--muted)}
.payment-result-card dl{width:100%;margin:10px 0}.payment-result-card dl div{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #30363d}.payment-result-card dt{color:var(--muted)}
.payment-result-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}
@media(max-width:720px){.payment-product-grid{grid-template-columns:1fr}.payment-result-card{padding:24px 17px}}
@media(max-width:720px){.payment-page{width:calc(100% - 24px);padding-top:24px}}

.admin-brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}
.admin-brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#090a0c;color:#e1192d;font-size:22px;font-weight:900;box-shadow:inset 0 0 0 1px #222}
.admin-brand>span:last-child{display:grid;gap:2px}.admin-brand small{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.15em}
.admin-menu{position:relative}.admin-menu>summary{display:grid;place-content:center;gap:4px;width:42px;height:42px;border:1px solid #343a43;border-radius:11px;background:#181c21;cursor:pointer;list-style:none}
.admin-menu>summary::-webkit-details-marker{display:none}.admin-menu>summary i{display:block;width:18px;height:1px;background:#d5d9df}
.admin-menu[open]>summary{border-color:#59616d;background:#20252b}
.admin-menu nav{position:absolute;z-index:100;top:50px;right:0;width:230px;padding:8px;border:1px solid #363d46;border-radius:13px;background:#15191e;box-shadow:0 18px 48px rgba(0,0,0,.55)}
.admin-menu nav a,.admin-menu nav button{display:flex;width:100%;padding:11px 12px;border:0;border-radius:8px;color:#e8ebef;background:transparent;font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.admin-menu nav a:hover,.admin-menu nav button:hover{background:#242a31}.admin-menu nav form{margin:5px 0 0;padding-top:5px;border-top:1px solid #30363e}
.admin-operation-links{display:none}
.admin-filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto;gap:10px;margin:20px 0}
.admin-filter-bar input,.admin-filter-bar select,.admin-member-action input{min-height:42px;padding:0 12px;border:1px solid #343b45;border-radius:9px;background:#101419;color:var(--text)}
.admin-table-card{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#111419}
.admin-table-scroll{overflow:auto}.admin-data-table td>small{display:block;margin-top:4px;color:var(--muted)}
.admin-data-table .number{text-align:right}.admin-data-table .profit{color:#eb5868;font-weight:800}.admin-data-table .profit.is-loss{color:#4b9cf5}
.admin-status-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#272d34;color:#d9dee5;font-size:11px;font-weight:800}
.admin-status-pill.is-ok{background:#18302e;color:#7bd5cc}.admin-status-pill.is-danger{background:#3a2025;color:#ff9ca6}
.admin-member-action{display:grid;grid-template-columns:minmax(120px,1fr) 170px auto;gap:6px}.admin-suspend-reason{display:block;max-width:280px;margin-bottom:7px;color:#ffb2b8;font-size:12px}
.admin-empty-row{padding:50px!important;color:var(--muted);text-align:center!important}.admin-page-wide{width:min(1500px,calc(100% - 40px))}
.admin-performance-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.admin-performance-guide>div{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #303741;border-radius:11px;background:#12161b}
.admin-performance-guide span{color:var(--muted)}.admin-performance-guide strong{font-size:13px;text-align:right}
.admin-performance-guide>p{grid-column:1/-1;margin:0;padding:12px 14px;border-left:2px solid #4f706c;color:#aeb8be;background:#111619;font-size:12px;line-height:1.6}
@media(max-width:800px){.admin-filter-bar{grid-template-columns:1fr}.admin-member-action{grid-template-columns:1fr}.admin-topbar{align-items:center}.admin-page-wide{width:calc(100% - 24px)}}
@media(max-width:800px){.admin-performance-guide{grid-template-columns:1fr}.admin-performance-guide>p{grid-column:auto}}
.admin-member-link{display:block;color:var(--text);text-decoration:none}.admin-member-link:hover strong{color:#7fc9c2}
.admin-detail-back{margin-bottom:16px}.admin-detail-back a{color:#9eaaaF;text-decoration:none}.admin-detail-back a:hover{color:var(--text)}
.admin-member-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px;border:1px solid #343b44;border-radius:16px;background:linear-gradient(135deg,#161b20,#111418)}
.admin-member-hero h1{margin:5px 0;font-size:34px}.admin-member-hero p:last-child{margin:0;color:var(--muted)}
.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 24px}
.admin-summary-grid>div{display:grid;gap:8px;padding:16px;border:1px solid #303741;border-radius:11px;background:#12161a}
.admin-summary-grid span{color:var(--muted);font-size:12px}.admin-summary-grid strong{font-size:19px}
.admin-detail-section{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#111419}
.admin-detail-section .admin-section-heading{margin-bottom:12px}.admin-detail-section h2{margin:4px 0 0}
.admin-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.admin-subscription-list{display:grid;gap:8px}.admin-subscription-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid #2f353e;border-radius:10px}
.admin-subscription-list article>div{display:grid;gap:4px}.admin-subscription-list article span{color:var(--muted);font-size:12px}
.admin-trade-side{color:#f25d69;font-weight:800}.admin-trade-side.is-sell{color:#4e9ef7}
@media(max-width:860px){.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-detail-columns{grid-template-columns:1fr}}
@media(max-width:520px){.admin-member-hero{align-items:flex-start;flex-direction:column}.admin-summary-grid{grid-template-columns:1fr 1fr}}
.admin-dashboard-time{padding:7px 10px;border:1px solid #343a43;border-radius:8px;color:var(--muted);font-size:12px}
.admin-dashboard-filter{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:12px 14px;border:1px solid #303741;border-radius:13px;background:#111419}
.admin-dashboard-filter>div{display:flex;align-items:center;gap:10px}.admin-dashboard-filter>div>span{color:var(--muted);font-size:11px;font-weight:700}
.admin-dashboard-filter nav{display:flex;gap:3px;padding:3px;border-radius:9px;background:#0d1013}.admin-dashboard-filter a{min-width:42px;padding:7px 9px;border-radius:7px;color:#8f9aa2;font-size:12px;font-weight:700;text-align:center;text-decoration:none}
.admin-dashboard-filter a:hover{color:var(--text)}.admin-dashboard-filter a.is-active{color:#e9eeee;background:#34413f;box-shadow:inset 0 0 0 1px #4b625e}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}
.admin-kpi-grid>a{display:grid;gap:9px;min-height:142px;padding:20px;border:1px solid #323943;border-radius:15px;color:var(--text);background:linear-gradient(145deg,#171b20,#111419);text-decoration:none;transition:.15s}
.admin-kpi-grid>a:hover{border-color:#526a68;transform:translateY(-2px)}.admin-kpi-grid span{color:var(--muted);font-size:12px}.admin-kpi-grid strong{margin-top:auto;font-size:25px}.admin-kpi-grid small{color:#8e9aa2}
.admin-trend-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:#111419}
.admin-payment-state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.admin-payment-state-grid article{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:15px;border:1px solid #303741;border-left:3px solid #567a72;border-radius:11px;background:#12161a}
.admin-payment-state-grid span{color:var(--muted);font-size:11px}.admin-payment-state-grid strong{grid-row:2;font-size:19px}.admin-payment-state-grid small{grid-column:2;grid-row:1/3;align-self:center;color:#9ca7ae}
.admin-payment-state-grid .is-canceled{border-left-color:#8b7656}.admin-payment-state-grid .is-failed{border-left-color:#8b5059}
.admin-trend-legend{display:flex;justify-content:flex-end;gap:16px;margin-bottom:12px;color:var(--muted);font-size:11px}.admin-trend-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px;background:#5b7773}.admin-trend-legend .is-revenue:before{background:#6e789a}
.admin-trend-chart{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(18px,1fr);gap:4px;height:240px;padding-top:10px;overflow-x:auto}
.admin-trend-chart article{display:grid;grid-template-rows:1fr 22px;min-width:18px}.admin-trend-bars{display:flex;align-items:flex-end;justify-content:center;gap:2px;border-bottom:1px solid #30363d}
.admin-trend-bars i{display:block;width:35%;min-height:2px;border-radius:3px 3px 0 0;background:#5b7773}.admin-trend-bars .is-revenue{background:#6e789a}
.admin-trend-chart time{align-self:end;color:#69737b;font-size:8px;text-align:center;writing-mode:vertical-rl}
.admin-dashboard-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.admin-dashboard-links a{display:grid;gap:6px;padding:15px;border:1px solid #303741;border-radius:11px;color:var(--text);text-decoration:none}.admin-dashboard-links span{color:var(--muted);font-size:11px}
@media(max-width:1000px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.admin-kpi-grid,.admin-dashboard-links{grid-template-columns:1fr}.admin-kpi-grid>a{min-height:120px}.admin-trend-card{padding:15px}}
@media(max-width:700px){.admin-dashboard-filter{align-items:stretch;flex-direction:column}.admin-dashboard-filter>div{justify-content:space-between}.admin-payment-state-grid{grid-template-columns:1fr}}
.admin-payment-filter{display:grid;grid-template-columns:minmax(240px,1.4fr) 150px 150px 150px auto;align-items:end;gap:9px;margin:22px 0;padding:15px;border:1px solid #303741;border-radius:13px;background:#111419}
.admin-payment-filter label{display:grid;gap:6px}.admin-payment-filter label>span{color:var(--muted);font-size:11px}.admin-payment-filter input,.admin-payment-filter select,.admin-payment-cancel input{min-height:42px;padding:0 11px;border:1px solid #343b44;border-radius:8px;background:#0f1317;color:var(--text)}
.admin-payment-row-link{color:var(--text);font-weight:700;text-decoration:none}.admin-payment-row-link:hover{color:#7fc9c2}
.admin-payment-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#293039;color:#dce1e6;font-size:10px;font-weight:900;letter-spacing:.03em}.admin-payment-status.is-approved{background:#18322e;color:#78d8ca}.admin-payment-status.is-canceled{background:#3a3122;color:#ddc18b}.admin-payment-status.is-failed{background:#3d2228;color:#ff9aa5}
.admin-pagination{display:flex;align-items:center;justify-content:center;gap:15px;padding-top:16px}.admin-pagination a{padding:7px 12px;border:1px solid #343b44;border-radius:8px;color:var(--text);text-decoration:none}.admin-pagination span{color:var(--muted);font-size:12px}
.admin-payment-detail-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid #343b44;border-radius:15px;background:#12161a}.admin-payment-detail-head h1{margin:5px 0}.admin-payment-detail-head code{color:#8e9aa3}
.admin-payment-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.admin-payment-detail-grid>div{display:grid;gap:7px;padding:15px;border:1px solid #303741;border-radius:10px;background:#111419}.admin-payment-detail-grid span{color:var(--muted);font-size:11px}.admin-payment-detail-grid a{color:#78c9c1;font-size:11px;text-decoration:none}
.admin-payment-error-detail{padding:15px;border:1px solid #67343d;border-radius:11px;background:#25171b}.admin-payment-error-detail p{margin:7px 0 0;color:#ffb0b8}
.admin-payment-cancel{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:14px;padding:18px;border:1px solid #603039;border-radius:13px;background:#1d1417}.admin-payment-cancel h2{margin:4px 0}.admin-payment-cancel p{margin:6px 0 0;color:var(--muted)}.admin-payment-cancel form{display:flex;align-items:end;gap:8px}.admin-payment-cancel form input{flex:1}.admin-payment-cancel.is-disabled{display:block;border-color:#303741;background:#111419}
@media(max-width:1000px){.admin-payment-filter{grid-template-columns:1fr 1fr}.admin-payment-filter label:first-child{grid-column:1/-1}.admin-payment-filter button{width:100%}}
@media(max-width:680px){.admin-payment-filter{grid-template-columns:1fr}.admin-payment-filter label:first-child{grid-column:auto}.admin-payment-detail-grid{grid-template-columns:1fr}.admin-payment-cancel{grid-template-columns:1fr}.admin-payment-cancel form{align-items:stretch;flex-direction:column}}
@media(max-width:900px){.admin-operation-links{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-price-grid{grid-template-columns:1fr}.admin-event-layout{grid-template-columns:1fr}}
@media(max-width:1100px){.admin-compute-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.admin-compute-pricing-form>header,.admin-compute-pricing-history article{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.admin-compute-pricing-grid{grid-template-columns:1fr}.admin-compute-pricing-form>.button{width:100%}}
@media(max-width:560px){.admin-operation-links{grid-template-columns:1fr}.admin-date-grid{grid-template-columns:1fr}.admin-section-heading,.admin-event-list article{align-items:flex-start;flex-direction:column}}

.admin-current-badge {
    padding: 6px 8px;
    border: 1px solid #4b5057;
    border-radius: 999px;
    color: var(--text) !important;
}

.admin-password-page {
    display: grid;
    justify-items: center;
}

.admin-password-page > .auth-card {
    width: min(100%, 560px);
}

@media (max-width: 800px) {
    .admin-topbar {
        align-items: flex-start;
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .admin-nav {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
}

/* Lightweight Charts runtime */
.wts-chart-canvas {
    width: 100%;
    height: 100%;
    min-height: 620px;
}

.chart-loading-overlay {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: grid;
    place-items: center;
    color: var(--muted);
    background: rgba(13, 15, 17, 0.72);
    backdrop-filter: blur(2px);
    font-size: 14px;
    letter-spacing: 0.02em;
    pointer-events: none;
}

.chart-runtime-state.is-error strong {
    color: #d8dadd;
}

.auth-remember-me {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 9px;
    color: #e7eaee;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.auth-remember-me input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #20b8aa;
}

/* Rule bot journey */
.rule-bot-page {
    width: 100%;
    margin: 0;
    padding: 36px 0 72px;
    color: #f2f4f7;
}

.rule-bot-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: 32px;
    padding: 40px;
    border: 1px solid #343940;
    border-radius: 18px;
    background: radial-gradient(circle at 85% 15%, rgba(45, 168, 155, .14), transparent 38%), #121518;
}

.rule-bot-hero h1 {
    margin: 8px 0 16px;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.18;
    letter-spacing: -.04em;
}

.rule-bot-hero-copy > p:last-child,
.rule-bot-section-heading > p,
.rule-bot-advanced p {
    max-width: 680px;
    margin: 0;
    color: #c4c9d0;
    font-size: 16px;
    line-height: 1.75;
}

.rule-bot-principles {
    display: grid;
    align-content: center;
    gap: 10px;
}

.rule-bot-principles div {
    display: grid;
    gap: 5px;
    padding: 16px 18px;
    border: 1px solid #343940;
    border-radius: 12px;
    background: rgba(8, 10, 12, .58);
}

.rule-bot-principles strong { font-size: 15px; }
.rule-bot-principles span { color: #b5bbc3; font-size: 14px; }

.rule-bot-guide { margin-top:44px; }
.rule-bot-workspace { display:grid; grid-template-columns:176px minmax(0,1fr); gap:12px; align-items:start; }
.rule-bot-step-nav { position:sticky; top:88px; display:grid; gap:2px; padding:6px; border:1px solid #30363d; border-left:0; border-radius:0 10px 10px 0; background:#111417; }
.rule-bot-step-nav button { width:100%; display:grid; grid-template-columns:26px minmax(0,1fr); align-items:center; gap:7px; padding:7px 8px; border:1px solid transparent; border-radius:7px; color:#c7cdd3; background:transparent; text-align:left; cursor:pointer; }
.rule-bot-step-nav button:hover { background:#1a1f23; }.rule-bot-step-nav button.is-active { border-color:#397e77; color:#fff; background:#19312f; }
.rule-bot-step-nav b { display:grid; width:24px; height:24px; place-items:center; border:1px solid #454c54; border-radius:6px; color:#aeb5bd; font-size:12px; }.rule-bot-step-nav .is-complete b { border-color:#347b73; color:#80d9cf; }
.rule-bot-step-nav span { display:block; overflow:hidden; font-size:13px; font-weight:700; white-space:nowrap; text-overflow:ellipsis; }.rule-bot-step-nav small { display:none; }
.rule-bot-workspace .rule-bot-steps { min-width:0; padding-right:16px; }
.rule-bot-condition-workspace { min-width:0; padding-right:16px; }
.rule-bot-condition-workspace > .condition-page { min-height:calc(100vh - 70px); height:auto; padding:0; overflow:visible; }
.rule-bot-step[hidden] { display:none !important; }
.rule-bot-workspace .rule-bot-step::before { display:none; }
.rule-bot-workspace .rule-bot-step > article { min-height:420px; }
.workflow-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }.workflow-form label { display:grid; gap:6px; color:#c4cdd5; font-size:12px; font-weight:700; }.workflow-form input,.workflow-form select { width:100%; height:42px; border:1px solid #39434d; border-radius:8px; color:#f0f4f7; background:#0d1217; }.workflow-form button { align-self:end; }.workflow-check { display:flex!important; flex-direction:row; align-items:center; }.workflow-check input { width:18px;height:18px; }.workflow-select-help{color:#97a4af!important;font-size:12px;font-weight:500!important;line-height:1.45}.workflow-select-help.is-ready{color:#80cfc5!important}.workflow-select-help.is-blocked{color:#efbd70!important}
.workflow-list { display:grid; gap:8px; margin-top:18px; }.workflow-list article { display:grid; grid-template-columns:minmax(160px,1fr) auto; gap:5px 16px; min-height:0!important; padding:13px 15px!important; border:1px solid #303942!important; border-radius:9px!important; background:#11171c!important; }.workflow-list small { grid-column:1/-1; color:#8f9ba6; }.workflow-list span { color:#70d8ca; }
.workflow-bot-list-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:22px;padding:13px 15px;border:1px solid #303942;border-radius:10px;background:#0e1419}.workflow-bot-list-toolbar>div{display:grid;gap:4px;min-width:0}.workflow-bot-list-toolbar strong{color:#edf4f5;font-size:15px}.workflow-bot-list-toolbar small{color:#8f9ba6;font-size:11px;line-height:1.45}.workflow-bot-list-toolbar label{display:grid;flex:0 0 min(280px,38vw);gap:5px;color:#aebbc4;font-size:11px;font-weight:700}.workflow-bot-list-toolbar select{width:100%;height:38px;border:1px solid #39434d;border-radius:8px;color:#eef5f5;background:#0d1217}.workflow-bot-return-rank{display:inline-flex;width:max-content;margin-top:4px;padding:3px 7px;border:1px solid #327a70;border-radius:999px;color:#8ce9da!important;background:#102824;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.workflow-result { display:grid; gap:5px; margin-top:18px; padding:15px; border:1px solid #33404a; border-radius:10px; color:#b9c4cd; background:#0e1419; }.workflow-result strong { color:#70ddcd; font-size:20px; }.workflow-account-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:20px; }.workflow-account-summary div { display:grid; gap:6px; padding:16px; border:1px solid #303943; border-radius:10px; background:#11171c; }.workflow-account-summary span { color:#8f9ba6; font-size:12px; }.workflow-account-summary strong { font-size:19px; }
.backtest-stage-timings { color:#8fb9c7; font-size:12px; }
.backtest-live-monitor{display:grid;gap:16px;padding:20px;border:1px solid #33434d;border-radius:14px;background:linear-gradient(145deg,#10191d,#101419)}
.backtest-live-monitor>header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.backtest-live-monitor>header div{display:grid;gap:5px}.backtest-live-monitor>header span{color:#75c9bc;font-size:11px;font-weight:800;letter-spacing:.16em}.backtest-live-monitor>header strong{font-size:20px}.backtest-live-monitor>header>b{color:#76e0d0;font-size:28px;font-variant-numeric:tabular-nums}
.backtest-live-progress{height:10px;overflow:hidden;border-radius:999px;background:#263039}.backtest-live-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#258d82,#69dac9);transition:width .25s ease}
.backtest-live-current{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid #2d3941;border-radius:10px;background:#0c1216}.backtest-live-current strong{white-space:nowrap;color:#eef5f5;font-variant-numeric:tabular-nums}.backtest-live-current span{overflow:hidden;color:#9eb0ba;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.backtest-live-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.backtest-live-steps span{display:flex;align-items:center;gap:8px;color:#778791;font-size:12px}.backtest-live-steps i{display:grid;width:24px;height:24px;place-items:center;border:1px solid #34414a;border-radius:50%;font-style:normal}.backtest-live-steps span.is-active{color:#d8e7e5}.backtest-live-steps span.is-active i{border-color:#3da89b;color:#71decd;background:#17312f}
.backtest-live-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.backtest-live-metrics article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;min-width:0;min-height:68px!important;padding:9px 11px!important;border:1px solid #2d3840;border-radius:8px;background:#10171b}.backtest-live-metrics span{min-width:0;color:#8999a3;font-size:10px;white-space:nowrap}.backtest-live-metrics strong{min-width:0;overflow:hidden;color:#edf3f4;font-size:15px;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.backtest-live-metrics small{grid-column:1/-1;overflow:hidden;color:#71828c;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.backtest-live-events{display:grid;gap:7px}.backtest-live-events>strong{margin-bottom:2px;font-size:13px}.backtest-live-events p{display:grid;grid-template-columns:76px 1fr;gap:10px;margin:0;padding:7px 10px;border-left:2px solid #31514f;color:#a8b5bc;background:#0d1317;font-size:11px}.backtest-live-events time{color:#657983;font-variant-numeric:tabular-nums}.backtest-live-wait{display:grid;gap:6px;color:#aab8bf}.backtest-live-wait span{font-size:12px}
.backtest-live-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.backtest-live-detail-grid>section{min-width:0;padding:14px;border:1px solid #2d3941;border-radius:11px;background:#0d1418}.backtest-live-detail-grid header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.backtest-live-detail-grid header>strong{font-size:13px}.backtest-live-detail-grid header>span{color:#6f838d;font-size:11px}.backtest-live-detail-grid ol,.backtest-live-detail-grid ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.backtest-live-detail-grid li{display:flex;align-items:center;gap:9px;min-width:0;padding:8px;border-radius:8px;background:#111b20}.backtest-live-detail-grid ol li>i{display:grid;flex:0 0 22px;height:22px;place-items:center;border-radius:50%;color:#7ed9cb;background:#1d3433;font-size:10px;font-style:normal}.backtest-live-detail-grid ol li>span{display:grid;flex:1;min-width:0;gap:2px}.backtest-live-detail-grid ol li b,.backtest-live-detail-grid ol li small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backtest-live-detail-grid ol li b{font-size:11px}.backtest-live-detail-grid ol li small{color:#71828b;font-size:9px}.backtest-live-detail-grid ol li>strong{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.backtest-live-detail-grid .is-profit{color:#ff7474}.backtest-live-detail-grid .is-loss{color:#5792ff}.backtest-live-detail-grid ul li>b{flex:0 0 auto;padding:3px 6px;border-radius:5px;font-size:9px}.backtest-live-detail-grid ul li>b.is-failure{color:#ff9292;background:#3b2024}.backtest-live-detail-grid ul li>b.is-retry{color:#efca75;background:#382f1d}.backtest-live-detail-grid ul li>span{overflow:hidden;color:#9daeb6;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.backtest-live-empty{margin:0;padding:18px 8px;color:#71828b;font-size:11px;text-align:center}
.backtest-live-details{display:grid;gap:12px}.backtest-live-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #303c44;border-radius:9px;color:#dce7e8;background:#11191d;cursor:pointer}.backtest-live-details>summary small{color:#7f9099;font-size:10px}.backtest-live-details[open]>summary{margin-bottom:12px;border-color:#3a615d}.backtest-live-details>.backtest-live-events{margin-top:12px}
.backtest-retry-failed{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid #594b2e;border-radius:11px;background:#211c13}.backtest-retry-failed>div{display:grid;gap:5px}.backtest-retry-failed strong{color:#f1d28c;font-size:13px}.backtest-retry-failed span{color:#aa9b7b;font-size:10px;line-height:1.5}.backtest-retry-failed .button{flex:0 0 auto;white-space:nowrap}
@media(max-width:900px){.backtest-live-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.backtest-live-steps,.backtest-live-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backtest-live-current{align-items:flex-start;flex-direction:column}.backtest-live-current span{text-align:left;white-space:normal}}
@media(max-width:620px){.backtest-live-detail-grid{grid-template-columns:1fr}.backtest-retry-failed{align-items:stretch;flex-direction:column}.backtest-retry-failed .button{width:100%}}
.workflow-state { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:66px; padding:12px 14px; border:1px dashed #35424b; border-radius:9px; color:#b9c4cb; background:#0c1216; }
.workflow-state > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#83d4c8; background:#17302d; font-weight:900; }
.workflow-state > div { display:grid; gap:3px; min-width:0; }
.workflow-state strong { color:#dfe8eb; font-size:13px; }
.workflow-state small { grid-column:auto; color:#87949e; line-height:1.45; }
.workflow-state .button { width:auto; min-width:112px; }
.workflow-state.is-error { border-style:solid; border-color:#684047; background:#1b1215; }
.workflow-state.is-error > span { color:#ff9aa2; background:#3b1d22; }
.workflow-state.is-error strong { color:#ffc1c6; }
.rulebot-settlement-alert { grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.rulebot-settlement-alert > span { display:grid; gap:4px; }
.rulebot-settlement-alert > span small { color:#aab6bf; }
.rulebot-operation-actions { display:flex; justify-content:flex-end; gap:8px; }
.rulebot-operation-actions .button { width:auto; min-width:88px; }
.rulebot-profit-settlement{grid-column:1/-1;display:grid;grid-template-columns:minmax(150px,1fr) 18px minmax(150px,1fr) 18px minmax(180px,1.2fr);gap:10px;align-items:center;margin-top:5px;padding:12px;border:1px solid #35414a;border-radius:10px;background:#0b1115}.rulebot-profit-settlement>section{display:grid;gap:4px}.rulebot-profit-settlement>section small,.rulebot-paper-profit small{color:#8e9aa4;font-size:11px}.rulebot-profit-settlement>section strong{font-size:15px}.rulebot-profit-settlement>i{color:#66737c;font-size:18px;font-style:normal;text-align:center}.rulebot-profit-settlement .rulebot-net-profit{padding:9px 11px;border-radius:8px;background:#151d22}.rulebot-profit-settlement .rulebot-net-profit em{color:#9eabb3;font-size:11px;font-style:normal}.rulebot-profit-settlement>footer{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px 14px;padding-top:9px;border-top:1px solid #273139;color:#a8b3ba;font-size:11px}.rulebot-profit-settlement>footer span{color:#dbe5e8}.rulebot-profit-settlement.is-pending{border-color:#66502e;background:#17140f}.rulebot-profit-settlement.is-pending .rulebot-net-profit{background:#211b12}.rulebot-profit-settlement.is-pending>footer span{color:#f1bd68}.rulebot-profit-settlement.is-confirmed{border-color:#28584f}.rulebot-profit-settlement.is-confirmed>footer span{color:#75d7c8}.rulebot-paper-profit{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;background:#0b1115}.rulebot-paper-profit b{text-align:right}
.rulebot-user-alerts { display:grid; gap:8px; margin-bottom:10px; }
.rulebot-user-alert { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 14px; border:1px solid #79672f; border-radius:10px; background:#1b1911; }
.rulebot-user-alert > b { color:#f0cf68; }
.rulebot-user-alert > span { display:grid; gap:3px; min-width:0; }
.rulebot-user-alert small { overflow:hidden; color:#c7c0a7; text-overflow:ellipsis; white-space:nowrap; }
.rulebot-user-alert.is-critical { border-color:#8b3741; background:#211216; }
.rulebot-user-alert.is-critical > b { color:#ff7181; }
.rulebot-user-alert .button { width:auto; }
.admin-rulebot-alerts { display:grid; gap:10px; }
.admin-rulebot-alerts article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; padding:16px; border:1px solid #5f552e; border-radius:12px; background:#171710; }
.admin-rulebot-alerts article header { display:flex; align-items:center; justify-content:space-between; grid-column:1/-1; }
.admin-rulebot-alerts article header div { display:grid; gap:3px; }
.admin-rulebot-alerts article header span,.admin-rulebot-alerts article small { color:#aeb7bd; }
.admin-rulebot-alerts article p { margin:0; }
.admin-rulebot-alerts article form { align-self:center; grid-row:2/4; grid-column:2; }
.admin-rulebot-alerts article.is-critical { border-color:#873642; background:#211216; }
.admin-rule-bot-alert-page{width:min(1680px,calc(100% - 32px))}.admin-rule-bot-alert-page .admin-table-card{min-width:0}.admin-rule-bot-alert-page .admin-table-scroll{max-width:100%}.admin-rule-bot-alert-page .admin-inline-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.admin-rule-bot-alert-page .admin-inline-actions form{margin:0}
@media(max-width:900px){.admin-rule-bot-alert-page{width:calc(100% - 16px)}.admin-rule-bot-alert-page .admin-table-card{padding:14px}.admin-rule-bot-alert-page .settings-header{align-items:flex-start;flex-direction:column}.admin-backtest-page .admin-backtest-toolbar,.admin-backtest-page .admin-backtest-inline-compare{align-items:stretch;flex-direction:column}.admin-backtest-page .admin-backtest-toolbar form,.admin-backtest-page .admin-backtest-inline-compare{width:100%}.admin-backtest-page .admin-backtest-toolbar form{display:grid;grid-template-columns:minmax(0,1fr) auto}.admin-backtest-page .admin-backtest-inline-compare{display:grid;grid-template-columns:1fr 1fr}.admin-backtest-page .admin-backtest-inline-compare>strong{grid-column:1/-1}.admin-backtest-page .admin-backtest-inline-compare>span{display:none}.admin-backtest-page .admin-backtest-inline-compare .button{grid-column:1/-1;width:100%}}
@media(max-width:520px){.admin-backtest-page .admin-backtest-toolbar form,.admin-backtest-page .admin-backtest-inline-compare{grid-template-columns:1fr}.admin-backtest-page .admin-backtest-inline-compare>strong,.admin-backtest-page .admin-backtest-inline-compare .button{grid-column:auto}}
.live-readiness { display:grid; gap:10px; margin-top:12px; padding:14px; border:1px solid #2d3942; border-radius:10px; background:#0d1318; }.live-readiness > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.live-readiness > header div { display:grid; gap:3px; }.live-readiness > header strong { color:#f0f5f6; font-size:15px; }.live-readiness > header small { color:#8e9aa4; font-weight:500; }.live-readiness > header > span { flex:none; padding:4px 8px; border-radius:999px; color:#7ee3d4; background:#13312f; font-weight:800; }.live-readiness-grid { display:grid; grid-template-columns:1fr; gap:4px; }.live-readiness-grid article { display:grid; grid-template-columns:22px 150px 1fr; align-items:center; gap:8px; min-height:38px; padding:7px 10px; border:1px solid #2a343c; border-radius:7px; background:#11181d; }.live-readiness-grid article > span { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; font-weight:900; }.live-readiness-grid article div { display:contents; }.live-readiness-grid article strong { color:#e6edef; font-size:13px; }.live-readiness-grid article small { color:#89959e; }.live-readiness-grid .is-ready > span { color:#061512; background:#62d9c8; }.live-readiness-grid .is-pending > span { color:#1b1103; background:#f3b65c; }
.rule-bot-workspace .rule-bot-step .live-readiness-grid article { min-height:58px; padding:10px 12px; }
@media (max-width:700px){.live-readiness-grid{grid-template-columns:1fr}.live-readiness>header{align-items:flex-start;flex-direction:column}}
.rulebot-operation-block { display:grid; gap:8px; padding:14px; border:1px solid #27343d; border-radius:12px; background:linear-gradient(145deg,#10171c,#0c1216); }
.rulebot-operation-block + .rulebot-operation-block { margin-top:10px; }
.rulebot-operation-block > header { display:flex; align-items:center; justify-content:space-between; min-height:28px; padding:0 2px 7px; border-bottom:1px solid #253039; }
.rulebot-operation-block > header strong { color:#e9f3f2; font-size:15px; }.rulebot-operation-block > header span { color:#7edfd1; font-size:12px; }
.workflow-list .rulebot-account-card { display:grid; grid-template-columns:minmax(0,1fr); gap:10px 0; padding:15px!important; }
.rulebot-account-identity { display:flex; align-items:center; gap:8px; min-width:0; }
.rulebot-account-identity > div { display:grid; gap:3px; min-width:0; margin-right:auto; }
.rulebot-account-identity > div strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rulebot-account-identity > div small { grid-column:auto; }
.rulebot-status-badge { width:max-content; padding:3px 8px; border-radius:999px; color:#aab4bd; background:#252c32; font-size:11px; font-weight:800; }
.rulebot-status-badge.is-running { color:#7ee6d7; background:#15312e; }
.rulebot-status-badge.is-ready { color:#82c8ff; background:#172b3b; }
.rulebot-status-badge.is-draft { color:#e7c07a; background:#352a18; }
.rulebot-status-badge.is-stopped { color:#b9c0c7; background:#282d32; }
.rulebot-status-badge.is-error { color:#ff949d; background:#35191d; }
.rulebot-account-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid #29343c; border-radius:9px; background:#0c1216; }
.rulebot-account-metrics > span { display:grid; gap:3px; min-width:0; padding:11px 12px; border-left:1px solid #29343c; color:#e4ecef; }
.rulebot-account-metrics > span:first-child { border-left:0; }
.rulebot-account-metrics small { grid-column:auto; color:#89969f; font-size:10px; }
.rulebot-account-metrics strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.rulebot-account-actions { display:flex; justify-content:flex-end; gap:8px; padding-top:2px; }
.rulebot-account-actions .button { width:auto; min-width:92px; min-height:34px; padding:7px 12px; }
.rulebot-balance-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
.rulebot-balance-overview > span { display:grid; gap:5px; min-width:0; padding:13px 14px; border:1px solid #303b43; border-radius:10px; background:#10171b; }
.rulebot-balance-overview small { color:#89969f; font-size:10px; }
.rulebot-balance-overview strong { overflow:hidden; color:#e8eff1; text-overflow:ellipsis; white-space:nowrap; font-size:16px; }
.rulebot-account-positions { overflow:hidden; border:1px solid #2d3941; border-radius:9px; background:#0b1115; }
.rulebot-account-positions > summary { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:8px 14px; padding:10px 12px; cursor:pointer; list-style:none; }
.rulebot-account-positions > summary::-webkit-details-marker { display:none; }
.rulebot-account-positions > summary span { color:#dce7e9; font-weight:800; }
.rulebot-account-positions > summary b { text-align:right; }
.rulebot-account-positions > summary small { grid-column:auto; overflow:hidden; color:#84919b; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.rulebot-account-positions[open] > summary { border-bottom:1px solid #29343c; }
.rulebot-account-positions > div { display:grid; }
.rulebot-account-position { display:grid; grid-template-columns:minmax(150px,1.2fr) repeat(2,minmax(100px,.7fr)) minmax(160px,1fr); align-items:center; gap:10px; padding:10px 12px; border-top:1px solid #222d34; color:#dfe8eb; text-decoration:none; }
.rulebot-account-position:first-child { border-top:0; }
.rulebot-account-position:hover,.rulebot-account-position:focus-visible { background:#14201f; outline:none; }
.rulebot-account-position > span,.rulebot-account-position > b { display:grid; gap:3px; min-width:0; }
.rulebot-account-position > span:first-child strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rulebot-account-position small { grid-column:auto; color:#82909a; font-size:10px; }
.rulebot-account-position > b { text-align:right; }
.rulebot-account-empty { margin:0; padding:9px 12px; border-radius:8px; color:#84919b; background:#0b1115; font-size:12px; }
.paper-validation { display:grid; gap:10px; margin-top:10px; padding:14px; border:1px solid #2c3841; border-radius:12px; background:#0c1318; }.paper-validation>header { display:flex; justify-content:space-between; gap:12px; }.paper-validation>header div { display:grid; gap:3px; }.paper-validation>header small { color:#8d99a2; }.paper-validation>header>span { color:#75ded0; font-weight:800; }.paper-validation>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.rule-bot-workspace .rule-bot-step .paper-validation article { display:flex; align-items:center; gap:9px; min-height:52px; padding:9px 11px; border:1px solid #29343c; border-radius:8px; background:#10171c; }.paper-validation article b { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; background:#38434b; }.paper-validation article span { display:grid; gap:2px; }.paper-validation article small { color:#8f9aa3; }.paper-validation .is-pass b { color:#06201b; background:#65dbc9; }.paper-validation .is-fail b { color:#210605; background:#f06d67; }.paper-validation .is-pending b { color:#201505; background:#efb65e; }
.paper-validation article .paper-validation-description { color:#c4cdd3; line-height:1.45; }
.paper-validation>header>.paper-validation-export { align-self:center; padding:7px 10px; white-space:nowrap; }
.paper-validation .paper-validation-bots { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:8px; }
.rule-bot-workspace .rule-bot-step .paper-validation .paper-validation-bot { display:grid; align-items:stretch; gap:7px; min-height:0; padding:11px 12px; }
.paper-validation-bot header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.paper-validation-bot header span { color:var(--rulebot-accent-soft,#9ba8bf); font-size:12px; font-weight:700; }
.paper-validation-bot small { color:#b5bec6; }
.paper-validation-progress { height:5px; overflow:hidden; border-radius:999px; background:#252a32; }
.paper-validation-progress i { display:block; height:100%; border-radius:inherit; background:var(--rulebot-accent,#727b9b); transition:width .2s ease; }
.paper-validation-bot .paper-validation-stage { display:grid; grid-template-columns:minmax(0,1fr); gap:2px; padding:8px 10px; border:1px solid #3c414b; border-radius:8px; background:#171a21; }
.paper-validation-stage strong { font-size:13px; }
.paper-validation-stage.is-complete { border-color:#27685f; background:#10221f; }.paper-validation-stage.is-complete strong { color:#75ded0; }
.paper-validation-stage.is-waiting { border-color:#66512d; background:#211b12; }.paper-validation-stage.is-waiting strong { color:#efb65e; }
.paper-validation-stage.is-blocked { border-color:#713a3a; background:#251515; }.paper-validation-stage.is-blocked strong { color:#f08a84; }
.paper-validation-bot .paper-validation-profit-policy { display:grid; gap:2px; padding:8px 10px; border:1px solid #3c414b; border-radius:8px; background:#151920; }
.paper-validation-profit-policy strong { color:#c7d0d7; font-size:13px; }
.paper-validation-profit-policy.is-configured { border-color:#27685f; background:#10221f; }.paper-validation-profit-policy.is-configured strong { color:#75ded0; }
.paper-validation-profit-policy.is-warning { border-color:#7a5a25; background:#251d10; }.paper-validation-profit-policy.is-warning strong { color:#efb65e; }
.paper-validation .paper-validation-market-window { display:flex; flex-wrap:wrap; gap:7px; padding:9px 11px; border:1px solid #343743; border-radius:8px; background:#171a21; color:#b9c3cc; font-size:12px; }
.paper-validation-market-window span { display:inline-flex; gap:5px; align-items:center; }
.paper-validation-market-window b { color:#75ded0; }
.rulebot-order-integrity { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px 16px; margin-top:10px; padding:12px 14px; border:1px solid #343b47; border-radius:10px; background:#11151b; }
.rulebot-order-integrity div { display:grid; gap:3px; }
.rulebot-order-integrity small { color:#aeb7c1; }
.rulebot-order-integrity>span { font-weight:800; }
.rulebot-order-integrity>small { grid-column:1/-1; }
.rulebot-order-integrity.is-healthy>span { color:#91c9b5; }
.rulebot-order-integrity.is-healthy { grid-template-columns:minmax(0,1fr) auto; padding:9px 12px; background:#0e1518; }
.rulebot-order-integrity.is-healthy div { display:flex; align-items:center; gap:10px; }
.rulebot-order-integrity.is-healthy div small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rulebot-order-integrity.is-warning { border-color:#71484c; background:#1d1418; }
.rulebot-order-integrity.is-warning>span,.rulebot-order-integrity.is-warning>small { color:#ef9b9f; }
.rulebot-order-integrity .rulebot-integrity-issues { grid-column:1/-1; display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:7px; margin-top:5px; }
.rulebot-integrity-issues button { display:grid; gap:3px; min-width:0; padding:10px 12px; border:1px solid #5b3d42; border-radius:8px; color:#e8e8eb; text-align:left; background:#171419; cursor:pointer; }
.rulebot-integrity-issues button:hover,.rulebot-integrity-issues button:focus-visible { border-color:#d67c82; background:#21171b; outline:none; }
.rulebot-integrity-issues button span,.rulebot-integrity-issues button small { overflow:hidden; color:#bfc4cb; text-overflow:ellipsis; white-space:nowrap; }
.workflow-list .rulebot-trade-row { grid-template-columns:minmax(180px,1fr) 52px minmax(150px,auto) minmax(120px,auto) 130px; align-items:center; }
.rulebot-trade-row div { display:grid; gap:3px; }.rulebot-trade-row div small { grid-column:auto; }.rulebot-trade-row b { text-align:center; font-size:13px; }.rulebot-trade-row .is-buy { color:#ff666f; }.rulebot-trade-row .is-sell { color:#55a7ff; }.rulebot-trade-row time { color:#8f9ba6; font-size:12px; text-align:right; }
.workflow-list .rulebot-running-card { grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(120px,.7fr)) minmax(170px,1fr) auto; align-items:center; border-color:#286b63; background:#101b1c; }
.rulebot-running-card > div,.rulebot-running-card > span,.rulebot-running-card > b,.rulebot-position-row > div,.rulebot-position-row > span,.rulebot-position-row > b { display:grid; gap:3px; }
.rulebot-running-card small,.rulebot-position-row small { color:#8f9ba6; font-size:11px; font-weight:500; }
.rulebot-running-card .rulebot-runtime-warning { color:#f0bc68; }
.rulebot-running-identity,.rulebot-position-identity { min-width:0; }
.rulebot-running-identity strong,.rulebot-position-identity strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rulebot-running-profit { min-width:0; }
.rulebot-running-settlement { grid-column:1/-1; padding-top:8px; border-top:1px solid #26383a; line-height:1.5; }
.rulebot-running-stop { justify-self:end; width:auto!important; min-width:64px; min-height:34px; padding:7px 12px!important; }
.rulebot-mode-badge { width:max-content; padding:3px 8px; border:1px solid #2b7770; border-radius:999px; color:#7ee6d7; background:#102927; font-size:11px; }
.workflow-list .rulebot-position-row { grid-template-columns:minmax(180px,1.3fr) repeat(4,minmax(110px,auto)) minmax(160px,auto); align-items:center; }
.rulebot-position-row > b,.rulebot-running-card > b { text-align:right; }
.rulebot-diagnostics { margin-top:10px; padding:12px 14px; border:1px solid #27343d; border-radius:10px; color:#aeb9c2; background:#0d1317; }
.rulebot-diagnostics summary { cursor:pointer; color:#cbd6dc; font-size:13px; font-weight:700; }.rulebot-diagnostics div { display:flex; flex-wrap:wrap; gap:10px 20px; padding-top:12px; font-size:12px; }
.rulebot-order-filter { display:grid; grid-template-columns:1.2fr 1fr .8fr 1fr 1fr auto auto; gap:8px; align-items:end; padding:10px 0 12px; }
.rulebot-order-filter label { display:grid; gap:5px; color:#9facb6; font-size:11px; }.rulebot-order-filter input,.rulebot-order-filter select { min-width:0; height:38px; padding:0 10px; border:1px solid #34414b; border-radius:8px; color:#edf4f6; background:#0b1115; }
.rulebot-order-detail { border-top:1px solid #273139; }.rulebot-order-detail:first-of-type { border-top:0; }.rulebot-order-detail summary { display:grid; grid-template-columns:125px 48px 48px minmax(120px,1fr) minmax(160px,1fr) minmax(120px,auto); grid-template-areas:"date mode side stock fill result"; gap:12px; align-items:center; padding:12px 4px; cursor:pointer; list-style:none; }.rulebot-order-detail summary::-webkit-details-marker { display:none; }.rulebot-order-detail summary > span { color:#aab6bf; font-size:12px; }.rulebot-order-date{grid-area:date}.rulebot-order-mode{grid-area:mode}.rulebot-order-side{grid-area:side;text-align:center}.rulebot-order-stock{grid-area:stock;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rulebot-order-fill{grid-area:fill}.rulebot-order-result{grid-area:result;text-align:right}
.rulebot-order-detail > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:12px; border-radius:8px; background:#0b1115; }.rulebot-order-detail > div span { display:grid; gap:3px; color:#e5edef; font-size:12px; }.rulebot-order-detail > div small { color:#81909b; font-size:10px; }
.rulebot-fill-ledger { margin:8px 12px 14px; padding:10px 12px; border:1px solid #273139; border-radius:8px; background:#10171c; }.rulebot-fill-ledger > strong { display:block; margin-bottom:8px; color:#dce7ea; font-size:12px; }.rulebot-fill-ledger > span { display:grid; grid-template-columns:40px minmax(120px,1fr) repeat(3,minmax(80px,auto)); gap:12px; align-items:center; padding:7px 0; border-top:1px solid #222d34; font-size:12px; }.rulebot-fill-ledger > span:first-of-type { border-top:0; }.rulebot-fill-ledger b { color:#72c8bb; }.rulebot-fill-ledger time { color:#91a0aa; }.rulebot-fill-ledger em { color:#e6edef; font-style:normal; text-align:right; }
.rulebot-order-pager { display:flex; justify-content:center; align-items:center; gap:12px; padding-top:12px; }.rulebot-order-pager span { color:#9facb6; font-size:12px; }
@media (max-width:900px) { .workflow-list .rulebot-trade-row { grid-template-columns:1fr auto; }.rulebot-trade-row time { text-align:left; }.workflow-account-summary { grid-template-columns:repeat(2,1fr); } }
@media (max-width:800px) { .rulebot-balance-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }.rulebot-account-identity { align-items:flex-start; flex-wrap:wrap; }.rulebot-account-identity > div { width:100%; }.rulebot-account-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.rulebot-account-metrics > span:nth-child(3) { border-left:0; border-top:1px solid #29343c; }.rulebot-account-metrics > span:nth-child(4) { border-top:1px solid #29343c; }.rulebot-account-positions > summary { grid-template-columns:1fr auto; }.rulebot-account-positions > summary small { display:none; }.rulebot-account-position { grid-template-columns:repeat(2,minmax(0,1fr)); }.rulebot-account-position > span:first-child { grid-column:1/-1; }.rulebot-account-position > b { text-align:left; }.rulebot-account-actions { display:grid; grid-template-columns:1fr; }.rulebot-account-actions .button { width:100%; } }
@media (max-width:620px) { .workflow-state { grid-template-columns:30px minmax(0,1fr); }.workflow-state .button { grid-column:1/-1; width:100%; } }
@media (max-width:800px){.rulebot-profit-settlement{grid-template-columns:1fr}.rulebot-profit-settlement>i{display:none}.rulebot-profit-settlement>footer{grid-column:1}}
@media (max-width:1200px) { .workflow-list .rulebot-running-card,.workflow-list .rulebot-position-row { grid-template-columns:repeat(2,minmax(0,1fr)); }.rulebot-running-identity,.rulebot-position-identity,.rulebot-running-settlement { grid-column:1/-1; }.rulebot-running-stop { justify-self:end; }.rulebot-position-row > b,.rulebot-running-card > b { text-align:left; }.rulebot-order-filter { grid-template-columns:repeat(3,minmax(0,1fr)); }.rulebot-order-detail summary { grid-template-columns:110px 48px 48px minmax(0,1fr); grid-template-areas:"date mode side stock" "fill fill result result"; }.rulebot-order-result{text-align:right} }
.rule-bot-page.is-editor-active { padding-top:0; }
.rule-bot-page.is-editor-active .rule-bot-hero,.rule-bot-page.is-editor-active .rule-bot-section-heading { display:none; }
.rule-bot-page.is-editor-active .rule-bot-guide { margin-top:0; }
.rule-bot-page.is-editor-active .rule-bot-editor-step { display:block; padding:0; }
.rule-bot-page.is-editor-active .rule-bot-editor-step > .rule-bot-step-number { display:none; }
.rule-bot-editor-step article { min-height:calc(100vh - 70px) !important; padding:0; overflow:hidden; border:0; border-radius:0; background:#0b0e12; }
.rule-condition-frame { display:block; width:100%; height:calc(100vh - 70px); min-height:640px; border:0; background:#0b0e12; }
.rule-bot-section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin:0 16px 26px; }
.rule-bot-section-heading h2, .rule-bot-advanced h2 { margin: 6px 0 0; font-size: 26px; letter-spacing: -.025em; }
.rule-bot-section-heading > p { max-width: 430px; font-size: 14px; text-align: right; }

.rule-bot-steps { margin: 0; padding: 0; list-style: none; }
.rule-bot-step {
    position: relative;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 18px;
    padding-bottom: 18px;
}
.rule-bot-step:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 43px;
    bottom: -1px;
    left: 25px;
    width: 2px;
    background: #30353b;
}
.rule-bot-step-number {
    position: relative;
    z-index: 1;
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid #41474f;
    border-radius: 50%;
    color: #cbd0d6;
    background: #16191c;
    font-weight: 800;
}
.rule-bot-step.is-current .rule-bot-step-number { border-color: #2da89b; color: #fff; background: #19766e; box-shadow: 0 0 0 5px rgba(45,168,155,.12); }
.rule-bot-step > article {
    padding: 22px 24px;
    border: 1px solid #30353b;
    border-radius: 14px;
    background: #121518;
}
.rule-bot-step.is-current > article { border-color: #397e77; background: linear-gradient(110deg, rgba(45,168,155,.09), transparent 55%), #121518; }
.rule-bot-step > article > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.rule-bot-step h3 { margin: 6px 0 0; font-size: 20px; }
.rule-bot-step > article > p { margin: 14px 0 0; color: #c9ced4; line-height: 1.65; }
.rule-bot-step ul { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 14px 0 0; padding: 0; list-style: none; color: #eef0f3; font-size: 14px; }
.rule-bot-step article li::before { content: "✓"; margin-right: 7px; color: #4bc4b7; }
.rule-bot-status, .rule-bot-step-kind { color: #68d0c4; font-size: 12px; font-weight: 700; }
.rule-bot-status.is-planned { color: #a9b0b8; }
.rule-bot-step-kind { display: inline-flex; width: auto; height: auto; min-width: 0; flex: 0 0 auto; align-items: center; padding: 5px 9px; border: 1px solid #3c4249; border-radius: 6px; color: #c9ced4; line-height: 1.2; white-space: nowrap; }
.rule-bot-caution { color: #f1be78 !important; font-size: 13px; }
.rule-bot-step .button { margin-top: 18px; }
.rule-bot-step .button:disabled { cursor: not-allowed; opacity: .64; }
.backtest-access-guide { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 14px; padding:11px 13px; border:1px solid rgba(94,190,173,.34); border-radius:9px; background:rgba(36,91,82,.18); }
.backtest-access-guide div { display:grid; gap:2px; }.backtest-access-guide strong { color:#9ed8cf; }.backtest-access-guide span,.backtest-access-guide small { color:#b9c2c8; }
.backtest-access-guide.is-paid { border-color:rgba(220,167,83,.4); background:rgba(104,72,27,.16); }.backtest-access-guide.is-paid strong { color:#e6be7d; }
.backtest-period-presets{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #303a43;border-radius:10px;background:#11171b}.backtest-period-presets>div{display:grid;gap:2px;margin-right:auto}.backtest-period-presets small{color:#8f9ca5;font-size:11px}.backtest-period-presets button{min-width:68px;padding:8px 12px;border:1px solid #3a4650;border-radius:8px;background:#171e24;color:#cbd5da;cursor:pointer}.backtest-period-presets button:hover:not(:disabled),.backtest-period-presets button.is-active{border-color:#2fb8ad;background:#17302e;color:#84e8df}.backtest-period-presets button:disabled{opacity:.35;cursor:not-allowed}@media(max-width:620px){.backtest-period-presets{flex-wrap:wrap}.backtest-period-presets>div{width:100%;margin:0}.backtest-period-presets button{flex:1;min-width:56px}}
.backtest-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.backtest-actions .button{width:100%;margin:0}
.payment-entitlement-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.payment-entitlement-summary article { display:grid; gap:6px; padding:16px; border:1px solid #303844; border-radius:11px; background:#14191f; }
.payment-entitlement-summary span,.payment-entitlement-summary small { color:#9da8b2; }.payment-entitlement-summary strong { color:#e7ecef; font-size:22px; }
.payment-rulebot-target { display:grid; gap:7px; margin-top:12px; padding:14px; border:1px solid #3a4350; border-radius:10px; background:#151b21; }.payment-rulebot-target select { min-height:42px; }.payment-rulebot-target small { color:#9da8b2; }
.payment-point-input{display:grid;gap:8px;margin-top:12px;padding:14px;border:1px solid #3a4350;border-radius:10px;background:#151b21}.payment-point-input>span{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-point-input>span small,.payment-point-input>small{color:#9da8b2}.payment-point-input input{width:min(220px,70vw);min-height:42px;text-align:right}.payment-point-input b{margin-left:7px;color:#6ee7d2}
.member-renew-button { width:max-content; margin:0 !important; padding:6px 10px !important; }
@media (max-width:700px){.payment-entitlement-summary{grid-template-columns:1fr}.payment-entitlement-summary article{padding:13px}}
.member-billing-section { display:grid; gap:12px; margin-top:18px; padding:18px; border:1px solid #303844; border-radius:13px; background:#11161b; }
.member-billing-section>header { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }.member-billing-section h2 { margin:2px 0 0; font-size:20px; }.member-billing-section>header>span { color:#929da7; font-size:13px; }
.member-subscription-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }.member-subscription-grid article { display:grid; gap:8px; padding:14px; border:1px solid #303943; border-radius:10px; background:#161c22; }.member-subscription-grid article>div { display:flex; justify-content:space-between; gap:8px; }.member-subscription-grid article span,.member-subscription-grid article p,.member-subscription-grid article small { color:#9ea9b2; }.member-subscription-grid article b { width:max-content; color:#bac4ca; font-size:12px; }.member-subscription-grid .is-active b { color:#8fd4c9; }.member-subscription-grid .is-expiring { border-color:#76613d; }.member-subscription-grid .is-expiring b { color:#e5b96f; }
.member-payment-list { display:grid; gap:7px; }.member-payment-list article { display:grid; grid-template-columns:minmax(150px,1fr) 90px 110px; align-items:center; gap:5px 12px; padding:12px 14px; border:1px solid #2d353e; border-radius:9px; background:#151a20; }.member-payment-list article>div { display:grid; gap:3px; }.member-payment-list article small,.member-payment-list article span { color:#9aa5ae; }.member-payment-list article>b { text-align:right; }.member-payment-order { grid-column:1/-1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.member-payment-list article>p { grid-column:1/-1; margin:2px 0 0; color:#e08a82; }
.member-billing-empty { margin:0; padding:18px; border:1px dashed #343d46; border-radius:9px; color:#929da7; text-align:center; }
.member-expiration-alerts { display:grid; gap:8px; margin-bottom:16px; }.member-expiration-alerts article { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px solid #79623d; border-radius:10px; background:rgba(105,75,30,.18); }.member-expiration-alerts article>div { display:grid; gap:3px; }.member-expiration-alerts strong { color:#e8bd78; }.member-expiration-alerts span { color:#c6b79e; }
.member-billing-detail-link { width:max-content; color:#91cfc6; font-size:12px; font-weight:700; text-decoration:none; }.member-billing-detail-link:hover { text-decoration:underline; }
.member-payment-list .member-billing-detail-link { grid-column:1/-1; }
.member-billing-detail-page { max-width:900px; width:100%; }.member-billing-detail-page>.button { width:max-content; }.member-billing-detail-card { padding:22px; border:1px solid #303944; border-radius:13px; background:#14191f; }.member-billing-detail-card>header { display:flex; justify-content:space-between; gap:12px; padding-bottom:16px; border-bottom:1px solid #2d353e; }.member-billing-detail-card>header strong { font-size:21px; }.member-billing-detail-card>header span { color:#91cfc6; }.member-billing-detail-card dl { display:grid; margin:0; }.member-billing-detail-card dl>div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:18px; padding:14px 0; border-bottom:1px solid #252c33; }.member-billing-detail-card dt { color:#96a2ab; }.member-billing-detail-card dd { margin:0; overflow-wrap:anywhere; color:#e5eaed; }
.member-payment-policy { display:grid; gap:5px; margin-top:16px; padding:14px; border:1px solid #343e47; border-radius:9px; background:#11171c; }.member-payment-policy p { margin:0; color:#aab4bc; line-height:1.6; }.member-billing-detail-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }.member-billing-detail-actions form { margin:0; }.member-billing-detail-actions .button { margin:0; }
.support-payment-reference { display:grid; gap:4px; margin-bottom:12px; padding:12px; border:1px solid #49605d; border-radius:9px; background:rgba(43,85,78,.16); }.support-payment-reference span { color:#aebbb9; overflow-wrap:anywhere; }.support-payment-reference-link { display:inline-flex; width:max-content; color:#91cfc6; font-size:12px; font-weight:700; text-decoration:none; }.support-payment-reference-link:hover { text-decoration:underline; }
.support-refund-review{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid #596071;border-radius:10px;background:rgba(91,98,119,.12)}.support-refund-review strong{color:#e6e9ef}.support-refund-review>span,.support-refund-review time{color:#b9c0cd;font-size:13px}.support-refund-review form{display:flex;flex-wrap:wrap;gap:8px}.support-refund-review form input{flex:1 1 260px;min-width:0}
.account-menu-notice{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.account-menu-notice b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#d84d5d;color:#fff;font-size:11px;line-height:1}
.notification-page{width:min(900px,calc(100% - 32px));margin:0 auto;padding:48px 0 80px}.notification-page>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.notification-page h1{margin:5px 0 8px;font-size:38px}.notification-page header p:last-child{margin:0;color:var(--muted)}.notification-preferences{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1.4fr);gap:24px;margin:18px 0 24px;padding:20px;border:1px solid #303943;border-radius:14px;background:#11161a}.notification-preferences h2{margin:4px 0 8px;font-size:20px}.notification-preferences p{margin:0;color:var(--muted);font-size:13px}.notification-preferences form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notification-preferences label{display:flex;align-items:center;gap:8px;color:#d9e0e4}.notification-preferences button{grid-column:1/-1;justify-self:end}.notification-list{display:grid;gap:10px}.notification-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid #303943;border-radius:12px;background:#11161a}.notification-list article.is-unread{border-color:#4a7772;background:#111b1c}.notification-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#263238;color:#8ed5cc;font-weight:900}.notification-list article>div:nth-child(2){display:grid;gap:4px;min-width:0}.notification-actions{display:flex;gap:8px}.notification-list span,.notification-list time{color:var(--muted);font-size:12px}.notification-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-list .is-unread strong{color:#fff}@media(max-width:640px){.notification-page{width:calc(100% - 20px);padding:32px 0 56px}.notification-page>header{align-items:start;flex-direction:column}.notification-preferences{grid-template-columns:1fr}.notification-preferences form{grid-template-columns:1fr}.notification-list article{grid-template-columns:36px minmax(0,1fr)}.notification-list article form{grid-column:1/-1}.notification-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.notification-list article button{width:100%}.notification-icon{width:36px;height:36px}}
.notification-toolbar{display:grid;gap:8px;margin:0 0 14px}.notification-filter-tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.notification-filter-tabs::-webkit-scrollbar{display:none}.notification-filter-tabs button{display:inline-flex;flex:none;align-items:center;gap:6px;min-height:38px;padding:0 12px;border:1px solid #313b43;border-radius:999px;background:#11161a;color:#aeb8c0;cursor:pointer}.notification-filter-tabs button.is-active{border-color:#4fafa6;background:#15302d;color:#8ce4d9}.notification-filter-tabs button span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#242d33;color:inherit;font-size:10px;font-weight:800}.notification-visible-summary{color:#909da6;font-size:12px}.notification-list article[hidden]{display:none!important}.notification-filter-empty{display:grid;gap:5px;margin-top:10px;text-align:center}.notification-filter-empty[hidden]{display:none!important}.notification-filter-empty span{color:var(--muted);font-size:12px}.notification-load-more{width:100%;min-height:44px;margin:12px 0 0}
.admin-menu-count{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.admin-menu-count b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#d84d5d;color:#fff;font-size:11px}.admin-refund-page{display:grid;gap:18px}.admin-refund-section{padding:18px;border:1px solid #303943;border-radius:14px;background:#11161a}.admin-refund-section>header{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}.admin-refund-section h2{margin:0 0 5px}.admin-refund-section header p{margin:0;color:var(--muted)}.admin-refund-section>header>strong{display:grid;place-items:center;min-width:38px;height:38px;border-radius:50%;background:#263238;color:#8ed5cc}.admin-refund-list{display:grid;gap:8px}.admin-refund-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #303943;border-radius:10px;background:#0d1216}.admin-refund-list article>div{display:grid;gap:4px;min-width:0}.admin-refund-list span,.admin-refund-list time{color:var(--muted);font-size:12px}.admin-refund-list p{margin:0;color:#c2cad2}.admin-refund-list strong{overflow-wrap:anywhere}@media(max-width:640px){.admin-refund-list article{align-items:stretch;flex-direction:column}.admin-refund-list article a{justify-content:center}}
.admin-refund-actions{display:grid!important;gap:8px;min-width:min(100%,420px)}.admin-refund-actions form{display:flex;gap:8px}.admin-refund-actions input{min-width:0;flex:1}.admin-refund-history{margin-top:10px}.admin-refund-history summary{cursor:pointer;color:var(--accent)}.admin-refund-history p{margin:6px 0 0;color:var(--muted);font-size:.82rem}@media(max-width:640px){.admin-refund-actions form{display:grid}}
.admin-refund-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-refund-stats>div{display:grid;gap:6px;padding:14px;border:1px solid #303943;border-radius:10px;background:#0d1216}.admin-refund-stats span{color:var(--muted);font-size:12px}.admin-refund-stats strong{font-size:22px}.admin-refund-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) repeat(3,auto);align-items:end;gap:10px;margin:14px 0}.admin-refund-filters label{display:grid;gap:6px;color:var(--muted);font-size:12px}.admin-refund-audit-list{display:grid;gap:8px}.admin-refund-audit-list article{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px;border:1px solid #303943;border-radius:10px;background:#0d1216}.admin-refund-audit-list p{margin:4px 0;color:#c2cad2}.admin-refund-audit-list small{color:var(--muted)}.admin-refund-audit-result{padding:7px;border-radius:999px;text-align:center;font-size:12px;background:#293139}.admin-refund-audit-result.is-success{color:#74d6b5;background:#17352d}.admin-refund-audit-result.is-failed{color:#ff929c;background:#3a2025}@media(max-width:1100px){.admin-refund-filters{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media(max-width:800px){.admin-refund-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-refund-filters{grid-template-columns:1fr 1fr}.admin-refund-audit-list article{grid-template-columns:56px minmax(0,1fr)}.admin-refund-audit-list article>a{grid-column:1/-1;justify-content:center}}@media(max-width:420px){.admin-refund-filters{grid-template-columns:1fr}}
.admin-refund-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.admin-refund-metric-grid>div{display:grid;gap:7px;padding:16px;border:1px solid #35414a;border-radius:12px;background:linear-gradient(145deg,#121a1e,#0d1216)}.admin-refund-metric-grid span{color:var(--muted);font-size:12px}.admin-refund-metric-grid strong{font-size:20px}.admin-refund-chart{padding:16px 12px 10px;border:1px solid #303943;border-radius:12px;background:#0b1013}.admin-refund-chart-bars{display:flex;align-items:end;gap:6px;height:170px;overflow-x:auto}.admin-refund-chart-day{display:grid;grid-template-rows:1fr auto;align-items:end;gap:7px;min-width:28px;height:100%;text-align:center}.admin-refund-chart-value{width:100%;min-height:3px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#79b9ad,#3d716a)}.admin-refund-chart-day small{color:var(--muted);font-size:10px;writing-mode:vertical-rl}.admin-refund-chart>p{margin:10px 0 0;color:var(--muted);font-size:12px}@media(max-width:800px){.admin-refund-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-refund-chart-bars{height:145px}}
.admin-refund-scope{margin:14px 0 8px;color:var(--muted);font-size:12px}
@media(max-width:800px){.member-subscription-grid{grid-template-columns:1fr}.member-payment-list article{grid-template-columns:minmax(0,1fr) auto}.member-payment-list article>b{grid-column:2;grid-row:1}.member-payment-list article>span{grid-column:1/-1}.member-billing-section{padding:13px}}
@media(max-width:560px){.member-expiration-alerts article{align-items:flex-start;flex-direction:column}.member-billing-detail-card{padding:15px}.member-billing-detail-card dl>div{grid-template-columns:1fr;gap:5px}}
.paper-account-summary { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; margin-top: 18px; padding: 14px 16px; border: 1px solid #384047; border-radius: 10px; background: rgba(4,7,9,.45); }
.paper-account-summary span { color: #aeb5bd; font-size: 13px; }
.paper-account-summary strong { color: #fff; font-size: 20px; }
.paper-account-summary small { width: 100%; color: #929aa3; }
.rule-bot-tool-link { display: inline-block; margin-top: 17px; color: #72d8cd; font-size: 14px; font-weight: 700; text-decoration: none; }
.rule-bot-tool-link:hover { text-decoration: underline; }

.rule-bot-advanced {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 28px;
    padding: 26px 30px;
    border: 1px dashed #444a52;
    border-radius: 14px;
    background: #101316;
}
.rule-bot-advanced p { margin-top: 10px; font-size: 14px; }
.rule-bot-advanced .button { flex: none; }

.paper-account-dialog { width: min(520px, calc(100% - 24px)); padding: 0; border: 1px solid #40464e; border-radius: 16px; color: #f3f5f7; background: #15181b; box-shadow: 0 24px 80px rgba(0,0,0,.6); }
#capitalDialog { width:min(1120px, calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow-y:auto; }
.paper-account-dialog::backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(3px); }
.paper-account-dialog form { padding: 26px; }
.paper-account-dialog header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.paper-account-dialog h2 { margin: 5px 0 0; font-size: 23px; }
.paper-account-dialog form > p { color: #bdc3ca; line-height: 1.6; }
.paper-dialog-close { width: 34px; height: 34px; border: 0; border-radius: 8px; color: #dce0e5; background: #292d32; font-size: 24px; cursor: pointer; }
.paper-account-dialog label { display: grid; gap: 8px; margin-top: 20px; color: #e9ebee; font-size: 14px; font-weight: 700; }
.paper-money-input { display: flex; align-items: center; border: 1px solid #454c54; border-radius: 10px; background: #0e1113; }
.paper-money-input:focus-within { border-color: #4fc1b5; box-shadow: 0 0 0 3px rgba(79,193,181,.13); }
.paper-money-input input { min-width: 0; flex: 1; padding: 13px 14px; border: 0; outline: 0; color: #fff; background: transparent; font-size: 19px; font-weight: 800; text-align: right; }
.paper-money-input b { padding-right: 14px; color: #bfc5cb; }
.paper-account-dialog label small { color: #9da5ae; font-weight: 400; }
.paper-quick-amounts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 9px; }
.paper-quick-amounts button { padding: 9px 5px; border: 1px solid #3c4249; border-radius: 8px; color: #dce0e4; background: #22262a; cursor: pointer; }
.paper-quick-amounts button:hover { border-color: #5e686f; background: #2a2f34; }
.paper-quick-amounts .is-clear { color: #ffb0b0; border-color: #633d42; }
.paper-confirm-label input { padding: 12px 13px; border: 1px solid #454c54; border-radius: 9px; color: #fff; background: #0e1113; font-size: 15px; }
.paper-dialog-warning { padding: 11px 13px; border-radius: 8px; color: #f0c27f !important; background: rgba(213,147,56,.1); font-size: 13px; }
.paper-dialog-error { color: #ff9a9a !important; font-size: 13px; }
.paper-account-dialog footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 24px; }
.capital-mode-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: 20px; padding: 4px; border-radius: 10px; background: #0c0f11; }
.capital-mode-tabs button { padding: 10px; border: 0; border-radius: 7px; color: #9ea6ae; background: transparent; cursor: pointer; font-weight: 700; }
.capital-mode-tabs button.is-active { color: #fff; background: #2a4f4b; box-shadow: inset 0 0 0 1px #3d7770; }
.capital-preview { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 20px; padding: 15px; border: 1px solid #3a4148; border-radius: 10px; background: #0e1113; }
.capital-preview span { color: #aeb5bd; font-size: 13px; }
.capital-preview strong { color: #67d1c5; font-size: 20px; }
.capital-kelly-calculator { margin-top: 20px; border: 1px solid #3a4148; border-radius: 12px; background: #101417; }
.capital-kelly-calculator summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 15px; cursor: pointer; list-style: none; }
.capital-kelly-calculator summary::-webkit-details-marker { display: none; }
.capital-kelly-calculator summary span { display: grid; gap: 4px; }
.capital-kelly-calculator summary small, .capital-kelly-calculator > p, .capital-kelly-result small { color: #9da5ae; font-size: 12px; font-weight: 400; }
.capital-kelly-calculator[open] summary b { transform: rotate(180deg); }
.capital-kelly-calculator > p { margin: 0; padding: 0 15px; line-height: 1.55; }
.capital-kelly-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; padding: 0 15px; }
.paper-account-dialog .capital-kelly-grid label { position: relative; }
.paper-account-dialog .capital-kelly-grid label small { position: absolute; right: 12px; bottom: 13px; }
.paper-account-dialog .capital-kelly-grid input { padding-right: 40px; }
.capital-kelly-result { display: grid; gap: 5px; margin: 18px 15px 0; padding: 13px; border-radius: 9px; background: #0a0d0f; }
.capital-kelly-result span { color: #d7dce1; font-size: 13px; }
.capital-kelly-result strong { color: #67d1c5; font-size: 18px; }
.capital-kelly-calculator > .button { width: calc(100% - 30px); margin: 12px 15px 15px; }
.capital-bucket-planner{margin-top:20px;border:1px solid #3a4148;border-radius:12px;background:#101417}
.capital-bucket-planner>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px;cursor:pointer;list-style:none}
.capital-bucket-planner>summary::-webkit-details-marker{display:none}
.capital-bucket-planner>summary span{display:grid;gap:4px}.capital-bucket-planner>summary small{color:#9da5ae;font-size:12px;font-weight:400}
.capital-bucket-planner[open]>summary>b{transform:rotate(180deg)}
.capital-plan-toolbar{display:grid;grid-template-columns:1.2fr 1fr 1.2fr auto;align-items:end;gap:10px;padding:0 15px 15px}
.paper-account-dialog .capital-plan-toolbar label{margin:0;font-size:12px}.capital-plan-toolbar input,.capital-plan-toolbar select{width:100%;min-height:42px;padding:9px 10px;border:1px solid #3b444d;border-radius:8px;color:#eef2f5;background:#0b0f12}
.capital-plan-toolbar .button{min-height:42px;margin:0;white-space:nowrap}
.capital-plan-total{margin:0 15px 12px;padding:10px 12px;border:1px solid #35544f;border-radius:8px;color:#75d8cc;background:#10201e;font-size:12px;font-weight:800}
.capital-plan-total.is-invalid{border-color:#68434a;color:#ff989d;background:#241416}
.capital-bucket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 15px}
.capital-bucket-card{min-width:0;padding:13px;border:1px solid #343d46;border-radius:10px;background:#0b0f12}
.capital-bucket-card>header{align-items:center}.capital-bucket-card>header div{display:grid;gap:3px}.capital-bucket-card>header b{font-size:16px}.capital-bucket-card>header small{color:#8f99a4;font-size:11px}.capital-bucket-card>header>strong{color:#78d8cc;font-size:15px;white-space:nowrap}
.capital-bucket-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.paper-account-dialog .capital-bucket-fields label{margin:0;color:#aeb7c1;font-size:11px}.capital-bucket-fields label>span{display:flex;align-items:center;border:1px solid #333c45;border-radius:7px;background:#11161b}.capital-bucket-fields input{min-width:0;width:100%;padding:9px 4px 9px 9px;border:0;outline:0;color:#f3f6f8;background:transparent;font-weight:800;text-align:right}.capital-bucket-fields label small{padding-right:8px;color:#8f99a4}
.capital-bucket-math{display:grid;gap:4px;margin-top:11px;padding:10px;border-radius:8px;color:#9da7b1;background:#141a20;font-size:11px;line-height:1.45}.capital-bucket-math b{color:#edf2f5}.capital-bucket-math .is-up{color:#ff777d}.capital-bucket-math .is-down{color:#58a1ff}
.capital-bucket-card fieldset{min-width:0;margin:11px 0 0;padding:0;border:0}.capital-bucket-card legend{color:#aeb7c1;font-size:11px;font-weight:800}.capital-bucket-rulebots{display:grid;gap:5px;max-height:112px;margin-top:7px;overflow:auto}.paper-account-dialog .capital-bucket-rulebots label{display:flex;align-items:center;gap:7px;margin:0;padding:6px 7px;border:1px solid #2e3740;border-radius:6px;color:#c7ced5;font-size:11px;font-weight:500;background:#10151a}.capital-bucket-rulebots input{margin:0;accent-color:#55c9bb}.capital-bucket-rulebots small{margin-left:auto}.capital-bucket-rulebots>span{color:#7f8994;font-size:11px}
.capital-plan-safety{display:flex;gap:9px;margin:12px 15px 0;padding:11px 12px;border-radius:8px;color:#aeb7c1;background:#171b22;font-size:12px;line-height:1.45}.capital-plan-safety strong{flex:none;color:#f0c27f}.capital-plan-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 15px 15px}.capital-plan-actions .button{margin:0}
.buy-rule-list { display: grid; gap: 7px; margin-top: 18px; color: #9da5ad; font-size: 13px; }
.buy-rule-item { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 13px; border: 1px solid #394047; border-radius: 9px; background: #0d1012; }
.buy-rule-edit { display: grid; flex: 1; gap: 4px; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }.buy-rule-item strong { color: #eef1f4; }.buy-rule-item span { color: #9fa7af; }
.buy-rule-item button { border: 0; color: #ffabab; background: transparent; cursor: pointer; }
.buy-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 20px 0 0; padding: 0; border: 0; }
.buy-type-grid legend { margin-bottom: 10px; color: #e7eaed; font-size: 14px; font-weight: 700; }
.buy-type-grid label { position: relative; display: grid; gap: 4px; margin: 0; padding: 13px 13px 13px 38px; border: 1px solid #3b4249; border-radius: 10px; cursor: pointer; }
.buy-type-grid label:has(input:checked) { border-color: #4aa99f; background: rgba(55,145,135,.12); }
.buy-type-grid input { position: absolute; top: 16px; left: 14px; accent-color: #4fc1b5; }
.buy-type-grid span { color: #969fa8; font-size: 12px; font-weight: 400; }
.buy-rule-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.buy-rule-dialog input[type="text"], .buy-rule-dialog label>input:not([type="radio"]), .buy-rule-options input { padding: 12px; border: 1px solid #454c54; border-radius: 9px; color: #fff; background: #0e1113; }

@media (max-width: 800px) {
    .rule-bot-page { width:100%; padding-top:18px; }
    .rule-bot-hero { grid-template-columns: 1fr; padding: 26px 22px; }
    .rule-bot-section-heading, .rule-bot-advanced { align-items: flex-start; flex-direction: column; }
    .rule-bot-section-heading > p { text-align: left; }
    .rule-bot-workspace { grid-template-columns:1fr; }
    .rule-bot-step-nav { position:static; min-height:0; grid-template-columns:repeat(9, minmax(108px,1fr)); overflow-x:auto; margin:0 10px; border-left:1px solid #30363d; border-radius:14px; }
    .rule-bot-workspace .rule-bot-steps { padding:0 10px; }
    .rule-bot-step-nav button { grid-template-columns:26px minmax(68px,1fr); padding:8px; }.rule-bot-step-nav b { width:25px; height:25px; }
    .rule-bot-step { grid-template-columns: 38px minmax(0, 1fr); gap: 10px; }
    .rule-bot-step-number { width: 38px; height: 38px; }
    .rule-bot-step:not(:last-child)::before { top: 35px; left: 18px; }
    .rule-bot-step > article { padding: 18px; }
    .rule-bot-step > article > header { align-items: flex-start; }
    .rule-bot-step ul { display: grid; }
    .paper-quick-amounts { grid-template-columns: repeat(2, 1fr); }
}
.workflow-strategy-form{display:block}.workflow-basic-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.strategy-action-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 10px}.strategy-action-toolbar span{color:var(--muted);margin-right:auto}.strategy-action-builder{display:grid;gap:12px;margin-bottom:14px}.strategy-action-card{border:1px solid #34424a;border-radius:12px;background:#11171b;padding:14px}.strategy-action-card>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.strategy-action-card>header b{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#173f3e;color:#70e1d8}.strategy-action-card>header strong{margin-right:auto}.strategy-action-card>header select{max-width:190px}.strategy-action-card>header button,.strategy-rule-leaves button{border:0;background:transparent;color:#b8c4cb;cursor:pointer}.strategy-action-settings{display:grid;grid-template-columns:120px 160px minmax(220px,1fr);gap:10px}.strategy-action-settings label{position:relative}.strategy-action-settings label span{position:absolute;right:10px;bottom:10px}.strategy-rule-leaves{display:grid;gap:8px;margin:12px 0}.strategy-rule-leaves>div{display:grid;grid-template-columns:80px minmax(220px,1fr) 56px;gap:8px;align-items:center}.strategy-not{display:flex!important;align-items:center;gap:6px}.strategy-action-card>small{display:block;color:var(--muted);margin-top:8px}@media(max-width:800px){.workflow-basic-fields,.strategy-action-settings{grid-template-columns:1fr}.strategy-rule-leaves>div{grid-template-columns:70px 1fr 48px}}
.rule-bot-industry-limits{margin:14px 0 18px;border:1px solid #34424a;border-radius:12px;background:#0d1418}.rule-bot-industry-limits>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style:none}.rule-bot-industry-limits>summary::-webkit-details-marker{display:none}.rule-bot-industry-limits>summary span{display:grid;min-width:0;gap:4px}.rule-bot-industry-limits>summary b{flex:0 0 auto;font-size:22px;line-height:1;transition:transform .2s ease}.rule-bot-industry-limits>summary small,.rule-bot-industry-limit-body>p,.rule-bot-industry-limit-empty{color:var(--muted)}.rule-bot-industry-limits[open]>summary b{transform:rotate(180deg)}.rule-bot-industry-limit-body{display:grid;gap:10px;padding:0 16px 16px}.rule-bot-industry-limit-body>p{margin:0;font-size:13px;line-height:1.55}.rule-bot-industry-limit-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,.45fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #2b373e;border-radius:10px;background:#11191d}.rule-bot-industry-limit-row label{display:grid;gap:6px}.rule-bot-industry-limit-row label>span{display:grid;grid-template-columns:1fr auto;align-items:center}.rule-bot-industry-limit-row label>span b{padding:0 12px;color:var(--muted)}.rule-bot-industry-limit-empty{margin:0;padding:12px;border:1px dashed #34424a;border-radius:9px;font-size:13px}.workflow-bot-industry-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:9px 12px;border:1px solid #31524d;border-radius:8px;background:#10201e}.workflow-bot-industry-summary b{color:#7edfd1}.workflow-bot-industry-summary span{overflow:hidden;color:#afc3c0;text-overflow:ellipsis;white-space:nowrap}@media(max-width:620px){.rule-bot-industry-limits>summary{align-items:flex-start;gap:10px}.rule-bot-industry-limit-row{grid-template-columns:1fr}.rule-bot-industry-limit-row .button{width:100%}.workflow-bot-industry-summary{grid-template-columns:1fr}.workflow-bot-industry-summary span{white-space:normal}}
.rule-bot-name-field{max-width:520px}.rule-combination-section{margin-top:16px;border:1px solid #34424a;border-radius:12px;background:#11171b;padding:16px}.rule-combination-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.rule-combination-section>header>div{display:flex;align-items:center;gap:10px}.rule-combination-section h4{margin:0;font-size:18px}.rule-combination-section>header b{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#173f3e;color:#70e1d8}.rule-combination-list{display:grid;gap:8px}.rule-combination-row{display:grid;grid-template-columns:78px minmax(240px,1fr) 36px;align-items:center;gap:8px}.rule-connector,.rule-connector-start{width:78px;font-weight:800;text-align:center}.rule-connector-start{color:#64d8cf}.rule-condition-select{width:100%;min-height:42px}.rule-combination-remove{border:0;background:transparent;color:#b8c4cb;font-size:20px;cursor:pointer}.rule-combination-remove:hover{color:#ff7373}@media(max-width:640px){.rule-combination-row{grid-template-columns:66px minmax(0,1fr) 32px}.rule-connector,.rule-connector-start{width:66px}.rule-combination-section>header{align-items:flex-start;flex-direction:column}}
.rule-bot-broker-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr);gap:12px;max-width:820px;margin-top:12px;padding:14px;border:1px solid #34424a;border-radius:12px;background:#11171b}.rule-bot-broker-fields label{display:grid;gap:7px}.rule-bot-broker-fields small{color:var(--muted);line-height:1.45}.rule-bot-broker-fields select:disabled{cursor:not-allowed;opacity:.65}@media(max-width:700px){.rule-bot-broker-fields{grid-template-columns:1fr}}
.workflow-bot-broker{display:flex;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;border:1px solid #2f454d;border-radius:10px;background:#0d1519}.workflow-bot-broker b{color:#70e1d8;white-space:nowrap}.workflow-bot-broker span{color:var(--muted);font-size:13px;line-height:1.45}
.backtest-stock-search{position:relative}.backtest-stock-results{position:absolute;z-index:30;top:100%;left:0;right:0;max-height:260px;overflow:auto;border:1px solid #34424a;border-radius:10px;background:#11171b;box-shadow:0 12px 30px #0009}.backtest-stock-results button{display:flex;width:100%;justify-content:space-between;gap:12px;padding:11px 13px;border:0;border-bottom:1px solid #27323a;background:transparent;color:#edf4f7;text-align:left;cursor:pointer}.backtest-stock-results button:hover{background:#19302f}.backtest-stock-results span,.backtest-stock-results p{color:#96a4ad}.backtest-stock-results p{padding:12px;margin:0}.backtest-output{display:grid;gap:14px;margin-top:18px}.backtest-chart-wrap{overflow-x:auto;border:1px solid #2f3941;border-radius:12px;background:#0b1014;padding:8px}.backtest-ledger{border:1px solid #2f3941;border-radius:12px;overflow:hidden}.backtest-ledger>header{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:#11171b}.backtest-ledger h4{margin:0}.backtest-ledger-scroll{max-height:420px;overflow:auto}.backtest-ledger table{width:100%;border-collapse:collapse;white-space:nowrap}.backtest-ledger th,.backtest-ledger td{padding:10px 12px;border-bottom:1px solid #27323a;text-align:right}.backtest-ledger th:first-child,.backtest-ledger td:first-child,.backtest-ledger th:nth-child(2),.backtest-ledger td:nth-child(2){text-align:left}.backtest-ledger td b{display:inline-block;min-width:40px}.backtest-ledger td b.is-buy,.backtest-ledger .is-profit{color:#ff6969}.backtest-ledger td b.is-sell,.backtest-ledger .is-loss{color:#4f8fff}.backtest-ledger td small{display:block;color:#84939c;font-size:10px}
.backtest-universe-report{overflow:hidden;border:1px solid #2f4e49;border-radius:14px;background:#0c1517}.backtest-universe-report>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #263b3a}.backtest-universe-report>header div{display:grid;gap:3px}.backtest-universe-report>header span{color:#63cdbc;font-size:10px;font-weight:900;letter-spacing:.16em}.backtest-universe-report>header b{color:#8de3d6}.backtest-universe-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#26343a}.backtest-universe-metrics article{display:grid;gap:9px;padding:16px;background:#10171c}.backtest-universe-metrics span{color:#8d9aa3;font-size:11px}.backtest-universe-metrics strong{font-size:18px}.backtest-universe-table{max-height:520px;overflow:auto}.backtest-universe-table table{width:100%;border-collapse:collapse}.backtest-universe-table th,.backtest-universe-table td{padding:10px 12px;border-bottom:1px solid #26323a;text-align:right}.backtest-universe-table th:first-child,.backtest-universe-table td:first-child,.backtest-universe-table th:nth-child(2),.backtest-universe-table td:nth-child(2){text-align:left}.backtest-universe-table td small{display:block;color:#7e8c96}.backtest-universe-report details{padding:12px 16px}.backtest-universe-report details li{margin:5px 0;color:#a4afb6}
@media(max-width:860px){.backtest-universe-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.backtest-universe-table{overflow-x:auto}.backtest-universe-table table{min-width:720px}}
.backtest-stock-results button.is-active{background:#193b38;outline:1px solid #2fb8ad;outline-offset:-1px}.backtest-recent-stocks{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:32px}.backtest-recent-stocks::before{content:"최근 조회";color:#8f9ca5;font-size:12px}.backtest-recent-stocks:empty{display:none}.backtest-recent-stocks button{padding:6px 10px;border:1px solid #34424a;border-radius:999px;background:#151b20;color:#cbd5da;cursor:pointer}.backtest-recent-stocks button:hover{border-color:#2fb8ad;color:#84e8df}.backtest-date-range{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.backtest-date-range label{display:grid;gap:6px}@media(max-width:620px){.backtest-date-range{grid-template-columns:1fr}}
.backtest-capital-field small{color:#8997a1;font-weight:500;line-height:1.45}.backtest-advanced-settings{grid-column:1/-1;border:1px solid #303a43;border-radius:10px;background:#10161a}.backtest-advanced-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:10px 13px;cursor:pointer;list-style:none}.backtest-advanced-settings>summary::-webkit-details-marker{display:none}.backtest-advanced-settings>summary span{display:grid;gap:3px}.backtest-advanced-settings>summary small{color:#87959e;font-size:11px;font-weight:500}.backtest-advanced-settings>summary b{color:#6fd8cc;font-size:11px}.backtest-advanced-settings[open]>summary{border-bottom:1px solid #2d3740}.backtest-advanced-settings[open]>summary b{font-size:0}.backtest-advanced-settings[open]>summary b::after{content:"접기";font-size:11px}.backtest-advanced-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px}.backtest-advanced-settings-grid .workflow-check{grid-column:1/-1;min-height:40px}
.backtest-indicator-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border:1px solid #2f3941;border-radius:10px;background:#11171b}.backtest-indicator-toolbar strong{margin-right:4px}.backtest-indicator-toolbar label{display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #34424a;border-radius:8px;color:#dce6eb;cursor:pointer}.backtest-indicator-toolbar label:has(input:checked){border-color:#2fb8ad;background:#14302e;color:#fff}.backtest-indicator-panes{display:grid;gap:6px}.backtest-indicator-pane{width:100%;height:150px;display:block;border-top:1px solid #27323a}
.backtest-lightweight-chart{position:relative;width:100%;min-width:700px;min-height:520px}.backtest-chart-legend{position:absolute;z-index:4;top:8px;left:12px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 120px);pointer-events:none}.backtest-chart-legend span{padding:4px 7px;border:1px solid #30363d;border-radius:5px;background:rgba(13,15,17,.9);color:#d8dadd;font-size:12px}.backtest-chart-legend i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%}.backtest-chart-help{color:#96a4ad;font-size:12px}.backtest-indicator-toolbar>.chart-tool-menu{margin:0}.backtest-indicator-toolbar .chart-tool-panel{max-height:440px;overflow-y:auto}.backtest-indicator-toolbar [data-backtest-indicator]{border-color:transparent;background:transparent;color:#cfd8dc}.backtest-indicator-toolbar [data-backtest-indicator]::before{content:"";width:14px;height:14px;flex:0 0 14px;border:1px solid #6a7078;border-radius:3px;background:transparent;box-sizing:border-box}.backtest-indicator-toolbar [data-backtest-indicator].is-active{border-color:transparent;background:#1b2528;color:#fff}.backtest-indicator-toolbar [data-backtest-indicator].is-active::before{border-color:#2fb8ad;background:#2fb8ad;box-shadow:inset 0 0 0 3px #181a1d}
.backtest-selected-indicators{display:none}.backtest-selected-indicators button{display:flex;align-items:center;gap:6px;min-width:max-content;padding:6px 8px;border:1px solid #34424a;border-radius:7px;background:#151b20;color:#e8f0f3;cursor:grab}.backtest-selected-indicators button:active{cursor:grabbing}.backtest-selected-indicators button>span{color:#74828b}.backtest-selected-indicators button>b{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;color:#9eabb3;font-size:13px}.backtest-selected-indicators button>b:hover{background:#3a2225;color:#ff7b7b}
.backtest-chart-height{display:flex;align-items:center;gap:4px;margin-left:auto}.backtest-chart-height span{margin-right:4px;color:#96a4ad;font-size:12px}.backtest-chart-height button{padding:6px 9px;border:1px solid #34424a;border-radius:7px;background:#151b20;color:#aeb9bf;font-size:12px;cursor:pointer}.backtest-chart-height button:hover{border-color:#4f7774;color:#fff}.backtest-chart-height button.is-active{border-color:#2fb8ad;background:#17302e;color:#7ce7dd}@media(max-width:720px){.backtest-chart-height{width:100%;margin-left:0}.backtest-chart-height button{flex:1}.backtest-chart-help{display:none}.backtest-candle-count{width:100%}.backtest-candle-count button{flex:1}.chart-candle-count{width:100%;justify-content:center}.chart-candle-count button{flex:1;max-width:76px}.chart-candle-count span,.backtest-candle-count span{flex:0 0 auto}}
.backtest-timeframe-selector{display:flex;align-items:center;gap:4px;padding-right:8px;border-right:1px solid #34424a}.backtest-timeframe-selector button{min-width:48px;padding:7px 10px;border:1px solid #34424a;border-radius:7px;background:#151b20;color:#aeb9bf;font-size:12px;font-weight:700;cursor:pointer}.backtest-timeframe-selector button:hover{border-color:#4f7774;color:#fff}.backtest-timeframe-selector button.is-active{border-color:#2fb8ad;background:#17302e;color:#7ce7dd}@media(max-width:720px){.backtest-timeframe-selector{width:100%;padding-right:0;border-right:0}.backtest-timeframe-selector button{flex:1}}
.chart-pane-order-controls{position:absolute;z-index:8;inset:0;pointer-events:none}.chart-pane-order-menu{position:absolute;top:8px;right:76px;pointer-events:auto}.chart-pane-order-handle,.chart-pane-order-list button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #46515a;border-radius:7px;background:rgba(15,20,24,.96);color:#e8f0f3;cursor:pointer;box-shadow:0 2px 8px #0008}.chart-pane-order-handle:hover,.chart-pane-order-list button:hover:not(:disabled){border-color:#48c8bc;background:#17302e}.chart-pane-order-list{display:none;position:absolute;top:36px;right:0;width:250px;max-height:340px;overflow:auto;padding:6px;border:1px solid #3b474f;border-radius:9px;background:#11171bf7;box-shadow:0 12px 28px #000b}.chart-pane-order-menu.is-open .chart-pane-order-list{display:grid;gap:3px}.chart-pane-order-list>div{display:grid;grid-template-columns:minmax(0,1fr) 30px 30px;align-items:center;gap:4px;padding:4px;border-radius:6px}.chart-pane-order-list>div:hover{background:#1b2528}.chart-pane-order-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e5ecef;font-size:12px}.chart-pane-order-list button{width:28px;height:26px;box-shadow:none}.chart-pane-order-list button:disabled{opacity:.3;cursor:default}
#wtsChart .chart-pane-order-menu{top:12px;right:12px}
.workflow-list .workflow-bot-card{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:15px!important}.workflow-bot-card>header{display:flex;align-items:center;gap:8px;min-width:0}.workflow-bot-card>header>div{display:grid;gap:3px;min-width:0;margin-right:auto}.workflow-bot-card>header>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-bot-card>header small{grid-column:auto}.workflow-bot-readiness{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid #354049;border-radius:8px;background:#0c1216}.workflow-bot-readiness b{padding:3px 7px;border-radius:5px;font-size:11px}.workflow-bot-readiness span{overflow:hidden;color:#aeb8bf;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.workflow-bot-readiness.is-ready b{color:#79decf;background:#17322e}.workflow-bot-readiness.is-required b{color:#efbd70;background:#382a16}.workflow-bot-allocation{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:8px;background:#111b1c}.workflow-bot-allocation small{grid-column:auto}.workflow-bot-allocation strong{color:#7edfd1}.workflow-item-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:2px}.workflow-item-actions .button{width:auto;padding:6px 10px;font-size:12px}.workflow-item-actions .button:disabled{cursor:not-allowed;opacity:.48}
.rule-bot-compute-quote{display:grid;gap:10px;margin:14px 0;padding:14px;border:1px solid #35544f;border-radius:12px;background:#0d1918}.rule-bot-compute-quote>header{display:flex;align-items:end;justify-content:space-between;gap:16px}.rule-bot-compute-quote>header>div{display:grid;gap:4px}.rule-bot-compute-quote small,.rule-bot-compute-quote label>span{color:var(--muted);font-size:11px}.rule-bot-compute-quote label{display:grid;grid-template-columns:minmax(130px,190px) auto;align-items:center;gap:6px;color:#b8c6ca;font-size:12px}.rule-bot-compute-quote label>input{grid-row:2}.rule-bot-compute-quote label>span{grid-row:2}.rule-bot-compute-quote>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.rule-bot-compute-quote article{display:grid;gap:3px;padding:9px 10px;border:1px solid #2c423f;border-radius:8px;background:#101e1c}.rule-bot-compute-quote article span{color:var(--muted);font-size:11px}.rule-bot-compute-quote .is-over-limit{grid-column:1/-1;color:#ff9b9b}.workflow-bot-compute-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;border:1px solid #35544f;border-radius:8px;background:#0d1918}.workflow-bot-compute-summary b{color:#86dfd2}.workflow-bot-compute-summary span,.workflow-bot-compute-summary small{color:var(--muted);font-size:12px}.workflow-bot-compute-summary.is-over-limit{border-color:#6b3438;background:#251316}.workflow-bot-compute-summary.is-over-limit b{color:#ff9b9b}
@media(max-width:620px){.workflow-bot-card>header{align-items:flex-start;flex-wrap:wrap}.workflow-bot-card>header>div{width:100%}.workflow-bot-readiness{grid-template-columns:1fr}.workflow-bot-readiness span{white-space:normal}.workflow-item-actions{display:grid;grid-template-columns:1fr}.workflow-item-actions .button{width:100%}}
@media(max-width:720px){.rule-bot-compute-quote>header{align-items:stretch;flex-direction:column}.rule-bot-compute-quote label{grid-template-columns:minmax(0,1fr) auto}.rule-bot-compute-quote>div{grid-template-columns:1fr 1fr}.workflow-bot-compute-summary{grid-template-columns:1fr}}

/* Rule bot brand theme: neutral black + low-saturation navy indigo */
.rule-bot-page {
    --rulebot-accent: #62678f;
    --rulebot-accent-bright: #7d83aa;
    --rulebot-accent-soft: #a4a8c1;
    --rulebot-accent-border: #42475f;
    --rulebot-accent-surface: #1b1e2c;
}
.rule-bot-page .rule-bot-hero {
    border-color:#333641;
    background:radial-gradient(circle at 85% 15%,rgba(98,103,143,.1),transparent 42%),linear-gradient(145deg,#14161c,#090a0d 72%);
}
.rule-bot-page .rule-bot-principles div { border-color:#32343d; background:rgba(10,11,15,.76); }
.rule-bot-page .rule-bot-step-nav button:hover { background:#181a21; }
.rule-bot-page .rule-bot-step-nav button.is-active { border-color:var(--rulebot-accent-border); background:#1b1e2c; }
.rule-bot-page .rule-bot-step-nav .is-complete b { border-color:#525772; color:var(--rulebot-accent-soft); }
.rule-bot-page .workflow-list span,
.rule-bot-page .workflow-result strong,
.rule-bot-page .rulebot-operation-block > header span,
.rule-bot-page .paper-validation > header > span { color:var(--rulebot-accent-soft); }
.rule-bot-page .workflow-result { border-color:#343744; background:#12141a; }
.rule-bot-page .workflow-list article,
.rule-bot-page .workflow-account-summary div { border-color:#333641!important; background:#13151b!important; }
.rule-bot-page .live-readiness { border-color:#343743; background:#12141a; }
.rule-bot-page .live-readiness > header > span { color:#b5b8cc; background:#252837; }
.rule-bot-page .rulebot-operation-block { border-color:#333641; background:linear-gradient(145deg,#14161c,#0a0c10); }
.rule-bot-page .rulebot-operation-block > header { border-bottom-color:#30323c; }
.rule-bot-page .paper-validation { border-color:#343743; background:#111319; }
.rule-bot-page .workflow-list .rulebot-running-card { border-color:#4b5069!important; background:#171a24!important; }
.rule-bot-page .rulebot-mode-badge { border-color:#525873; color:#b5b8cc; background:#202330; }
.rule-bot-page .rulebot-diagnostics { border-color:#32353f; background:#111319; }
.rule-bot-page .rule-bot-step.is-current .rule-bot-step-number { border-color:#7d83aa; background:#555b82; box-shadow:0 0 0 5px rgba(98,103,143,.12); }
.rule-bot-page .rule-bot-step.is-current > article { border-color:#4b506b; background:linear-gradient(110deg,rgba(98,103,143,.08),transparent 58%),#13151c; }
.rule-bot-page .rule-bot-step article li::before,
.rule-bot-page .rule-bot-status,
.rule-bot-page .rule-bot-tool-link { color:var(--rulebot-accent-soft); }
.rule-bot-page .capital-mode-tabs button.is-active { background:#292c3d; box-shadow:inset 0 0 0 1px #565b77; }
.rule-bot-page .capital-preview strong { color:var(--rulebot-accent-soft); }
.rule-bot-page .buy-type-grid label:has(input:checked) { border-color:#5b607e; background:rgba(98,103,143,.1); }
.rule-bot-page .buy-type-grid input { accent-color:#6e749a; }
.rule-bot-page .strategy-action-card>header b,
.rule-bot-page .rule-combination-section>header b { color:#c2c5d5; background:#292c3d; }
.rule-bot-page .rule-connector-start { color:var(--rulebot-accent-soft); }
.rule-bot-page .backtest-stock-results button:hover { background:#1a1c25; }
.rule-bot-page .backtest-indicator-toolbar label:has(input:checked) { border-color:#5d627f; background:#262938; }
.rule-bot-page .backtest-indicator-toolbar [data-backtest-indicator].is-active { background:#222531; }
.rule-bot-page .backtest-indicator-toolbar [data-backtest-indicator].is-active::before { border-color:#6e749a; background:#6e749a; }
.rule-bot-page .chart-pane-order-handle:hover,
.rule-bot-page .chart-pane-order-list button:hover:not(:disabled) { border-color:#656b8c; background:#262936; }
.rule-bot-page .chart-pane-order-list>div:hover { background:#1d1f29; }
.rule-bot-page .rule-bot-condition-workspace .condition-list-item:hover,
.rule-bot-page .rule-bot-condition-workspace .condition-list-item:focus-visible,
.rule-bot-page .rule-bot-condition-workspace .condition-list-item.is-active { border-color:#656b8c; background:#1d202b; box-shadow:0 0 0 3px rgba(98,103,143,.1); }
.rule-bot-page .rule-bot-condition-workspace .condition-status,
.rule-bot-page .rule-bot-condition-workspace .condition-position-grid a,
.rule-bot-page .rule-bot-condition-workspace .condition-group legend button,
.rule-bot-page .rule-bot-condition-workspace .condition-group-actions button,
.rule-bot-page .rule-bot-condition-workspace .condition-preview-card header button,
.rule-bot-page .rule-bot-condition-workspace .condition-evaluation-form small,
.rule-bot-page .rule-bot-condition-workspace .condition-versions button { color:var(--rulebot-accent-soft); }
.rule-bot-page .rule-bot-condition-workspace .condition-list-tags span { color:#bec1d1; background:#252835; }
.rule-bot-page .rule-bot-condition-workspace .condition-editor-toolbar { background:linear-gradient(135deg,#20232f,#111319); }
.rule-bot-page .rule-bot-condition-workspace .condition-section-title>span,
.rule-bot-page .rule-bot-condition-workspace .condition-preview-card header span { color:#fff; background:#5c6288; }
.rule-bot-page .rule-bot-condition-workspace .condition-allocation-preview { border-color:#555a76; background:#1c1f2b; }
.rule-bot-page .rule-bot-condition-workspace .condition-allocation-preview strong,
.rule-bot-page .rule-bot-condition-workspace .condition-timeframe,
.rule-bot-page .rule-bot-condition-workspace .condition-help-popover small,
.rule-bot-page .rule-bot-condition-workspace .condition-help-popover em,
.rule-bot-page .rule-bot-condition-workspace .condition-preview-card pre { color:var(--rulebot-accent-soft); }
.rule-bot-page .rule-bot-condition-workspace .condition-group.depth-1 { border-left-color:#6e749a; }
.paper-account-dialog .paper-money-input:focus-within { border-color:#6e749a; box-shadow:0 0 0 3px rgba(98,103,143,.13); }

.rulebot-execution-form { display:grid; grid-template-columns:1fr; gap:12px; width:min(1120px,100%); margin:18px auto 0; }
.rulebot-execution-primary,
.rulebot-execution-settings { display:grid; gap:12px; padding:16px; border:1px solid #343944; border-radius:12px; background:#101318; }
.rulebot-execution-primary { grid-template-columns:minmax(260px,1.25fr) minmax(220px,.75fr); align-items:start; }
.rulebot-execution-settings { grid-template-columns:repeat(2,minmax(220px,1fr)); align-items:start; }
.rulebot-execution-primary > label,
.rulebot-execution-settings > label:not(.workflow-check) { grid-template-rows:auto 42px auto; align-content:start; }
.rulebot-execution-form .workflow-check { min-height:42px; margin:22px 0 0; padding:0 12px; border:1px solid #343944; border-radius:9px; background:#0d1014; }
.rulebot-execution-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:9px; align-items:center; }
.rulebot-execution-actions .button { min-height:42px; margin:0; border-radius:9px; }
.rulebot-execution-actions .button-primary { min-width:240px; margin-right:auto; color:#f7fffd; border-color:#4e9b91; background:linear-gradient(135deg,#397f77,#3f7184); box-shadow:0 7px 20px rgba(46,119,112,.24); font-weight:800; }
.rulebot-execution-actions .button-primary:hover { border-color:#68b6ab; background:linear-gradient(135deg,#438f86,#487f94); box-shadow:0 9px 24px rgba(55,137,128,.3); transform:translateY(-1px); }
.rulebot-execution-actions .button-primary:focus-visible { outline:2px solid #85c9bf; outline-offset:2px; }
.rulebot-execution-actions #emergencyStopRuleBots { min-width:124px; color:#ff9da5; border-color:#69313a; background:#251216; }
.rulebot-execution-actions #stopRuleBot { color:#c5c9d2; }
.rulebot-execution-actions #stopRuleBot:disabled { cursor:not-allowed; opacity:.5; }
.rulebot-emergency-action { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 14px; border:1px solid #563039; border-radius:10px; background:#1b1114; }
.rulebot-emergency-action > span { display:grid; gap:3px; }
.rulebot-emergency-action strong { color:#f0c8cc; font-size:13px; }
.rulebot-emergency-action small { color:#a98f94; font-weight:500; }
.rulebot-emergency-action #emergencyStopRuleBots { flex:none; width:auto; min-height:38px; color:#ff9da5; border-color:#69313a; background:#251216; }
#executeAmountHelp { color:#80cfc5; }
.rulebot-execution-form + .workflow-result { margin-top:14px; min-height:0; padding:12px 14px; }
.rulebot-execution-form ~ .live-readiness { margin-top:12px; }
.live-readiness-details > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; cursor:pointer; list-style:none; }
.live-readiness-details > summary::-webkit-details-marker { display:none; }
.live-readiness-details > summary > div { display:grid; gap:3px; }
.live-readiness-details > summary small { color:#929ba4; font-weight:500; }
.live-readiness-details > summary > span { padding:5px 9px; border-radius:999px; color:#b8bbc9; background:#252832; font-size:12px; font-weight:800; }
.live-readiness-details[open] > summary { margin-bottom:10px; }
.rulebot-execution-form ~ .live-readiness .live-readiness-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.rulebot-execution-form ~ .live-readiness .live-readiness-grid article { grid-template-columns:24px minmax(0,1fr); min-height:64px; }
.rulebot-execution-form ~ .live-readiness .live-readiness-grid article div { display:grid; gap:3px; }
#livePreflightResult .live-readiness-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1050px){
    .rulebot-execution-settings { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rulebot-execution-form ~ .live-readiness .live-readiness-grid,
    #livePreflightResult .live-readiness-grid { grid-template-columns:1fr; }
}
@media(max-width:700px){
    .rulebot-execution-primary,.rulebot-execution-settings { grid-template-columns:1fr; }
    .rulebot-execution-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rulebot-execution-actions .button-primary { grid-column:1/-1; }
    .rulebot-emergency-action { align-items:stretch; flex-direction:column; }
    .rulebot-emergency-action #emergencyStopRuleBots { width:100%; }
}

.community-page{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:42px 0 80px}.community-page>header{margin-bottom:28px}.community-list{display:grid;gap:14px}.community-list>article,.support-compose,.admin-ticket-list>article,.admin-content-form{border:1px solid #303941;border-radius:14px;background:#11161a;padding:20px}.community-list article time{color:#8ea0aa;font-size:12px}.community-list h2{margin:8px 0 10px;font-size:18px}.community-content{white-space:pre-wrap;line-height:1.75;color:#dce5e9}.support-compose{margin-bottom:24px}.support-compose form,.admin-content-form,.admin-answer-form{display:grid;gap:14px}.support-compose label,.admin-content-form label,.admin-answer-form label{display:grid;gap:7px;color:#dce5e9}.support-compose input,.support-compose textarea,.admin-content-form input,.admin-content-form textarea,.admin-answer-form textarea,.member-suspend-form input,.support-report-form input{border:1px solid #38434b;border-radius:9px;background:#0d1114;color:#fff;padding:11px 12px}.support-ticket-list article>header,.admin-ticket-list article>header{display:flex;justify-content:space-between;gap:12px}.support-ticket-list article>header span{display:inline-block;margin-right:6px;padding:3px 7px;border-radius:5px;background:#1b3432;color:#70ddd4;font-size:11px}.support-answer{margin-top:16px;padding:15px;border-left:3px solid #2fb8ad;background:#0d1316}.support-report-form,.member-suspend-form,.admin-ticket-actions{display:flex;gap:8px;margin-top:14px}.support-lock-notice,.is-locked{border-color:#a76f2c!important}.community-admin{display:grid;gap:24px}.admin-content-form{max-width:900px}.admin-community-list,.admin-ticket-list{display:grid;gap:12px}.admin-community-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid #303941;border-radius:10px}.admin-community-list article>div{display:grid;gap:4px}.admin-community-list article>div:last-child{display:flex;gap:8px}.admin-ticket-list article details{margin:14px 0;padding:12px;border-radius:8px;background:#0c1114}.member-suspend-form input:first-child{flex:1}@media(max-width:720px){.support-report-form,.member-suspend-form,.admin-ticket-actions,.admin-community-list article{align-items:stretch;flex-direction:column}.community-page{width:min(100% - 20px,1120px)}}
.support-compose-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}.support-compose-disclosure>summary::-webkit-details-marker{display:none}.support-compose-disclosure>summary h2{margin:0}.support-compose-disclosure>summary small{display:block;margin-top:5px;color:#8f9ba5}.support-compose-disclosure>summary::after{content:"펼치기";flex:none;color:#75d8cd;font-size:12px;font-weight:700}.support-compose-disclosure[open]>summary::after{content:"접기"}.support-compose-body{margin-top:18px;padding-top:18px;border-top:1px solid #2d353d}.support-compose form>p{margin:0;color:#929fa8;font-size:12px}.notice-card{padding:0!important;overflow:hidden}.notice-card-details>summary{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:17px 20px;cursor:pointer;list-style:none}.notice-card-details>summary::-webkit-details-marker{display:none}.notice-card-meta{display:flex;grid-column:1/-1;align-items:center;gap:7px}.notice-card-meta span{padding:3px 7px;border-radius:999px;color:#8ae1d7;background:#19312f;font-size:10px;font-weight:700}.notice-card-details h2{min-width:0;margin:0!important;overflow-wrap:anywhere}.notice-card-toggle{align-self:center;color:#77dcd1;font-size:12px}.notice-card-toggle::after{content:"내용 보기"}.notice-card-details[open] .notice-card-toggle::after{content:"접기"}.notice-card-body{padding:0 20px 20px;border-top:1px solid #2c343c}.notice-card-body .community-content{margin:17px 0 0;overflow-wrap:anywhere}
.support-page.service-content-page>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.support-page-actions{display:flex;gap:8px;flex:none}.support-page-actions .button{margin:0}.support-visibility-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0}.support-visibility-options legend{grid-column:1/-1;margin-bottom:1px;color:#dce5e9}.support-visibility-options label{display:flex!important;align-items:flex-start;gap:10px!important;min-height:70px;padding:11px;border:1px solid #344049;border-radius:10px;background:#0e1317;cursor:pointer}.support-visibility-options label:has(input:checked){border-color:#4a9f97;background:#122522}.support-visibility-options input{flex:none;width:18px;height:18px;margin:2px 0 0;padding:0!important}.support-visibility-options label>span{display:grid;gap:4px}.support-visibility-options small{color:#8f9ba5;font-size:11px;line-height:1.45}.support-ticket-list>article{padding:0!important;overflow:hidden}.support-ticket-details>summary{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:16px 18px;cursor:pointer;list-style:none}.support-ticket-details>summary::-webkit-details-marker{display:none}.support-ticket-summary-meta{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:12px}.support-ticket-summary-meta>div{display:flex;flex-wrap:wrap;gap:6px}.support-ticket-summary-meta span{display:inline-block;padding:3px 7px;border-radius:5px;background:#1b3432;color:#70ddd4;font-size:11px}.support-ticket-details h2{min-width:0;margin:0!important;overflow-wrap:anywhere}.support-ticket-toggle{align-self:center;color:#77dcd1;font-size:12px}.support-ticket-toggle::after{content:"내용 보기"}.support-ticket-details[open] .support-ticket-toggle::after{content:"접기"}.support-ticket-body{padding:0 18px 18px;border-top:1px solid #2c343c}.support-ticket-body>.community-content{margin-top:16px}
.service-content-page{
    width:min(1180px,calc(100% - 32px));
    margin-inline:auto;
    padding:34px 0 80px;
}
.service-content-page>header{
    margin-bottom:18px;
    padding:22px 24px;
    border:1px solid #303943;
    border-radius:14px;
    background:linear-gradient(135deg,#151a20,#101419);
}
.service-content-page>header h1{margin:5px 0 8px;font-size:36px}
.service-content-page>header>p:last-child,
.service-content-page>header>div>p:last-child{margin-bottom:0;color:#aeb8c3}
.service-content-page>.ad-slot-center{margin-bottom:20px}
.api-guide-section{display:grid;gap:12px;margin:26px 0}.api-guide-section>header{display:flex;justify-content:space-between;gap:20px;align-items:end}.api-guide-card{border:1px solid #303941;border-radius:14px;background:#11161a}.api-guide-card>summary{display:flex;justify-content:space-between;gap:12px;padding:18px 20px;cursor:pointer}.api-guide-card>summary span{color:#94a2aa}.api-guide-body{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);gap:22px;padding:0 20px 20px}.api-guide-body ol{display:grid;gap:10px;margin:0;padding-left:22px}.api-guide-body li b,.api-guide-body li span{display:block}.api-guide-body li span{margin-top:3px;color:#9fadb5;line-height:1.5}.api-guide-shot{align-self:start;border:1px solid #3a454d;border-radius:12px;overflow:hidden;background:#0b0f12}.mock-browser-bar{display:flex;justify-content:space-between;padding:9px 12px;background:#22292e;color:#9faab1;font-size:12px}.mock-screen{display:grid;gap:13px;padding:22px}.mock-screen>span{color:#55d5cc}.mock-screen>div{display:flex;gap:8px;align-items:center}.mock-screen i{padding:8px;border:1px solid #3b474e;border-radius:6px;color:#dce5e9;font-style:normal}.api-guide-shot small{display:block;padding:9px 12px;color:#84929a}.mock-chat{display:grid;gap:7px;padding:18px}.mock-chat p{justify-self:end;max-width:85%;margin:0;padding:9px 11px;border-radius:10px;background:#235b75}.mock-chat .reply{justify-self:start;background:#252e34}.api-guide-body>a{grid-column:2;justify-self:start}@media(max-width:800px){.api-guide-section>header,.api-guide-card>summary{align-items:flex-start;flex-direction:column}.api-guide-body{grid-template-columns:1fr}.api-guide-body>a{grid-column:1}}

@media(max-width:480px){
    .paper-account-dialog{width:calc(100% - 12px);max-width:calc(100% - 12px);max-height:calc(100dvh - 12px)}
    .paper-account-dialog form{padding:16px}
    .paper-account-dialog h2{font-size:20px}
    .paper-account-dialog form>p{margin:12px 0}
    .paper-account-dialog label{margin-top:14px}
    .paper-quick-amounts{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
    .paper-quick-amounts button{min-height:42px;padding:7px 3px;font-size:11px}
    .paper-account-dialog footer{display:grid;grid-template-columns:1fr 1fr;margin-top:16px}
    .paper-account-dialog footer .button{width:100%;min-width:0;margin:0;padding-inline:6px}
    .capital-preview{align-items:flex-start;flex-direction:column}
    .capital-preview strong{font-size:18px}
    .capital-kelly-grid{grid-template-columns:1fr}
    .capital-plan-toolbar{grid-template-columns:1fr 1fr}.capital-plan-toolbar label:first-child,.capital-plan-toolbar label:nth-child(3){grid-column:1/-1}.capital-plan-toolbar .button{width:100%}
    .capital-bucket-grid{grid-template-columns:1fr}.capital-bucket-rulebots{max-height:150px}.capital-plan-safety{display:grid}.capital-plan-actions{display:grid;grid-template-columns:1fr 1fr}.capital-plan-actions .button{width:100%;min-width:0;padding-inline:5px}
    .support-page.service-content-page{width:calc(100% - 16px);padding-top:18px}
    .support-page.service-content-page>header{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:12px;padding:16px}
    .support-page.service-content-page>header h1{font-size:28px}
    .support-page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .support-page-actions .button{width:100%;min-width:0;padding-inline:6px}
    .community-page>header{min-height:0}
    .community-list{gap:10px}
    .community-list>article,.support-compose{padding:14px}
    .support-compose{margin-bottom:12px}
    .support-compose-body{margin-top:14px;padding-top:14px}
    .support-compose form{gap:12px}
    .support-page .support-compose textarea{height:132px;min-height:132px;max-height:45vh}
    .support-compose form>.button{width:100%;margin:0}
    .support-visibility-options{grid-template-columns:1fr}
    .support-visibility-options label{min-height:64px}
    .support-ticket-details>summary{grid-template-columns:minmax(0,1fr);padding:14px}
    .support-ticket-summary-meta{align-items:flex-start;flex-direction:column;gap:7px}
    .support-ticket-summary-meta time{order:-1}
    .support-ticket-toggle{justify-self:start}
    .support-ticket-body{padding:0 14px 14px}
    .support-answer{padding:12px}
    .support-report-form input,.support-report-form .button{width:100%;min-height:44px;margin:0}
    .notice-card-details>summary{grid-template-columns:minmax(0,1fr);padding:14px}
    .notice-card-meta{flex-wrap:wrap}
    .notice-card-toggle{justify-self:start}
    .notice-card-body{padding:0 14px 14px}
}

.broker-condition-page{width:min(1480px,calc(100% - 32px));margin:0 auto;padding:34px 0 70px}
.broker-condition-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}
.broker-condition-heading h1{margin:6px 0 8px;font-size:30px}.broker-condition-heading p{margin:0;color:var(--muted)}
.broker-condition-heading-actions,.broker-condition-content-actions{display:flex;gap:8px;flex-wrap:wrap}
.broker-condition-provider{display:grid;gap:5px;color:var(--muted);font-size:12px}.broker-condition-provider select{min-width:150px;height:42px;padding:0 36px 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text)}
.ls-condition-registration{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);gap:20px;align-items:end;margin:0 0 18px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.ls-condition-registration>div{display:grid;gap:6px}.ls-condition-registration small{color:var(--muted);line-height:1.55}.ls-condition-registration form{display:grid;grid-template-columns:minmax(120px,.55fr) minmax(180px,1fr) auto;gap:10px;align-items:end}.ls-condition-registration label{display:grid;gap:6px;color:var(--muted);font-size:12px}.ls-condition-registration input{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text)}.ls-condition-registration .button{height:42px;white-space:nowrap}
.broker-condition-workspace{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:650px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#101216}
.broker-condition-sidebar{min-width:0;padding:16px;border-right:1px solid var(--line);background:#0d0f12}
.broker-condition-filter{display:grid;gap:7px;color:var(--muted);font-size:12px}.broker-condition-filter input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#111419;color:var(--text)}
.broker-condition-list{display:grid;gap:5px;max-height:590px;overflow:auto;margin-top:12px;padding-right:4px}
.broker-condition-list>button{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.broker-condition-list>button:hover,.broker-condition-list>button.is-active{border-color:#4d526d;background:#1b1e2a}
.broker-condition-list>button>b{display:grid;place-items:center;width:34px;height:30px;border-radius:7px;background:#252936;color:#c7cadb}
.broker-condition-list>button span{display:grid;gap:3px;min-width:0}.broker-condition-list>button strong,.broker-condition-list>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.broker-condition-list>button small{color:var(--muted)}
.broker-condition-content{min-width:0;padding:22px}.broker-condition-content>header{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}
.broker-condition-content h2{margin:5px 0 0;font-size:22px}.broker-condition-content header span,.broker-condition-status{color:var(--muted)}
.broker-condition-status{padding:14px 0}.broker-condition-stocks{min-width:0}
.broker-condition-table-scroll{overflow:auto;border:1px solid var(--line);border-radius:11px;background:#111419}
.broker-condition-stocks table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:fixed}
.broker-condition-stocks th{position:sticky;z-index:2;top:0;padding:0;border-bottom:1px solid #343944;background:#171a20;text-align:right;white-space:nowrap}.broker-column-resizer{position:absolute;z-index:3;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;touch-action:none}.broker-column-resizer::after{content:"";position:absolute;top:25%;bottom:25%;left:3px;width:1px;background:#4b5260}.broker-column-resizer:hover::after{background:#8fe0d0}
.broker-condition-stocks th.is-text{text-align:left}.broker-condition-stocks th button{display:flex;align-items:center;justify-content:flex-end;gap:5px;width:100%;padding:11px 13px;border:0;background:transparent;color:#aeb5bf;font-size:12px;font-weight:700;cursor:pointer}.broker-condition-stocks th.is-text button{justify-content:flex-start}.broker-condition-stocks th button:hover{color:#fff;background:#20242c}.broker-condition-stocks th i{min-width:9px;color:#7fdbc9;font-size:9px;font-style:normal}
.broker-condition-stocks td{padding:11px 13px;border-bottom:1px solid #252a31;color:#e5e9ee;text-align:right;white-space:nowrap}.broker-condition-stocks tbody tr{cursor:pointer}.broker-condition-stocks tbody tr:hover,.broker-condition-stocks tbody tr:focus{outline:0;background:#1c2028}.broker-condition-stocks tbody tr:last-child td{border-bottom:0}
.broker-condition-stocks td.is-stock{text-align:left}.broker-condition-stocks td.is-stock strong,.broker-condition-stocks td.is-stock small{display:block}.broker-condition-stocks td.is-stock small,.broker-condition-stocks td.is-code{color:var(--muted);font-size:11px}.broker-condition-stocks em{font-style:normal;font-weight:700}.broker-condition-stocks .is-up{color:#ff646d}.broker-condition-stocks .is-down{color:#5792ff}.broker-condition-empty{padding:60px 20px;text-align:center;color:var(--muted)}
.broker-condition-list-state{display:grid;gap:5px;padding:18px 12px;border:1px dashed #343c46;border-radius:10px;color:#dce4e8;text-align:center}.broker-condition-list-state small{color:var(--muted);font-size:11px;line-height:1.55}.broker-condition-list-state.is-error{border-color:#684149;color:#ff9ea5}.broker-condition-mobile-stocks{display:none}
.broker-vip-audit{margin:0 0 18px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#101419}.broker-vip-audit>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.broker-vip-audit h2{margin:4px 0 0;font-size:20px}.broker-vip-audit>p{margin:10px 0 16px;color:var(--muted)}.broker-vip-audit-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.broker-vip-audit-card{display:grid;gap:8px;padding:14px;border:1px solid #303641;border-radius:10px;background:#151920}.broker-vip-audit-card header{display:flex;align-items:start;justify-content:space-between;gap:10px}.broker-vip-audit-card h3{margin:0;font-size:14px}.broker-vip-audit-card small{color:var(--muted)}.broker-vip-audit-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0}.broker-vip-audit-card dl div{padding:8px;border-radius:7px;background:#0f1217}.broker-vip-audit-card dt{color:var(--muted);font-size:10px}.broker-vip-audit-card dd{margin:3px 0 0;font-weight:700}.broker-vip-audit-card.is-error{border-color:#74404a}.broker-vip-audit-card.is-pending{opacity:.72}
.broker-vip-audit-card details{padding-top:6px;border-top:1px solid #2b3039}.broker-vip-audit-card summary{cursor:pointer;color:#bfc6cf;font-size:12px}.broker-vip-audit-card details p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.55;overflow-wrap:anywhere}
.broker-vip-audit-card-wide{grid-column:1/-1}.broker-vip-audit-card-wide dl{grid-template-columns:repeat(6,minmax(0,1fr))}
.broker-vip-trace{display:grid;gap:9px;margin-top:10px;padding-top:9px;border-top:1px dashed #343b45}.broker-vip-trace h4{margin:0;color:#e0e5e9;font-size:12px}.broker-vip-trace-summary,.broker-vip-stock-trace ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.broker-vip-trace-summary li,.broker-vip-stock-trace li{display:grid;gap:3px;padding:8px;border-radius:7px;background:#0e1216}.broker-vip-trace-summary b,.broker-vip-stock-trace b{font-size:11px}.broker-vip-trace-summary span,.broker-vip-stock-trace span,.broker-vip-trace-summary small{color:var(--muted);font-size:10px;line-height:1.45}.broker-vip-trace-stocks{border-top:0!important}.broker-vip-stock-trace{margin-top:6px;padding:7px!important;border:1px solid #2c333c!important;border-radius:7px}.broker-vip-stock-trace ul{margin-top:7px}.broker-vip-trace-empty{color:var(--muted)!important}
.broker-table-setting-dialog{width:min(480px,calc(100% - 28px));padding:0;border:1px solid #3b414b;border-radius:14px;background:#15181e;color:var(--text);box-shadow:0 24px 80px #000b}.broker-table-setting-dialog::backdrop{background:#050607b8;backdrop-filter:blur(3px)}.broker-table-setting-dialog form{display:grid;gap:14px;padding:20px}.broker-table-setting-dialog header,.broker-table-setting-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.broker-table-setting-dialog h2{margin:4px 0 0}.broker-table-setting-dialog p{margin:0;color:var(--muted)}.broker-table-setting-dialog footer{justify-content:flex-end}
.broker-table-column-setting{display:grid;gap:6px}.broker-table-column-setting>div{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border:1px solid #303640;border-radius:8px;background:#101318}.broker-table-column-setting label{display:flex;align-items:center;gap:9px}.broker-table-column-setting span{display:flex;gap:4px}.broker-table-column-setting span button{width:30px;height:28px;border:1px solid #3a414c;border-radius:6px;background:#1a1e25;color:#dce2e8;cursor:pointer}.broker-table-column-setting span button:disabled{opacity:.25;cursor:default}.broker-column-setting-actions{align-items:center}.broker-column-setting-actions input{width:68px;height:28px;padding:4px 7px;border:1px solid #3a414c;border-radius:6px;background:#0c0f13;color:var(--text);text-align:right}.broker-column-setting-actions small{margin-right:5px;color:var(--muted)}
.condition-broker-source{display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,1fr) auto;gap:10px 16px;align-items:end;margin-bottom:14px;padding:14px;border:1px solid #3b4054;border-radius:11px;background:#171a23}.condition-broker-source label{display:grid;gap:7px}.condition-broker-source select{width:100%}.condition-broker-source small{color:var(--muted);line-height:1.5}.condition-broker-source a{align-self:center;color:#b9bdd2;text-decoration:none}
@media(max-width:800px){.broker-condition-heading{align-items:stretch;flex-direction:column}.ls-condition-registration{grid-template-columns:1fr}.ls-condition-registration form{grid-template-columns:1fr 1fr}.ls-condition-registration .button{grid-column:1/-1}.broker-condition-workspace{grid-template-columns:1fr}.broker-condition-sidebar{border-right:0;border-bottom:1px solid var(--line)}.broker-condition-list{max-height:260px}.broker-condition-content>header{align-items:flex-start;flex-direction:column}.broker-vip-audit-results{grid-template-columns:1fr}.broker-vip-audit-card-wide dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Mobile layout guardrails */
@media(max-width:800px){
    html,body{max-width:100%;overflow-x:hidden}
    .stock-overview{gap:7px;padding:8px 10px}
    .chart-quote-line{width:100%;gap:5px;overflow:hidden}
    .chart-quote-line>#selectedStockName{max-width:110px;overflow:hidden;text-overflow:ellipsis}
    .chart-market-name,.chart-quote-separator{display:none}
    .quote-data-source{width:25px;flex:0 0 25px;padding:3px 4px;font-size:0;text-align:center}
    .quote-data-source::after{content:'API';font-size:9px}
    .quote-data-source.is-cache::after{content:'DB'}
    .chart-current-price{margin-left:auto;font-size:17px}
    .chart-change-value{flex:none;font-size:12px}
    #changeAmount{display:none}
    .chart-quote-actions{width:100%;justify-content:flex-end}
    .chart-toolbar-left,.chart-resolution-toolbar{width:100%}
    .chart-toolbar-left{justify-content:center}
    .chart-resolution-toolbar{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
    .chart-resolution-favorites{justify-content:flex-start;overflow:visible}
    .chart-resolution-panel,.chart-tool-panel{position:fixed;top:112px;right:auto;left:50%;width:calc(100vw - 24px);max-width:none;max-height:calc(100vh - 130px);overflow-y:auto;transform:translateX(-50%)}
    .chart-indicator-menu .chart-indicator-toolbar{position:fixed;top:112px;right:auto;left:50%;width:calc(100vw - 24px);max-height:calc(100vh - 130px);transform:translateX(-50%)}
    .condition-page{width:100%;max-width:100%;overflow:hidden}
    .condition-list-panel,.condition-editor-panel,.condition-editor-scroll,.condition-section{max-width:100%}
    .condition-section{padding:12px}
    .condition-editor-toolbar{position:sticky;z-index:25;top:64px;padding:12px;background:#171c22}
    .condition-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
    .condition-editor-actions .button{width:100%;min-width:0;margin:0;padding-inline:8px}
    .condition-group{padding:10px}
    .condition-group .condition-group{padding:8px}
    .condition-group legend{width:100%;gap:7px;padding:0 2px 9px}
    .condition-group legend select{flex:1;min-width:120px}
    .condition-group legend small{width:100%}
    .condition-group legend>button{width:100%;margin:0;text-align:center}
    .condition-group-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .condition-group-actions button{min-width:0;min-height:44px}
    .condition-row{gap:11px;padding:11px}
    .condition-value,.condition-row-control{min-width:0}
    .condition-value-select{grid-template-columns:minmax(0,1fr) 44px}
    .condition-value-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .condition-value-options label{max-width:none;min-width:0}
    .condition-value.constant{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
    .condition-broker-source{grid-template-columns:minmax(0,1fr);padding:11px}
    .condition-broker-source label,.condition-broker-source small,.condition-broker-source a{min-width:0;max-width:100%;overflow-wrap:anywhere}
    .rule-bot-condition-workspace{padding-right:0}
    .rule-bot-page .rule-bot-steps{padding:0 8px}
    .rule-bot-page .rule-bot-step{display:block}
    .rule-bot-page .rule-bot-step-number{display:none}
    .rule-bot-page .rule-bot-step > article{width:100%;padding:14px}
    .rule-bot-page .rule-bot-step > article>header{flex-wrap:wrap;gap:10px}
    .rule-bot-page .workflow-form{grid-template-columns:minmax(0,1fr)}
    .rule-bot-page .workflow-form>*{min-width:0}
    .rule-bot-step-nav{scroll-snap-type:x proximity;padding-bottom:8px}
    .rule-bot-step-nav button{scroll-snap-align:start}
    .strategy-action-card{padding:11px}
    .strategy-action-card>header{display:grid;grid-template-columns:28px minmax(0,1fr) 44px;gap:8px}
    .strategy-action-card>header strong{margin:0}
    .strategy-action-card>header select{grid-column:1/-1;width:100%;max-width:none}
    .strategy-action-card>header button{width:44px;height:44px}
    .strategy-rule-leaves>div{grid-template-columns:minmax(0,1fr) 48px}
    .strategy-rule-leaves .strategy-not{grid-column:1/-1}
    .rule-combination-section{padding:12px}
    .rulebot-execution-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .rulebot-execution-actions .button-primary{grid-column:1/-1}
    .rulebot-execution-actions .button,.rulebot-execution-actions .button-primary{width:100%;min-width:0;margin:0}
    .rulebot-order-integrity{grid-template-columns:minmax(0,1fr)}
    .rulebot-order-integrity.is-healthy{display:grid;grid-template-columns:minmax(0,1fr)}
    .rulebot-order-integrity.is-healthy div{display:grid;gap:3px}
    .rulebot-order-integrity.is-healthy div small{white-space:normal}
    .rulebot-order-integrity>small{grid-column:auto}
    .rulebot-order-integrity .rulebot-integrity-issues{grid-column:auto;grid-template-columns:minmax(0,1fr)}
    .workflow-list article{grid-template-columns:minmax(0,1fr)}
    .workflow-list .rulebot-running-card,.workflow-list .rulebot-position-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}
    .rulebot-running-identity,.rulebot-position-identity,.rulebot-running-profit,.rulebot-running-settlement,.rulebot-running-stop{grid-column:1/-1}
    .rulebot-running-stop{justify-self:stretch;width:100%!important}
    .rulebot-position-row>b{grid-column:1/-1;padding-top:10px;border-top:1px solid #2b2e38}
    .rulebot-position-row>b,.rulebot-running-card>b{text-align:left}
    .paper-validation>div,.rulebot-order-detail>div{grid-template-columns:minmax(0,1fr)}
    .rulebot-order-filter{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}
    .rulebot-order-filter label:first-child{grid-column:1/-1}
    .rulebot-order-filter .button{width:100%;min-width:0;margin:0}
    .rulebot-order-detail summary{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"stock stock" "date mode" "side result" "fill fill";gap:8px 12px;padding:13px 4px}
    .rulebot-order-detail summary>[data-label]{display:grid;gap:3px}
    .rulebot-order-detail summary>[data-label]::before{content:attr(data-label);color:#727988;font-size:10px;font-weight:600}
    .rulebot-order-detail .rulebot-mode-badge{align-content:center;justify-self:end}
    .rulebot-order-detail .rulebot-order-side{text-align:left}
    .rulebot-order-detail .rulebot-order-fill{padding-top:8px;border-top:1px solid #292c35}
    .rulebot-order-result{text-align:right}
    .rulebot-fill-ledger>span{grid-template-columns:48px minmax(0,1fr)}
    .rulebot-fill-ledger>span em{text-align:left}
    .broker-condition-page{width:calc(100% - 20px);padding-top:22px}
    .broker-condition-content,.broker-condition-sidebar{padding:14px}
    .broker-condition-heading-actions,.broker-condition-content-actions{display:grid;grid-template-columns:1fr 1fr}
    .broker-condition-heading-actions .button,.broker-condition-content-actions .button{width:100%;min-width:0}
    .broker-table-setting-dialog form{padding:14px}
    .broker-table-column-setting>div{align-items:flex-start;flex-direction:column;gap:9px}
    .broker-column-setting-actions{width:100%;justify-content:flex-end}
}

@media(max-width:420px){
    .topbar-home{gap:7px;padding:0 7px}
    .topbar-home .brand{min-width:38px}
    .chart-quote-line>#selectedStockName{max-width:96px}
    .chart-change-value{font-size:11px}
    .workflow-account-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .workflow-account-summary div{padding:11px}
    .condition-value.constant,.condition-value-options{grid-template-columns:minmax(0,1fr)}
    .rule-combination-row{grid-template-columns:58px minmax(0,1fr) 44px;gap:6px}
    .rule-connector,.rule-connector-start{width:58px}
    .rule-combination-section>header .button{width:100%;margin:0}
}

@media(max-width:800px){
    .rule-bot-page.is-workflow-focused{padding-top:8px}
    .rule-bot-page.is-workflow-focused .rule-bot-hero,
    .rule-bot-page.is-workflow-focused .rule-bot-section-heading{display:none}
    .rule-bot-page.is-workflow-focused .rule-bot-guide{margin-top:0;scroll-margin-top:calc(116px + env(safe-area-inset-top, 0px))}
    .rule-bot-page .rule-bot-step-nav{position:sticky;z-index:42;top:calc(116px + env(safe-area-inset-top, 0px));margin:0 8px;padding:6px;scrollbar-width:none;box-shadow:0 10px 28px #0009}
    .rule-bot-page .rule-bot-step-nav::-webkit-scrollbar{display:none}
    .rule-bot-page .rule-bot-step-nav button{min-height:44px;touch-action:manipulation}
    .rule-bot-page .rule-bot-steps{padding-top:8px}
    .rule-bot-page .workflow-form input,.rule-bot-page .workflow-form select{min-height:44px}
    .rule-bot-page .workflow-form .button{min-height:44px}
    .rule-bot-page .rulebot-account-actions{display:grid;grid-template-columns:minmax(0,1fr)}
    .rule-bot-page .rulebot-account-actions .button{width:100%;min-height:44px;margin:0}
}
.ad-slot {
    border: 1px solid rgba(112, 129, 154, .3);
    background: linear-gradient(135deg, rgba(25, 31, 40, .94), rgba(15, 19, 25, .94));
    color: #d9e0ea;
    border-radius: 12px;
}
.ad-slot span {
    color: #8290a3;
    font-size: 10px;
    letter-spacing: .14em;
}
.ad-slot .adsbygoogle{width:100%}
.ad-slot-inline {
    min-height: 72px;
    margin: 10px 12px;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 18px;
}
.ad-slot-inline strong { flex: 1; font-size: 14px; }
.ad-slot-center {
    width: min(970px, calc(100% - 24px));
    margin-inline: auto;
}
.ad-slot-side {
    display: none;
    position: fixed;
    top: 168px;
    width: 150px;
    min-height: 520px;
    padding: 18px 12px;
    z-index: 20;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
    text-align: center;
}
.ad-slot-side-left { left: 12px; }
.ad-slot-side-right { right: 12px; }
@media (min-width: 1760px) {
    body.has-side-ad-layout .ad-slot-side { display: flex; }
    body.has-side-ad-layout .rule-bot-page,
    body.has-side-ad-layout .trading-main {
        width: calc(100% - 356px);
        max-width: none;
        margin-inline: auto;
    }
    body.has-side-ad-layout .broker-condition-page {
        width: min(1480px, calc(100% - 356px));
    }
    body.has-full-content-layout .rule-bot-page,
    body.has-full-content-layout .trading-main {
        width: 100%;
        max-width: none;
    }
    body.has-full-content-layout .broker-condition-page {
        width: calc(100% - 32px);
        max-width: none;
    }
}
body.is-ad-free-layout .ad-slot-side,
body.is-ad-free-layout .ad-slot-center { display:none!important; }
@media (max-width: 720px) {
    .ad-slot-inline { margin: 8px; min-height: 58px; padding: 10px 12px; gap: 8px; }
    .ad-slot-inline strong { font-size: 12px; }
    .ad-slot-inline small { display: none; }
    #wtsChart .chart-pane-order-menu{top:8px;right:8px}
    .service-content-page{width:calc(100% - 20px);padding:22px 0 56px}
    .service-content-page>header{padding:18px}
    .service-content-page>header h1{font-size:30px}
}
.backtest-lightweight-chart{min-height:700px}
.condition-group.is-negated{border-color:#a979c9;background:linear-gradient(135deg,rgba(103,57,126,.14),#10151a 42%)}
.condition-group legend{width:calc(100% - 12px);padding:0 6px 8px}
.condition-group legend>button{margin-left:auto;padding:6px 9px;border:1px solid #51343c;border-radius:7px!important;color:#db9da6!important;background:#24191d!important}
.condition-negate-switch{display:inline-flex;align-items:center;gap:7px;padding:4px 8px 4px 5px;border:1px solid #3b4652;border-radius:999px;color:#aeb9c3;font-size:11px;font-weight:700;cursor:pointer;background:#141a20}
.condition-negate-switch input{position:absolute;opacity:0;pointer-events:none}
.condition-negate-switch span{position:relative;width:30px;height:17px;border-radius:999px;background:#3b444d;transition:.18s}
.condition-negate-switch span::after{content:"";position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:#c9d0d5;transition:.18s}
.condition-negate-switch input:checked+span{background:#8d56aa}
.condition-negate-switch input:checked+span::after{transform:translateX(13px);background:#fff}
.condition-negate-switch:has(input:focus-visible){outline:2px solid #76d9cb;outline-offset:2px}
.condition-row{position:relative;grid-template-columns:46px 82px minmax(190px,1fr) 112px minmax(190px,1fr);gap:8px;padding:16px 52px 16px 16px}
.condition-row>.condition-enable-switch{min-width:0}
.condition-row>.condition-row-control,.condition-row>.condition-value{min-width:0}
.condition-indicator-trigger span,.condition-indicator-trigger small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.condition-row .condition-remove{position:absolute;top:14px;right:12px}
.condition-group-actions{border-top:1px dashed #303a43;margin-top:12px}
.condition-group-actions button{padding:8px 11px!important;border:1px solid #31433f!important;border-radius:8px!important;background:#14201f!important}
@media(max-width:1100px){.condition-group legend{align-items:flex-start;flex-wrap:wrap}.condition-group legend>button{margin-left:0}.condition-row{grid-template-columns:1fr;padding:14px}.condition-row .condition-remove{position:static;width:100%;margin-top:3px}.condition-row-control{display:grid;gap:6px}.condition-row-control>span,.condition-value::before{display:block;color:#9ca7b2;font-size:11px;font-weight:800}.condition-value::before{content:attr(data-mobile-label)}.condition-remove{height:44px;font-size:13px;font-weight:800}.condition-remove span{display:none}.condition-remove b{display:inline}}
.backtest-portfolio-analytics{overflow:hidden;border:1px solid #343d46;border-radius:12px;background:#0d1217}
.backtest-portfolio-analytics>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border-bottom:1px solid #29323a}
.backtest-portfolio-analytics>header div{display:grid;gap:4px}.backtest-portfolio-analytics>header small{color:#87949e}.backtest-portfolio-analytics>header>span{color:#86c9bd;font-weight:700}
.portfolio-comparison{padding:16px 17px;border-top:1px solid #29323a}.portfolio-comparison>header{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.portfolio-comparison>header small{color:#87949e}.portfolio-comparison-chart{position:relative;overflow:hidden;border:1px solid #2b353d;border-radius:10px;background:#0a0f13}.portfolio-comparison-chart svg{display:block;width:100%;height:auto;min-height:190px}.portfolio-comparison-chart text{fill:#788690;font-size:11px}.portfolio-comparison-legend{position:absolute;z-index:1;top:10px;right:12px;display:flex;gap:12px;color:#aeb9c0;font-size:12px}.portfolio-comparison-legend span::before{content:"";display:inline-block;width:9px;height:3px;margin-right:5px;vertical-align:middle;border-radius:2px}.portfolio-comparison-legend .is-portfolio::before{background:#67d5c5}.portfolio-comparison-legend .is-benchmark::before{background:#8d9aad}.comparison-zero{stroke:#39444c;stroke-width:1;stroke-dasharray:4 4}.comparison-line{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.comparison-line.is-portfolio{stroke:#67d5c5}.comparison-line.is-benchmark{stroke:#8d9aad}.portfolio-comparison-empty{padding:32px;text-align:center;color:#87949e;border:1px dashed #34404a;border-radius:10px}
.portfolio-period-performance{padding:16px 17px;border-top:1px solid #29323a}.portfolio-period-performance>header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.portfolio-period-performance>header>div:first-child{display:grid;gap:4px}.portfolio-period-performance header small{color:#87949e}.portfolio-period-extremes{display:flex;gap:12px;color:#87949e;font-size:12px}.portfolio-period-extremes span{padding:6px 9px;border-radius:7px;background:#12191e}.portfolio-period-tables{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(420px,1.25fr);gap:12px}.portfolio-period-tables section{min-width:0;border:1px solid #2c363e;border-radius:10px;background:#0b1115}.portfolio-period-tables h5{margin:0;padding:10px 12px;border-bottom:1px solid #283139;font-size:13px}.portfolio-period-tables section>div{max-height:300px;overflow:auto}.portfolio-period-tables table{width:100%;border-collapse:collapse;white-space:nowrap}.portfolio-period-tables th,.portfolio-period-tables td{padding:9px 11px;border-bottom:1px solid #242d34;text-align:right}.portfolio-period-tables th:first-child,.portfolio-period-tables td:first-child{text-align:left}.portfolio-period-performance .is-profit{color:#ff7979}.portfolio-period-performance .is-loss{color:#629aff}@media(max-width:850px){.portfolio-period-performance>header{align-items:flex-start;flex-direction:column}.portfolio-period-tables{grid-template-columns:1fr}}@media(max-width:540px){.portfolio-period-extremes{flex-direction:column;gap:5px}.portfolio-period-tables section>div{overflow-x:auto}}
.backtest-analytics-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}
.backtest-analytics-summary article{display:grid;gap:5px;padding:13px;border:1px solid #2d3740;border-radius:10px;background:#12181d}
.backtest-analytics-summary span,.backtest-analytics-summary small{color:#8e9ba4}.backtest-analytics-summary strong{font-size:20px;color:#eef4f6}
.backtest-contribution-table{overflow:auto;border-top:1px solid #29323a}.backtest-contribution-table table{width:100%;border-collapse:collapse;white-space:nowrap}
.backtest-contribution-table th,.backtest-contribution-table td{padding:10px 13px;border-bottom:1px solid #252e35;text-align:right}
.backtest-contribution-table th:first-child,.backtest-contribution-table td:first-child{text-align:left}.backtest-contribution-table td small{display:block;color:#7f8d97}
.backtest-contribution-table .is-profit{color:#ff6969}.backtest-contribution-table .is-loss{color:#4f8fff}
@media(max-width:900px){.backtest-analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.backtest-analytics-summary{grid-template-columns:1fr}.backtest-portfolio-analytics>header{align-items:flex-start}}
.rulebot-performance{margin-top:12px;border:1px solid #303b44;border-radius:10px;background:#0d1318}
.rulebot-performance>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer}
.rulebot-performance>summary span{display:grid;gap:3px}.rulebot-performance>summary small{color:#89969f;font-size:11px}
.rulebot-performance-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:10px;padding:0 12px 12px}
.rulebot-performance-grid section{min-width:0;border:1px solid #29343c;border-radius:9px;background:#10171c}
.rulebot-performance-grid h5{margin:0;padding:9px 11px;border-bottom:1px solid #29343c;font-size:12px}
.rulebot-performance-grid section>span{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid #232c33;font-size:12px}
.rulebot-performance-grid section>span:last-child{border-bottom:0}.rulebot-performance-grid b,.rulebot-performance-grid em{display:grid;gap:2px;font-style:normal}
.rulebot-performance-grid em{text-align:right}.rulebot-performance-grid small{color:#81909a;font-size:10px}
.rulebot-performance-empty{display:block;padding:14px 10px}.rulebot-performance>p{margin:0;padding:0 13px 12px;color:#89969f;font-size:11px;line-height:1.5}
@media(max-width:900px){.rulebot-performance-grid{grid-template-columns:1fr 1fr}.rulebot-performance-grid section:first-child{grid-column:1/-1}}
@media(max-width:560px){.rulebot-performance-grid{grid-template-columns:1fr}.rulebot-performance-grid section:first-child{grid-column:auto}}
.admin-backtest-page .settings-header{align-items:flex-end}.admin-live-indicator{display:inline-flex;padding:8px 12px;border:1px solid #1e756b;border-radius:999px;background:#14322f;color:#79dfd4;font-size:12px;font-weight:800}.admin-backtest-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:20px}.admin-backtest-stats a{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#111419;color:var(--muted);text-decoration:none}.admin-backtest-stats a.is-active{border-color:#2a9489;background:#132725;color:#e8fffc}.admin-backtest-stats strong{font-size:22px;color:var(--text)}.admin-backtest-filters{grid-template-columns:150px minmax(220px,2fr) 160px 160px auto auto}.admin-backtest-result-count{margin:2px 0 12px;color:var(--muted);font-size:12px}.admin-backtest-table td{vertical-align:top}.admin-backtest-table td>*{display:block;margin-bottom:5px}.admin-backtest-table td a{color:#dfe7ef;text-decoration:none}.admin-backtest-table td small{color:var(--muted)}.admin-backtest-progress{position:relative;width:120px;height:18px;margin-top:7px;overflow:hidden;border-radius:999px;background:#252c33}.admin-backtest-progress i{position:absolute;inset:0 auto 0 0;background:#1a847a}.admin-backtest-progress span{position:relative;display:block;text-align:center;font-size:11px;line-height:18px;color:#fff}.admin-status-pill.status-running,.admin-status-pill.status-queued{background:#14322f;color:#79dfd4}.admin-status-pill.status-completed{background:#18302e;color:#7bd5cc}.admin-status-pill.status-failed{background:#3a2025;color:#ff9ca6}.admin-status-pill.status-cancelled{background:#352d22;color:#e9c07b}.admin-backtest-error{max-width:360px;color:#ff9ca6}.admin-backtest-pagination{display:flex;align-items:center;justify-content:center;gap:18px;padding-top:18px}.admin-backtest-pagination a{padding:7px 12px;border:1px solid var(--line);border-radius:8px;color:var(--text);text-decoration:none}@media(max-width:900px){.admin-backtest-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-backtest-filters{grid-template-columns:1fr 1fr}}@media(max-width:520px){.admin-backtest-stats,.admin-backtest-filters{grid-template-columns:1fr}}
.admin-backtest-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 0 14px;border-bottom:1px solid var(--line)}.admin-backtest-toolbar>div{display:grid;gap:4px}.admin-backtest-toolbar small{color:var(--muted)}.admin-backtest-toolbar form{display:flex;align-items:center;gap:9px}.admin-backtest-toolbar label{color:var(--muted);font-size:12px}.admin-backtest-toolbar input{width:88px;margin:0 4px}@media(max-width:700px){.admin-backtest-toolbar,.admin-backtest-toolbar form{align-items:stretch;flex-direction:column}}
.admin-backtest-metrics{display:grid;gap:14px;margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#0f1216}.admin-backtest-metrics-head,.admin-backtest-metrics-head>div,.admin-backtest-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-backtest-metrics-head>div,.admin-backtest-panel-title{align-items:flex-start;flex-direction:column;gap:3px}.admin-backtest-metrics-head small,.admin-backtest-panel-title small{color:var(--muted);font-size:12px}.admin-backtest-metrics-head nav{display:flex;gap:6px}.admin-backtest-metrics-head nav a{padding:7px 11px;border:1px solid var(--line);border-radius:8px;color:var(--muted);text-decoration:none;font-size:12px}.admin-backtest-metrics-head nav a.is-active{border-color:#2a9489;background:#15302d;color:#a4eee7}.admin-backtest-metric-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.admin-backtest-metric-cards article{display:grid;gap:6px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#13171c}.admin-backtest-metric-cards article>span,.admin-backtest-metric-cards article small{color:var(--muted);font-size:11px}.admin-backtest-metric-cards article strong{font-size:18px}.admin-backtest-metric-cards article.is-warning{border-color:#725528}.admin-backtest-metric-cards article.is-warning strong{color:#e8c174}.admin-backtest-metric-cards article.is-danger{border-color:#713c43;background:#24161a}.admin-backtest-metric-cards article.is-danger strong{color:#ff9ca6}.admin-backtest-observability{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:10px}.admin-backtest-observability>article{min-width:0;padding:14px;border:1px solid var(--line);border-radius:11px;background:#111419}.admin-backtest-bars{display:flex;align-items:flex-end;gap:3px;height:145px;margin-top:12px;padding-top:8px;border-bottom:1px solid #30363d}.admin-backtest-bars>div{position:relative;display:flex;align-items:flex-end;justify-content:center;flex:1;height:100%;min-width:3px}.admin-backtest-bars i{display:block;width:70%;min-width:3px;max-width:20px;border-radius:3px 3px 0 0;background:#278e84}.admin-backtest-bars i.has-failure{background:#b56b4d}.admin-backtest-bars span{position:absolute;bottom:-19px;color:var(--muted);font-size:9px;white-space:nowrap}.admin-backtest-trend{padding-bottom:28px!important}.admin-backtest-errors ol{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}.admin-backtest-errors li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px;border-radius:8px;background:#171b20}.admin-backtest-errors li strong{color:#ff9ca6;font-size:12px}.admin-backtest-errors li span{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-backtest-errors li small{color:var(--muted);font-size:10px;white-space:nowrap}@media(max-width:1050px){.admin-backtest-metric-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-backtest-observability{grid-template-columns:1fr}}@media(max-width:650px){.admin-backtest-metric-cards{grid-template-columns:1fr 1fr}.admin-backtest-metrics-head{align-items:flex-start;flex-direction:column}.admin-backtest-bars.period-90{min-width:700px}.admin-backtest-trend{overflow-x:auto}.admin-backtest-errors li{grid-template-columns:auto minmax(0,1fr)}.admin-backtest-errors li small{grid-column:2}}@media(max-width:420px){.admin-backtest-metric-cards{grid-template-columns:1fr}}
.admin-backtest-row-actions{display:flex!important;align-items:stretch;flex-direction:column;gap:6px}.admin-backtest-row-actions form{margin:0!important}.admin-backtest-row-actions .button{width:100%;padding:7px 9px;font-size:11px}.admin-backtest-stale-label{color:#ffae71!important;font-weight:800}.admin-backtest-detail-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.admin-backtest-detail-actions form{display:flex;align-items:center;gap:6px;margin:0}.admin-backtest-detail-actions input{width:120px}
.admin-backtest-diagnostics{display:grid;gap:14px}.admin-backtest-diagnostic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.admin-backtest-diagnostic-grid article{display:grid;gap:6px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#111419}.admin-backtest-diagnostic-grid span,.admin-backtest-diagnostic-grid small,.admin-backtest-diagnostic-context span{color:var(--muted);font-size:11px}.admin-backtest-diagnostic-grid strong{font-size:16px}.admin-backtest-diagnostic-context{display:grid;grid-template-columns:1fr 1fr;gap:9px}.admin-backtest-diagnostic-context>div{display:grid;gap:6px;padding:11px 13px;border-radius:9px;background:#171b20}.admin-backtest-diagnostic-hint{margin:0;padding:11px 13px;border-left:3px solid #318a82;background:#142321;color:#bce8e3}.admin-backtest-diagnostic-hint.is-warning{border-color:#c57351;background:#2b1d18;color:#ffc2a7}.admin-backtest-timing-list{display:flex;flex-wrap:wrap;gap:7px}.admin-backtest-timing-list>div{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:999px}.admin-backtest-timing-list span{color:var(--muted);font-size:11px}.admin-backtest-timing-list strong{font-size:12px}@media(max-width:800px){.admin-backtest-diagnostic-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.admin-backtest-diagnostic-grid,.admin-backtest-diagnostic-context{grid-template-columns:1fr}}
.admin-backtest-alert-center{display:grid;gap:14px;margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#101318}.admin-backtest-alert-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-backtest-alert-head>div{display:grid;gap:4px}.admin-backtest-alert-head small{color:var(--muted);font-size:12px}.admin-backtest-alert-setting{position:relative}.admin-backtest-alert-setting summary{padding:8px 12px;border:1px solid var(--line);border-radius:9px;cursor:pointer;font-size:12px;font-weight:800}.admin-backtest-alert-setting-panel{position:absolute;z-index:5;right:0;display:grid;gap:9px;width:330px;margin-top:7px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#171b20;box-shadow:0 12px 35px #0008}.admin-backtest-alert-setting form{display:grid;gap:9px}.admin-backtest-alert-setting label{display:grid;gap:5px;color:var(--muted);font-size:11px}.admin-backtest-alert-setting .check-line{display:flex;align-items:center}.admin-backtest-alert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-backtest-alert-list article{display:grid;gap:9px;padding:13px;border:1px solid #6e542e;border-radius:11px;background:#201b14}.admin-backtest-alert-list article.is-critical{border-color:#7c3942;background:#251519}.admin-backtest-alert-list header,.admin-backtest-alert-list footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-backtest-alert-list header>div{display:grid;gap:3px}.admin-backtest-alert-list header span,.admin-backtest-alert-list article>small,.admin-backtest-alert-list footer>span{color:var(--muted);font-size:11px}.admin-backtest-alert-list header b{color:#e8c174;font-size:12px}.admin-backtest-alert-list .is-critical header b{color:#ff929e}.admin-backtest-alert-list p{margin:0;font-size:12px}.admin-backtest-alert-list footer{justify-content:flex-end}.admin-backtest-alert-list footer form{margin:0}@media(max-width:720px){.admin-backtest-alert-head{flex-direction:column}.admin-backtest-alert-setting,.admin-backtest-alert-setting summary{width:100%}.admin-backtest-alert-setting-panel{position:relative;right:auto;width:auto}.admin-backtest-alert-list{grid-template-columns:1fr}}
.admin-backtest-retry-links{display:flex!important;flex-wrap:wrap;gap:4px}.admin-backtest-relation{display:inline-flex!important;width:max-content;margin:2px 0!important;padding:3px 6px;border:1px solid #355059;border-radius:6px;color:#82cbd1!important;font-size:10px}.admin-backtest-relation.is-source{border-color:#675a38;color:#dfc179!important}
.admin-backtest-job-link{font-size:16px;font-weight:900;color:#f2f6f8!important}.admin-backtest-detail-page>.admin-detail-back{display:inline-flex;margin-bottom:18px;color:var(--muted);text-decoration:none}.admin-backtest-detail-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#111419}.admin-backtest-detail-links span{color:var(--muted);font-size:12px}.admin-backtest-detail-links a{padding:5px 8px;border:1px solid #355059;border-radius:7px;color:#82cbd1;text-decoration:none;font-size:12px}.admin-backtest-detail-grid,.admin-backtest-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.admin-backtest-detail-grid article,.admin-backtest-result-grid article{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#111419}.admin-backtest-detail-grid span,.admin-backtest-result-grid span{color:var(--muted);font-size:12px}.admin-backtest-detail-grid strong,.admin-backtest-result-grid strong{font-size:18px}.admin-backtest-definition{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.admin-backtest-definition div{padding:12px;border:1px solid var(--line);border-radius:9px}.admin-backtest-definition dt{margin-bottom:6px;color:var(--muted);font-size:12px}.admin-backtest-definition dd{margin:0;font-weight:800}.admin-backtest-detail-progress{height:9px;overflow:hidden;border-radius:999px;background:#252c33}.admin-backtest-detail-progress i{display:block;height:100%;background:#1a847a}.admin-backtest-progress-meta{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted);font-size:12px}.admin-backtest-timings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}.admin-backtest-timings div{display:flex;justify-content:space-between;gap:8px;padding:9px;border:1px solid var(--line);border-radius:8px}.admin-backtest-timings span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis}.admin-backtest-warning-list{display:grid;gap:8px;margin:0;padding-left:20px;color:#e5c682}@media(max-width:900px){.admin-backtest-detail-grid,.admin-backtest-result-grid,.admin-backtest-definition,.admin-backtest-timings{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.admin-backtest-detail-grid,.admin-backtest-result-grid,.admin-backtest-definition,.admin-backtest-timings{grid-template-columns:1fr}}
.admin-backtest-detail-actions{display:flex;align-items:center;gap:10px}
.admin-backtest-detail-actions form{display:flex;align-items:center;gap:6px}.admin-backtest-detail-actions input{width:120px}.admin-backtest-inline-compare,.admin-backtest-compare-form{display:flex;align-items:end;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.admin-backtest-inline-compare label,.admin-backtest-compare-form label{display:grid;gap:5px;color:var(--muted);font-size:12px}.admin-backtest-inline-compare input{width:95px}.admin-backtest-compare-form{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#111419}.admin-backtest-compare-form input{width:160px}.admin-backtest-compare-form>span{padding-bottom:11px;font-weight:900}.admin-backtest-compare-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;margin:18px 0}.admin-backtest-compare-head article{display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#111419}.admin-backtest-compare-head article:last-child{text-align:right}.admin-backtest-compare-head span,.admin-backtest-compare-head small{color:var(--muted);font-size:12px}.admin-backtest-compare-head article>a{color:var(--text);font-size:18px;font-weight:900;text-decoration:none}.admin-backtest-compare-table tr.trend-improved td:last-child{color:#71d7b5}.admin-backtest-compare-table tr.trend-declined td:last-child{color:#ff929c}.admin-backtest-compare-table td:last-child small{display:block;margin-top:3px;font-size:10px}@media(max-width:700px){.admin-backtest-detail-actions,.admin-backtest-detail-actions form,.admin-backtest-inline-compare,.admin-backtest-compare-form{align-items:stretch;flex-direction:column}.admin-backtest-compare-head{grid-template-columns:1fr}.admin-backtest-compare-head article:last-child{text-align:left}.admin-backtest-inline-compare input,.admin-backtest-compare-form input,.admin-backtest-detail-actions input{width:100%}}
.admin-backtest-compare-actions{display:grid;gap:6px}
.admin-backtest-executor{display:grid;gap:14px;margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#101318}.admin-backtest-executor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-backtest-executor-head>div{display:grid;gap:4px}.admin-backtest-executor-head small,.admin-backtest-executor-grid span,.admin-backtest-executor-grid small,.admin-backtest-executor-form small{color:var(--muted);font-size:11px}.admin-backtest-executor-state{padding:6px 10px;border:1px solid #327a70;border-radius:999px;background:#142925;color:#8ce3d8;font-size:12px;font-weight:900}.admin-backtest-executor-state.state-주의{border-color:#82652e;background:#2c2415;color:#efcb7a}.admin-backtest-executor-state.state-포화{border-color:#873b46;background:#30181d;color:#ff939e}.admin-backtest-executor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.admin-backtest-executor-grid article{display:grid;gap:6px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#13171c}.admin-backtest-executor-grid strong{font-size:19px}.admin-backtest-executor-bars{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-backtest-executor-bars>div{display:grid;gap:6px}.admin-backtest-executor-bars label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.admin-backtest-executor-bars i{height:7px;overflow:hidden;border-radius:999px;background:#282e34}.admin-backtest-executor-bars em{display:block;height:100%;border-radius:inherit;background:#2f958a}.admin-backtest-executor-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;padding-top:2px}.admin-backtest-executor-form label{display:grid;gap:6px;font-size:12px;font-weight:800}.admin-backtest-executor-form input{width:100%}.admin-backtest-executor-form .button{height:42px}.admin-backtest-executor-note{margin:0;padding:10px 12px;border-left:3px solid #36776f;background:#14211f;color:#a8c5c1;font-size:11px;line-height:1.6}@media(max-width:800px){.admin-backtest-executor-form{grid-template-columns:1fr 1fr}.admin-backtest-executor-form .button{align-self:end}}@media(max-width:560px){.admin-backtest-executor-head{align-items:stretch;flex-direction:column}.admin-backtest-executor-state{width:max-content}.admin-backtest-executor-grid,.admin-backtest-executor-bars,.admin-backtest-executor-form{grid-template-columns:1fr}}
.admin-backtest-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-status-pill.status-rejected{background:#362a1c;color:#efc16d}.admin-backtest-queue-metrics{display:grid;gap:11px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#111419}.admin-backtest-queue-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admin-backtest-queue-summary article{display:grid;gap:5px;padding:11px;border-radius:9px;background:#171b20}.admin-backtest-queue-summary span,.admin-backtest-priority-metrics span{color:var(--muted);font-size:11px}.admin-backtest-queue-summary article.is-warning{outline:1px solid #7d602e}.admin-backtest-queue-summary article.is-warning strong{color:#ebc679}.admin-backtest-queue-summary article.is-danger{outline:1px solid #793d45}.admin-backtest-queue-summary article.is-danger strong{color:#ff99a3}.admin-backtest-priority-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-backtest-priority-metrics>article{display:grid;gap:7px;padding:11px;border:1px solid var(--line);border-radius:9px}.admin-backtest-priority-metrics header,.admin-backtest-priority-metrics p{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0}.admin-backtest-priority-metrics p b{font-size:12px}@media(max-width:700px){.admin-backtest-queue-summary{grid-template-columns:1fr 1fr}}@media(max-width:480px){.admin-backtest-queue-summary,.admin-backtest-priority-metrics{grid-template-columns:1fr}}
.admin-backtest-executor-form{grid-template-columns:repeat(5,minmax(120px,1fr)) auto}
@media(max-width:1100px){.admin-backtest-executor-form{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.admin-backtest-executor-form{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.admin-backtest-executor-form{grid-template-columns:1fr}}
.admin-backtest-alert-retention{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:12px;padding:12px;border:1px solid #34423f;border-radius:11px;background:#121918}.admin-backtest-alert-retention>div{display:grid;gap:4px}.admin-backtest-alert-retention small,.admin-backtest-alert-retention span{color:var(--muted);font-size:11px}.admin-backtest-alert-retention form{display:flex;align-items:end;gap:7px}.admin-backtest-alert-retention label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;white-space:nowrap}.admin-backtest-alert-retention input{width:92px}.admin-backtest-alert-retention .button{height:38px}@media(max-width:850px){.admin-backtest-alert-retention{grid-template-columns:1fr 1fr}.admin-backtest-alert-retention>div{grid-column:1/-1}}@media(max-width:520px){.admin-backtest-alert-retention{grid-template-columns:1fr}.admin-backtest-alert-retention>div{grid-column:auto}.admin-backtest-alert-retention form{align-items:stretch;flex-direction:column}.admin-backtest-alert-retention input{width:100%}}
.admin-cleanup-performance-policy{display:grid;gap:12px;padding:14px;border:1px solid #34423f;border-radius:11px;background:#111918}.admin-cleanup-performance-policy header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-cleanup-performance-policy header>div{display:grid;gap:4px}.admin-cleanup-performance-policy header small,.admin-cleanup-performance-policy header>span,.admin-cleanup-performance-policy label small{color:var(--muted);font-size:10px}.admin-cleanup-performance-policy header>span{white-space:nowrap}.admin-cleanup-performance-policy form{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;align-items:end;gap:8px}.admin-cleanup-performance-policy label{display:grid;gap:5px;color:var(--muted);font-size:11px}.admin-cleanup-performance-policy input{width:100%}.admin-cleanup-performance-policy .button{height:38px;white-space:nowrap}@media(max-width:1150px){.admin-cleanup-performance-policy form{grid-template-columns:repeat(3,1fr)}.admin-cleanup-performance-policy .button{width:100%}}@media(max-width:700px){.admin-cleanup-performance-policy header{flex-direction:column}.admin-cleanup-performance-policy form{grid-template-columns:1fr 1fr}}@media(max-width:450px){.admin-cleanup-performance-policy form{grid-template-columns:1fr}}
.admin-cleanup-policy-history{border:1px solid #34423f;border-radius:11px;background:#111619}.admin-cleanup-policy-history>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;font-weight:800}.admin-cleanup-policy-history>summary small{color:var(--muted);font-size:10px;font-weight:500}.admin-cleanup-policy-history[open]>summary{border-bottom:1px solid var(--line)}.admin-cleanup-policy-history-table{min-width:1120px}.admin-cleanup-policy-history-table td{vertical-align:top}.admin-cleanup-policy-history-table td>*{display:block;margin-bottom:4px}.admin-cleanup-policy-history-table td:first-child{min-width:170px}.admin-cleanup-policy-history-table td:nth-child(4){min-width:330px}.admin-cleanup-policy-history-table small{color:var(--muted)}.admin-cleanup-policy-history-table form{margin:0}.admin-cleanup-policy-history-table .button{min-height:32px;padding:6px 9px;white-space:nowrap}@media(max-width:600px){.admin-cleanup-policy-history>summary{align-items:flex-start;flex-direction:column}}
.admin-cleanup-policy-impact{display:grid;gap:12px;padding:14px;border:1px solid #35534e;border-radius:11px;background:#101918}.admin-cleanup-policy-impact header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-cleanup-policy-impact header>div{display:grid;gap:4px}.admin-cleanup-policy-impact header small,.admin-cleanup-policy-impact header>span{color:var(--muted);font-size:10px}.admin-cleanup-policy-impact header>span{white-space:nowrap}.admin-cleanup-policy-impact header>span.is-error{color:#ff9ca6}.admin-cleanup-impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admin-cleanup-impact-grid article{display:grid;gap:5px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#11171a}.admin-cleanup-impact-grid article.is-warning{border-color:#704b35}.admin-cleanup-impact-grid span,.admin-cleanup-impact-grid small{color:var(--muted);font-size:10px}.admin-cleanup-impact-grid strong{font-size:17px}.admin-cleanup-impact-guidance{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-cleanup-impact-guidance p{margin:0;padding:9px 11px;border-radius:8px;background:#17201f;color:#b9cbc8;font-size:11px}@media(max-width:850px){.admin-cleanup-impact-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.admin-cleanup-policy-impact header{flex-direction:column}.admin-cleanup-impact-guidance{grid-template-columns:1fr}}@media(max-width:430px){.admin-cleanup-impact-grid{grid-template-columns:1fr}}
.admin-cleanup-policy-impact header>span.is-risk{color:#ffc478}.admin-cleanup-impact-risk{display:grid;gap:7px;padding:11px;border:1px solid #7a5635;border-radius:9px;background:#241b13}.admin-cleanup-impact-risk[hidden]{display:none}.admin-cleanup-impact-risk strong{color:#ffd29a;font-size:12px}.admin-cleanup-impact-risk ul{display:grid;gap:4px;margin:0;padding-left:18px;color:#e5c9a7;font-size:11px}.admin-cleanup-impact-risk.risk-critical{border-color:#8c3b46;background:#271418}.admin-cleanup-impact-risk.risk-critical strong{color:#ff9ca6}.admin-cleanup-confirm-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:1px solid #70404a;border-radius:14px;background:#11161a;color:var(--text);box-shadow:0 24px 80px #000b}.admin-cleanup-confirm-dialog::backdrop{background:#050708c9;backdrop-filter:blur(3px)}.admin-cleanup-confirm-card{display:grid;gap:13px;padding:20px}.admin-cleanup-confirm-card>span{width:max-content;padding:4px 8px;border-radius:999px;background:#642f38;color:#ffd7dc;font-size:10px;font-weight:800;letter-spacing:.08em}.admin-cleanup-confirm-card h3,.admin-cleanup-confirm-card p{margin:0}.admin-cleanup-confirm-card p,.admin-cleanup-confirm-card small{color:var(--muted);font-size:11px}.admin-cleanup-confirm-card>div{display:grid;gap:4px;padding:11px;border-radius:9px;background:#171d21}.admin-cleanup-confirm-card ul{display:grid;gap:6px;margin:0;padding:11px 11px 11px 28px;border:1px solid #563940;border-radius:9px;color:#f0cbd0;font-size:12px}.admin-cleanup-confirm-card label{display:flex;align-items:flex-start;gap:8px;padding:11px;border:1px solid var(--line);border-radius:9px;font-size:12px;line-height:1.45}.admin-cleanup-confirm-card input{margin-top:2px}.admin-cleanup-confirm-card footer{display:flex;justify-content:flex-end;gap:8px}.admin-cleanup-confirm-card footer .button{min-width:110px}
.admin-cleanup-policy-approvals{display:grid;gap:12px;padding:14px;border:1px solid #463c54;border-radius:11px;background:#15131a}.admin-cleanup-policy-approvals>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-cleanup-policy-approvals>header>div{display:grid;gap:4px}.admin-cleanup-policy-approvals>header small,.admin-cleanup-policy-approvals>header>span{color:var(--muted);font-size:10px}.admin-cleanup-approval-role{margin:0;padding:9px 11px;border-radius:8px;background:#17231f;color:#aee0cd;font-size:11px}.admin-cleanup-approval-role.is-limited{background:#241c16;color:#e2bd91}.admin-cleanup-approval-table td{vertical-align:top}.admin-cleanup-approval-table td>strong,.admin-cleanup-approval-table td>span,.admin-cleanup-approval-table td>small{display:block}.admin-cleanup-approval-table td>small{margin-top:4px}.admin-cleanup-approval-table .button{white-space:nowrap}.admin-account-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.admin-account-actions form{margin:0}@media(max-width:700px){.admin-cleanup-policy-approvals>header{flex-direction:column}.admin-account-actions{justify-content:flex-start}}
.admin-approval-analytics{display:grid;gap:11px;padding:12px;border:1px solid #35434a;border-radius:10px;background:#10171a}.admin-approval-analytics-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-approval-analytics-head>div:first-child{display:grid;gap:3px}.admin-approval-analytics-head small{color:var(--muted);font-size:10px}.admin-approval-analytics-actions{display:flex;align-items:center;gap:7px}.admin-approval-analytics-head nav{display:flex;gap:6px}.admin-approval-analytics-head nav a{padding:5px 9px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:10px;font-weight:800}.admin-approval-analytics-head nav a.is-active{border-color:var(--accent);background:#12332f;color:#8ee5d3}.admin-approval-metric-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.admin-approval-metric-cards article{display:grid;gap:4px;padding:10px;border:1px solid #293236;border-radius:8px;background:#121b1e}.admin-approval-metric-cards article.is-warning{border-color:#774a40;background:#201719}.admin-approval-metric-cards span,.admin-approval-metric-cards small{color:var(--muted);font-size:9px}.admin-approval-metric-cards strong{font-size:16px}.admin-approval-metric-cards em{padding-top:4px;border-top:1px solid #273238;color:#8fb5ad;font-size:9px;font-style:normal}.admin-approval-daily-legend{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:9px}.admin-approval-daily-legend span{display:flex;align-items:center;gap:4px}.admin-approval-daily-legend i{width:7px;height:7px;border-radius:2px}.admin-approval-daily-legend .is-requested{background:#38bfa8}.admin-approval-daily-legend .is-decided{background:#6d91e8}.admin-approval-daily-legend small{margin-left:auto}.admin-approval-daily{display:flex;align-items:end;gap:3px;height:70px;overflow-x:auto}.admin-approval-daily>div{display:grid;align-items:end;justify-items:center;gap:3px;min-width:25px;height:100%}.admin-approval-daily-bars{display:flex;align-items:end;gap:2px;height:52px}.admin-approval-daily-bars i{display:block;width:6px;min-height:2px;border-radius:2px 2px 0 0}.admin-approval-daily-bars .is-requested{background:#38bfa8}.admin-approval-daily-bars .is-decided{background:#6d91e8}.admin-approval-daily-bars .is-decided.has-late{background:#dc6b63}.admin-approval-daily small{color:var(--muted);font-size:8px;white-space:nowrap}.admin-approval-manager-table{display:grid;gap:7px}.admin-approval-manager-table>strong{font-size:11px}.admin-approval-manager-table td>strong,.admin-approval-manager-table td>small{display:block}.admin-approval-manager-table td small{margin-top:3px;color:var(--muted);font-size:9px}.admin-approval-manager-table td:nth-child(2) small{color:#ff9b91}@media(max-width:1000px){.admin-approval-metric-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.admin-approval-analytics-head{align-items:flex-start;flex-direction:column}.admin-approval-analytics-actions{width:100%}.admin-approval-analytics-head nav{flex:1}.admin-approval-analytics-head nav a{flex:1;text-align:center}.admin-approval-metric-cards{grid-template-columns:1fr}.admin-approval-daily-legend small{display:none}}
.admin-approval-sla-target{display:grid;gap:10px;padding:12px;border:1px solid #3d4743;border-radius:10px;background:#121918}.admin-approval-sla-target>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-approval-sla-target>header>div{display:grid;gap:3px}.admin-approval-sla-target>header small,.admin-approval-sla-updated{color:var(--muted);font-size:10px}.admin-approval-sla-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.admin-approval-sla-summary>span{display:grid;gap:3px;padding:9px;border:1px solid #2f3d39;border-radius:8px;background:#101513}.admin-approval-sla-summary small,.admin-approval-sla-summary em{color:var(--muted);font-size:9px;font-style:normal}.admin-approval-sla-summary strong{font-size:15px}.admin-approval-sla-target form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:8px;align-items:end}.admin-approval-sla-target label{display:grid;gap:5px;color:var(--muted);font-size:10px}.admin-approval-sla-target input,.admin-approval-sla-target select{min-width:0;height:35px}.admin-approval-sla-target .button{height:35px;white-space:nowrap}.admin-status-pill.status-success{background:#17332b;color:#86ddc5}.admin-status-pill.status-pending{background:#2d2a20;color:#dccb8a}@media(max-width:1000px){.admin-approval-sla-target form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-approval-sla-target form .button{grid-column:1/-1}.admin-approval-sla-summary{grid-template-columns:1fr}}@media(max-width:600px){.admin-approval-sla-target>header{flex-direction:column}.admin-approval-sla-target form{grid-template-columns:1fr}}
.admin-approval-sla-history{margin-top:2px;border-top:1px solid #2f3d39}.admin-approval-sla-history>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 2px 2px;cursor:pointer;font-weight:800}.admin-approval-sla-history>summary small{font-weight:500}.admin-approval-sla-history[open]>summary{padding-bottom:10px}.admin-approval-sla-history-table{min-width:850px}.admin-approval-sla-history-table td{vertical-align:top}.admin-approval-sla-history-table td>*{display:block;margin-bottom:3px}.admin-approval-sla-history-table small{color:var(--muted)}.admin-approval-sla-history-table form{display:block;margin:0}.admin-approval-sla-history-table .button{height:32px;min-height:32px;padding:5px 9px}.admin-approval-sla-history-table .admin-status-pill{display:inline-block;margin:0;white-space:nowrap}@media(max-width:600px){.admin-approval-sla-history>summary{align-items:flex-start;flex-direction:column}}
.admin-approval-sla-impact{margin-top:2px;border-color:#405a54;background:#0f1716}.admin-approval-sla-impact .admin-cleanup-impact-grid article:nth-child(2){border-color:#35534e}
.admin-cleanup-approval-actions{display:grid;gap:6px;min-width:180px}.admin-cleanup-approval-actions form{margin:0}.admin-cleanup-reject-form{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:5px}.admin-cleanup-reject-form input{min-width:0;height:32px;padding:5px 7px}.admin-cleanup-approval-actions .button{min-height:32px;padding:6px 9px}.admin-cleanup-decision-reason{max-width:240px;color:#e0c5a7!important;white-space:normal}.admin-status-pill.status-rejected{background:#3a1d23;color:#ff9da7}.admin-status-pill.status-cancelled,.admin-status-pill.status-expired,.admin-status-pill.status-stale{background:#332d1e;color:#e8c977}
.admin-cleanup-assignment-form{display:grid!important;grid-template-columns:minmax(110px,1fr) auto;gap:5px}.admin-cleanup-assignment-form select{min-width:0;height:32px;padding:4px 7px}.admin-status-pill.status-sla-normal{background:#17332f;color:#82d8c8}.admin-status-pill.status-sla-warning{background:#3b2e19;color:#f0ca7d}.admin-status-pill.status-sla-breached{background:#3b1d23;color:#ff9da7}
.admin-cleanup-approval-head-actions{display:flex;align-items:center;gap:8px}.admin-cleanup-approval-head-actions>span{color:var(--muted);font-size:10px;white-space:nowrap}.admin-cleanup-approval-history-page,.admin-cleanup-approval-detail-page{display:grid;gap:18px}.admin-cleanup-approval-history-card{display:grid;gap:14px}.admin-cleanup-approval-history-filter{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px;align-items:end}.admin-cleanup-approval-history-filter label{display:grid;gap:5px;color:var(--muted);font-size:11px}.admin-cleanup-approval-history-filter .is-wide{grid-column:span 2}.admin-cleanup-approval-history-table{min-width:1280px}.admin-cleanup-approval-history-table td{vertical-align:top}.admin-cleanup-approval-history-table td>*{display:block;margin-bottom:5px}.admin-cleanup-approval-history-table td:nth-child(3){min-width:270px}.admin-cleanup-approval-history-table td:last-child{max-width:270px;white-space:normal}.admin-cleanup-approval-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-cleanup-approval-values{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-cleanup-approval-reason ul{display:grid;gap:6px;margin:12px 0;padding-left:20px}.admin-cleanup-approval-reason>p{display:flex;gap:12px;margin:0;padding:11px;border-radius:8px;background:#171d21}.admin-cleanup-approval-chain{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-cleanup-approval-chain>*{padding:7px 9px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}.admin-cleanup-approval-chain a{color:#8edccd}.admin-cleanup-approval-audit summary{cursor:pointer;font-weight:800}.admin-cleanup-approval-audit code{overflow-wrap:anywhere}@media(max-width:1050px){.admin-cleanup-approval-history-filter{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.admin-cleanup-approval-head-actions{align-items:flex-start;flex-direction:column}.admin-cleanup-approval-history-filter{grid-template-columns:1fr 1fr}.admin-cleanup-approval-history-filter .is-wide{grid-column:1/-1}.admin-cleanup-approval-detail-summary,.admin-cleanup-approval-values{grid-template-columns:1fr}}@media(max-width:450px){.admin-cleanup-approval-history-filter{grid-template-columns:1fr}}
.admin-backtest-cleanup-runs{border:1px solid var(--line);border-radius:10px;background:#111519}.admin-backtest-cleanup-runs summary{padding:11px 13px;cursor:pointer;font-size:12px;font-weight:800}.admin-backtest-cleanup-runs .admin-table-wrap{border-top:1px solid var(--line)}.admin-backtest-cleanup-runs table{min-width:1080px}.admin-backtest-cleanup-runs td:last-child{max-width:360px;white-space:normal}.admin-status-pill.status-success{background:#17352f;color:#82ddc9}.admin-status-pill.status-failed{background:#3a1d23;color:#ff9da7}.admin-status-pill.status-skipped{background:#332d1e;color:#e8c977}
.admin-cleanup-analytics{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0f1518}.admin-cleanup-analytics-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-cleanup-analytics-head>div{display:grid;gap:3px}.admin-cleanup-analytics-head small{color:var(--muted);font-size:11px}.admin-cleanup-analytics-head nav{display:flex;gap:6px}.admin-cleanup-analytics-head nav a{padding:6px 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:11px;font-weight:800}.admin-cleanup-analytics-head nav a.is-active{border-color:var(--accent);background:#12332f;color:#8ee5d3}.admin-cleanup-metric-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.admin-cleanup-metric-cards article{display:grid;gap:5px;padding:11px;border:1px solid #293236;border-radius:9px;background:#11191c}.admin-cleanup-metric-cards article.is-warning{border-color:#704b35}.admin-cleanup-metric-cards span,.admin-cleanup-metric-cards small{color:var(--muted);font-size:10px}.admin-cleanup-metric-cards strong{font-size:17px}.admin-cleanup-status-summary{display:flex;flex-wrap:wrap;gap:7px}.admin-cleanup-status-summary span{padding:5px 8px;border-radius:999px;background:#1b2327;color:var(--muted);font-size:10px}.admin-cleanup-daily{display:flex;align-items:end;gap:3px;height:64px;padding-top:5px;overflow-x:auto}.admin-cleanup-daily>div{display:grid;align-items:end;justify-items:center;gap:3px;min-width:25px;height:100%}.admin-cleanup-daily i{display:block;width:9px;min-height:2px;border-radius:3px 3px 0 0;background:#38bfa8}.admin-cleanup-daily i.has-failure{background:#e47b59}.admin-cleanup-daily span{color:var(--muted);font-size:8px;white-space:nowrap}.admin-backtest-cleanup-runs td a{color:#8edccd;text-decoration:underline;text-underline-offset:3px}.admin-cleanup-detail-page{display:grid;gap:18px}.admin-cleanup-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-cleanup-detail-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.admin-cleanup-detail-metrics article{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#11171a}.admin-cleanup-detail-metrics span{color:var(--muted);font-size:11px}.admin-cleanup-detail-metrics strong{font-size:18px}.admin-cleanup-error{margin:0;padding:14px;border-radius:8px;background:#1d1416;color:#ffb6bd;white-space:pre-wrap;word-break:break-word}@media(max-width:1000px){.admin-cleanup-metric-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.admin-cleanup-analytics-head{align-items:flex-start;flex-direction:column}.admin-cleanup-metric-cards,.admin-cleanup-detail-summary,.admin-cleanup-detail-metrics{grid-template-columns:1fr}.admin-cleanup-analytics-head nav{width:100%}.admin-cleanup-analytics-head nav a{flex:1;text-align:center}}
.admin-cleanup-history-page{display:grid;gap:18px}.admin-cleanup-history-page>.admin-detail-back{color:var(--muted);text-decoration:none}.admin-cleanup-history-page .settings-header{align-items:flex-end}.admin-cleanup-history-card{display:grid;gap:16px;margin-top:0}.admin-cleanup-history-filter{grid-template-columns:repeat(5,minmax(120px,1fr))}.admin-cleanup-filter-actions{display:flex;gap:7px;align-items:end}.admin-cleanup-history-table{min-width:1280px}.admin-cleanup-history-table td{vertical-align:top}.admin-cleanup-history-table td>*{display:block;margin-bottom:5px}.admin-cleanup-history-table td:first-child{min-width:185px}.admin-cleanup-history-table td:nth-child(3){min-width:190px}.admin-cleanup-history-table td:last-child{max-width:300px;white-space:normal;overflow-wrap:anywhere}.admin-cleanup-history-table small{color:var(--muted)}.admin-cleanup-run-link{font-size:16px;font-weight:900;color:#8edccd!important;text-decoration:none}@media(max-width:1050px){.admin-cleanup-history-filter{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.admin-cleanup-history-page .settings-header{align-items:flex-start;flex-direction:column}.admin-cleanup-history-filter{grid-template-columns:1fr 1fr}.admin-cleanup-history-filter .is-wide{grid-column:1/-1}}@media(max-width:450px){.admin-cleanup-history-filter{grid-template-columns:1fr}.admin-cleanup-filter-actions{display:grid;grid-template-columns:1fr 1fr}}
.admin-alert-cleanup-progress{display:grid;gap:9px;padding:13px 15px;border:1px solid #286e66;border-radius:10px;background:#10201f}.admin-alert-cleanup-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-alert-cleanup-progress p{margin:0;color:var(--muted);font-size:12px}.admin-alert-cleanup-progress .admin-backtest-progress{max-width:none}.admin-status-pill.status-running{background:#163a38;color:#72e5d3}
.admin-alert-cleanup-progress form{display:flex;justify-content:flex-end}.admin-alert-cleanup-progress .button{min-height:32px;padding:6px 12px}.admin-status-pill.status-cancelled,.admin-status-pill.status-interrupted{background:#332d1e;color:#e8c977}
.admin-backtest-queue-analytics{display:grid;gap:14px;margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#101318}.admin-backtest-queue-analytics-summary,.admin-backtest-capacity-effect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.admin-backtest-queue-analytics-summary article,.admin-backtest-capacity-effect-grid article{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#15191e}.admin-backtest-queue-analytics-summary span,.admin-backtest-capacity-effect span,.admin-backtest-capacity-effect small{color:var(--muted);font-size:11px}.admin-backtest-alert-trend{display:flex;align-items:end;gap:3px;height:116px;padding:10px 4px 0;border-bottom:1px solid var(--line)}.admin-backtest-alert-trend article{display:grid;grid-template-rows:1fr 16px;align-items:end;gap:3px;min-width:3px;flex:1;height:100%}.admin-backtest-alert-trend article>div{position:relative;height:100%}.admin-backtest-alert-trend i{position:absolute;right:12%;bottom:0;left:12%;min-height:2px;border-radius:3px 3px 0 0}.admin-backtest-alert-trend i.opened{background:#df7c55}.admin-backtest-alert-trend i.resolved{right:28%;left:28%;background:#4fc0aa}.admin-backtest-alert-trend span{overflow:visible;color:var(--muted);font-size:9px;white-space:nowrap}.admin-backtest-capacity-effect{display:grid;gap:11px;padding:14px;border:1px solid #35534e;border-radius:11px;background:#111a19}.admin-backtest-capacity-effect header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-backtest-capacity-effect header>div{display:grid;gap:4px}.admin-backtest-capacity-effect header>b{padding:5px 9px;border-radius:999px;background:#263036;color:#cbd3d8;font-size:11px}.admin-backtest-capacity-effect header>b.verdict-개선{background:#15352f;color:#83dfcc}.admin-backtest-capacity-effect header>b.verdict-악화{background:#3a1e23;color:#ff9ca6}.admin-backtest-capacity-effect>p{margin:0;color:#b8cbc7;font-size:12px}@media(max-width:700px){.admin-backtest-queue-analytics-summary,.admin-backtest-capacity-effect-grid{grid-template-columns:1fr}.admin-backtest-alert-trend{height:90px}}
.admin-backtest-alert-history{display:grid;gap:14px;margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#101318}.admin-backtest-alert-history-filter{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:9px;align-items:end}.admin-backtest-alert-history-filter label{display:grid;gap:5px;color:var(--muted);font-size:11px}.admin-backtest-alert-history-filter .is-wide{grid-column:span 2}.admin-backtest-alert-history-table{min-width:1080px}.admin-backtest-alert-history-table td:first-child{white-space:nowrap}.admin-backtest-alert-history-table td:nth-child(5){max-width:220px;overflow-wrap:anywhere}.admin-backtest-alert-history-table td:last-child{min-width:280px;white-space:normal}.admin-backtest-alert-history-table .admin-status-pill.is-critical{background:#3b1d23;color:#ff9da7}.admin-backtest-alert-history-pages{display:flex;align-items:center;justify-content:center;gap:12px}.admin-backtest-alert-history-pages span{color:var(--muted);font-size:12px}@media(max-width:1050px){.admin-backtest-alert-history-filter{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.admin-backtest-alert-history-filter{grid-template-columns:1fr 1fr}.admin-backtest-alert-history-filter .is-wide{grid-column:1/-1}}@media(max-width:450px){.admin-backtest-alert-history-filter{grid-template-columns:1fr}}
.admin-delisting-page{display:grid;gap:18px}.admin-delisting-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-delisting-summary article{display:grid;gap:6px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#111419}.admin-delisting-summary span,.admin-delisting-state dt{color:var(--muted);font-size:11px}.admin-delisting-summary strong{font-size:24px}.admin-delisting-source{align-items:start}.admin-delisting-source article{display:grid;gap:13px}.admin-delisting-state{display:grid;gap:8px;margin:0}.admin-delisting-state div{display:flex;justify-content:space-between;gap:16px}.admin-delisting-state dd{margin:0;text-align:right}.admin-delisting-filter{display:flex;align-items:center;gap:8px}.admin-delisting-review{display:grid;grid-template-columns:120px 150px 120px 70px 140px 110px minmax(170px,1fr) auto;gap:6px;min-width:1050px}.admin-delisting-review input,.admin-delisting-review select{min-width:0}.admin-delisting-table td{vertical-align:top}.admin-delisting-table td>*{display:block;margin-bottom:4px}.admin-delisting-table small{color:var(--muted)}@media(max-width:800px){.admin-delisting-summary{grid-template-columns:repeat(2,1fr)}.admin-delisting-page .settings-header,.admin-delisting-page .admin-section-heading{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.admin-delisting-summary{grid-template-columns:1fr 1fr}}
.admin-delisting-evidence{display:grid!important;grid-template-columns:minmax(160px,1fr) auto;gap:6px;margin-top:8px}.admin-delisting-evidence input{min-width:0}.admin-delisting-source code{overflow-wrap:anywhere;color:#71d7ca}
.admin-nasdaq-imports{display:grid;gap:6px;padding-top:10px;border-top:1px solid #303943}.admin-nasdaq-imports div{display:grid;gap:2px}.admin-nasdaq-imports span{overflow-wrap:anywhere}.admin-nasdaq-imports small{color:#8f9ba7}
.admin-sec-terms{margin-top:8px;padding:9px 10px;border:1px solid rgba(45,212,191,.28);border-radius:10px;background:rgba(45,212,191,.06);display:grid;gap:4px}.admin-sec-terms details{color:var(--muted)}.admin-sec-terms summary{cursor:pointer}.admin-sec-terms p{margin:7px 0 0;line-height:1.5;white-space:normal}
.backtest-successor-holdings{margin:16px 0;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.backtest-successor-holdings>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.backtest-successor-holdings>header div{display:grid;gap:4px}.backtest-successor-holdings>header small,.backtest-successor-holdings article small{color:var(--muted)}.backtest-successor-holdings>header>span{padding:6px 10px;border-radius:999px;background:rgba(45,212,191,.12);color:var(--accent)}.backtest-successor-holdings>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.backtest-successor-holdings article{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-strong)}.backtest-successor-holdings article>div{display:grid;gap:3px}.backtest-successor-holdings dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.backtest-successor-holdings dl div{display:grid;gap:3px}.backtest-successor-holdings dt{font-size:12px;color:var(--muted)}.backtest-successor-holdings dd{margin:0;font-weight:700}.backtest-successor-holdings p{margin:0;color:#e8c174;font-size:12px}@media(max-width:640px){.backtest-successor-holdings dl{grid-template-columns:1fr}}

/* Mobile usability baseline: favor comfortable touch and reliable viewport placement. */
@media (max-width: 800px) {
    html {
        min-height: 100%;
        scroll-padding-top: calc(124px + env(safe-area-inset-top, 0px));
    }

    body {
        min-height: 100dvh;
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    body:has(.mobile-market-nav) {
        padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
    }

    .topbar {
        height: calc(116px + env(safe-area-inset-top, 0px));
        min-height: calc(116px + env(safe-area-inset-top, 0px));
        flex-basis: calc(116px + env(safe-area-inset-top, 0px));
        padding-top: env(safe-area-inset-top, 0px);
        padding-bottom: 52px;
    }

    .topbar-home {
        padding-right: 10px;
        padding-bottom: 52px;
        padding-left: 10px;
    }

    .mobile-service-nav {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        height: 52px;
        padding: 4px max(6px, env(safe-area-inset-right, 0px)) 5px max(6px, env(safe-area-inset-left, 0px));
        border-top: 1px solid rgba(255, 255, 255, .08);
        background: rgba(12, 14, 17, .98);
    }

    .mobile-service-nav a {
        display: grid;
        min-width: 0;
        min-height: 44px;
        place-items: center;
        align-content: center;
        gap: 1px;
        border-radius: 9px;
        color: #8e98a4;
        text-decoration: none;
    }

    .mobile-service-nav a span {
        font-size: 15px;
        line-height: 1;
    }

    .mobile-service-nav a strong {
        overflow: hidden;
        max-width: 100%;
        font-size: 10px;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-service-nav a.is-active {
        color: #70ddd0;
        background: rgba(45, 212, 191, .12);
    }

    .account-menu-panel {
        position: fixed;
        top: calc(120px + env(safe-area-inset-top, 0px));
        right: 8px;
        max-height: calc(100dvh - 132px - env(safe-area-inset-top, 0px));
    }

    .site-footer {
        padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
    }

    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea {
        min-height: 44px !important;
        font-size: 16px;
    }

    button,
    .button,
    [role="button"],
    summary,
    select,
    input:not([type="checkbox"]):not([type="radio"]) {
        min-height: 44px;
    }

    input[type="checkbox"],
    input[type="radio"] {
        min-width: 20px;
        min-height: 20px;
    }

    label:has(> input[type="checkbox"]),
    label:has(> input[type="radio"]),
    .condition-negate-switch,
    .workflow-check,
    .auth-remember-me {
        min-height: 44px;
    }

    .footer-links a {
        display: inline-flex;
        min-height: 44px;
        align-items: center;
        padding-inline: 4px;
    }

    .chart-toolbar .chart-tool-menu,
    .condition-chart-toolbar .chart-tool-menu,
    .backtest-indicator-toolbar .chart-tool-menu,
    .chart-resolution-picker {
        position: static;
    }

    .chart-resolution-panel,
    .chart-tool-panel,
    .chart-indicator-menu .chart-indicator-toolbar {
        top: calc(124px + env(safe-area-inset-top, 0px));
        left: 50%;
        right: auto;
        box-sizing: border-box;
        width: calc(100vw - 24px);
        max-height: calc(100dvh - 148px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
        transform: translateX(calc(-50% + var(--mobile-chart-panel-shift, 0px)));
        overscroll-behavior: contain;
    }

    .chart-toolbar button,
    .chart-tool-menu > summary,
    .chart-resolution-picker > summary,
    .chart-tool-panel button,
    .chart-pane-order-handle,
    .chart-pane-order-list button {
        min-height: 44px;
    }

    .chart-resolution-toolbar,
    .rule-bot-step-nav,
    .trade-table-wrap,
    .admin-table-scroll,
    .admin-data-table-wrap {
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
    }

    .mobile-market-nav {
        position: fixed;
        z-index: 120;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 2px;
        min-height: calc(64px + env(safe-area-inset-bottom, 0px));
        padding: 6px max(8px, env(safe-area-inset-right, 0px)) max(6px, env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-left, 0px));
        border-top: 1px solid #34383e;
        background: rgba(16, 18, 21, .97);
        box-shadow: 0 -10px 28px rgba(0, 0, 0, .34);
        backdrop-filter: blur(16px);
    }

    .mobile-market-nav button {
        display: grid;
        place-items: center;
        align-content: center;
        gap: 2px;
        min-width: 0;
        padding: 3px 4px;
        border: 0;
        border-radius: 10px;
        color: #9099a3;
        background: transparent;
    }

    .mobile-market-nav button span { font-size: 18px; line-height: 1; }
    .mobile-market-nav button strong { font-size: 11px; }
    .mobile-market-nav button.is-active { color: #70ddd0; background: rgba(45, 212, 191, .12); }

    body.mobile-market-panel-open { overflow: hidden; }

    .watchlist-panel.is-mobile-open,
    .stock-side-panel.is-mobile-open {
        position: fixed;
        z-index: 110;
        top: calc(126px + env(safe-area-inset-top, 0px));
        right: 0;
        bottom: calc(64px + env(safe-area-inset-bottom, 0px));
        left: 0;
        display: flex;
        width: 100%;
        max-width: none;
        padding: 16px;
        border: 0;
        overflow-x: hidden;
        overflow-y: auto;
        background: #111417;
        box-shadow: 0 0 36px rgba(0, 0, 0, .5);
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .watchlist-panel.is-mobile-open { flex-direction: column; }
    .stock-side-panel.is-mobile-open { gap: 14px; }
    .stock-side-panel.is-mobile-open .side-main-tabs { display: none; }
    .stock-side-panel.is-mobile-open .stock-info-panel,
    .stock-side-panel.is-mobile-open .stock-order-panel { min-height: min-content; }

    .watchlist-items { padding-bottom: 20px; }

    .topbar-stock-search .stock-search-results {
        position: fixed;
        z-index: 160;
        top: calc(124px + env(safe-area-inset-top, 0px));
        right: 8px;
        left: 8px;
        max-height: calc(100dvh - 140px - env(safe-area-inset-top, 0px));
    }
}

@media (max-width: 800px) {
    .watchlist-panel.is-mobile-open,
    .stock-side-panel.is-mobile-open {
        top: calc(126px + env(safe-area-inset-top, 0px));
    }

    .backtest-chart-wrap { padding: 4px; overflow-x: hidden; }
    .backtest-lightweight-chart { min-width: 0; width: 100%; }
    .backtest-indicator-toolbar { align-items: stretch; }
    .backtest-indicator-toolbar > strong { width: 100%; }
}

@media (max-width: 620px) {
    .rule-bot-page #ruleBotBacktestForm { gap: 10px; margin-top: 14px; }
    .rule-bot-page .backtest-date-range { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .rule-bot-page .backtest-date-range input { min-width: 0; padding-inline: 7px; font-size: 13px; }
    .rule-bot-page .backtest-period-presets { gap: 6px; padding: 9px; }
    .rule-bot-page .backtest-period-presets > div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
    .rule-bot-page .backtest-period-presets button { min-height: 42px; padding-inline: 6px; }
    .rule-bot-page .backtest-advanced-settings-grid { grid-template-columns: minmax(0, 1fr); padding: 11px; }
    .rule-bot-page .backtest-advanced-settings-grid .workflow-check { grid-column:auto; }
    .rule-bot-page #ruleBotBacktestForm > .backtest-actions { position: sticky; z-index: 20; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); padding: 8px; border: 1px solid #354149; border-radius: 11px; background: rgba(14, 20, 24, .96); box-shadow: 0 8px 24px rgba(0, 0, 0, .36); backdrop-filter: blur(12px); }
    body.backtest-mobile-running { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }

    .backtest-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .backtest-actions .button { min-width: 0; padding-inline: 8px; }
    .backtest-mobile-running .backtest-actions {
        position: fixed;
        z-index: 130;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        padding: 10px max(12px, env(safe-area-inset-right, 0px)) max(10px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
        border-top: 1px solid #56323a;
        background: rgba(20, 16, 19, .97);
        box-shadow: 0 -10px 28px rgba(0, 0, 0, .4);
        backdrop-filter: blur(14px);
    }
    .backtest-mobile-running .backtest-actions button[type="submit"] { display: none; }
    .backtest-mobile-running .backtest-actions .button-danger { width: 100%; min-height: 50px; }

    .backtest-live-monitor { gap: 12px; padding: 14px; }
    .backtest-live-monitor > header { align-items: center; }
    .backtest-live-monitor > header strong { font-size: 17px; }
    .backtest-live-monitor > header > b { font-size: 23px; }
    .backtest-live-steps {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 4px;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }
    .backtest-live-steps span { min-width: 128px; padding: 8px; border-radius: 8px; background: #10171b; scroll-snap-align: start; }
    .backtest-live-metrics {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 4px;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }
    .backtest-live-metrics article { flex: 0 0 148px; scroll-snap-align: start; }
    .backtest-live-current { gap: 6px; padding: 11px; }
    .backtest-live-details > summary { align-items: flex-start; flex-direction: column; }
    .backtest-live-detail-grid { grid-template-columns: minmax(0, 1fr); }

    .backtest-ledger-scroll { max-height: 560px; padding: 8px; overflow-x: hidden; }
    .backtest-ledger table,
    .backtest-ledger tbody { display: block; width: 100%; }
    .backtest-ledger thead { display: none; }
    .backtest-ledger tbody { display: grid; gap: 8px; }
    .backtest-ledger tr { display: block; padding: 5px 11px; border: 1px solid #2d3740; border-radius: 10px; background: #10161a; }
    .backtest-ledger td { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; width: 100%; padding: 8px 0; border-bottom: 1px solid #252e35; text-align: right !important; white-space: normal; overflow-wrap: anywhere; }
    .backtest-ledger td::before { content: attr(data-label); color: #82909a; font-size: 11px; font-weight: 700; text-align: left; }
    .backtest-ledger td:last-child { border-bottom: 0; }
    .backtest-ledger td small { margin-top: 3px; }
    .backtest-ledger tr[data-backtest-ledger-placeholder] td { display: block; padding: 20px 8px; border: 0; color: #8c99a3; text-align: center !important; }
    .backtest-ledger tr[data-backtest-ledger-placeholder] td::before { display: none; }
}

/* Mobile account, notification and billing flows */
.notification-preferences{display:block}.notification-preferences>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none}.notification-preferences>summary::-webkit-details-marker{display:none}.notification-preferences-toggle{flex:none;color:#76d9ce;font-size:12px;font-weight:800}.notification-preferences-toggle::after{content:"설정 보기"}.notification-preferences[open] .notification-preferences-toggle::after{content:"접기"}.notification-preferences-body{margin-top:18px;padding-top:18px;border-top:1px solid #2d363e}.profile-referral>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}.profile-referral>summary::-webkit-details-marker{display:none}.profile-referral>summary .eyebrow{margin-bottom:4px}.profile-referral-toggle{color:#76d9ce;font-size:12px;font-weight:800}.profile-referral-toggle::after{content:"추천 현황 보기"}.profile-referral[open] .profile-referral-toggle::after{content:"접기"}.profile-referral-body{display:grid;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:640px){
    .notification-page{width:calc(100% - 16px);padding:18px 0 56px}
    .notification-page.service-content-page>header{gap:12px;margin-bottom:12px;padding:16px}
    .notification-page.service-content-page>header h1{font-size:28px}
    .notification-page>header form,.notification-page>header .button{width:100%;margin:0}
    .notification-preferences{margin:12px 0;padding:14px}
    .notification-preferences>summary{align-items:flex-start}
    .notification-preferences>summary h2{font-size:17px}
    .notification-preferences>summary p:last-child{display:none}
    .notification-preferences-body{margin-top:14px;padding-top:14px}
    .notification-preferences form{gap:8px}
    .notification-preferences label{min-height:44px;padding:9px 10px;border:1px solid #2e3740;border-radius:8px;background:#0e1317}
    .notification-preferences button{width:100%;margin:2px 0 0}
    .notification-list{gap:8px}
    .notification-list article{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:13px}
    .notification-icon{width:34px;height:34px}
    .notification-list article>div:nth-child(2) p{display:-webkit-box;margin:3px 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-height:1.5}
    .notification-list article>form{grid-column:1/-1}
    .notification-actions{grid-column:1/-1!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}
    .notification-actions form{grid-column:auto!important}
    .notification-actions button{width:100%;min-width:0;margin:0;padding-inline:5px}
    .profile-card{padding:18px}
    .profile-referral{margin-top:18px;padding-top:18px}
    .profile-referral-body{margin-top:14px;padding-top:14px}
    .profile-point-wallet{padding:13px}.profile-point-heading{grid-template-columns:1fr}.profile-point-balances{grid-template-columns:1fr}.profile-point-history-list article{grid-template-columns:minmax(0,1fr) auto}
    .profile-referral-grid{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}
    .profile-referral-grid>div{flex:0 0 210px;scroll-snap-align:start}
    .profile-referrer-form .button{width:100%;margin:0}
    .profile-security-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .profile-security-links .button{width:100%;min-width:0;margin:0;padding-inline:5px}
    .payment-page{width:calc(100% - 16px);padding-top:18px}
    .payment-page>.settings-header{gap:8px;margin-bottom:14px}
    .payment-page>.settings-header .settings-title{font-size:30px}
    .payment-page>.settings-header p:last-child{font-size:12px;line-height:1.55}
    .payment-page>.form-message{margin:0 0 12px;padding:12px;line-height:1.5}
    .payment-entitlement-summary{display:grid;grid-template-columns:1fr;gap:7px;margin-bottom:14px;overflow:visible;padding:0}
    .payment-entitlement-summary article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:11px 13px}
    .payment-entitlement-summary article strong{grid-column:2;grid-row:1/3;align-self:center;font-size:18px}
    .payment-entitlement-summary article small{grid-column:1}
    .member-ad-free-status{align-items:stretch;flex-direction:column;gap:12px;margin:12px 0;padding:14px}
    .member-ad-free-status h2{font-size:18px}
    .member-ad-free-status .button{width:100%;min-height:44px;margin:0}
    .payment-checkout{gap:12px}
    .payment-checkout-heading{align-items:flex-start;gap:7px;flex-direction:column}
    .payment-checkout-heading h2{font-size:19px}
    .payment-product-grid{gap:8px}
    .payment-product-card{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;min-height:78px;padding:14px 44px 14px 14px}
    .payment-product-card .admin-service-badge{grid-column:1}.payment-product-card>strong{grid-column:2;grid-row:1;font-size:19px;text-align:right}.payment-product-card>small{grid-column:1/-1}
    .payment-summary{gap:10px;padding:14px}
    .payment-summary>div{padding-bottom:9px}.payment-summary>p{margin:0;font-size:11px;line-height:1.5}
    .payment-summary>.button{width:100%;min-height:48px;margin:0}
    .member-billing-section{gap:10px;margin-top:14px;padding:13px}
    .member-billing-section>header{align-items:flex-start}
    .member-billing-section h2{font-size:18px}
    .member-payment-list article{padding:11px 12px}
    .member-subscription-grid article form{display:grid;gap:8px}
    .member-subscription-grid article form .button{width:100%;margin:0}
    .payment-result-page{width:calc(100% - 16px);min-height:calc(100dvh - 116px);padding:20px 0}
    .payment-result-card{gap:10px;padding:22px 14px}
    .payment-result-card h1{font-size:28px;line-height:1.25}
    .payment-result-card dl div{gap:12px;padding:10px 4px}.payment-result-card dd{overflow-wrap:anywhere;text-align:right}
    .payment-result-actions{display:grid;grid-template-columns:1fr;width:100%;gap:8px}.payment-result-actions .button{width:100%;min-height:44px;margin:0}
}

/* Mobile broker credentials, condition search and billing detail */
@media(max-width:640px){
    .api-key-page{display:flex;width:calc(100% - 16px);margin-inline:auto;gap:14px;flex-direction:column}
    .api-key-page>.settings-header{order:1}.api-key-page>.form-message,.api-key-page>.credential-grid,.api-key-page>.empty-state{order:2}.api-key-page>.api-guide-section{order:3}.api-key-page>.account-balance-panel{order:4}
    .api-key-page .settings-header{gap:14px}
    .api-key-page .settings-header .button{width:100%;margin:0}
    .api-guide-section{gap:8px;margin:12px 0}
    .api-guide-section>header{gap:7px}
    .api-guide-section>header h2{font-size:20px}
    .api-guide-section>header>p{margin:0;font-size:12px;line-height:1.55}
    .api-guide-card>summary{gap:5px;min-height:64px;padding:13px 14px}
    .api-guide-card>summary strong{font-size:14px}
    .api-guide-card>summary span{font-size:11px;line-height:1.4}
    .api-guide-body{gap:14px;padding:0 14px 14px}
    .api-guide-body ol{gap:8px;padding-left:19px}
    .api-guide-body li{font-size:12px}
    .api-guide-body>a{width:100%;margin:0}
    .credential-card{padding:16px}
    .credential-info{gap:9px;margin:16px 0}
    .credential-info div{grid-template-columns:76px minmax(0,1fr);gap:8px}
    .credential-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .credential-actions form,.credential-actions .button{width:100%;min-width:0;margin:0}
    .credential-actions .button{height:100%;min-height:44px;padding:7px 5px;white-space:normal;line-height:1.25}
    .account-balance-panel{margin-top:10px;padding:14px}
    .balance-summary{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}
    .balance-summary div{flex:0 0 175px;scroll-snap-align:start}
    .auth-page-shell .auth-card{padding:18px}
    .auth-page-shell .auth-form .button{width:100%;margin:0}
    .otp-qr{width:min(248px,100%)}
    .otp-copy-secret{width:100%;margin-top:4px!important}

    .broker-condition-heading{gap:14px;margin-bottom:14px}
    .broker-condition-heading h1{font-size:27px}
    .broker-condition-heading p{font-size:12px;line-height:1.55}
    .broker-condition-workspace{min-height:0}
    .broker-condition-filter{position:sticky;z-index:3;top:0;background:#0d0f12}
    .broker-condition-list{display:flex;width:100%;max-width:100%;min-width:0;gap:8px;max-height:none;overflow-x:auto;overscroll-behavior-x:contain;padding:0 0 7px;scroll-snap-type:x proximity;scrollbar-width:none}
    .broker-condition-list::-webkit-scrollbar{display:none}
    .broker-condition-list>button{flex:0 0 min(230px,78vw);min-height:58px;border-color:#29323a;background:#11171c;scroll-snap-align:start}
    .broker-condition-list-state{flex:1 0 100%}
    .broker-condition-workspace.has-selection .broker-condition-content{border-top:2px solid #284c49}
    .broker-condition-content>header{gap:12px;padding-bottom:12px}
    .broker-condition-content-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
    .broker-condition-content-actions .button{padding-inline:5px}
    .broker-condition-status{padding:11px 0;font-size:12px;line-height:1.5}
    .broker-condition-mobile-stocks{display:grid;gap:9px}
    .broker-condition-table-scroll{display:none}
    .broker-condition-stock-card{display:grid;width:100%;gap:11px;padding:13px;border:1px solid #303943;border-radius:11px;background:#10161b;color:var(--text);text-align:left;cursor:pointer}
    .broker-condition-stock-card>span{display:flex;align-items:center;justify-content:space-between;gap:12px}
    .broker-condition-stock-card>span:first-child>span{display:grid}
    .broker-condition-stock-card strong,.broker-condition-stock-card small{display:block}.broker-condition-stock-card small{margin-top:3px;color:var(--muted);font-size:11px}
    .broker-condition-stock-card>span:nth-child(2){align-items:baseline}.broker-condition-stock-card>span:nth-child(2) b{font-size:17px}.broker-condition-stock-card em{font-style:normal;font-weight:800}
    .broker-condition-stock-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0}.broker-condition-stock-card dl>div{display:grid;gap:3px;min-width:0;padding:8px;border-radius:8px;background:#151c21}.broker-condition-stock-card dt{color:#82909a;font-size:10px}.broker-condition-stock-card dd{overflow:hidden;margin:0;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
    .broker-condition-stock-card>i{padding-top:9px;border-top:1px solid #28323a;color:#72d9ce;font-size:11px;font-style:normal;font-weight:700;text-align:right}

    .member-billing-detail-page{width:calc(100% - 16px);margin-inline:auto;gap:14px}
    .member-billing-detail-page>.button{width:100%;margin:0}
    .member-billing-detail-page .settings-header{gap:8px}
    .member-billing-detail-card{padding:14px}
    .member-billing-detail-card>header{align-items:flex-start;flex-direction:column;gap:7px;padding-bottom:12px}
    .member-billing-detail-card>header strong{font-size:18px}
    .member-billing-detail-card dl>div{gap:4px;padding:11px 0}
    .member-payment-policy{margin-top:12px;padding:12px}
    .member-billing-detail-actions{display:grid;gap:8px;margin-top:12px}
    .member-billing-detail-actions form,.member-billing-detail-actions .button,.member-billing-detail-card>a.button{width:100%;margin:0}
    .member-billing-detail-actions form>p{margin:0 0 8px;color:var(--muted);font-size:12px;line-height:1.5}
}

/* Mobile administrator member, notice, support and pricing flows */
.admin-form-actions,.admin-list-actions,.admin-event-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:640px){
    .admin-page{width:calc(100% - 16px);padding:18px 0 48px}
    .admin-page .settings-header{gap:10px}
    .admin-page .settings-title{font-size:28px}
    .admin-page .settings-header p:last-child{font-size:12px;line-height:1.55}
    .admin-filter-bar{gap:8px;margin:14px 0}
    .admin-filter-bar .button{width:100%;margin:0}
    .admin-table-card{margin-top:14px;padding:12px}
    .admin-member-table,.admin-member-table tbody{display:block;width:100%;white-space:normal}
    .admin-member-table thead{display:none}
    .admin-member-table tbody{display:grid;gap:9px}
    .admin-member-table tr{display:block;padding:5px 11px;border:1px solid #2d3740;border-radius:10px;background:#0e1317}
    .admin-member-table td{display:grid;grid-template-columns:72px minmax(0,1fr);gap:9px;width:100%;padding:8px 0;border-bottom:1px solid #252e35;overflow-wrap:anywhere;white-space:normal}
    .admin-member-table td::before{content:attr(data-label);color:#82909a;font-size:11px;font-weight:700}
    .admin-member-table td:last-child{display:block;border-bottom:0}
    .admin-member-table td:last-child::before{display:block;margin-bottom:7px}
    .admin-member-table .admin-member-action{gap:7px}
    .admin-member-table .admin-member-action .button,.admin-member-table td:last-child>form>.button{width:100%;margin:0}
    .admin-member-table tr:has(.admin-empty-row){padding:0}
    .admin-member-table .admin-empty-row{display:block;padding:24px 8px!important;border:0;text-align:center!important}
    .admin-member-table .admin-empty-row::before{display:none}

    .community-admin{gap:14px}
    .community-admin .admin-content-form,.admin-ticket-list>article{padding:14px}
    .community-admin .admin-content-form textarea{min-height:180px}
    .admin-form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .admin-form-actions .button{width:100%;min-width:0;margin:0}
    .admin-community-list article{padding:12px}
    .admin-community-list article>div{width:100%;min-width:0}
    .admin-community-list strong,.admin-community-list span,.admin-community-list small{overflow-wrap:anywhere}
    .admin-list-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
    .admin-list-actions form,.admin-list-actions .button{width:100%;margin:0}
    .admin-ticket-list article>header{align-items:flex-start;flex-direction:column}
    .admin-ticket-list article>header time{font-size:11px}
    .admin-ticket-list article details li{overflow-wrap:anywhere}
    .support-refund-review form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .support-refund-review form input{grid-column:1/-1;width:100%}
    .support-refund-review form .button,.admin-ticket-actions form,.admin-ticket-actions .button,.admin-answer-form .button,.member-suspend-form .button{width:100%;min-width:0;margin:0}
    .admin-ticket-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}

    .admin-operation-section{gap:10px;margin-top:16px}
    .admin-operation-card{padding:16px}
    .admin-price-card>div{align-items:flex-start;flex-direction:column}
    .admin-price-card>.button{width:100%;margin:0}
    .admin-money-input{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
    .admin-event-form .admin-form-actions{width:100%}
    .admin-event-list article>div{width:100%;min-width:0}
    .admin-event-list article small{overflow-wrap:anywhere}
    .admin-event-actions{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);width:100%}
    .admin-event-actions form,.admin-event-actions .button{width:100%;min-width:0;margin:0}
    .admin-inline-grant{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
    .admin-inline-grant select{min-width:0;width:100%}
    .admin-data-table-wrap,.admin-table-scroll{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
}

/* Mobile administrator payment, member detail and service credential flows */
@media(max-width:640px){
    .admin-payment-filter{gap:8px;margin:14px 0;padding:12px}
    .admin-payment-filter .button{width:100%;margin:0}
    .admin-payment-table,.admin-payment-table tbody,.admin-service-key-table,.admin-service-key-table tbody{display:block;width:100%;white-space:normal}
    .admin-payment-table thead,.admin-service-key-table thead{display:none}
    .admin-payment-table tbody,.admin-service-key-table tbody{display:grid;gap:9px}
    .admin-payment-table tr,.admin-service-key-table tr{display:block;padding:5px 11px;border:1px solid #2d3740;border-radius:10px;background:#0e1317}
    .admin-payment-table td,.admin-service-key-table td{display:grid;grid-template-columns:74px minmax(0,1fr);gap:9px;width:100%;padding:8px 0;border-bottom:1px solid #252e35;overflow-wrap:anywhere;white-space:normal;text-align:left!important}
    .admin-payment-table td::before,.admin-service-key-table td::before{content:attr(data-label);color:#82909a;font-size:11px;font-weight:700}
    .admin-payment-table td:last-child,.admin-service-key-table td:last-child{border-bottom:0}
    .admin-payment-table tr:has(.admin-empty-row),.admin-service-key-table tr:has(td[colspan]){padding:0}
    .admin-payment-table .admin-empty-row,.admin-service-key-table td[colspan]{display:block;padding:24px 8px!important;border:0;text-align:center!important}
    .admin-payment-table .admin-empty-row::before,.admin-service-key-table td[colspan]::before{display:none}
    .admin-payment-table code,.admin-service-key-table code{overflow-wrap:anywhere;white-space:normal}

    .admin-payment-detail-head{align-items:flex-start;flex-direction:column;padding:16px}
    .admin-payment-detail-head code{display:block;max-width:100%;overflow-wrap:anywhere;white-space:normal}
    .admin-payment-detail-grid{gap:8px;margin:10px 0}
    .admin-payment-detail-grid>div{padding:12px}
    .admin-payment-detail-grid strong{overflow-wrap:anywhere}
    .admin-payment-error-detail{padding:12px;overflow-wrap:anywhere}
    .admin-payment-cancel{gap:12px;margin-top:10px;padding:14px}
    .admin-payment-cancel form .button,.admin-payment-support-link{width:100%;margin:0}

    .admin-member-hero{padding:16px}
    .admin-member-hero h1{font-size:27px}
    .admin-member-hero p:last-child{overflow-wrap:anywhere}
    .admin-detail-section{margin-top:10px;padding:14px}
    .admin-detail-section .admin-section-heading{align-items:flex-start;flex-direction:column}
    .admin-detail-section .admin-section-heading form,.admin-detail-section .admin-section-heading .button{width:100%;margin:0}
    .admin-detail-section .admin-refund-filters{grid-template-columns:minmax(0,1fr)}
    .admin-detail-section .admin-refund-filters .button{width:100%;margin:0}
    .admin-detail-section textarea{width:100%;padding:10px;border:1px solid #343b45;border-radius:8px;background:#101419;color:var(--text)}
    .admin-detail-section form:not(.admin-inline-grant)>.button{width:100%;margin-top:8px}
    .admin-subscription-list article{align-items:flex-start;flex-direction:column}
    .admin-subscription-list article form,.admin-subscription-list article .button{width:100%;margin:0}
    .admin-summary-grid{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}
    .admin-summary-grid>div{flex:0 0 155px;scroll-snap-align:start}

    .admin-service-key-page>.settings-header{align-items:flex-start;margin-bottom:14px}
    .admin-service-key-page>.settings-header .admin-key-state{align-self:flex-start}
    .admin-service-key-page>.form-message{margin-bottom:14px}
    .admin-service-key-page .auth-card{padding:16px}
    .admin-service-key-page .auth-submit{width:100%;margin:0}
    .admin-service-key-list{margin-top:14px}
    .admin-service-key-table .credential-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
    .admin-service-key-table .credential-actions form,.admin-service-key-table .credential-actions .button{width:100%;min-width:0;margin:0}
    .admin-market-license,.admin-api-usage{margin-top:14px;padding:16px}
    .market-license-permissions{display:grid;grid-template-columns:minmax(0,1fr);padding:12px}
    .admin-api-usage-grid{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}
    .admin-api-usage-grid article{flex:0 0 170px;scroll-snap-align:start}
}

/* Mobile administrator backtest operations */
@media(max-width:640px){
    .admin-backtest-page>.settings-header{align-items:flex-start;flex-direction:column}
    .admin-live-indicator{width:100%;justify-content:center}
    .admin-backtest-metrics,.admin-backtest-alert-center,.admin-backtest-queue-analytics,.admin-backtest-alert-history,.admin-backtest-executor{gap:11px;margin-top:12px;padding:14px}
    .admin-backtest-metrics-head nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
    .admin-backtest-metrics-head nav a{text-align:center}
    .admin-backtest-metric-cards,.admin-backtest-queue-summary,.admin-backtest-executor-grid{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}
    .admin-backtest-metric-cards article,.admin-backtest-queue-summary article,.admin-backtest-executor-grid article{flex:0 0 165px;scroll-snap-align:start}
    .admin-backtest-observability>article{padding:12px}
    .admin-backtest-errors li span{white-space:normal;overflow-wrap:anywhere}
    .admin-backtest-alert-list footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}
    .admin-backtest-alert-list footer form,.admin-backtest-alert-list footer .button{width:100%;min-width:0;margin:0}
    .admin-backtest-alert-history>.admin-backtest-alert-head>.button{width:100%;margin:0}
    .admin-backtest-toolbar form .button,.admin-backtest-inline-compare .button,.admin-backtest-compare-form .button,.admin-backtest-filters .button{width:100%;margin:0}
    .admin-backtest-inline-compare>span,.admin-backtest-compare-form>span{text-align:center}

    .admin-backtest-table,.admin-backtest-table tbody{display:block;width:100%;white-space:normal}
    .admin-backtest-table thead{display:none}
    .admin-backtest-table tbody{display:grid;gap:9px}
    .admin-backtest-table tr{display:block;padding:5px 11px;border:1px solid #2d3740;border-radius:10px;background:#0e1317}
    .admin-backtest-table td{display:grid;grid-template-columns:82px minmax(0,1fr);gap:9px;width:100%;padding:8px 0;border-bottom:1px solid #252e35;overflow-wrap:anywhere;white-space:normal}
    .admin-backtest-table td::before{content:attr(data-label);color:#82909a;font-size:11px;font-weight:700}
    .admin-backtest-table td:last-child{display:block;border-bottom:0}
    .admin-backtest-table td:last-child::before{display:block;margin-bottom:7px}
    .admin-backtest-table tr:has(.admin-empty-row){padding:0}
    .admin-backtest-table .admin-empty-row{display:block;padding:24px 8px!important;border:0;text-align:center!important}
    .admin-backtest-table .admin-empty-row::before{display:none}
    .admin-backtest-progress{width:100%;max-width:180px}

    .admin-backtest-detail-page>.settings-header{align-items:flex-start;flex-direction:column}
    .admin-backtest-detail-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
    .admin-backtest-detail-actions form{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
    .admin-backtest-detail-actions form:not(:has(input)){display:block}
    .admin-backtest-detail-actions .button,.admin-backtest-detail-actions form:not(:has(input)) .button{width:100%;margin:0}
    .admin-backtest-detail-grid,.admin-backtest-result-grid,.admin-backtest-diagnostic-grid,.admin-backtest-timings,.admin-cleanup-detail-metrics{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}
    .admin-backtest-detail-grid article,.admin-backtest-result-grid article,.admin-backtest-diagnostic-grid article,.admin-cleanup-detail-metrics article{flex:0 0 168px;scroll-snap-align:start}
    .admin-backtest-definition{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}
    .admin-backtest-definition>div{flex:0 0 180px;scroll-snap-align:start}
    .admin-backtest-timings>div{flex:0 0 160px;scroll-snap-align:start}
    .admin-backtest-timing-list{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}
    .admin-backtest-timing-list>div{flex:none}
    .admin-backtest-compare-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
    .admin-backtest-compare-actions .button{width:100%;min-width:0;margin:0}
    .admin-backtest-compare-table th:first-child,.admin-backtest-compare-table td:first-child{position:sticky;z-index:1;left:0;background:#151a1f}

    .admin-cleanup-history-page .settings-header>.button{width:100%;margin:0}
    .admin-cleanup-filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .admin-cleanup-filter-actions .button{width:100%;min-width:0;margin:0}
    .admin-cleanup-history-card,.admin-cleanup-approval-history-card{padding:12px}
    .admin-cleanup-history-table th:first-child,.admin-cleanup-history-table td:first-child,.admin-cleanup-approval-history-table th:first-child,.admin-cleanup-approval-history-table td:first-child{position:sticky;z-index:1;left:0;background:#151a1f}
    .admin-cleanup-detail-summary,.admin-cleanup-approval-detail-summary{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}
    .admin-cleanup-detail-summary article,.admin-cleanup-approval-detail-summary article{flex:0 0 180px;scroll-snap-align:start}
    .admin-cleanup-approval-chain{display:grid;grid-template-columns:minmax(0,1fr)}
    .admin-cleanup-approval-reason>p{align-items:flex-start;flex-direction:column}
}

/* Mobile administrator navigation and remaining data-heavy screens */
.admin-primary-nav{display:none}
.admin-menu nav{max-height:calc(100vh - 88px);overflow-y:auto;overscroll-behavior:contain}
.admin-menu-heading{display:block;padding:11px 12px 5px;color:#788590;font-size:10px;font-weight:800;letter-spacing:.08em}
.admin-menu nav a.is-active{background:#20302f;color:#7bd5cc;font-weight:800}
.admin-menu nav a:focus-visible,.admin-menu nav button:focus-visible{outline:2px solid #60cfc5;outline-offset:-2px}
.admin-scroll-hint{display:none}

@media(max-width:800px){
    body.admin-mobile-menu-open{overflow:hidden}
    .admin-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 12px;min-height:116px;padding:8px 12px}
    .admin-brand{min-width:0}.admin-brand>span:last-child{min-width:0}.admin-brand strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .admin-primary-nav{display:grid;grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%}
    .admin-primary-nav a{display:grid;place-items:center;min-width:0;min-height:44px;padding:5px 2px;border:1px solid transparent;border-radius:8px;color:#97a3ad;font-size:10px;font-weight:800;line-height:1.2;text-align:center;text-decoration:none}
    .admin-primary-nav a.is-active{border-color:#32615d;background:#17302e;color:#78d8cf}
    .admin-primary-nav a:focus-visible{outline:2px solid #60cfc5;outline-offset:1px}
    .admin-menu{position:static}.admin-menu>summary{width:44px;height:44px}
    .admin-menu nav{position:fixed;z-index:150;top:62px;right:8px;bottom:8px;width:min(320px,calc(100vw - 16px));max-height:none;padding:8px 8px calc(8px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;box-shadow:0 22px 70px rgba(0,0,0,.72)}
    .admin-menu nav a,.admin-menu nav button{align-items:center;min-height:44px;padding:10px 12px}
    .admin-menu-heading{padding-top:14px}.admin-menu-heading:first-child{padding-top:7px}
    .admin-page-wide{width:calc(100% - 16px)}
    .admin-dashboard-filter>div{align-items:flex-start;flex-direction:column;gap:8px}
    .admin-dashboard-filter nav{display:flex;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:3px}
    .admin-dashboard-filter nav a{flex:0 0 auto;min-height:44px}
    .admin-account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px}
    .admin-account-actions form,.admin-account-actions button{width:100%;min-width:0;margin:0}
    .admin-rulebot-alerts article>form,.admin-rulebot-alerts article>form .button{width:100%;margin:0}
    .admin-rulebot-alerts article{align-items:stretch;flex-direction:column}
    .admin-scroll-hint{display:block;margin:8px 0 6px;color:#82909a;font-size:11px;line-height:1.45}
    .admin-table-scroll[tabindex],.admin-table-wrap[tabindex]{outline:none;scrollbar-color:#59616d transparent}
    .admin-table-scroll[tabindex]:focus-visible,.admin-table-wrap[tabindex]:focus-visible{outline:2px solid #60cfc5;outline-offset:2px}
}

@media(max-width:640px){
    .admin-mobile-card-table,.admin-mobile-card-table tbody{display:block;width:100%;white-space:normal}
    .admin-mobile-card-table thead{display:none}
    .admin-mobile-card-table tbody{display:grid;gap:9px}
    .admin-mobile-card-table tr{display:block;padding:5px 11px;border:1px solid #2d3740;border-radius:10px;background:#0e1317}
    .admin-mobile-card-table td{display:grid;grid-template-columns:82px minmax(0,1fr);gap:9px;width:100%;padding:8px 0;border-bottom:1px solid #252e35;overflow-wrap:anywhere;white-space:normal;text-align:left!important}
    .admin-mobile-card-table td::before{content:attr(data-label);color:#82909a;font-size:11px;font-weight:700}
    .admin-mobile-card-table td:last-child{border-bottom:0}
    .admin-mobile-card-table td[colspan]{display:block;padding:24px 8px;text-align:center!important}
    .admin-mobile-card-table td[colspan]::before{display:none}
    .admin-mobile-card-table td form,.admin-mobile-card-table td .button{max-width:100%}
    .admin-mobile-card-table td:last-child form,.admin-mobile-card-table td:last-child .button{width:100%;margin:0}
    .admin-rule-bot-alert-page .admin-section-heading{align-items:stretch;flex-direction:column}
    .admin-rule-bot-alert-page .admin-inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;width:100%}
    .admin-rule-bot-alert-page .admin-inline-actions .admin-status-pill{grid-column:1/-1;width:max-content}
    .admin-rule-bot-alert-page .admin-inline-actions form,.admin-rule-bot-alert-page .admin-inline-actions .button{width:100%;min-width:0;margin:0}
    .admin-rule-bot-alert-page .admin-mobile-card-table td:last-child .admin-inline-actions{display:grid}
    .admin-rule-bot-alert-page .admin-mobile-card-table td:last-child .admin-inline-actions .admin-status-pill{grid-column:auto}
    .admin-backtest-page .admin-backtest-executor-form{grid-template-columns:minmax(0,1fr)}
    .admin-backtest-page .admin-backtest-executor-form .button{width:100%;margin:0}
    .admin-backtest-page .admin-backtest-alert-setting-panel{box-sizing:border-box;max-width:100%}
    .admin-backtest-page .admin-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
    .admin-backtest-page .admin-table:not(.admin-backtest-table){min-width:760px}
    .admin-backtest-page .admin-backtest-alert-retention form,.admin-backtest-page .admin-backtest-alert-retention .button{width:100%}
    .admin-performance-table{min-width:1100px}.admin-delisting-table{min-width:1280px}
    .vip-audit-form{gap:12px}.vip-audit-inputs{grid-template-columns:1fr}.vip-audit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
    .vip-audit-actions .button{width:100%;min-width:0;margin:0;padding-inline:7px}
    .vip-audit-card>header{align-items:flex-start;flex-direction:column;gap:9px}
    .admin-delisting-source{grid-template-columns:1fr}.admin-delisting-page .auth-form .button,.admin-delisting-filter .button{width:100%;margin:0}
}

/* Responsive width integrity: keep every user flow inside the viewport. */
:where(
    .app-layout,
    main,
    .trading-main,
    .market-workspace,
    .page-shell,
    .auth-page-shell,
    .settings-page-shell,
    .feature-workspace-page,
    .feature-workspace-card,
    .condition-page,
    .rule-bot-page,
    .rule-bot-workspace,
    .rule-bot-steps,
    .trade-history-page,
    .notification-page,
    .support-page,
    .community-page,
    .service-content-page,
    .broker-condition-page,
    .payment-page,
    .member-billing-detail-page,
    .legal-page,
    .admin-page,
    .admin-page-wide
) {
    min-width: 0;
    max-width: 100%;
}

:where(
    .market-workspace,
    .settings-page-shell,
    .feature-workspace-card,
    .condition-page,
    .rule-bot-workspace,
    .rule-bot-steps,
    .workflow-form,
    .trade-history-page,
    .notification-page,
    .support-page,
    .community-page,
    .broker-condition-workspace,
    .broker-condition-content,
    .payment-page,
    .member-billing-detail-page,
    .admin-page
) > * {
    min-width: 0;
}

:where(.page-shell, .settings-page-shell, .feature-workspace-page, .condition-page, .rule-bot-page, .trade-history-page, .notification-page, .support-page, .community-page, .broker-condition-page, .payment-page, .member-billing-detail-page, .legal-page, .admin-page) :where(img, video, iframe) {
    max-width: 100%;
}

:where(.page-shell, .settings-page-shell, .condition-page, .rule-bot-page, .trade-history-page, .notification-page, .support-page, .community-page, .broker-condition-page, .payment-page, .member-billing-detail-page, .legal-page, .admin-page) :where(input, select, textarea, button, pre) {
    max-width: 100%;
}

@media (max-width: 800px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    :where(.settings-header, .service-content-page > header, .support-page > header, .notification-page > header, .trade-history-head, .broker-condition-heading, .rule-bot-section-heading, .feature-workspace-actions) {
        align-items: stretch;
        flex-direction: column;
    }

    :where(.settings-header, .service-content-page > header, .support-page > header, .notification-page > header, .trade-history-head, .broker-condition-heading, .rule-bot-section-heading) > * {
        width: 100%;
        min-width: 0;
    }

    :where(.settings-title, .service-content-page h1, .support-page h1, .notification-page h1, .trade-history-page h1, .broker-condition-heading h1, .rule-bot-page h1, .rule-bot-page h2, .feature-workspace-card h1) {
        overflow-wrap: anywhere;
    }

    .feature-workspace-page {
        min-height: calc(100dvh - 116px);
        padding: 20px 10px 48px;
    }

    .feature-workspace-card {
        padding: 20px 16px;
    }

    .feature-workspace-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .feature-workspace-actions .button,
    .settings-header .button,
    .notification-page > header .button {
        width: 100%;
        margin: 0;
    }

    .support-list article {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding: 16px;
    }

    .support-list article :where(strong, p),
    .community-content,
    .workflow-result,
    .form-message,
    .empty-state {
        overflow-wrap: anywhere;
    }

    .credential-grid,
    .profile-referral-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .credential-card,
    .empty-state {
        padding: 18px;
    }

    .credential-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .credential-actions form,
    .credential-actions .button {
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    .broker-table-setting-dialog,
    .paper-account-dialog,
    .buy-rule-dialog {
        max-width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        overflow-y: auto;
    }

    .admin-table-scroll,
    .admin-table-wrap,
    .admin-data-table-wrap,
    .trade-table-wrap,
    .broker-condition-table-scroll {
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }
}

/* Backtest completion summary: keep the five headline metrics compact and scannable. */
.admin-backtest-detail-page .admin-backtest-result-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:7px;
    margin-top:12px;
    overflow:visible;
    padding-bottom:0;
}
.admin-backtest-detail-page .admin-backtest-result-grid article{
    display:flex;
    flex:initial;
    align-items:baseline;
    justify-content:space-between;
    gap:8px;
    min-width:0;
    padding:8px 10px;
    border-radius:8px;
}
.admin-backtest-detail-page .admin-backtest-result-grid span{
    color:var(--muted);
    font-size:10px;
    white-space:nowrap;
}
.admin-backtest-detail-page .admin-backtest-result-grid strong{
    min-width:0;
    overflow:hidden;
    font-size:15px;
    line-height:1.25;
    text-align:right;
    text-overflow:ellipsis;
    white-space:nowrap;
}
@media(max-width:1100px){
    .admin-backtest-detail-page .admin-backtest-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
    .admin-backtest-detail-page .admin-backtest-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));scroll-snap-type:none}
}
@media(max-width:360px){
    .admin-backtest-detail-page .admin-backtest-result-grid{grid-template-columns:1fr}
}
.stock-logo {
    display: inline-block;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;
    background: #17202b;
    object-fit: contain;
    overflow: hidden;
}

.stock-logo-small {
    width: 26px;
    height: 26px;
    border-radius: 8px;
}

.stock-logo-large {
    width: 42px;
    height: 42px;
    border-radius: 13px;
}

.stock-logo-with-copy {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 10px;
}

.stock-logo-with-copy > span {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.stock-logo-admin-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.stock-logo-admin-form label {
    display: grid;
    gap: 7px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.stock-logo-admin-form input,
.stock-logo-admin-form textarea {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #343b43;
    border-radius: 8px;
    color: var(--text);
    background: #11161a;
}

.stock-logo-admin-form .is-wide,
.stock-logo-admin-form .button {
    grid-column: 1 / -1;
}

.stock-logo-admin-list {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.stock-logo-admin-list article {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
    padding: 14px;
    border: 1px solid #303943;
    border-radius: 10px;
    background: #11161a;
}

.stock-logo-admin-list article > div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.stock-logo-admin-list span,
.stock-logo-admin-list small,
.stock-logo-admin-list p { color: var(--muted); }

.stock-logo-admin-list p { margin: 4px 0 0; overflow-wrap: anywhere; }

.stock-logo-collection-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0;
}

.stock-logo-collection-summary span {
    display: grid;
    gap: 3px;
    padding: 12px;
    border: 1px solid #303943;
    border-radius: 10px;
    color: var(--muted);
}

.stock-logo-collection-summary b { color: var(--text); font-size: 18px; }

.stock-logo-progress {
    height: 8px;
    margin-top: 14px;
    overflow: hidden;
    border-radius: 999px;
    background: #252d35;
}

.stock-logo-progress > span {
    display: block;
    min-width: 2px;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #1687e8, #5cdbc3);
    transition: width .25s ease;
}

.stock-logo-timing,
.stock-logo-run-stats {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.stock-logo-timing { color: #79d8c8; }

@media (max-width: 1100px) {
    .stock-logo-collection-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .stock-logo {
        width: 30px;
        height: 30px;
        border-radius: 9px;
    }

    .stock-logo-small {
        width: 24px;
        height: 24px;
        border-radius: 7px;
    }

    .trade-table td.trade-stock-cell {
        grid-template-columns: 70px 24px minmax(0, 1fr);
        align-items: center;
    }

    .trade-stock-cell > span {
        margin-left: 0;
        text-align: right;
    }

    .stock-logo-admin-form {
        grid-template-columns: 1fr;
    }

    .stock-logo-collection-summary { grid-template-columns: 1fr; }

    .stock-logo-admin-list article {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .stock-logo-admin-list article > form {
        grid-column: 1 / -1;
    }
}

.backtest-batch-panel,
.rulebot-backtest-report {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid #2d3a42;
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(16, 25, 29, .96), rgba(13, 18, 23, .98));
}

.backtest-batch-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
}

.backtest-batch-panel > div:first-child,
.rulebot-backtest-report > header > div { display: grid; gap: 5px; }
.backtest-batch-panel small,
.rulebot-backtest-report small { color: var(--muted); }
.backtest-batch-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.backtest-batch-status { grid-column: 1 / -1; display: grid; gap: 12px; }
.backtest-batch-status > header,
.rulebot-backtest-report > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.backtest-batch-status > header span { color: var(--muted); text-align: right; }
.backtest-batch-progress { height: 8px; overflow: hidden; border-radius: 999px; background: #222c32; }
.backtest-batch-progress i { display: block; height: 100%; border-radius: inherit; background: #56cfbd; transition: width .2s ease; }
.backtest-batch-status > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 360px; overflow: auto; }
.backtest-batch-status article { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 9px; align-items: center; padding: 11px; border: 1px solid #2b343c; border-radius: 11px; background: #11171b; }
.backtest-batch-status article > i { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: #26313a; font-style: normal; }
.backtest-batch-status article > div { display: grid; gap: 3px; min-width: 0; }
.backtest-batch-status article > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.backtest-batch-status article.is-completed { border-color: rgba(86, 207, 189, .42); }
.backtest-batch-status article.is-failed,
.backtest-batch-status article.is-cancelled { border-color: rgba(239, 90, 90, .42); }

.rulebot-backtest-report > header span { color: #68d6c5; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.rulebot-backtest-report h4 { margin: 0; font-size: clamp(18px, 2vw, 25px); }
.backtest-report-ranking { display: grid; gap: 8px; margin-top: 16px; }
.backtest-report-ranking article { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid #2b353d; border-radius: 12px; background: #11171b; }
.backtest-report-ranking article > i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: #24323a; color: #79ddce; font-style: normal; font-weight: 800; }
.backtest-report-ranking article > div { display: grid; gap: 3px; min-width: 0; }
.backtest-report-ranking article > span { padding: 5px 8px; border-radius: 999px; background: #232a31; color: var(--muted); font-size: 12px; white-space: nowrap; }
.backtest-report-history { margin-top: 16px; border-top: 1px solid #2b353d; padding-top: 12px; }
.backtest-report-history summary { cursor: pointer; font-weight: 700; }
.backtest-report-history summary span { color: var(--muted); }
.backtest-report-history > div { margin-top: 10px; overflow: auto; }
.backtest-report-history table { width: 100%; min-width: 900px; border-collapse: collapse; }
.backtest-report-history th,
.backtest-report-history td { padding: 10px; border-bottom: 1px solid #273139; text-align: left; white-space: nowrap; }
.backtest-report-history th { color: var(--muted); font-size: 12px; }

@media (max-width: 759px) {
    .backtest-batch-panel { grid-template-columns: 1fr; padding: 14px; }
    .backtest-batch-actions { justify-content: stretch; }
    .backtest-batch-actions .button { flex: 1 1 140px; }
    .backtest-batch-status > header,
    .rulebot-backtest-report > header { align-items: flex-start; flex-direction: column; }
    .backtest-batch-status > div:last-child { grid-template-columns: 1fr; }
    .backtest-report-ranking article { grid-template-columns: 30px minmax(0, 1fr) auto; }
    .backtest-report-ranking article > span { grid-column: 2 / -1; justify-self: start; }
}
