/* BYTE CYCLE visual system adapted from the user-supplied TechWave documentation template. */
:root{
  --techwave-main-color:#7c5fe3;
  --techwave-main-color1:#8768f8;
  --techwave-main-color2:#b7a4fb;
  --techwave-site-bg-color:#0f0e11;
  --techwave-header-bg-color:#17151b;
  --techwave-some-r-bg-color:#17151b;
  --techwave-some-a-bg-color:#2b2830;
  --techwave-heading-color:#c0bcca;
  --techwave-body-color:#7e7a86;
  --techwave-border-color:#312e37;
  --techwave-button-bg-color:#1c1925;
  --techwave-hover-color:#fff;
  --techwave-left-panel-width:300px;
  --techwave-header-height:100px;
  --techwave-heading-font-family:'Heebo','Segoe UI',Arial,sans-serif;
  --techwave-body-font-family:'Work Sans','Segoe UI',Arial,sans-serif;
  --sidebar-width:var(--techwave-left-panel-width);
  --header-height:var(--techwave-header-height);
  --shadow:none;
}
html[data-theme="light"]{
  --techwave-site-bg-color:#fff;
  --techwave-header-bg-color:#f5f5f5;
  --techwave-some-r-bg-color:#f5f5f5;
  --techwave-some-a-bg-color:#e7e7e7;
  --techwave-heading-color:#333;
  --techwave-body-color:#444;
  --techwave-border-color:#ddd;
  --techwave-button-bg-color:#f5f5f5;
  --techwave-hover-color:#000;
}
html,body{background:var(--techwave-site-bg-color)!important;color:var(--techwave-body-color)!important}
body{font-family:var(--techwave-body-font-family)!important;font-size:15px;line-height:1.5;letter-spacing:0}
h1,h2,h3,h4,h5,h6,.copier-logo,.sidebar-nav a,.sidebar-label,.header-title,.page-kicker,button,input,select,textarea,.pill,.tag,.brand{font-family:var(--techwave-heading-font-family)!important}
a{color:var(--techwave-main-color)}
.body-bg{background:var(--techwave-site-bg-color)!important;min-height:100vh}

