:root {
  --bg: #0f1419;
  --card: #1a2332;
  --border: #2a3544;
  --text: #e8edf4;
  --muted: #8b9cb3;
  --green: #22c55e;
  --amber: #f59e0b;
  --blue: #3b82f6;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Segoe UI", system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.5;
}

.top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--border);
}

.top-left {
  flex: 1;
  min-width: 220px;
}

.budget-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.budget-label {
  font-size: 0.82rem;
  color: var(--muted);
  margin-right: 0.25rem;
}

.budget-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.budget-btn {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--muted);
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
}

.budget-btn:hover {
  border-color: var(--amber);
  color: var(--text);
}

.budget-btn.active {
  background: rgba(245, 158, 11, 0.18);
  border-color: var(--amber);
  color: var(--amber);
}

.budget-btn:disabled {
  opacity: 0.5;
  cursor: wait;
}

h1 {
  margin: 0;
  font-size: 1.5rem;
}

.sub {
  margin: 0.25rem 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.wrong-app-banner {
  margin: 0;
  padding: 1rem 1.5rem;
  background: #3d1a1a;
  border-bottom: 2px solid var(--amber);
  color: var(--text);
}

.wrong-app-banner p {
  margin: 0.5rem 0;
}

.wrong-app-banner .meta {
  font-size: 0.85rem;
  color: var(--muted);
}

.order-alert-root {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
  animation: order-alert-slide 0.35s ease-out;
}

@keyframes order-alert-slide {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.order-alert-urgent .order-alert-inner {
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
  color: #1a1200;
  padding: 1rem 1.5rem 1.25rem;
  border-bottom: 3px solid #b45309;
}

.order-alert-soft .order-alert-inner {
  background: rgba(59, 130, 246, 0.2);
  border-bottom: 2px solid var(--blue);
  color: var(--text);
  padding: 0.85rem 1.5rem;
}

.order-alert-kicker {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.order-alert-urgent .order-alert-kicker {
  color: #78350f;
}

.order-alert-title {
  margin: 0.2rem 0 0.5rem;
  font-size: 1.35rem;
}

.order-alert-list {
  margin: 0 0 0.75rem;
  padding-left: 1.2rem;
}

.order-alert-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.order-alert-hint {
  margin: 0.75rem 0 0;
  max-width: 52rem;
}

.order-alert-urgent .order-alert-hint {
  color: #422006;
}

.order-tab-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  margin-left: 0.35rem;
  padding: 0 0.35rem;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  vertical-align: middle;
}

.tab-has-orders {
  position: relative;
}

.trends-scan-hits {
  margin: 0 0 1.25rem;
  padding: 1rem 1.25rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.trends-scan-hits.hidden {
  display: none;
}

.trends-hit-grid {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.trends-hit-card {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem 1rem;
  padding: 0.65rem 0.85rem;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  font-size: 0.9rem;
}

.trends-hit-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
}

.trends-shop-bar {
  margin: 0.75rem 0;
}

.trends-workflow-steps {
  margin: 0.75rem 0;
  padding-left: 1.25rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.trends-workflow-steps li {
  margin: 0.35rem 0;
}

.shop-link-box {
  margin: 1rem 0;
  padding: 1rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.shop-link-box-prominent {
  border-color: var(--amber, #f59e0b);
  background: rgba(245, 158, 11, 0.08);
}

.shop-sync-box {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border);
}

.shop-sync-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.shop-share-hero {
  margin: 0.75rem 0;
}

.shop-customer-link {
  display: inline-block;
  font-size: 1.05rem;
  font-weight: 600;
  color: #7dd3fc;
  word-break: break-all;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.shop-customer-link:hover {
  color: #bae6fd;
}

.shop-net-hint-warn {
  color: #fbbf24 !important;
  font-weight: 600;
}

.shop-customer-link-warn {
  color: #fbbf24;
}

.shop-jaa-now {
  margin-top: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: rgba(34, 197, 94, 0.12);
  border-radius: 8px;
}

.ledger-flow-hint {
  padding: 0.5rem 0.75rem;
  background: rgba(59, 130, 246, 0.1);
  border-radius: 8px;
  margin-bottom: 0.75rem;
}

.ledger-post-flow .track-label {
  display: block;
  margin: 0.5rem 0;
  font-weight: 600;
}

.ledger-step-done {
  color: #86efac;
  margin: 0.25rem 0;
}

.warn-line {
  color: #fbbf24;
}

.shop-link-label {
  display: block;
  font-size: 0.85rem;
  color: var(--muted);
  margin-bottom: 0.5rem;
}

.shop-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.shop-link-input {
  flex: 1 1 220px;
  min-width: 0;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: #0f172a;
  color: var(--text);
  font-size: 0.85rem;
}

.email-status-banner {
  margin: 0.5rem 0 0.75rem;
  padding: 0.6rem 0.85rem;
  border-radius: 8px;
  font-size: 0.9rem;
  border: 1px solid var(--border);
}

.email-status-banner.ok {
  background: rgba(52, 211, 153, 0.12);
  border-color: #34d399;
  color: #a7f3d0;
}

.email-status-banner.warn {
  background: rgba(251, 191, 36, 0.12);
  border-color: #fbbf24;
  color: #fde68a;
}

.email-status-banner.err {
  background: rgba(239, 68, 68, 0.12);
  border-color: #f87171;
  color: #fecaca;
}

.shop-live-wrap {
  margin: 0.75rem 0 1.25rem;
}

.shop-live-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.shop-live-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  font-size: 0.85rem;
}

.shop-live-card img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  display: block;
  background: #1e293b;
}

.shop-live-noimg {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  background: #1e293b;
}

.shop-live-meta {
  padding: 0.5rem 0.65rem 0.65rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.shop-live-meta strong {
  font-size: 0.8rem;
  line-height: 1.25;
}

.shop-live-price {
  color: var(--green, #4ade80);
  font-weight: 700;
}

.customer-shop-link-bar {
  margin: 0;
  padding: 0.85rem 1.5rem;
  background: linear-gradient(90deg, rgba(34, 197, 94, 0.22), rgba(34, 197, 94, 0.08));
  border-bottom: 2px solid rgba(34, 197, 94, 0.55);
}

.customer-shop-link-inner {
  max-width: 960px;
}

.customer-shop-link-kicker {
  margin: 0 0 0.5rem;
  font-weight: 700;
  font-size: 0.95rem;
  color: #86efac;
}

.customer-shop-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.customer-shop-link-row .shop-link-input {
  flex: 1;
  min-width: 220px;
  font-size: 1rem;
  font-weight: 600;
}

.customer-shop-link-hint {
  margin: 0.5rem 0 0;
}

.shop-customer-hero {
  margin-bottom: 1rem;
  padding: 1rem 1.25rem;
  background: rgba(34, 197, 94, 0.08);
  border: 1px solid rgba(34, 197, 94, 0.35);
  border-radius: 12px;
}

.shop-customer-hero .section-title {
  margin-top: 0;
}

.shop-customer-status {
  margin: 0.75rem 0 0;
}

.shop-customer-status a {
  color: #86efac;
  font-weight: 600;
}

.shop-render-fallback {
  display: inline-block;
  margin-top: 0.5rem;
}

.shop-tab-links {
  margin: 0.5rem 0 1rem;
}

.shop-admin-divider {
  border: none;
  border-top: 1px solid var(--border);
  margin: 1.5rem 0;
}

.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-bottom: 1px solid var(--border);
}

.tab {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--muted);
  padding: 0.5rem 1rem;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.875rem;
}

.tab.active {
  background: var(--card);
  color: var(--text);
  border-color: var(--amber);
}

main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.5rem;
}

.panel.hidden {
  display: none;
}

.hidden {
  display: none;
}

.hint {
  color: var(--muted);
  font-size: 0.875rem;
  margin-top: 0;
}

.status {
  background: var(--card);
  border: 1px solid var(--border);
  padding: 0.75rem 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
}

.btn {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 0.6rem 1.2rem;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
}

.btn.primary {
  background: var(--amber);
  color: #111;
  border-color: var(--amber);
}

.btn:disabled {
  opacity: 0.6;
  cursor: wait;
}

.cards {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.card {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 1rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1rem;
}

.card img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
  background: var(--bg);
}

.card h3 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
}

.card .meta {
  font-size: 0.85rem;
  color: var(--muted);
}

.card .prices {
  margin-top: 0.5rem;
  font-size: 0.95rem;
}

.profit {
  color: var(--green);
  font-weight: 700;
}

.badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
  margin-right: 0.35rem;
}

.badge.trusted {
  background: rgba(34, 197, 94, 0.2);
  color: var(--green);
}

.badge.hot {
  background: rgba(59, 130, 246, 0.2);
  color: var(--blue);
}

.badge.bulk {
  background: rgba(245, 158, 11, 0.2);
  color: var(--amber);
}

.demand {
  font-size: 0.85rem;
  color: var(--blue);
  margin: 0.35rem 0;
}

.summary {
  background: rgba(59, 130, 246, 0.12);
  border: 1px solid rgba(59, 130, 246, 0.35);
  padding: 0.75rem 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  font-size: 0.95rem;
}

tr.row-hot td:first-child {
  font-weight: 600;
}

.pickup-batch-status {
  min-height: 1.25rem;
  margin-bottom: 0.5rem;
}

.game-hunt-panel {
  margin-bottom: 1.5rem;
  padding: 1.25rem;
  border-radius: 16px;
  border: 2px solid var(--amber);
  background: linear-gradient(160deg, rgba(245, 158, 11, 0.1), rgba(59, 130, 246, 0.06));
}

.game-hunt-hero-card {
  border-width: 2px;
  border-color: var(--green);
  margin-bottom: 1rem;
}

.game-hunt-hero-title {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0.25rem 0;
}

.game-hunt-steps {
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
  color: var(--muted);
}

.game-hunt-subtitle {
  font-size: 1rem;
  margin: 1rem 0 0.5rem;
  color: var(--muted);
}

.game-hunt-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: start;
}

