/* Authenticated product workspace: matte surfaces, compact hierarchy and stable density. */
body[data-experience="workspace"] {
  background: var(--ds-workspace-canvas-warm);
}

body[data-experience="workspace"] .site-nav {
  border-bottom-color: #d9d8d4;
  background: rgba(250, 249, 247, 0.96);
}

body[data-experience="workspace"] .site-nav-panel {
  background: #fbfaf8;
}

body[data-experience="workspace"] .site-nav-card {
  background: #f4f3f0;
}

body[data-experience="workspace"] .site-nav-card > p {
  color: var(--ds-text-secondary);
}

.module-picker,
.project-picker,
.tools-panel,
.finance-page,
.admin-panel,
.share-viewer {
  padding-block: var(--ds-space-12) var(--ds-space-20);
}

.module-picker {
  width: min(calc(100% - 40px), var(--ds-container-default));
  gap: var(--ds-space-12);
}

.dashboard-header,
.tools-header,
.finance-header,
.admin-header {
  min-height: 84px;
  padding-bottom: var(--ds-space-6);
  border-bottom: 1px solid #d9d8d4;
}

.dashboard-header h1,
.tools-header h1,
.finance-header h1,
.admin-header h1 {
  margin-block: var(--ds-space-1);
  font-size: var(--ds-text-2xl);
}

.dashboard-header p,
.tools-header p,
.finance-header p,
.admin-header p {
  margin-block: 0;
}

#moduleMembershipStatus,
#toolsMembershipStatus,
.finance-header > div:first-child > p:last-child {
  color: var(--ds-text-secondary);
}

.dashboard-entry-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dashboard-entry-grid .module-card {
  min-height: 148px;
  grid-column: span 3;
}

.dashboard-entry-grid .module-card[data-module="tools"] {
  grid-column: span 4;
}

.dashboard-entry-grid .module-card[data-module="finance"] {
  grid-column: span 2;
}

.module-card,
.project-card {
  overflow: hidden;
  border-color: #d9d8d4;
  background: #fff;
  box-shadow: 0 1px 2px rgba(24, 33, 47, 0.035), 0 12px 30px rgba(24, 33, 47, 0.045);
}

.module-card:hover,
.module-card:focus-visible,
.project-card:hover,
.project-card:focus-visible {
  border-color: #9db4dc;
  background: #fff;
  box-shadow: 0 2px 4px rgba(24, 33, 47, 0.05), 0 16px 34px rgba(37, 99, 235, 0.08);
}

.module-icon,
.project-mark {
  border-color: #c8d6ed;
  color: var(--ds-brand-hover);
  background: var(--ds-brand-soft);
}

.dashboard-metric-grid {
  gap: var(--ds-space-4);
}

.dashboard-metric,
.dashboard-panel {
  border-color: #d9d8d4;
  background: #fff;
  box-shadow: 0 1px 2px rgba(24, 33, 47, 0.035);
}

.dashboard-metric {
  min-height: 132px;
  display: grid;
  align-content: start;
}

.dashboard-metric > strong {
  line-height: 1.35;
}

.dashboard-panel {
  padding: var(--ds-space-6);
}

.dashboard-goal-list > div,
.dashboard-service-list > div {
  min-height: var(--ds-touch-min);
  padding-block: var(--ds-space-2);
}

.dashboard-service-list dd {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  padding-inline: var(--ds-space-2);
  border-radius: var(--ds-radius-pill);
  background: var(--ds-surface-subtle);
}

.project-picker {
  width: min(calc(100% - 40px), 920px);
}

.project-app {
  width: min(calc(100% - 40px), 900px);
  padding-block: var(--ds-space-10) var(--ds-space-20);
}

.project-app .topbar {
  align-items: center;
}

.project-app .panel,
.project-app .quiz-card,
.project-app .result-panel {
  border-color: #d9d8d4;
  background: #fff;
}

.workspace > .tabs {
  scrollbar-width: thin;
}

