/* 呆鹅 ERP brand redesign: solid white surfaces, orange actions, restrained data UI. */
:root {
  --brand-orange: #ff6500;
  --brand-orange-dark: #d94f00;
  --brand-orange-soft: #fff2e8;
  --brand-ink: #161616;
  --brand-text: #2f2f2f;
  --brand-muted: #777777;
  --brand-line: #e7e7e7;
  --brand-soft: #fafafa;
}

html,
body,
main,
.page,
.panel,
.login-view {
  background: #fff !important;
}

html,
body {
  color: var(--brand-text) !important;
  font-family: "Microsoft YaHei", "PingFang SC", Inter, system-ui, sans-serif !important;
}

/* Keep the visual language intentionally flat. */
body *,
body *::before,
body *::after {
  background-image: none !important;
  box-shadow: none !important;
}

/* Header */
header {
  position: fixed !important;
  z-index: 100 !important;
  inset: 0 0 auto 232px !important;
  height: 86px !important;
  margin: 0 !important;
  padding: 0 34px !important;
  border-bottom: 1px solid var(--brand-line) !important;
  background: #fff !important;
}

.header-brand {
  position: fixed;
  top: 0;
  left: 0;
  width: 232px;
  height: 86px;
  display: flex;
  align-items: center;
  padding: 0 34px;
  background: #fff;
  border-bottom: 1px solid var(--brand-line);
}

.header-brand .brand-logo {
  width: 166px;
  height: auto;
  max-height: 52px;
  object-fit: contain;
}

.header-search {
  position: absolute;
  left: 50%;
  top: 19px;
  width: min(520px, 48vw);
  height: 49px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 16px;
  border: 1px solid #dcdcdc;
  border-radius: 9px;
  background: #fff;
}

.header-search > span {
  color: var(--brand-ink);
  font: 400 31px/1 Arial, sans-serif;
  transform: rotate(-20deg);
}

.header-search input {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 15px !important;
  color: var(--brand-text);
}

.header-search input:focus {
  box-shadow: none !important;
}

.header-page-title {
  position: absolute;
  left: 34px;
  top: 104px;
  pointer-events: none;
}

.header-page-title h1 {
  color: var(--brand-ink) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
}

.header-actions {
  position: absolute;
  right: 34px;
  top: 22px;
  align-items: center;
}

.header-sync,
.header-tools {
  display: none !important;
}

.account-button {
  min-width: 42px !important;
  width: 42px;
  height: 42px;
  padding: 0 !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 50% !important;
  overflow: hidden;
  text-align: center !important;
}

.account-button::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  margin: 10px auto 0;
  border-radius: 50%;
  background: #cfcfcf;
}

.account-button span,
.account-button small {
  display: none !important;
}

/* Left navigation */
.sidebar {
  position: fixed !important;
  z-index: 90 !important;
  inset: 86px auto 0 0 !important;
  width: 232px !important;
  padding: 40px 22px 26px !important;
  overflow-y: auto !important;
  color: var(--brand-text) !important;
  background: #fff !important;
  border-right: 1px solid var(--brand-line) !important;
}

.sidebar .brand,
.sidebar-note,
.sidebar-collapse {
  display: none !important;
}

.sidebar nav {
  gap: 17px !important;
}

.nav-group {
  gap: 3px !important;
}

.nav-group-label,
.nav-platform-label {
  padding: 0 20px !important;
  color: #8c8c8c !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.nav-platform-label {
  display: none !important;
}

.nav-group-platform {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.nav-item {
  position: relative;
  min-height: 48px;
  margin: 0 !important;
  padding: 12px 20px !important;
  border-radius: 0 !important;
  color: #666 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  gap: 12px !important;
}

.nav-item span {
  display: none !important;
}

.nav-item:hover {
  color: var(--brand-orange) !important;
  background: var(--brand-orange-soft) !important;
}

.nav-item.active {
  color: var(--brand-orange) !important;
  background: #fff !important;
  font-weight: 600 !important;
}

.nav-item.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background: var(--brand-orange) !important;
}