.game-hunt-card.game-hunt-hero-card {
  grid-template-columns: 100px 1fr;
}

.game-hunt-thumb {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  background: var(--bg);
}

.game-hunt-hero-card .game-hunt-thumb {
  width: 100px;
  height: 100px;
}

.game-hunt-rank {
  font-weight: 800;
  color: var(--amber);
  font-size: 1.1rem;
}

.game-hunt-prices {
  margin: 0.35rem 0;
}

.deal-money {
  margin: 0.5rem 0 0.35rem;
  padding: 0.65rem 0.85rem;
  border-radius: 10px;
  background: rgba(15, 20, 25, 0.85);
  border: 1px solid rgba(245, 158, 11, 0.35);
}

.deal-money-hero {
  border-width: 2px;
  border-color: var(--green);
  background: rgba(34, 197, 94, 0.08);
}

.deal-money-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0.15rem 0;
}

.deal-money-label {
  font-size: 0.85rem;
  color: var(--muted);
}

.deal-money-buy {
  color: var(--amber);
  font-size: 1.15rem;
}

.deal-money-sell {
  color: #93c5fd;
  font-size: 1.15rem;
}

.deal-money-arrow {
  text-align: center;
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1;
  margin: 0.1rem 0;
}

.deal-money-profit {
  margin-top: 0.35rem;
  padding-top: 0.35rem;
  border-top: 1px dashed rgba(255, 255, 255, 0.12);
}