.workspace > .tabs button {
  min-width: 104px;
}

.word-display {
  min-height: 164px;
}

.wrong-item,
.achievement-item,
.study-history-item {
  border-color: #d9d8d4;
  background: #fff;
}

.wrong-item-actions {
  flex-wrap: wrap;
}

.wrong-item-actions button {
  flex: 0 0 auto;
}

.tools-panel,
.finance-page,
.admin-panel {
  width: min(calc(100% - 40px), var(--ds-container-wide));
}

.tools-header,
.admin-header {
  align-items: center;
}

.tools-dashboard {
  padding-top: var(--ds-space-8);
}

.tool-search {
  max-width: 820px;
}

.tool-search input {
  min-height: 52px;
  background: #fff;
}

.local-processing-note {
  max-width: 820px;
}

.workflow-launcher {
  margin-block: var(--ds-space-8);
  padding: var(--ds-space-6);
  border-color: #bfd0eb;
  background: #f7faff;
  box-shadow: none;
}

.tool-category-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--ds-space-3);
}

.tool-category-card {
  min-height: 146px;
  grid-column: span 2;
  border-color: #d9d8d4;
  background: #fff;
}

.tool-category-card:nth-child(1),
.tool-category-card:nth-child(2) {
  grid-column: span 3;
}

.tool-category-card:hover,
.tool-category-card.active {
  border-color: #9db4dc;
  background: var(--ds-brand-soft);
}

.tool-catalog-section {
  margin-top: var(--ds-space-12);
}

.tool-catalog {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ds-space-3);
}

.tool-card {
  min-height: 126px;
  border-color: #d9d8d4;
  background: #fff;
}

.tool-card:hover {
  transform: translateY(-1px);
}

.tool-workbench,
.workflow-workspace {
  border-color: #d9d8d4;
  background: #fff;
}

.workflow-layout {
  align-items: start;
}

.workflow-sidebar,
.workflow-editor,
.workflow-runner,
.workflow-step {
  border-color: #d9d8d4;
}

.share-viewer {
  width: min(calc(100% - 40px), 760px);
}

.share-viewer-panel {
  padding: var(--ds-space-8);
  border-color: #d9d8d4;
  background: #fff;
}

.membership-panel {
  width: min(100%, 1040px);
}

.membership-goal-field,
.membership-plan-step,
.payment-order {
  border-color: #d9d8d4;
}

.membership-goal-option,
.plan-option,
.payment-method-list label {
  min-height: 116px;
  border-color: #d9d8d4;
  background: #fff;
}

.membership-goal-option small,
.membership-goal-hint,
.plan-option small,
.purchase-summary {
  color: var(--ds-text-secondary);
}

.plan-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.payment-method-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.finance-summary-section,
.finance-ledger-panel,
.finance-side-panel,
.finance-locked {
  border-color: #d9d8d4;
  background: #fff;
  box-shadow: 0 1px 2px rgba(24, 33, 47, 0.035);
}

.finance-summary-grid article {
  min-height: 126px;
  border-color: #d9d8d4;
  background: #f8fafc;
}

.finance-filter-grid {
  align-items: end;
}

.finance-transaction,
.finance-manager-row {
  border-color: #e2e5e9;
  background: #fff;
}

.finance-transaction:hover {
  border-color: #b9c7dc;
  background: #fbfcfe;
}

.finance-direction {
  border-radius: var(--ds-radius-sm);
}

.admin-tabs {
  position: sticky;
  top: calc(76px + env(safe-area-inset-top));
  z-index: 680;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  background: rgba(248, 248, 246, 0.96);
  backdrop-filter: blur(10px);
}

.admin-tabs button {
  min-width: max-content;
}

.admin-view {
  padding-top: var(--ds-space-6);
}

.admin-toolbar {
  align-items: end;
  padding: var(--ds-space-4);
  border: 1px solid #d9d8d4;
  border-radius: var(--ds-radius-md);
  background: #fff;
}