/* Reference-template shell: 300px left panel + 100px header. */
.copier-sidebar{
  width:var(--techwave-left-panel-width)!important;
  background:var(--techwave-some-r-bg-color)!important;
  border-right:1px solid var(--techwave-border-color)!important;
  box-shadow:none!important;
}
.copier-logo{
  height:var(--techwave-header-height)!important;
  padding:0 28px!important;
  border-bottom:1px solid var(--techwave-border-color)!important;
  gap:12px!important;
}
.logo-mark{
  width:68px!important;height:48px!important;border-radius:10px!important;
  color:transparent!important;font-size:0!important;
  background-color:transparent!important;
  background-image:url('/static/img/byte-cycle-banner.png')!important;
  background-repeat:no-repeat!important;
  background-size:270px auto!important;
  background-position:left center!important;
  box-shadow:none!important;font-weight:800!important;
  overflow:hidden!important;flex:0 0 68px!important;
}
.logo-copy strong{color:var(--techwave-heading-color)!important;font-size:18px!important;font-weight:600!important;letter-spacing:.1px!important}
.logo-copy span{color:var(--techwave-body-color)!important;font-size:10px!important;letter-spacing:.08em!important;margin-top:3px!important}
.sidebar-scroll{padding:22px 20px 26px!important}
.sidebar-label{
  color:var(--techwave-body-color)!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.11em;
  font-weight:500!important;border:0!important;padding:0 10px!important;margin:0 0 8px!important
}
.sidebar-nav{gap:4px!important}
.sidebar-nav a{
  min-height:44px;padding:0 12px!important;border-radius:7px!important;color:var(--techwave-body-color)!important;
  font-size:14px!important;font-weight:500!important;letter-spacing:0!important;background:transparent!important;border:1px solid transparent;
  transition:background .18s,color .18s,border-color .18s!important
}
.sidebar-nav a:hover,.sidebar-nav a.active{
  color:var(--techwave-hover-color)!important;background:var(--techwave-some-a-bg-color)!important;border-color:transparent!important;
}
.sidebar-nav a.active{box-shadow:inset 3px 0 0 var(--techwave-main-color)}
.sidebar-nav a.active .nav-ico,.sidebar-nav a:hover .nav-ico{color:var(--techwave-main-color2)!important}
.nav-ico{width:19px!important;height:19px!important;color:var(--techwave-body-color)!important}
.nav-ico svg{width:18px!important;height:18px!important;stroke-width:1.65!important}
/* Add TechWave-style icons to compact sidebars that previously had text-only links. */
.sidebar-nav a:not(:has(.nav-ico))::before{content:"";width:18px;height:18px;flex:0 0 18px;background:currentColor;opacity:.92;mask:center/contain no-repeat}
.sidebar-nav a[href="/admin"]:not(:has(.nav-ico))::before{mask-image:url('/static/techwave-icons/home.svg')}
.sidebar-nav a[href="/admin/news"]:not(:has(.nav-ico))::before{mask-image:url('/static/techwave-icons/thunder.svg')}
.sidebar-nav a[href="/admin/telegram"]:not(:has(.nav-ico))::before{mask-image:url('/static/techwave-icons/chat.svg')}
.sidebar-nav a[href="/admin/live-chart"]:not(:has(.nav-ico))::before{mask-image:url('/static/techwave-icons/option.svg')}
.sidebar-nav a[href="/admin/artificial-intelligent"]:not(:has(.nav-ico))::before{mask-image:url('/static/techwave-icons/chat.svg')}
.sidebar-nav a[href="/admin/countries"]:not(:has(.nav-ico))::before{mask-image:url('/static/techwave-icons/community.svg')}
.sidebar-nav a[href="/admin/notifications"]:not(:has(.nav-ico))::before{mask-image:url('/static/techwave-icons/bell.svg')}
.sidebar-nav a[href="/admin/settings"]:not(:has(.nav-ico))::before{mask-image:url('/static/techwave-icons/setting.svg')}
.sidebar-nav a[href="/logout"]:not(:has(.nav-ico))::before{mask-image:url('/static/techwave-icons/logout.svg')}
.sidebar-foot{padding:18px 30px 24px!important;color:var(--techwave-body-color)!important;border-top:1px solid var(--techwave-border-color);font-size:10px!important}

.copier-header{
  left:var(--techwave-left-panel-width)!important;height:var(--techwave-header-height)!important;padding:0 40px!important;
  background:var(--techwave-header-bg-color)!important;border-bottom:1px solid var(--techwave-border-color)!important;box-shadow:none!important
}
.header-title h1{font-size:20px!important;font-weight:500!important;color:var(--techwave-heading-color)!important;margin-bottom:3px!important}
.header-title p{font-size:12px!important;color:var(--techwave-body-color)!important}
.header-actions{gap:9px!important}
.theme-btn,.icon-btn{
  width:40px!important;height:40px!important;border-radius:8px!important;background:var(--techwave-button-bg-color)!important;
  border:1px solid var(--techwave-border-color)!important;color:var(--techwave-heading-color)!important;box-shadow:none!important
}
.theme-btn:hover,.icon-btn:hover{color:var(--techwave-main-color2)!important;border-color:var(--techwave-main-color)!important}
.user-chip{padding:5px 10px 5px 6px!important;border:1px solid var(--techwave-border-color)!important;border-radius:8px!important;background:var(--techwave-button-bg-color)!important}
.user-avatar{width:32px!important;height:32px!important;background:var(--techwave-some-a-bg-color)!important;color:var(--techwave-main-color2)!important;border:1px solid var(--techwave-border-color)}
.user-chip b{color:var(--techwave-heading-color)!important;font-weight:500!important}.user-chip span{color:var(--techwave-body-color)!important}