.deal-money-profit-good .deal-money-net {
  color: var(--green);
  font-size: 1.35rem;
}

.deal-money-profit-ok .deal-money-net {
  color: #86efac;
  font-size: 1.2rem;
}

.deal-money-net {
  color: var(--green);
  font-size: 1.25rem;
}

.deal-money-pct {
  font-size: 0.8rem;
  color: var(--muted);
  margin-left: 0.35rem;
}

.deal-money-blocked {
  border-color: var(--warn, #c45c26);
  background: rgba(196, 92, 38, 0.08);
}

.deal-money-warn {
  margin: 0 0 0.35rem;
  font-size: 0.92rem;
  line-height: 1.35;
}

.deal-money-hint {
  margin: 0.4rem 0 0;
  font-size: 0.78rem;
  color: var(--muted);
  line-height: 1.35;
}

.game-hunt-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.5rem;
}

.pickup-batch-panel {
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  background: var(--card);
  border: 2px solid var(--amber);
  border-radius: 14px;
}

.pickup-batch-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
  margin-bottom: 0.75rem;
}

.pickup-batch-trip-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  padding: 0.65rem 0.85rem;
  margin-bottom: 0.75rem;
  background: rgba(34, 197, 94, 0.12);
  border-radius: 10px;
  border: 1px solid rgba(34, 197, 94, 0.3);
}

.pickup-batch-check {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  cursor: pointer;
}

.pickup-batch-check input {
  margin-top: 0.5rem;
  width: 1.1rem;
  height: 1.1rem;
}

.pickup-batch-list .pickup-batch-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
}

.badge.sense-osta {
  background: rgba(34, 197, 94, 0.25);
  color: var(--green);
  font-weight: 700;
}

.badge.sense-tarkista {
  background: rgba(245, 158, 11, 0.2);
  color: var(--amber);
  font-weight: 600;
}

.pickup-sense-reason {
  margin: 0.25rem 0 0.35rem;
  font-size: 0.9rem;
  color: var(--text);
  line-height: 1.35;
}

.pickup-batch-card.pickup-osta {
  border-color: rgba(34, 197, 94, 0.35);
}

.pickup-search-panel {
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.12), rgba(59, 130, 246, 0.08));
  border: 1px solid rgba(34, 197, 94, 0.35);
  border-radius: 14px;
}

.pickup-search-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
  margin-bottom: 0.75rem;
}

.pickup-search-form input[type="search"] {
  flex: 1 1 220px;
  min-width: 180px;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  font: inherit;
}

.pickup-nearby-label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9rem;
  color: var(--muted);
}

.pickup-search-steps {
  margin: 0 0 1rem;
  padding-left: 1.2rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.pickup-search-results .pickup-card.pickup-nearby {
  border-color: rgba(34, 197, 94, 0.4);
}

.pickup-tip {
  margin: 0.35rem 0 0.5rem;
}

.pickup-empty {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.buy-plan-panel {
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
}

.buy-plan-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
  margin-bottom: 1rem;
}

.buy-plan-count {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--muted);
}

.buy-plan-count select {
  background: var(--bg);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0.35rem 0.5rem;
}

.buy-plan-table-wrap {
  overflow-x: auto;
}

.buy-plan-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.buy-plan-table th,
.buy-plan-table td {
  padding: 0.5rem 0.65rem;
  text-align: left;
  border-bottom: 1px solid var(--border);
}

.buy-plan-table th {
  color: var(--muted);
  font-weight: 600;
  font-size: 0.8rem;
}

.buy-plan-table .profit-cell {
  color: var(--green);
  font-weight: 700;
}

.buy-plan-table .source-badge {
  font-size: 0.75rem;
  color: var(--muted);
}

.buy-plan-empty {
  color: var(--muted);
  padding: 0.75rem 0;
}

.today-area {
  color: var(--muted);
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

.today-hero {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 1.25rem;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(59, 130, 246, 0.1));
  border: 2px solid var(--amber);
  border-radius: 16px;
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}

.today-hero img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 12px;
  background: var(--bg);
}

.today-hero h2 {
  margin: 0 0 0.5rem;
  font-size: 1.35rem;
}

.today-hero .profit-big {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--green);
  margin: 0.75rem 0;
}

.today-steps {
  margin: 0 0 1.5rem;
  padding-left: 1.25rem;
  color: var(--muted);
  font-size: 0.95rem;
}

.today-steps li {
  margin-bottom: 0.35rem;
}

.scan-banner-box {
  margin: 0.75rem 0 1rem;
  padding: 0.75rem 1rem;
  background: rgba(59, 130, 246, 0.12);
  border-radius: 10px;
  border: 1px solid rgba(59, 130, 246, 0.25);
}

.scan-banner-box .linkish {
  background: none;
  border: none;
  color: var(--blue);
  cursor: pointer;
  font: inherit;
  padding: 0;
  margin-left: 0.35rem;
  text-decoration: underline;
}

.today-alt-title {
  font-size: 1rem;
  margin: 0 0 0.75rem;
  color: var(--muted);
}

.badge.near {
  background: rgba(34, 197, 94, 0.2);
  color: var(--green);
}

.card a.link {
  color: var(--blue);
  font-size: 0.875rem;
}

