:root {
  color-scheme:dark;
  --bg:#111312;
  --card:#1a1d1b;
  --border:#2a302c;
  --border-strong:#354239;
  --text:#f1f3f1;
  --muted:#a1aaa5;
  --accent:#f1f3f1;
  --accent-dark:#dce8df;
  --accent-light:#173227;
  --brand:#59d9a5;
  --success:#59d9a5;
  --danger:#ed9b91;
  --warning:#e4bd78;
  --bs-body-color:var(--text);
  --bs-body-bg:var(--bg);
  --bs-border-color:var(--border);
  --bs-secondary-color:var(--muted)
}
body {
  font-size:15px;
  line-height:1.55;
  background:var(--bg);
  color:var(--text)
}
h1,h2,h3,h4,h5,h6,.section-title,.sp-title,.navbar-brand,.sp-brand span {
  font-family:inherit;
  letter-spacing:-.035em;
  color:var(--text)
}
a {
  color:var(--brand)
}
a:hover {
  color:#92edc7
}
.navbar {
  background:#0c0e0d;
  border-bottom:1px solid var(--border);
  position:relative;
  padding:16px 0
}
.navbar .container {
  max-width:1280px;
  gap:16px;
  flex-wrap:wrap
}
.navbar-brand {
  font-size:19px;
  font-weight:700
}
.navbar-brand i {
  background:#18382a;
  color:var(--brand);
  padding:7px;
  border-radius:8px;
  font-size:16px
}
.btn {
  border-radius:7px;
  font-size:13px;
  min-height:40px;
  padding:9px 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px
}
.btn-sm {
  font-size:12px;
  min-height:38px
}
.btn-primary,.btn-success,.sp-btn {
  background:#f1f3f1;
  border:1px solid #f1f3f1;
  color:#0e1510
}
.btn-primary:hover,.btn-primary:focus,.btn-success:hover,.sp-btn:hover {
  background:#dce8df;
  color:#0e1510;
  border-color:#dce8df
}
.btn-outline-light,.btn-outline-secondary,.btn-secondary {
  background:#232824;
  border-color:#354239;
  color:var(--text)
}
.btn-outline-light:hover,.btn-outline-secondary:hover,.btn-secondary:hover {
  background:#303832;
  color:var(--text);
  border-color:#526456
}
.btn-outline-accent {
  color:var(--brand);
  border-color:#285340;
  background:#173227
}
.btn-outline-accent:hover {
  color:#91edc5;
  background:#203e2f
}
.btn-danger,.btn-outline-danger {
  color:var(--danger);
  background:#2a1f1e;
  border-color:#44302d
}
.btn-danger:hover,.btn-outline-danger:hover {
  background:#432e2b;
  color:#fff
}
.btn:disabled {
  opacity:.55
}
.form-control,.form-select,.sp-field,.input-group-text {
  background:#0f1310!important;
  border-color:#313c34!important;
  color:var(--text)!important;
  border-radius:6px;
  font-size:16px;
  min-height:44px
}
.form-control::placeholder,.sp-field::placeholder {
  color:#77877d
}
.form-control:focus,.form-select:focus,.sp-field:focus {
  background:#111a14;
  box-shadow:0 0 0 3px #59d9a522;
  border-color:var(--brand)!important
}
.form-label,.sp-label {
  font-size:12px;
  color:var(--muted);
  margin-bottom:7px
}
.dash-card,.stat-card,.stock-card,.sp-card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow:none
}
.dash-card {
  padding:22px
}
.stat-card {
  text-align:left;
  padding:20px
}
.stat-val,.balance-display,.stock-count {
  font-weight:600;
  color:var(--text)
}
.stat-icon {
  color:var(--brand)!important
}
.stat-label {
  font-size:12px;
  color:var(--muted)
}
.stat-card-green,.stat-card-red {
  background:var(--card)
}
.table {
  --bs-table-color:var(--text);
  --bs-table-bg:transparent;
  --bs-table-border-color:var(--border);
  --bs-table-hover-bg:#232b25;
  --bs-table-hover-color:var(--text)
}
.table th {
  color:var(--muted);
  font-weight:500
}
.alert {
  border-radius:8px;
  font-size:13px
}
.alert-warning {
  background:#211e18;
  border-color:#413728;
  color:var(--warning)
}
.alert-danger,.sp-alert {
  background:#2a1f1e;
  border-color:#44302d;
  color:var(--danger)
}
.alert-success {
  background:#173227;
  border-color:#285340;
  color:#91edc5
}
.alert-info {
  background:#17251d;
  border-color:#2c523b;
  color:#d0e3d6
}
.badge {
  font-size:11px;
  font-weight:500;
  padding:5px 8px
}
.bg-success {
  background:#173227!important;
  color:#6be0ae!important
}
.bg-danger {
  background:#382621!important;
  color:var(--danger)!important
}
.bg-primary {
  background:#1d3a2c!important;
  color:#91edc5!important
}
.bg-secondary {
  background:#29352c!important;
  color:#b6c5bb!important
}
.font-mono,code {
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace
}
code {
  color:var(--brand);
  overflow-wrap:anywhere
}
.accent-text {
  color:#909b94
}
.hero {
  padding:70px 0
}
.hero .display-4 {
  font-size:clamp(32px,5vw,54px);
  line-height:1.08;
  letter-spacing:-.055em
}
.stock-card {
  min-width:220px
}
.stock-icon {
  color:var(--brand)
}
.stock-label {
  color:var(--muted)
}
.auth-wrapper {
  min-height:calc(100vh - 90px);
  padding:45px 18px;
  display:flex;
  align-items:center;
  justify-content:center
}
.sp-container {
  max-width:390px;
  animation:none
}
.sp-brand i {
  color:var(--brand)
}
.sp-brand span {
  font-size:19px
}
.sp-title {
  font-size:28px
}
.sp-subtitle,.sp-foot {
  font-size:13px;
  color:var(--muted)
}
.sp-card {
  text-align:left;
  padding:26px
}
.sp-card label {
  font-size:13px
}
.sp-field {
  font-size:16px;
  padding:11px 12px
}
.sp-btn {
  font-size:14px;
  min-height:44px;
  border-radius:7px
}
.sp-foot a {
  color:var(--brand)
}
.sp-remember {
  font-size:13px;
  color:var(--muted);
  min-height:40px
}
.sp-remember input {
  accent-color:var(--brand);
  width:18px;
  height:18px
}
.sp-card .sp-alert {
  font-size:13px
}
.acc-item,.acc-btn,.acc-body,.acc-url-wrap,.acc-resp {
  background:var(--card);
  border-color:var(--border);
  color:var(--text)
}
.acc-btn {
  min-height:48px
}
.acc-url-wrap {
  background:#101612
}
.acc-url-wrap code {
  color:var(--brand);
  white-space:normal;
  word-break:break-word
}
.acc-resp {
  background:#101612;
  color:#b6c5bb;
  font-size:12px
}
.acc-copy-btn {
  color:var(--brand);
  min-width:40px;
  min-height:40px
}
.acc-label,.acc-param-desc {
  color:var(--muted)
}
.acc-param-val {
  color:var(--text)
}
.acc-params {
  overflow-wrap:anywhere
}
.api-get {
  background:#173227;
  color:var(--brand)
}
.sm-shell {
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  min-height:calc(100vh - 79px);
  max-width:1440px;
  margin:auto
}
.sm-sidebar {
  background:#0c0e0d;
  border-right:1px solid var(--border);
  padding:28px 14px;
  display:flex;
  flex-direction:column;
  gap:7px
}
.sm-eyebrow {
  font-size:11px;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--brand);
  display:inline-flex;
  gap:7px;
  align-items:center
}
.sm-nav-caption {
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1.2px;
  color:#7d8c82;
  padding:0 12px;
  margin-bottom:12px
}
.sm-nav-link {
  padding:12px 11px;
  display:flex;
  align-items:center;
  gap:10px;
  border-radius:7px;
  font-size:13px;
  color:#a5afa9;
  text-decoration:none;
  min-height:44px
}
.sm-nav-link.active {
  background:#173227;
  color:#6be0ae;
  font-weight:600
}
.sm-nav-link:hover {
  background:#1a221d;
  color:#91edc5
}
.sm-nav-count {
  margin-left:auto;
  font-size:11px;
  background:#232a25;
  border-radius:4px;
  padding:1px 6px
}
.sm-sidebar-foot {
  margin-top:auto;
  padding:35px 11px 0;
  font-size:12px;
  color:var(--muted)
}
.sm-sidebar-foot p {
  margin:5px 0
}
.sm-main {
  min-width:0;
  padding:32px
}
.sm-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:26px
}
.sm-heading h1 {
  font-size:clamp(29px,3.5vw,38px);
  line-height:1.13;
  font-weight:700;
  letter-spacing:-.05em;
  margin:12px 0
}
.sm-heading h1 span {
  color:#909b94
}
.sm-heading p {
  margin:0;
  color:var(--muted);
  font-size:13px
}
.sm-panel-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:20px
}
.sm-panel-head h2 {
  font-size:16px;
  margin:0;
  font-weight:600;
  letter-spacing:-.02em
}
.sm-panel-head .btn {
  flex-shrink:0
}
.sm-columns {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:18px;
  align-items:start
}
.sm-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:22px
}
.sm-metric {
  padding:20px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:10px;
  min-width:0
}
.sm-metric-label {
  font-size:12px;
  color:var(--muted);
  display:flex;
  justify-content:space-between;
  gap:8px
}
.sm-metric-label i {
  color:#759281
}
.sm-metric strong {
  display:block;
  font-size:32px;
  font-weight:600;
  letter-spacing:-.04em;
  margin:10px 0 3px;
  font-variant-numeric:tabular-nums
}
.sm-metric p {
  font-size:12px;
  color:var(--muted);
  margin:0
}
.sm-metric strong small {
  font-size:13px;
  font-weight:400;
  color:var(--muted);
  letter-spacing:0
}
.sm-stat-row {
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:18px 0;
  border-top:1px solid var(--border)
}
.sm-stat-row>div {
  display:grid;
  gap:5px
}
.sm-stat-row strong {
  font-size:22px;
  font-variant-numeric:tabular-nums
}
.sm-stat-row span {
  font-size:12px;
  color:var(--muted)
}
.sm-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
  display:inline-block
}
.sm-status {
  font-size:12px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--brand)
}
.sm-status-warning {
  color:var(--warning)
}
.sm-empty {
  text-align:center;
  padding:45px 22px;
  color:var(--muted)
}
.sm-empty>i {
  display:block;
  color:var(--brand);
  font-size:24px;
  margin-bottom:15px
}
.sm-empty h2 {
  font-size:19px;
  color:var(--text)
}
.sm-empty p {
  font-size:13px
}
.sm-worker-list,.sm-proxy-grid {
  display:grid;
  gap:16px
}
.sm-proxy-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.sm-worker-title {
  display:flex;
  gap:12px;
  align-items:center
}
.sm-worker-mark {
  background:#203129;
  color:var(--brand);
  padding:10px;
  border-radius:7px
}
.sm-worker-title small {
  font-size:12px;
  color:var(--muted)
}
.sm-worker-step {
  padding:12px;
  background:#131815;
  border-radius:6px;
  font-size:13px;
  color:#a5b7ab;
  margin:15px 0;
  overflow-wrap:anywhere
}
.sm-worker-step small {
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:4px
}
.sm-worker-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.sm-worker-extra {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:12px;
  margin:12px 0 18px
}
.sm-start-form {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap
}
.sm-start-form .form-select {
  width:auto;
  max-width:100%
}
.sm-detail-row {
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid var(--border);
  padding:14px 0;
  font-size:13px;
  overflow-wrap:anywhere
}
.sm-detail-row>span:first-child {
  color:var(--muted)
}
.sm-tabs {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:23px
}
.sm-tabs .active {
  background:#173227;
  border-color:#285340;
  color:#6be0ae
}
.sm-client {
  max-width:1120px;
  margin:auto;
  padding:32px 20px
}
.sm-price {
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:22px 0;
  font-size:13px
}
.sm-note {
  font-size:12px;
  color:var(--muted);
  margin:12px 0 0
}
.sm-history {
  display:grid;
  gap:14px
}
.sm-history-card h3 {
  font-size:15px;
  overflow-wrap:anywhere
}
.sm-secret {
  background:#101612;
  border:1px solid var(--border);
  padding:12px;
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap
}
.sm-secret code {
  overflow-wrap:anywhere;
  min-width:0
}
.sm-summary-list {
  display:grid;
  gap:15px;
  font-size:13px
}
.sm-summary-list>div {
  display:flex;
  justify-content:space-between;
  gap:14px
}
.sm-summary-list span {
  color:var(--muted)
}
.sm-banner {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:22px
}
.sm-banner>div {
  flex:1;
  min-width:150px
}
.sm-banner p {
  margin:4px 0 0;
  font-size:12px
}
.mg-bar-wrap {
  background:#2b342e;
  border:0
}
.mg-bar {
  background:var(--brand)
}
.mg-metric {
  flex-wrap:wrap
}
.mg-metric-label {
  width:48px;
  color:var(--muted);
  font-size:12px
}
.mg-metric-val {
  font-size:12px
}
.worker-step {
  white-space:normal;
  background:transparent;
  border:0;
  color:var(--brand);
  font-size:13px;
  padding:0
}
.modal-content {
  background:var(--card);
  border-color:var(--border)
}
[hidden] {
  display:none!important
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
  outline:2px solid var(--brand);
  outline-offset:3px
}
@media(max-width:900px) {
  .sm-main {
    padding:25px 20px
  }
  .sm-columns {
    grid-template-columns:1fr
  }
  .sm-grid {
    gap:10px
  }
  .sm-metric {
    padding:16px
  }
}
@media(max-width:650px) {
  .navbar .container {
    padding:0 16px
  }
  .navbar-brand {
    font-size:18px
  }
  .site-actions {
    gap:6px!important;
    flex-wrap:wrap;
    margin-left:0!important
  }
  .site-actions .btn {
    font-size:12px;
    padding:8px 11px
  }
  .sm-shell {
    display:block;
    min-height:0
  }
  .sm-sidebar {
    padding:9px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:2px;
    border-right:0;
    border-bottom:1px solid var(--border)
  }
  .sm-nav-caption,.sm-sidebar-foot,.sm-nav-count {
    display:none
  }
  .sm-nav-link {
    display:grid;
    justify-items:center;
    gap:5px;
    text-align:center;
    padding:10px 2px;
    font-size:11px;
    line-height:1.4;
    min-height:60px
  }
  .sm-nav-link i {
    font-size:16px
  }
  .sm-main,.sm-client {
    padding:25px 14px
  }
  .sm-heading h1 {
    font-size:29px
  }
  .sm-grid {
    grid-template-columns:1fr;
    gap:8px
  }
  .sm-metric {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    padding:15px;
    gap:6px
  }
  .sm-metric strong {
    grid-column:2;
    grid-row:1/3;
    margin:0;
    font-size:27px
  }
  .sm-metric p {
    grid-column:1
  }
  .sm-metric-label i {
    display:none
  }
  .dash-card {
    padding:18px
  }
  .sm-proxy-grid {
    grid-template-columns:1fr
  }
  .sm-start-form {
    width:100%
  }
  .sm-start-form .form-select {
    flex:1;
    min-width:100px
  }
  .sm-start-form .btn {
    width:100%
  }
  .sm-worker-actions .btn {
    min-height:44px
  }
  .sm-panel-head .btn {
    min-height:44px
  }
  .sm-banner>.btn {
    width:100%
  }
  .btn,.btn-sm {
    min-height:44px
  }
  .sm-tabs .btn {
    flex:1;
    min-width:80px
  }
  .table-responsive {
    max-width:100%
  }
  .hero {
    padding:45px 0
  }
  .hero .btn-lg {
    padding:12px 20px!important
  }
  .sp-card {
    padding:22px
  }
  .acc-param-row {
    display:flex;
    flex-wrap:wrap;
    gap:7px
  }
  .acc-param-desc {
    flex-basis:100%
  }
  .acc-resp {
    white-space:pre-wrap;
    overflow-wrap:anywhere
  }
  .auth-wrapper {
    padding:35px 16px
  }
  .sm-stat-row {
    gap:15px
  }
  .sm-stat-row strong {
    font-size:20px
  }
}
.badge.bg-primary {
  background:#1d3a2c!important;
  color:#91edc5!important
}
.badge.bg-secondary {
  background:#29352c!important;
  color:#b6c5bb!important
}
.badge.bg-success {
  background:#173227!important;
  color:#6be0ae!important
}
.badge.bg-danger {
  background:#382621!important;
  color:var(--danger)!important
}
.btn-primary:disabled,.btn-primary.disabled {
  background:#202421;
  color:#a1aaa5;
  border-color:#313a33;
  opacity:.7
}
@media(max-width:360px) {
  .site-actions {
    width:100%
  }
  .site-actions .btn {
    flex:1
  }
  .sm-worker-actions .btn {
    width:100%
  }
  .sm-stat-row>div {
    display:flex;
    justify-content:space-between;
    width:100%
  }
  .sm-worker-extra {
    display:grid;
    gap:8px
  }
  .sm-tabs .btn:first-child {
    flex-basis:100%
  }
}