.sidebar-more {
  margin-top: 2px;
  border-top: 1px solid var(--brand-line) !important;
}

.sidebar-more summary {
  padding: 13px 20px !important;
  color: #666 !important;
  font-size: 14px !important;
}

main {
  max-width: none !important;
  margin-left: 232px !important;
  padding: 128px 48px 60px !important;
}

/* Hide the redundant page title when a page already has its own heading. */
.page.active ~ .pageTitle,
.header-page-title {
  display: none;
}

.workspace-context-bar {
  margin: 0 0 28px !important;
  padding: 0 0 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--brand-line) !important;
  border-radius: 0 !important;
}

.workspace-tabs {
  gap: 34px !important;
  background: #fff !important;
}

.workspace-tab {
  min-height: 43px !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: #777 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}

.workspace-tab.active {
  color: var(--brand-ink) !important;
  border-bottom-color: var(--brand-orange) !important;
  background: #fff !important;
}

.workspace-tab img {
  width: 24px !important;
  height: 24px !important;
}

.workspace-context-meta,
.workspace-parallel-note {
  display: none !important;
}

/* Platform hub */
.workspace-hero {
  display: block !important;
  margin-bottom: 30px;
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.workspace-hero h2 {
  margin-bottom: 9px !important;
  color: var(--brand-ink) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
}

.workspace-hero p {
  color: #777 !important;
  font-size: 15px !important;
}

.workspace-hero .btn {
  display: none !important;
}

.platform-workspace-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
  margin-top: 32px !important;
  padding-right: 278px;
}

.platform-workspace-card {
  min-height: 318px !important;
  padding: 27px !important;
  border: 1px solid var(--brand-line) !important;
  border-top: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.platform-workspace-card h2 {
  color: var(--brand-ink) !important;
  font-size: 19px !important;
}

.platform-workspace-card p {
  color: #777 !important;
  line-height: 1.7 !important;
}

.platform-card-brand {
  color: #333 !important;
  font-size: 17px !important;
}

.platform-card-actions {
  margin-top: auto;
  display: block !important;
}

.platform-card-actions .btn.primary {
  width: 100%;
  min-height: 44px;
  border: 1px solid #d7d7d7 !important;
  border-radius: 8px !important;
  color: #444 !important;
  background: #fff !important;
  font-weight: 400 !important;
}

.platform-card-actions .btn.primary:hover {
  color: var(--brand-orange) !important;
  border-color: var(--brand-orange) !important;
  background: #fff !important;
}

.platform-card-actions .text-btn {
  display: none !important;
}

.today-todos {
  position: absolute;
  right: 48px;
  width: 250px;
  margin-top: -346px;
  padding: 26px 24px;
  border-left: 1px solid var(--brand-line);
  background: #fff !important;
}

.today-todos h3 {
  margin: 0 0 24px;
  color: var(--brand-ink);
  font-size: 19px;
}

.today-todos div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  border-bottom: 1px solid var(--brand-line);
  color: #555;
  font-size: 14px;
}

.today-todos strong {
  color: var(--brand-ink);
  font-size: 16px;
}

/* WB workflow */
.wb-asset-layout {
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr) !important;
  gap: 30px !important;
}