.table-wrap {
  overflow-x: auto;
  margin-top: 1rem;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

th,
td {
  text-align: left;
  padding: 0.6rem 0.75rem;
  border-bottom: 1px solid var(--border);
}

th {
  color: var(--muted);
  font-weight: 600;
}

.trusted {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.trusted li {
  background: var(--card);
  border: 1px solid var(--border);
  padding: 0.75rem 1rem;
  border-radius: 8px;
  margin-bottom: 0.5rem;
}

.search-row {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.search-row input {
  flex: 1;
  min-width: 200px;
  padding: 0.6rem 1rem;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--text);
}

.platforms {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0;
}

.platforms a {
  color: var(--blue);
  font-size: 0.875rem;
  padding: 0.35rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  text-decoration: none;
}

footer {
  text-align: center;
  padding: 2rem;
  color: var(--muted);
  font-size: 0.8rem;
}

.empty {
  color: var(--muted);
  padding: 2rem;
  text-align: center;
}

.reasons {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0;
  font-size: 0.85rem;
}

.reason-ok {
  color: var(--green);
  padding: 0.15rem 0;
}

.reason-ok::before {
  content: "✓ ";
}

.reason-warn {
  color: var(--amber);
  padding: 0.15rem 0;
}

.reason-warn::before {
  content: "⚠ ";
}

.badge.conf-high {
  background: rgba(34, 197, 94, 0.25);
  color: var(--green);
}

.badge.conf-medium {
  background: rgba(245, 158, 11, 0.2);
  color: var(--amber);
}

.badge.conf-low {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}

.badge.platform-huuto {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
}

.badge.platform-tori {
  background: rgba(168, 85, 247, 0.2);
  color: #c084fc;
}

.verify-links a {
  color: var(--blue);
  font-size: 0.8rem;
  margin-right: 0.5rem;
}

td.insight {
  font-size: 0.8rem;
  color: var(--muted);
  max-width: 220px;
}

tr.row-cold td {
  opacity: 0.65;
}

.section-title {
  font-size: 1rem;
  margin: 1.5rem 0 0.75rem;
  color: var(--text);
}

.section-title:first-child {
  margin-top: 0;
}

.browse-box {
  margin-top: 1.5rem;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card);
}

.browse-list {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 0;
}

.browse-list li {
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--border);
  font-size: 0.9rem;
}

.browse-list li:last-child {
  border-bottom: none;
}

.workflow-box {
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card);
}

.workflow-steps {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.workflow-steps li {
  margin: 0.35rem 0;
}

.flip-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.filter-btn {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--muted);
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.85rem;
}

.filter-btn.active {
  border-color: var(--green);
  color: var(--green);
  background: rgba(34, 197, 94, 0.1);
}

.badge.action-osta {
  background: rgba(34, 197, 94, 0.2);
  color: var(--green);
}

.badge.action-tarkista {
  background: rgba(245, 158, 11, 0.2);
  color: var(--amber);
}

.profit-range {
  font-size: 0.95rem;
  margin: 0.5rem 0;
}

.profit-range .profit-min {
  color: var(--amber);
}

.profit-range .profit-max {
  color: var(--green);
}

.max-buy {
  color: var(--green);
  font-size: 0.9rem;
  margin: 0.25rem 0;
}

.checklist {
  margin: 0.5rem 0;
  padding-left: 1.1rem;
  font-size: 0.82rem;
  color: var(--muted);
}

.checklist li {
  margin: 0.2rem 0;
}

.sell-tip {
  font-size: 0.82rem;
  color: var(--blue);
  margin: 0.35rem 0;
}

.badge.score-trusted {
  background: rgba(34, 197, 94, 0.25);
  color: var(--green);
  font-weight: 600;
}

.badge.score-hot {
  background: rgba(245, 158, 11, 0.2);
  color: var(--amber);
}

.badge.score-bulk {
  background: rgba(139, 156, 179, 0.15);
  color: var(--muted);
}

.top-pick-box {
  margin-bottom: 1.5rem;
}

.top-pick-hero {
  border: 2px solid var(--green);
  box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.15);
}

.top-pick-hero img {
  width: 140px;
  height: 140px;
  object-fit: cover;
}

.grow-hint {
  margin: 0.75rem 0 1rem;
  padding: 0.65rem 0.85rem;
  background: rgba(59, 130, 246, 0.12);
  border-radius: 8px;
  border-left: 3px solid var(--blue);
}

.compact-cards .card img {
  width: 64px;
  height: 64px;
}

.compact-cards .card h3 {
  font-size: 0.95rem;
}

.flips-list {
  margin-top: 0.5rem;
}

.flips-list-title {
  margin-top: 1.25rem;
}

.flips-list-title.hidden {
  display: none;
}

.link-note {
  font-size: 0.82rem;
  margin: 0.5rem 0 0.25rem;
}

.lego-guide {
  font-size: 0.88rem;
  color: var(--green);
  margin: 0.35rem 0;
}

.lego-help {
  margin: 0.75rem 0 1rem;
  padding: 0.65rem 0.85rem;
  background: rgba(59, 130, 246, 0.1);
  border-radius: 8px;
  border-left: 3px solid var(--blue);
}

.lego-help summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--text);
}

.flow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-top: 0.5rem;
}

.flow-grid h3 {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  color: var(--amber);
}

.sell-panel {
  margin: 1.25rem 0;
  padding: 1rem 1.15rem;
  background: rgba(34, 197, 94, 0.08);
  border: 1px solid rgba(34, 197, 94, 0.35);
  border-radius: 12px;
}

.sell-panel.hidden {
  display: none;
}

.sell-block {
  margin: 0.75rem 0;
  padding: 0.75rem;
  background: rgba(15, 20, 25, 0.5);
  border-radius: 8px;
  border-left: 3px solid var(--green);
}

.sell-headline {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
}

.sell-steps {
  margin: 0.5rem 0;
  padding-left: 1.1rem;
  font-size: 0.85rem;
  color: var(--muted);
}

.sell-steps li {
  margin: 0.25rem 0;
}