.dashboard-main{
  margin-left:var(--techwave-left-panel-width)!important;padding:calc(var(--techwave-header-height) + 32px) 40px 54px!important;
  background:var(--techwave-site-bg-color)!important;max-width:none!important
}
.dashboard-main>section,.dashboard-main>div,.dashboard-main>footer{max-width:1680px;margin-left:auto;margin-right:auto}
.page-kicker{color:var(--techwave-main-color2)!important;font-size:10px!important;font-weight:500!important;letter-spacing:.12em!important;margin-bottom:10px!important}

/* Reference-template surfaces: flat, restrained, border-led. */
.card,.panel,.account-card,.ai-history-panel,.ai-chat-panel,.monthly-news-strip,.news-month-card,.news-guide,.manual-account-card{
  background:var(--techwave-some-r-bg-color)!important;border:1px solid var(--techwave-border-color)!important;border-radius:8px!important;box-shadow:none!important
}
.card{padding:20px!important;min-height:116px!important}.card:after{display:none!important}
.card label,.card small,.muted{color:var(--techwave-body-color)!important}.card b{color:var(--techwave-heading-color)!important;font-weight:500!important;font-size:25px!important}
.panel{padding:24px!important;margin-top:20px!important}.panel h2,.section-title h2,.account-card .top>b,.account-card .top div>b{color:var(--techwave-heading-color)!important;font-weight:500!important}
.account-card{padding:19px!important}.account-card .path{background:var(--techwave-button-bg-color)!important;border-color:var(--techwave-border-color)!important;color:var(--techwave-body-color)!important}
.monthly-news-strip,.news-month-card,.news-guide{background:var(--techwave-button-bg-color)!important}
.monthly-news-item{background:var(--techwave-some-r-bg-color)!important;border-color:var(--techwave-border-color)!important}
.monthly-news-item:hover,.news-page-link:hover{border-color:var(--techwave-main-color)!important}
.news-page-link,.news-window-count{color:var(--techwave-main-color2)!important;border-color:rgba(124,95,227,.28)!important;background:rgba(124,95,227,.07)!important}

/* Inputs/selects mirror TechWave controls. */
input,select,textarea{
  background:var(--techwave-some-a-bg-color)!important;color:var(--techwave-heading-color)!important;
  border:2px solid transparent!important;border-radius:5px!important;min-height:42px!important;box-shadow:none!important;outline:none!important
}
textarea{padding:12px 14px!important}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--techwave-body-color) 80%,transparent)!important}
input:focus,select:focus,textarea:focus{border-color:var(--techwave-main-color)!important;box-shadow:none!important}
.form-grid label,.lot-grid label,.login-card label,.settings-grid label{color:var(--techwave-body-color)!important;font-weight:500!important}

/* TechWave gradient-border pill buttons. */
button:not(.theme-btn):not(.icon-btn):not(.trade-side):not(.message-action):not(.ghost-mini-btn),
.news-page-link,.ai-primary-btn,.ai-send-btn{
  position:relative;background:
    linear-gradient(var(--techwave-button-bg-color),var(--techwave-button-bg-color)) padding-box,
    linear-gradient(120deg,var(--techwave-main-color1),var(--techwave-main-color2),var(--techwave-main-color1)) border-box!important;
  border:2px solid transparent!important;color:var(--techwave-heading-color)!important;border-radius:20px!important;
  min-height:40px;padding:0 22px!important;font-size:12px!important;font-weight:500!important;letter-spacing:.04em!important;box-shadow:none!important
}
button:not(.theme-btn):not(.icon-btn):not(.trade-side):not(.message-action):not(.ghost-mini-btn):hover,
.news-page-link:hover,.ai-primary-btn:hover,.ai-send-btn:hover{color:var(--techwave-hover-color)!important;background:
    linear-gradient(var(--techwave-some-a-bg-color),var(--techwave-some-a-bg-color)) padding-box,
    linear-gradient(120deg,var(--techwave-main-color2),var(--techwave-main-color1),var(--techwave-main-color2)) border-box!important}
