:root {
  --sidebar-width: 280px;
}

.app-shell {
  min-height: 100vh;
}

.app-sidebar {
  width: var(--sidebar-width);
  display: flex;
  flex-direction: column;
}

.app-main {
  min-width: 0;
}

.app-topbar {
  position: sticky;
  top: 0;
  z-index: 10;
}

.logo-badge {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(13,110,253,0.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0d6efd;
}

.card-metric {
  border: 1px solid rgba(0,0,0,0.06);
}

.metric-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.bg-soft-primary { background: rgba(13,110,253,0.12); color: #0d6efd; }
.bg-soft-success { background: rgba(25,135,84,0.12); color: #198754; }
.bg-soft-danger  { background: rgba(220,53,69,0.12); color: #dc3545; }
.bg-soft-info    { background: rgba(13,202,240,0.16); color: #0dcaf0; }

.platform-pill {
  cursor: pointer;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
  border-radius: 14px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: box-shadow .15s ease, border-color .15s ease;
}
.platform-pill:hover {
  border-color: rgba(13,110,253,0.35);
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
}

.quill-editor {
  min-height: 160px;
}

.json-preview {
  background: #0b1220;
  color: #d6e1ff;
  border-radius: 12px;
  padding: 14px;
  margin: 0;
  overflow: auto;
  max-height: 260px;
}

.carousel-list {
  display: grid;
  gap: 10px;
}

.carousel-item {
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
}

.carousel-item .thumb {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid rgba(0,0,0,0.08);
}

.drag-handle {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(0,0,0,0.04);
}

/* Sidebar collapse on small screens */
@media (max-width: 991.98px) {
  .app-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    transform: translateX(-100%);
    transition: transform .2s ease;
    z-index: 1050;
  }
  .app-sidebar.is-open {
    transform: translateX(0);
  }
}