.listing-draft {
  width: 100%;
  margin: 0.5rem 0;
  padding: 0.5rem;
  font-family: inherit;
  font-size: 0.82rem;
  background: var(--bg);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 6px;
  resize: vertical;
}

.sell-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.copy-listing {
  font-size: 0.85rem;
}

.price-caveat {
  font-size: 0.88rem;
  color: var(--amber);
  margin: 0.35rem 0;
}

.price-auto {
  font-size: 0.88rem;
  color: var(--green);
  margin: 0.35rem 0;
}

.badge.auto-price {
  background: rgba(34, 197, 94, 0.22);
  color: var(--green);
}

.badge.profit-verified {
  background: rgba(59, 130, 246, 0.22);
  color: #60a5fa;
}

.sold-stats {
  font-size: 0.85rem;
  color: var(--muted, #94a3b8);
  margin: 0.25rem 0 0.35rem;
}

.autopilot-headline {
  margin: 0 0 1rem;
}

.autopilot-title {
  font-size: 1.35rem;
  margin: 0 0 0.35rem;
  color: var(--green, #22c55e);
}

.autopilot-steps {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.autopilot-step {
  display: flex;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  background: rgba(34, 197, 94, 0.08);
  border: 1px solid rgba(34, 197, 94, 0.25);
  border-radius: 10px;
}

.autopilot-step .step-num {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  text-align: center;
  font-weight: 700;
  background: var(--green, #22c55e);
  color: #0f1419;
  border-radius: 50%;
}

.autopilot-step p {
  margin: 0.25rem 0 0.5rem;
  font-size: 0.9rem;
  color: var(--muted, #94a3b8);
}

.step-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.more-deals,
.alt-details {
  margin-top: 1.25rem;
}

.listing-draft.hidden {
  display: none;
}

.autopilot-picks {
  display: grid;
  gap: 0.75rem;
}

.autopilot-pick-card {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 0.75rem;
  align-items: start;
}

.autopilot-pick-card img,
.ap-thumb {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 8px;
  background: #0f1419;
}

.ap-rank {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--green, #22c55e);
  margin-right: 0.35rem;
}

.ap-profit-line {
  margin: 0.35rem 0 0.5rem;
  font-size: 0.92rem;
}

.buy-tips {
  margin: 0.5rem 0;
  padding: 0.5rem 0.65rem;
  background: rgba(245, 158, 11, 0.1);
  border-radius: 6px;
  font-size: 0.85rem;
}

.buy-tips ul {
  margin: 0.35rem 0 0;
  padding-left: 1rem;
}

.badge.delivery-trusted {
  background: rgba(34, 197, 94, 0.2);
  color: var(--green);
}

.badge.delivery-hot {
  background: rgba(245, 158, 11, 0.2);
  color: var(--amber);
}

.badge.delivery-bulk {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}

.fallback-link {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.85rem;
}

.sell-queue-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin: 0.75rem 0 1rem;
}

.cheap-games-panel {
  margin-bottom: 1.25rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0.5rem 1rem 1rem;
  background: rgba(26, 35, 50, 0.6);
}

.discovery-card .add-queue {
  font-size: 0.85rem;
  padding: 0.35rem 0.65rem;
}

.badge.verified {
  background: rgba(34, 197, 94, 0.25);
  color: var(--green);
}

.badge.maybe {
  background: rgba(245, 158, 11, 0.22);
  color: var(--amber);
}

.badge.skip-advice {
  background: rgba(100, 116, 139, 0.25);
  color: var(--muted);
}

.advice-buy {
  font-size: 0.9rem;
  color: var(--text);
  margin: 0.35rem 0;
}

.advice-sell {
  font-size: 0.9rem;
  color: var(--green);
  margin: 0.25rem 0;
}

.buy-sell-guide {
  font-size: 0.88rem;
  color: var(--muted);
  margin: 0.5rem 0 0.75rem;
  line-height: 1.45;
}

.discovery-card.advice-skip {
  opacity: 0.72;
}

#cheap-games-filters {
  margin-bottom: 0.75rem;
}

.shop-link-btn {
  align-self: center;
}

.shop-workflow {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem 0.75rem 2rem;
  background: rgba(99, 102, 241, 0.08);
  border: 1px solid rgba(99, 102, 241, 0.25);
  border-radius: 12px;
  font-size: 0.92rem;
}

.shop-workflow li {
  margin: 0.25rem 0;
}

.shop-admin-bar {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.shop-admin-list {
  margin-bottom: 1.5rem;
}

.shop-net-steps {
  margin: 0.5rem 0 0.75rem;
  padding-left: 1.25rem;
  line-height: 1.45;
}

.shop-net-sync-status.ok {
  color: #4ade80;
}

.shop-net-sync-status.warn {
  color: #fbbf24;
}

.ledger-group-hint {
  margin: 0 0 0.75rem;
  padding: 0.5rem 0.65rem;
  border-radius: 8px;
  background: rgba(99, 102, 241, 0.1);
}

.ledger-order-group {
  margin-bottom: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 0.35rem 0.6rem;
}

.ledger-order-group summary {
  cursor: pointer;
  list-style: none;
}

.ledger-order-group-body {
  margin-top: 0.35rem;
  padding-left: 0.25rem;
  border-left: 2px solid rgba(99, 102, 241, 0.35);
}

.ledger-summary-hint {
  margin: 0 0 0.65rem;
  padding: 0.45rem 0.6rem;
  border-radius: 8px;
  background: rgba(99, 102, 241, 0.12);
}

.ledger-summary-hint.warn {
  background: rgba(251, 191, 36, 0.15);
  color: #fbbf24;
}

.ledger-summary-grid {
  display: contents;
}

.shop-sourcing-panel {
  margin-bottom: 1.25rem;
  padding: 1rem 1.15rem;
  border-radius: 10px;
  background: rgba(99, 102, 241, 0.08);
  border: 1px solid rgba(99, 102, 241, 0.35);
}

.shop-sourcing-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
  margin: 0.65rem 0;
}

.shop-sourcing-controls input[type="number"] {
  width: 4.5rem;
  margin-left: 0.35rem;
}

.shop-sourcing-status {
  margin: 0.5rem 0 !important;
}

.pickup-shop-osta {
  border-color: rgba(56, 189, 120, 0.45);
}

.shop-principles {
  margin-bottom: 1.25rem;
  padding: 1rem 1.1rem;
  border-radius: 10px;
  background: rgba(56, 189, 120, 0.06);
  border: 1px solid rgba(56, 189, 120, 0.25);
}

.shop-principles-list {
  margin: 0.5rem 0 0.75rem;
  padding-left: 1.2rem;
  line-height: 1.45;
}

.shop-principles-list li {
  margin-bottom: 0.35rem;
}

.shop-principles-now {
  margin: 0 !important;
  font-weight: 600;
  color: var(--accent, #a5b4fc) !important;
}

.shop-pricing-panel {
  margin: 0.75rem 0 1rem;
  padding: 0.85rem 1rem;
  border-radius: 10px;
  background: rgba(124, 108, 255, 0.08);
  border: 1px solid rgba(124, 108, 255, 0.22);
}

.shop-now-action {
  margin: 0 0 0.65rem;
  font-size: 1.02rem;
  line-height: 1.4;
}

.shop-stats-list {
  margin: 0 0 0.5rem;
  padding-left: 1.1rem;
}

.shop-move-hot {
  background: rgba(56, 189, 120, 0.25);
  color: #bbf7d0;
}

.shop-move-slow {
  background: rgba(251, 146, 60, 0.25);
  color: #fed7aa;
}

.shop-move-ok {
  background: rgba(148, 163, 184, 0.2);
}

.shop-pricing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}

.manual-shop-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.manual-price-hint {
  margin: 0.35rem 0 0.75rem !important;
  color: var(--accent, #a5b4fc) !important;
}

.manual-cover-preview {
  margin: 0.5rem 0 1rem;
  padding: 0.75rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
}

.manual-cover-preview img {
  width: 88px;
  height: 118px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
  background: rgba(0, 0, 0, 0.2);
}

.manual-cover-preview .manual-cover-text {
  flex: 1;
  min-width: 0;
}

.manual-cover-preview .manual-cover-text strong {
  display: block;
  margin-bottom: 0.35rem;
}

.manual-cover-preview .manual-cover-text p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.78);
}

.manual-cover-preview .manual-cover-meta {
  margin-top: 0.35rem;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.45);
}

.manual-cover-preview.is-loading {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
}

.manual-upload-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.5rem 0 0.75rem;
}

