:root{color:#eef4ff;font-synthesis:none;text-rendering:optimizelegibility;--bg:#07101b;--surface:#0d1726;--surface-2:#111d2e;--surface-3:#162337;--line:#ffffff14;--line-strong:#ffffff24;--text:#eef4ff;--muted:#91a1ba;--accent:#7e9cff;--accent-strong:#5f7fff;--positive:#52d8a0;--negative:#ff7a8b;--warning:#f4bf69;--shadow:0 20px 70px #00000047;background:#07101b;font-family:Inter,Pretendard,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);min-width:320px;color:var(--text)}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.app-shell{background:radial-gradient(circle at 80% 0%, #5577ff1c, transparent 32%), var(--bg);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#08101cf2;flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand-block{align-items:center;gap:12px;padding:4px 8px 24px;display:flex}.brand-mark{background:linear-gradient(135deg,#718cff,#4866ea);border-radius:13px;place-items:center;width:40px;height:40px;font-weight:900;display:grid;box-shadow:0 10px 30px #566fff57}.brand-block strong{letter-spacing:-.01em;font-size:15px;display:block}.brand-block span{color:var(--muted);letter-spacing:.13em;margin-top:3px;font-size:10px;font-weight:800;display:block}.side-nav{flex-direction:column;gap:5px;display:flex}.nav-item{color:#a5b2c6;border-radius:12px;grid-template-columns:22px 1fr 16px;align-items:center;gap:10px;min-height:44px;padding:0 12px;font-size:14px;transition:all .18s;display:grid}.nav-item:hover{color:#eaf1ff;background:#ffffff0b}.nav-item.is-active{color:#fff;background:linear-gradient(90deg,#6782ff2e,#6782ff0f);box-shadow:inset 3px 0 #6e8aff}.nav-item__arrow{opacity:.38}.sidebar__footer{border-top:1px solid var(--line);gap:10px;margin-top:auto;padding:18px 8px 0;display:grid}.status-dot{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:inline-flex}.status-dot i{background:#66738a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #66738a14}.status-dot.is-ok i{background:var(--positive);box-shadow:0 0 0 4px #52d8a01a}.status-dot.is-off i{background:#7b879a}.workspace{min-width:0}.topbar{z-index:15;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#07101bd1;justify-content:space-between;align-items:center;gap:18px;min-height:82px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar__left,.topbar__right,.health-row{align-items:center;gap:14px;display:flex}.topbar h1{letter-spacing:-.02em;margin:2px 0 0;font-size:21px}.eyebrow{color:#7d91b3;letter-spacing:.16em;font-size:10px;font-weight:900;line-height:1.2;display:block}.content{width:min(1500px,100%);margin:0 auto;padding:28px}.page-stack{gap:20px;display:grid}.page-intro{justify-content:space-between;align-items:flex-end;gap:20px;padding:4px 2px 8px;display:flex}.page-intro h2{letter-spacing:-.04em;margin:7px 0 6px;font-size:clamp(24px,3vw,36px)}.page-intro p,.muted{color:var(--muted);margin:0;line-height:1.65}.button,.icon-button{border:1px solid var(--line-strong);cursor:pointer;background:#ffffff0a;transition:all .18s}.button{border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:13px;font-weight:750;display:inline-flex}.button:hover,.icon-button:hover{background:#ffffff14;border-color:#ffffff38;transform:translateY(-1px)}.button.primary{background:linear-gradient(135deg,#708aff,#516cf0);border-color:#0000;box-shadow:0 9px 25px #526cf040}.button.soft{color:#cbd6ff;background:#6d89ff1a;border-color:#6d89ff2e}.icon-button{border-radius:11px;place-items:center;width:38px;height:38px;padding:0;display:grid}.icon-button:disabled{cursor:default;opacity:.62;transform:none}.icon-button.is-refreshing svg{animation:.8s linear infinite refresh-spin}.refresh-status{color:var(--muted);white-space:nowrap;font-size:11px}@keyframes refresh-spin{to{transform:rotate(360deg)}}.mobile-menu{display:none}.hero-card{background:linear-gradient(120deg, #5871ea26, #101c2df5 48%), var(--surface);min-height:196px;box-shadow:var(--shadow);border:1px solid #859cff29;border-radius:24px;justify-content:space-between;align-items:center;gap:30px;padding:30px 32px;display:flex;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#7691ff2e,#0000 70%);border-radius:50%;width:290px;height:290px;position:absolute;top:-130px;right:-100px}.hero-card h2{letter-spacing:-.055em;margin:10px 0 8px;font-size:clamp(34px,5vw,58px)}.hero-return{font-size:18px;font-weight:850}.hero-return span{color:var(--muted);margin-left:8px;font-size:13px;font-weight:600}.hero-status{border:1px solid var(--line);background:#050b1475;border-radius:18px;width:min(320px,100%);padding:18px}.system-state{align-items:center;gap:12px;display:flex}.system-state div span{color:var(--muted);font-size:11px;display:block}.system-state div strong{margin-top:2px;font-size:22px;display:block}.system-state.is-safe{color:#b7c4dc}.system-state.is-live{color:var(--warning)}.hero-status p{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.5}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;min-width:0;padding:18px 19px}.metric-card__top{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.metric-card__top i{color:#7892f8}.metric-card__value{letter-spacing:-.035em;margin-top:12px;font-size:clamp(22px,2vw,30px);display:block}.metric-card__detail{color:var(--muted);margin-top:7px;font-size:11px}.tone-positive{color:var(--positive)!important}.tone-negative{color:var(--negative)!important}.tone-neutral{color:inherit}.two-column{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:19px;min-width:0;padding:20px}.panel__head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.panel__head h2{letter-spacing:-.025em;margin:5px 0 0;font-size:18px}.text-link{color:#92a8ff;align-items:center;gap:4px;font-size:12px;font-weight:750;display:inline-flex}.list-stack{gap:8px;display:grid}.position-row{background:#ffffff06;border:1px solid #0000;border-radius:13px;grid-template-columns:minmax(120px,1fr) minmax(100px,.7fr) 90px 16px;align-items:center;gap:12px;min-height:62px;padding:10px 12px;display:grid}.position-row:hover{border-color:var(--line);background:#ffffff0a}.position-row strong,.position-row span{display:block}.position-row span{color:var(--muted);margin-top:3px;font-size:11px}.position-row__middle{color:var(--muted)}.position-row__middle strong{color:var(--text);font-size:13px}.position-row__return{text-align:right;font-weight:850}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.candidate-card{border:1px solid var(--line);background:#ffffff07;border-radius:14px;padding:14px}.candidate-card>div{justify-content:space-between;align-items:center;display:flex}.candidate-card span{color:#8298f3;font-size:11px;font-weight:800}.candidate-card b{margin-top:8px;font-size:22px;display:block}.candidate-card p{color:var(--muted);margin:4px 0 0;font-size:11px}.responsive-table{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#7788a4;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:10px 12px;font-size:10px;font-weight:900}td{color:#cbd5e5;white-space:nowrap;border-bottom:1px solid #ffffff0d;padding:13px 12px}tbody tr:last-child td{border-bottom:0}td strong{color:var(--text)}td small{color:var(--muted);margin-top:3px;display:block}.pill{color:#aebad0;background:#ffffff0f;border-radius:999px;align-items:center;min-height:23px;padding:0 8px;font-size:10px;font-weight:800;display:inline-flex}.pill.success{color:#83ebbd;background:#52d8a017}.pill.danger{color:#ff9cab;background:#ff7a8b17}.banner{border:1px solid var(--line);border-radius:13px;align-items:center;gap:10px;min-height:46px;padding:10px 14px;font-size:13px;display:flex}.banner.warning{color:#ffd18c;background:#f4bf6912;border-color:#f4bf6924}.banner.info{color:#b7c7ff;background:#718cff14;border-color:#718cff24}.search-input,label input,label select,label textarea{border:1px solid var(--line-strong);min-height:40px;color:var(--text);background:#091321;border-radius:11px;outline:none;padding:0 12px}.search-input{width:min(320px,100%)}.search-input:focus,label input:focus,label select:focus,label textarea:focus{border-color:#728cffb3;box-shadow:0 0 0 3px #728cff1a}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:13px 0;display:flex}.setting-row:last-child{border-bottom:0}.setting-row strong,.setting-row span{display:block}.setting-row div span{color:var(--muted);margin-top:4px;font-size:12px}.empty-state{text-align:center;color:var(--muted);padding:34px 20px}.empty-state__icon{color:#7c95f6;background:#7c95f614;border-radius:14px;place-items:center;width:45px;height:45px;margin:0 auto 12px;display:grid}.empty-state strong{color:#dfe8f7}.empty-state p{max-width:430px;margin:6px auto 0;font-size:12px;line-height:1.6}.skeleton-stack{gap:12px;display:grid}.skeleton{background:linear-gradient(90deg,#ffffff06,#ffffff12,#ffffff06) 0 0/220% 100%;border-radius:16px;height:74px;animation:1.3s infinite shimmer}@keyframes shimmer{to{background-position:-220% 0}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#01060cb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line-strong);background:#0c1726;border-radius:20px;width:min(430px,100%);padding:22px;box-shadow:0 30px 90px #0000007a}.modal__head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.modal__head h2{margin:6px 0 0}.stack{gap:13px;margin-top:18px;display:grid}.stack label:not(.check-row){color:#a6b4c9;gap:6px;font-size:12px;display:grid}.check-row{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.inline-error{color:#ff9aaa;background:#ff7a8b14;border-radius:10px;padding:10px 11px;font-size:12px}.inline-success{color:#9be7be;background:#59d69514;border-radius:10px;padding:10px 11px;font-size:12px}.password-form{gap:14px;display:grid}.password-form__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.password-form__grid label{color:#a6b4c9;gap:6px;font-size:12px;display:grid}.sidebar-scrim{display:none}.control-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.control-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:48px 1fr;gap:14px;min-height:176px;padding:18px;display:grid}.control-card.safe-zone{border-color:#52d8a029}.control-card.danger-zone{background:linear-gradient(180deg, #ff7a8b0d, var(--surface));border-color:#ff7a8b38}.control-card__icon{color:#9db0ff;background:#6f8bff17;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.control-card__body span,.manual-card__title span{color:var(--muted);font-size:11px}.control-card__body strong{margin-top:5px;font-size:22px;display:block}.control-card__body p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.55}.control-card__actions{grid-column:1/-1;justify-content:flex-end;align-self:end;display:flex}.button.danger{color:#ff9baa;background:#ff7a8b1a;border-color:#ff7a8b38}.button.warning{color:#ffd28b;background:#f4bf691a;border-color:#f4bf6938}.control-lock{text-align:center;border:1px dashed var(--line-strong);min-height:250px;color:var(--muted);border-radius:20px;align-content:center;place-items:center;gap:8px;display:grid}.control-lock strong{color:var(--text);font-size:18px}.control-lock span{max-width:520px;font-size:12px;line-height:1.6}.action-message{border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px}.action-message.ok{color:#8cebbf;background:#52d8a014;border-color:#52d8a026}.action-message.error{color:#ffa2af;background:#ff7a8b14;border-color:#ff7a8b26}.arming-panel{background:linear-gradient(160deg,#f4bf6914,#0d1726fa);border:1px solid #f4bf693d;border-radius:20px;padding:22px}.arming-panel__title{color:#ffd18a;align-items:center;gap:12px;display:flex}.arming-panel__title h3{color:var(--text);margin:4px 0 0;font-size:20px}.risk-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0;display:grid}.risk-summary div{border:1px solid var(--line);background:#00000029;border-radius:12px;padding:12px}.risk-summary span{color:var(--muted);font-size:10px;display:block}.risk-summary strong{margin-top:5px;font-size:12px;display:block}.confirm-check{color:#c9d3e4;align-items:center;gap:9px;font-size:12px;display:flex}.confirm-field{color:var(--muted);gap:7px;margin-top:14px;font-size:12px;display:grid}.confirm-field input{text-transform:uppercase;width:min(300px,100%)}.action-row{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.manual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.manual-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:13px;padding:20px;display:grid}.manual-card__title{color:#91a7ff;align-items:center;gap:10px;display:flex}.manual-card__title strong{color:var(--text);margin-top:3px;display:block}.manual-card label{color:var(--muted);gap:6px;font-size:11px;display:grid}.strategy-overview{background:linear-gradient(135deg, #718cff12, var(--surface));border:1px solid #718cff29;border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;padding:20px;display:grid}.strategy-status{align-items:center;gap:14px;display:flex}.strategy-status__lamp{background:#ffffff0d;border-radius:15px;place-items:center;width:48px;height:48px;display:grid}.strategy-status__lamp.on{color:var(--positive);background:#52d8a017}.strategy-status__lamp.off{color:var(--muted)}.strategy-status span{color:var(--muted);font-size:11px}.strategy-status strong{margin-top:3px;font-size:21px;display:block}.strategy-status p{color:var(--muted);margin:4px 0 0;font-size:11px}.strategy-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.strategy-meta>div{border:1px solid var(--line);background:#00000021;border-radius:13px;padding:12px}.strategy-meta svg{color:#8197f4}.strategy-meta span{color:var(--muted);margin-top:8px;font-size:10px;display:block}.strategy-meta strong{margin-top:4px;font-size:11px;display:block}.strategy-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.strategy-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:18px}.strategy-card.disabled{opacity:.72}.strategy-card.enabled{border-color:#52d8a021}.strategy-card header{justify-content:space-between;gap:12px;display:flex}.strategy-card h3{margin:6px 0 0;font-size:17px}.strategy-switch{border-radius:999px;place-items:center;min-width:44px;height:26px;padding:0 8px;font-size:10px;font-weight:900;display:grid}.strategy-switch.on{color:#84e8b9;background:#52d8a01a}.strategy-switch.off{color:#a0acc0;background:#ffffff0d}.strategy-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:17px;display:grid}.strategy-metrics div{background:#ffffff06;border-radius:11px;padding:10px}.strategy-metrics span{color:var(--muted);font-size:9px}.strategy-metrics strong{margin-top:4px;font-size:14px;display:block}.strategy-reason{min-height:56px;color:var(--muted);background:#00000021;border-radius:11px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px;font-size:10px;line-height:1.5;display:flex}.strategy-reason svg{color:#8095ee;flex:none}.strategy-bonus{color:#9eb0fa;align-items:center;gap:6px;margin-top:8px;font-size:10px;font-weight:800;display:inline-flex}.adaptive-settings{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px;display:grid}.adaptive-settings h3{margin:5px 0}.adaptive-settings p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.cadence-control{align-items:stretch;gap:8px;display:flex}.cadence-button{border:1px solid var(--line);min-width:85px;min-height:52px;color:var(--text);cursor:pointer;background:#ffffff06;border-radius:12px}.cadence-button.active{background:#718cff1f;border-color:#718cff7a}.cadence-button small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.setting-message{color:#a8b8fa;grid-column:1/-1;font-size:11px}.market-chip-row{color:var(--muted);align-items:flex-start;gap:14px;font-size:11px;display:flex}.market-chip-row>div{flex-wrap:wrap;gap:6px;display:flex}.market-chip{color:#c6d1e4;background:#ffffff0b;border-radius:999px;padding:5px 8px;font-size:10px}@media (width<=1120px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.control-grid,.strategy-cards,.strategy-overview{grid-template-columns:1fr}.health-row .status-dot:first-child{display:none}}@media (width<=820px){.app-shell{display:block}.sidebar{width:250px;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:24px 0 70px #00000061}.sidebar.is-open{transform:translate(0)}.sidebar-scrim{z-index:19;background:#00000080;border:0;display:block;position:fixed;inset:0}.mobile-menu{display:grid}.topbar{min-height:72px;padding:12px 16px}.topbar__left{gap:10px}.topbar__right .health-row{display:none}.content{padding:18px 14px 90px}.page-intro{flex-direction:column;align-items:stretch}.search-input{width:100%}.hero-card{flex-direction:column;align-items:stretch;min-height:0;padding:22px}.hero-card h2{font-size:38px}.hero-status{width:100%}.position-row{grid-template-columns:1fr 90px 16px}.position-row__middle{display:none}.manual-grid,.risk-summary,.strategy-meta,.adaptive-settings{grid-template-columns:1fr}.cadence-control{flex-wrap:wrap}.password-form__grid{grid-template-columns:1fr}}@media (width<=560px){.topbar__right .icon-button{display:none}.topbar h1{font-size:18px}.topbar .button{padding:0 10px}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:15px}.metric-card__value{font-size:21px}.candidate-grid{grid-template-columns:1fr}.panel{border-radius:16px;padding:16px}.position-row{padding:10px}.hero-card{border-radius:18px}}