.wb-asset-layout > .panel {
  border: 1px solid var(--brand-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.flow-stepper {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-bottom: 24px !important;
}

.flow-stepper li {
  min-height: 56px;
  padding: 11px 14px !important;
  border: 0 !important;
  border-top: 2px solid var(--brand-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.flow-stepper li.current {
  border-top-color: var(--brand-orange) !important;
  box-shadow: none !important;
}

.flow-stepper li.current .step-num {
  background: var(--brand-orange) !important;
}

.flow-stepper li.done {
  border-top-color: #32a876 !important;
  background: #fff !important;
}

.flow-stepper li strong {
  color: var(--brand-ink) !important;
  font-size: 13px !important;
}

.flow-stepper li small {
  color: #888 !important;
}

.flow-step,
.flow-step.current,
.flow-step.done,
.flow-step.publish-box {
  border: 0 !important;
  border-top: 1px solid var(--brand-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.flow-step-head strong,
.panel-head h2 {
  color: var(--brand-ink) !important;
}

.flow-step-head small,
.field-note,
.panel-head p,
.source-card p {
  color: #777 !important;
}

.btn.primary {
  border-color: var(--brand-orange) !important;
  border-radius: 7px !important;
  background: var(--brand-orange) !important;
  color: #fff !important;
}

.btn.primary:hover {
  background: var(--brand-orange-dark) !important;
}

.btn.secondary {
  border-color: #d9d9d9 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #555 !important;
}

.btn.secondary:hover {
  border-color: var(--brand-orange) !important;
  background: #fff !important;
  color: var(--brand-orange) !important;
}

.upload-zone {
  min-height: 250px !important;
  border: 1px dashed #cfcfcf !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.upload-zone:hover {
  border-color: var(--brand-orange) !important;
  background: #fffaf7 !important;
}

.upload-icon {
  background: #fff !important;
  color: var(--brand-orange) !important;
  font-size: 35px !important;
}

.source-card,
.analysis-strip,
.notice,
.generation-progress,
.openai-config,
.publish-box {
  border-color: var(--brand-line) !important;
  border-left-color: var(--brand-orange) !important;
  background: #fff !important;
}

input,
select,
textarea {
  border-color: #dcdcdc !important;
  border-radius: 7px !important;
  background: #fff !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--brand-orange) !important;
  box-shadow: 0 0 0 2px rgba(255, 101, 0, .12) !important;
}

/* Login */
.login-view {
  min-height: 100vh !important;
  padding: 48px 24px !important;
  place-items: center !important;
}

.login-card {
  width: min(590px, 100%) !important;
  padding: 0 !important;
  gap: 24px !important;
  border: 0 !important;
  background: #fff !important;
}

.brand-logo-login {
  width: 230px !important;
  height: auto !important;
  margin: 0 auto 20px !important;
}

.login-card h1,
.login-card > p:not(.eyebrow) {
  display: none !important;
}

.login-tabs {
  display: flex !important;
  justify-content: center;
  gap: 52px !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--brand-line);
  border-radius: 0 !important;
  background: #fff !important;
}

.login-tab {
  padding: 12px 0 !important;
  border-radius: 0 !important;
  color: #888 !important;
  font-size: 19px !important;
  font-weight: 400 !important;
}

.login-tab.active {
  color: var(--brand-ink) !important;
  border-bottom: 2px solid var(--brand-orange);
  background: #fff !important;
}

.login-form {
  gap: 18px !important;
}

.login-form label {
  color: #777 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

.login-form input {
  min-height: 56px !important;
  margin-top: 7px;
  padding: 0 16px !important;
  border-color: #dcdcdc !important;
  border-radius: 7px !important;
  font-size: 16px !important;
}

.login-form .btn.primary {
  min-height: 56px !important;
  margin-top: 3px;
  font-size: 17px !important;
}

@media (max-width: 1100px) {
  .header-search { width: min(420px, 42vw); }
  .platform-workspace-grid { padding-right: 0; grid-template-columns: 1fr !important; }
  .today-todos { position: static; width: 100%; margin: 26px 0 0; border: 1px solid var(--brand-line); }
}

@media (max-width: 900px) {
  header { inset: 0 !important; padding-left: 68px !important; }
  .header-brand { position: absolute; left: 68px; width: auto; height: 86px; padding: 0; border: 0; }
  .header-brand .brand-logo { width: 140px; }
  .header-search { display: none; }
  .header-actions { right: 16px; }
  .sidebar { display: none !important; }
  main { margin-left: 0 !important; padding: 112px 18px 40px !important; }
  .flow-stepper { grid-template-columns: 1fr !important; }
  .wb-asset-layout { grid-template-columns: 1fr !important; }
  .login-card { width: min(440px, 100%) !important; }
}