.manual-upload-preview.hidden {
  display: none;
}

.manual-upload-preview img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--border);
}

.manual-image-upload input[type="file"] {
  margin-top: 0.35rem;
  max-width: 100%;
}

.manual-cover-preview.is-miss {
  color: #fbbf24;
  font-size: 0.9rem;
}

.manual-image-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0.75rem 0 1rem;
  min-height: 0;
}

.manual-image-thumb {
  position: relative;
  width: 96px;
  height: 96px;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.manual-image-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.manual-image-thumb .thumb-badge {
  position: absolute;
  left: 4px;
  top: 4px;
  font-size: 0.65rem;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
}

.manual-image-thumb .thumb-remove {
  position: absolute;
  right: 4px;
  top: 4px;
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
}

.manual-add-photos {
  display: inline-flex;
  margin-bottom: 0.75rem;
  cursor: pointer;
}

#manual-description {
  width: 100%;
  min-height: 5rem;
  resize: vertical;
}

.inv-image-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.5rem 0 0.75rem;
}

.inv-image-thumb {
  position: relative;
  width: 72px;
  height: 72px;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.2);
}

.inv-image-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.inv-image-thumb .inv-rm-img {
  position: absolute;
  right: 2px;
  top: 2px;
  width: 20px;
  height: 20px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  cursor: pointer;
  line-height: 1;
  font-size: 0.95rem;
}

.inv-add-img {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  min-height: 72px;
  cursor: pointer;
  font-size: 0.85rem;
}

.inv-price-hint {
  margin-top: 0.25rem;
}

.inv-price-warn {
  color: #fbbf24 !important;
}

.inv-card .step-actions {
  flex-wrap: wrap;
}

.shop-order-card {
  display: block;
  border-color: var(--amber);
  margin-bottom: 0.75rem;
}

.shop-order-card > * {
  grid-column: auto;
}

.shop-order-card .order-cancel {
  display: block;
  margin-top: 0.85rem;
  width: fit-content;
}

.shop-order-active {
  border-color: rgba(251, 191, 36, 0.55);
}

.shop-order-done {
  border-color: rgba(34, 197, 94, 0.25);
  opacity: 0.92;
}

.order-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.order-card-head h3 {
  margin: 0;
  font-size: 1.05rem;
}

.order-badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  white-space: nowrap;
}

.order-badge-wait {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
}

.order-badge-paid {
  background: rgba(99, 102, 241, 0.25);
  color: #a5b4fc;
}

.order-badge-done {
  background: rgba(34, 197, 94, 0.2);
  color: #86efac;
}

.order-action-box {
  margin: 0.75rem 0;
  padding: 0.85rem;
  border-radius: 10px;
  background: rgba(99, 102, 241, 0.08);
  border: 1px solid rgba(99, 102, 241, 0.22);
}

.order-action-box p {
  margin: 0 0 0.65rem;
  font-size: 0.9rem;
}