.admin-user-card,
.admin-login-card,
.admin-log-card,
.admin-message-compose,
.admin-role-controls {
  border-color: #d9d8d4;
  background: #fff;
  box-shadow: none;
}

.admin-user-card:hover,
.admin-login-card:hover,
.admin-log-card:hover {
  border-color: #b9c7dc;
}

.admin-message-compose,
.admin-role-controls {
  padding: var(--ds-space-6);
  border: 1px solid #d9d8d4;
  border-radius: var(--ds-radius-md);
}

.admin-message-targets {
  border-color: #d9d8d4;
  background: #f8fafc;
}

.modal-panel {
  border-color: #d9d8d4;
}

.modal-panel > header {
  padding-bottom: var(--ds-space-4);
  border-bottom: 1px solid #e2e5e9;
}

@media (max-width: 1180px) {
  .dashboard-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-entry-grid .module-card,
  .dashboard-entry-grid .module-card[data-module="tools"],
  .dashboard-entry-grid .module-card[data-module="finance"] {
    grid-column: span 1;
  }

  .tool-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tool-category-card,
  .tool-category-card:nth-child(1),
  .tool-category-card:nth-child(2) {
    grid-column: span 1;
  }

  .tool-catalog {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .module-picker,
  .project-picker,
  .tools-panel,
  .finance-page,
  .admin-panel,
  .share-viewer,
  .project-app {
    width: min(calc(100% - 28px), var(--ds-container-default));
    padding-block: var(--ds-space-8) var(--ds-space-16);
  }

  .dashboard-header,
  .tools-header,
  .finance-header,
  .admin-header {
    min-height: 0;
    align-items: stretch;
  }

  .dashboard-entry-grid,
  .tool-category-grid,
  .tool-catalog,
  .plan-grid,
  .payment-method-list {
    grid-template-columns: 1fr;
  }

  .dashboard-entry-grid .module-card,
  .dashboard-entry-grid .module-card[data-module="tools"],
  .dashboard-entry-grid .module-card[data-module="finance"] {
    grid-column: 1;
  }

  .module-card,
  .project-card {
    min-height: 118px;
  }

  .dashboard-panel,
  .share-viewer-panel,
  .admin-message-compose,
  .admin-role-controls {
    padding: var(--ds-space-5);
  }

  .workspace > .tabs {
    top: calc(68px + env(safe-area-inset-top));
    display: flex;
    justify-content: flex-start;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .workspace > .tabs button {
    flex: 0 0 auto;
    min-width: 108px;
    scroll-snap-align: start;
  }

  .admin-tabs {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ds-space-1);
    overflow: visible;
    padding: var(--ds-space-1);
    backdrop-filter: none;
  }

  .admin-tabs button {
    min-width: 0;
    width: 100%;
  }

  .workflow-launcher {
    align-items: stretch;
    flex-direction: column;
  }

  .workflow-launcher button,
  .tools-header .action-row,
  .tools-header .action-row > *,
  .finance-header-actions,
  .finance-header-actions > *,
  .admin-header .action-row,
  .admin-header .action-row > * {
    width: 100%;
  }

  .wrong-item-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wrong-item-actions strong {
    grid-column: 1 / -1;
  }

  .wrong-item-actions button {
    width: 100%;
  }

  .admin-toolbar {
    align-items: stretch;
  }
}

@media (max-width: 420px) {
  .module-card,
  .project-card {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: var(--ds-space-4);
  }

  .module-icon,
  .project-mark {
    width: 44px;
    height: 44px;
  }

  .finance-row-actions,
  .admin-user-actions,
  .admin-danger-actions,
  .admin-entitlement-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .finance-row-actions button,
  .admin-user-actions button,
  .admin-danger-actions button,
  .admin-entitlement-actions button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .module-card,
  .project-card,
  .tool-card {
    transform: none !important;
  }
}