.secondary{background:var(--techwave-button-bg-color)!important;border:1px solid var(--techwave-border-color)!important;color:var(--techwave-heading-color)!important;border-radius:20px!important}
.secondary:hover{border-color:var(--techwave-main-color)!important;color:var(--techwave-hover-color)!important}
.danger-btn{background:rgba(255,83,101,.07)!important;color:#ff8994!important;border:1px solid rgba(255,83,101,.35)!important;border-radius:20px!important}

/* Tables/feed. */
.scroll{border:1px solid var(--techwave-border-color)!important;border-radius:7px!important;background:var(--techwave-button-bg-color)!important}
table{color:var(--techwave-heading-color)!important}th{background:var(--techwave-some-a-bg-color)!important;color:var(--techwave-body-color)!important;border-bottom-color:var(--techwave-border-color)!important;font-weight:500!important}td{border-top-color:var(--techwave-border-color)!important}tbody tr:hover{background:rgba(124,95,227,.045)!important}
.item{border-color:var(--techwave-border-color)!important}.meta{color:var(--techwave-body-color)!important}.txt{color:var(--techwave-heading-color)!important}

/* Pills and status chips. Brand/status is purple; trading direction retains semantic colors. */
.pill,.tag{background:var(--techwave-button-bg-color)!important;border-color:var(--techwave-border-color)!important;color:var(--techwave-body-color)!important;border-radius:999px!important;font-weight:500!important}
.pill.good,.tag.online,.tag.open,.tag.success,.tag.connected,.tag.ready,.tag.login-match,.tag.server-match,.tag.algo-on{color:var(--techwave-main-color2)!important;border-color:rgba(124,95,227,.30)!important;background:rgba(124,95,227,.08)!important}
.tag.buy,.tag.tp1,.tag.tp2,.tag.tp3,.tag.win{color:#52d990!important;border-color:rgba(82,217,144,.28)!important;background:rgba(82,217,144,.07)!important}
.tag.sell,.tag.sl,.tag.loss,.tag.error,.tag.failed,.tag.offline{color:#ff7582!important;border-color:rgba(255,117,130,.28)!important;background:rgba(255,117,130,.07)!important}

/* Switches. */
.leg-switch-ui{background:#45404c!important;border-color:var(--techwave-border-color)!important}
.leg-switch input:checked+.leg-switch-ui{background:var(--techwave-main-color)!important;border-color:var(--techwave-main-color)!important}
.leg-switch input:checked+.leg-switch-ui:after{background:#fff!important}.leg-switch b{color:var(--techwave-main-color2)!important}

/* AI page: closer to the source template's chat/history composition. */
.ai-workspace{grid-template-columns:300px minmax(0,1fr)!important;gap:0!important;min-height:calc(100vh - 166px)!important;border:1px solid var(--techwave-border-color);border-radius:8px;overflow:hidden;background:var(--techwave-some-r-bg-color)}
.ai-history-panel{border:0!important;border-right:1px solid var(--techwave-border-color)!important;border-radius:0!important;padding:18px!important;background:var(--techwave-button-bg-color)!important}
.ai-chat-panel{border:0!important;border-radius:0!important;background:var(--techwave-some-r-bg-color)!important}
.ai-side-card{background:var(--techwave-some-r-bg-color)!important;border-color:var(--techwave-border-color)!important;border-radius:7px!important}
.ai-model-badge,.ai-chat-item{background:transparent!important;border-color:transparent!important;color:var(--techwave-body-color)!important;border-radius:7px!important}
.ai-chat-item:hover,.ai-chat-item.active{background:var(--techwave-some-a-bg-color)!important;border-color:transparent!important}.ai-chat-item.active{box-shadow:inset 3px 0 0 var(--techwave-main-color)}
.ai-chat-item-title,.ai-chat-header h2,.message-role,.message-content{color:var(--techwave-heading-color)!important}.ai-chat-item-meta,.ai-chat-item-preview,.message-time,.ai-meta,.composer-hint{color:var(--techwave-body-color)!important}
.ai-msg-user .message-card{background:var(--techwave-some-a-bg-color)!important;border-color:var(--techwave-border-color)!important}.ai-msg-assistant .message-card{background:transparent!important}
.message-avatar{background:var(--techwave-button-bg-color)!important;border-color:var(--techwave-border-color)!important;color:var(--techwave-main-color2)!important}
.message-action{color:var(--techwave-body-color)!important}.message-action:hover,.message-action.active{color:var(--techwave-main-color2)!important;background:var(--techwave-some-a-bg-color)!important}
.gpt-composer{border-top-color:var(--techwave-border-color)!important;background:var(--techwave-some-r-bg-color)!important}.composer-shell{background:var(--techwave-button-bg-color)!important;border-color:var(--techwave-border-color)!important;border-radius:20px!important;box-shadow:none!important}
#aiQuestion{background:transparent!important;color:var(--techwave-heading-color)!important;border:0!important;min-height:28px!important}.ai-empty-state,.ai-empty-state h3{color:var(--techwave-heading-color)!important}.ai-empty-state p{color:var(--techwave-body-color)!important}.ai-empty-logo{background:var(--techwave-button-bg-color)!important;border-color:var(--techwave-border-color)!important;color:var(--techwave-main-color2)!important}
.ai-example{background:transparent!important;border:1px solid var(--techwave-border-color)!important;color:var(--techwave-heading-color)!important;border-radius:8px!important}.ai-example:hover{background:var(--techwave-some-a-bg-color)!important;border-color:var(--techwave-main-color)!important}

/* Live chart uses the same charcoal/lilac surface system. */
.manual-trade-bar,.chart-shell{background:var(--techwave-some-r-bg-color)!important}
.manual-settings-note>div,.protection-strip,.quote-box span,.timeframe-buttons,.manual-account-card{background:var(--techwave-button-bg-color)!important;border-color:var(--techwave-border-color)!important}
.timeframe-buttons button{background:transparent!important;border:1px solid transparent!important;color:var(--techwave-body-color)!important;border-radius:6px!important;min-height:32px!important;padding:0 10px!important}
.timeframe-buttons button:hover{background:var(--techwave-some-a-bg-color)!important;color:var(--techwave-hover-color)!important}
.timeframe-buttons button.active{background:var(--techwave-some-a-bg-color)!important;color:var(--techwave-main-color2)!important;border-color:var(--techwave-main-color)!important}
.live-chart{background:var(--techwave-site-bg-color)!important;border:1px solid var(--techwave-border-color);border-radius:7px!important}.chart-notice,.eyebrow,.manual-settings-note span,.protection-strip,.chart-account-control,.timeframe-control,.manual-account-card small{color:var(--techwave-body-color)!important}.quote-box b,.manual-account-card em{color:var(--techwave-heading-color)!important}
.legend-entry{color:var(--techwave-main-color2)!important}.legend-manual{color:#9c86f4!important}

/* Auth pages use the source template's dark panel/card language. */
.auth{background:var(--techwave-site-bg-color)!important}.auth-wrap{background:var(--techwave-site-bg-color)!important}.auth-art{background:var(--techwave-some-r-bg-color)!important;border-right:1px solid var(--techwave-border-color)!important}.auth-art h2,.login-card h1{color:var(--techwave-heading-color)!important;font-weight:500!important}.auth-art p,.login-card p,.secure-caption{color:var(--techwave-body-color)!important}.login-side{background:var(--techwave-site-bg-color)!important}.login-card{background:var(--techwave-some-r-bg-color)!important;border:1px solid var(--techwave-border-color)!important;border-radius:8px!important;box-shadow:none!important}.brand,.secure-badge{color:var(--techwave-main-color2)!important}.status-dot{background:var(--techwave-main-color)!important;box-shadow:0 0 0 5px rgba(124,95,227,.10)!important}.auth-step{background:var(--techwave-button-bg-color)!important;border-color:var(--techwave-border-color)!important}.auth-step.active{border-color:var(--techwave-main-color)!important}.auth-step>span{background:var(--techwave-some-a-bg-color)!important;color:var(--techwave-main-color2)!important}

/* Light theme follows the source template's own light palette. */
html[data-theme="light"] .card,html[data-theme="light"] .panel,html[data-theme="light"] .account-card,html[data-theme="light"] .ai-workspace,html[data-theme="light"] .ai-chat-panel{background:#fff!important}
html[data-theme="light"] .copier-sidebar,html[data-theme="light"] .copier-header,html[data-theme="light"] .ai-history-panel{background:#f5f5f5!important}
html[data-theme="light"] .login-card{background:#fff!important}

@media(max-width:1050px){
  .copier-header{left:0!important;padding:0 22px!important}.dashboard-main{margin-left:0!important;padding-left:22px!important;padding-right:22px!important}.copier-sidebar{transform:translateX(-101%)}body.sidebar-open .copier-sidebar{transform:translateX(0)}.mobile-menu-btn{display:grid!important}
  .ai-workspace{grid-template-columns:1fr!important}.ai-history-panel{order:2;border-right:0!important;border-top:1px solid var(--techwave-border-color)!important}
}
@media(max-width:700px){.dashboard-main{padding-top:calc(var(--techwave-header-height) + 20px)!important}.copier-header{padding:0 14px!important}.header-title p{display:none}.user-copy{display:none}.panel{padding:18px!important}.cards{grid-template-columns:1fr!important}}

/* BYTE CYCLE readability pass: dark-mode text must never disappear into charcoal panels. */
html[data-theme="dark"] body,html[data-theme="dark"] .dashboard-main,html[data-theme="dark"] .copier-header,html[data-theme="dark"] .copier-sidebar{color:#fff!important}
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] h4,html[data-theme="dark"] h5,html[data-theme="dark"] h6,
html[data-theme="dark"] .header-title h1,html[data-theme="dark"] .logo-copy strong,html[data-theme="dark"] .user-copy b,
html[data-theme="dark"] .account-switcher,html[data-theme="dark"] td,html[data-theme="dark"] .txt,
html[data-theme="dark"] .panel b,html[data-theme="dark"] .panel strong,html[data-theme="dark"] dialog h2{color:#fff!important}
html[data-theme="dark"] .sidebar-nav a{color:#d7d2df!important}
html[data-theme="dark"] .sidebar-nav a:hover,html[data-theme="dark"] .sidebar-nav a.active{color:#fff!important}
html[data-theme="dark"] .muted,html[data-theme="dark"] .header-title p,html[data-theme="dark"] .logo-copy span,html[data-theme="dark"] .user-copy span,
html[data-theme="dark"] .field-help,html[data-theme="dark"] small{color:#aaa5b4!important}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{color:#fff!important;background:#211e25!important}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#88818f!important}
html[data-theme="dark"] select option{background:#17151b!important;color:#fff!important}
html[data-theme="dark"] table th{color:#c8c2ce!important}
html[data-theme="dark"] .pill,html[data-theme="dark"] .tag{color:#d4ceda!important}

/* BYTE CYCLE robot branding */
.copier-logo{gap:10px!important}
@media(max-width:760px){.logo-mark{width:58px!important;height:42px!important;flex-basis:58px!important;background-size:235px auto!important}}