.posti-guide-box {
  margin: 0.5rem 0 0.75rem;
  font-size: 0.85rem;
}

.posti-guide-box summary {
  cursor: pointer;
  color: #a5b4fc;
  font-weight: 600;
}

.posti-guide-list {
  margin: 0.5rem 0 0;
  padding-left: 1.1rem;
  color: var(--muted, #94a3b8);
}

.posti-guide-list li {
  margin-bottom: 0.35rem;
}

.posti-guide-note {
  margin: 0.5rem 0 0 !important;
  font-size: 0.82rem !important;
}

.order-action-label {
  margin: 0 0 0.35rem !important;
  font-size: 0.72rem !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted, #94a3b8);
}

.order-messages-panel {
  margin: 0.75rem 0;
  padding: 0.85rem;
  border-radius: 10px;
  background: rgba(34, 197, 94, 0.06);
  border: 1px solid rgba(34, 197, 94, 0.22);
}

.order-messages-title {
  margin: 0 0 0.6rem;
  font-size: 0.88rem;
  font-weight: 600;
}

.order-messages-hint {
  margin: 0.5rem 0 0 !important;
  font-size: 0.8rem;
}

.order-message-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.order-msg-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 0.55rem 0.75rem;
  min-width: 7.5rem;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.order-msg-btn strong {
  font-size: 0.88rem;
}

.order-msg-btn span {
  font-size: 0.72rem;
  color: var(--muted, #94a3b8);
  margin-top: 0.15rem;
}

.order-action-box .btn.primary {
  margin-right: 0.5rem;
  margin-bottom: 0.35rem;
}

.order-section-title {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
}

.order-section-hint {
  margin-top: -0.5rem;
  margin-bottom: 0.75rem;
}

.order-done-section {
  margin-top: 1.25rem;
  padding: 0.5rem 0;
}

.order-done-section summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--muted, #94a3b8);
  margin-bottom: 0.5rem;
}

.order-done-details {
  margin-top: 0.5rem;
  font-size: 0.85rem;
}

.order-done-details summary {
  cursor: pointer;
  color: var(--muted, #94a3b8);
  margin-bottom: 0.35rem;
}

.order-done-list .shop-order-card {
  margin-bottom: 0.5rem;
}

.shop-setup-banner {
  padding: 0.85rem 1rem;
  margin-bottom: 1rem;
  border-radius: 12px;
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.35);
  font-size: 0.92rem;
}

.persist-hints {
  margin: 0.5rem 0 0;
  padding-left: 1.2rem;
  font-size: 0.88rem;
  line-height: 1.45;
}

.persist-warn {
  margin: 0.5rem 0 0;
  color: #fbbf24;
}

.shop-restore-label {
  cursor: pointer;
  margin: 0;
}

.order-automation {
  margin: 0.75rem 0;
  padding: 0.75rem;
  background: rgba(99, 102, 241, 0.08);
  border: 1px solid rgba(99, 102, 241, 0.2);
  border-radius: 10px;
}

.automation-label {
  margin: 0 0 0.5rem;
  font-size: 0.85rem;
  font-weight: 600;
}

.msg-template {
  margin: 0 0 0.65rem;
  padding: 0.65rem;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 8px;
  font-size: 0.78rem;
  line-height: 1.45;
  white-space: pre-wrap;
  max-height: 180px;
  overflow: auto;
}

.track-label {
  display: block;
  margin-top: 0.65rem;
  font-size: 0.82rem;
  color: var(--muted, #94a3b8);
}

.track-input {
  display: block;
  width: 100%;
  margin-top: 0.25rem;
  padding: 0.45rem 0.6rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.2);
  color: inherit;
  font: inherit;
}

.order-status-actions {
  margin-top: 0.5rem;
}

.order-steps {
  margin: 0.75rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.order-step {
  display: flex;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.order-step-active {
  border-color: rgba(251, 191, 36, 0.45);
  background: rgba(251, 191, 36, 0.06);
}

.order-step-done {
  border-color: rgba(34, 197, 94, 0.35);
  background: rgba(34, 197, 94, 0.05);
}

.order-step-disabled {
  opacity: 0.55;
}

.order-step-num {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(99, 102, 241, 0.25);
  font-weight: 700;
  font-size: 0.85rem;
}

.order-step-done .order-step-num {
  background: rgba(34, 197, 94, 0.3);
}

.order-step-body {
  flex: 1;
  min-width: 0;
}

.order-step-body strong {
  display: block;
  margin-bottom: 0.25rem;
}

.order-step-body .meta {
  margin: 0 0 0.5rem;
}

.order-step-body .btn.linkish {
  margin-top: 0.35rem;
  font-size: 0.82rem;
}

.order-step-tracking {
  margin-left: 0.5rem;
  border-style: dashed;
}

.track-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.35rem;
}

.track-row .track-input {
  flex: 1;
  min-width: 10rem;
  margin-top: 0;
}

.order-track-link {
  margin-top: 0.5rem !important;
  font-size: 0.78rem;
  word-break: break-all;
}

.ledger-smart-row-ship .ledger-smart-actions {
  flex-wrap: wrap;
}

.ledger-smart-actions .track-input {
  min-width: 9rem;
}

.ledger-toolbar {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}

.ledger-year select {
  margin-left: 0.5rem;
}

.ledger-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.ledger-card {
  padding: 0.75rem 1rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.ledger-card strong {
  display: block;
  font-size: 1.35rem;
  margin-top: 0.25rem;
}

.ledger-card.profit strong {
  color: var(--green, #4ade80);
}

.ledger-card.cost strong {
  color: var(--amber);
}

.ledger-reminders {
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  background: rgba(251, 191, 36, 0.08);
  border: 1px solid rgba(251, 191, 36, 0.25);
  font-size: 0.92rem;
}

.ledger-reminders ul {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
}

.ledger-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.5rem;
  margin-bottom: 1rem;
  align-items: end;
}

.ledger-form input,
.ledger-form select {
  padding: 0.5rem 0.65rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.2);
  color: inherit;
}

.ledger-quick {
  margin-bottom: 1rem;
}

.ledger-quick-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ledger-entry {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.ledger-entry-type {
  font-size: 0.75rem;
  text-transform: uppercase;
  opacity: 0.7;
}

.plan-details {
  margin-bottom: 1.25rem;
}

.plan-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  margin-bottom: 0.75rem;
  font-size: 0.85rem;
}

.plan-links a {
  color: var(--accent, #818cf8);
}

.plan-doc {
  max-height: 320px;
  overflow: auto;
  white-space: pre-wrap;
  font-size: 0.82rem;
  line-height: 1.45;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 8px;
}

.start-status {
  margin-bottom: 1.25rem;
}

.start-status-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.start-chip {
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.start-chip.ok {
  background: rgba(34, 197, 94, 0.15);
  border-color: rgba(34, 197, 94, 0.35);
}

.start-chip.warn {
  background: rgba(251, 191, 36, 0.12);
  border-color: rgba(251, 191, 36, 0.35);
}

.start-chip.neutral {
  background: rgba(99, 102, 241, 0.1);
}

.start-form {
  display: grid;
  gap: 0.65rem;
  max-width: 520px;
  margin-bottom: 1.5rem;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.15);
}

.start-form label {
  display: grid;
  gap: 0.25rem;
  font-size: 0.88rem;
}

.start-form input[type="text"],
.start-form input[type="email"],
.start-form input[type="password"],
.start-form input[type="number"] {
  padding: 0.5rem 0.65rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.25);
  color: inherit;
}

.check-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 0.5rem !important;
}

.start-next {
  max-width: 560px;
}

.start-done-line {
  max-width: 560px;
  margin-bottom: 1rem;
  padding: 0.65rem 0.9rem;
  border-radius: 10px;
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.3);
  font-size: 0.92rem;
}

.start-smtp-highlight {
  border-color: rgba(99, 102, 241, 0.45);
  background: rgba(99, 102, 241, 0.08);
}

.start-form-collapsed {
  max-width: 520px;
  margin-bottom: 1rem;
}

.smtp-test-result {
  margin: 0.75rem 0 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--amber, #fbbf24);
}

.ledger-smart {
  margin-bottom: 1.25rem;
}

.ledger-smart-block {
  padding: 1rem;
  margin-bottom: 0.75rem;
  border-radius: 12px;
  border: 1px solid rgba(99, 102, 241, 0.35);
  background: rgba(99, 102, 241, 0.08);
}

.ledger-smart-title {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
}

.ledger-smart-list {
  display: grid;
  gap: 0.65rem;
}

.ledger-smart-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.2);
}

.ledger-smart-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.ledger-card.pending {
  border-color: rgba(251, 191, 36, 0.4);
  background: rgba(251, 191, 36, 0.08);
}

.ledger-entry-pending {
  border-left: 3px solid rgba(251, 191, 36, 0.6);
}

.inv-reserved-details {
  margin-top: 1rem;
}

.inv-desc-preview {
  margin: 0.35rem 0 0.5rem;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}

.inv-desc-edit {
  margin: 0.5rem 0 0.75rem;
}

.inv-desc-edit summary {
  cursor: pointer;
  font-size: 0.9rem;
  color: var(--accent, #60a5fa);
}

.inv-desc-field {
  display: block;
  width: 100%;
  margin: 0.5rem 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface, #1e1e2e);
  color: inherit;
  font: inherit;
  line-height: 1.45;
  resize: vertical;
  min-height: 5rem;
}

.ledger-entries-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.ledger-entries-more {
  margin-top: 0.75rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border);
}

.ledger-auto-off {
  padding: 0.65rem 0.85rem;
  background: rgba(245, 158, 11, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(245, 158, 11, 0.25);
}

.ledger-smart-ok {
  padding: 0.65rem 0.9rem;
  border-radius: 10px;
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.25);
}

.trends-curated {
  margin-bottom: 1.5rem;
}

.trend-tips {
  margin: 0.5rem 0 1rem;
  padding-left: 1.2rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.trends-subtitle {
  margin: 1rem 0 0.5rem;
  font-size: 1rem;
}

.trends-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.trend-card {
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--card);
}

.trend-card.trend-hot {
  border-color: rgba(34, 197, 94, 0.45);
}

.trend-card.trend-cold {
  border-color: rgba(148, 163, 184, 0.35);
  opacity: 0.92;
}

.trend-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin-bottom: 0.35rem;
}

.trend-speed {
  font-size: 0.75rem;
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
  background: rgba(59, 130, 246, 0.2);
  color: #93c5fd;
}

.trend-hot .trend-speed {
  background: rgba(34, 197, 94, 0.2);
  color: #86efac;
}

.trend-card.trend-auto {
  border-color: rgba(168, 85, 247, 0.45);
}

.trend-auto .trend-speed {
  background: rgba(168, 85, 247, 0.2);
  color: #d8b4fe;
}

.trend-auto-hint {
  padding: 0.75rem 1rem;
  border-radius: 10px;
  background: rgba(168, 85, 247, 0.08);
  border: 1px solid rgba(168, 85, 247, 0.25);
}

.trends-toolbar {
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card);
}

.trends-toolbar .btn-block {
  font-size: 1.05rem;
  padding: 0.85rem 1rem;
}

.trend-why {
  margin: 0.35rem 0;
  font-size: 0.88rem;
  color: var(--muted);
}

.trend-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.5rem;
}

.trend-tori-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
