/* 2026-07-01: final cross-admin visual unifier.
   Keep this file loaded last on every admin page. */

:root {
  --kya-font: "Microsoft YaHei UI", "PingFang SC", "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
  --kya-bg: #f6f9fe;
  --kya-card: #ffffff;
  --kya-ink: #101b35;
  --kya-text: #24324d;
  --kya-muted: #667792;
  --kya-soft: #edf4ff;
  --kya-blue: #1769ff;
  --kya-blue-2: #3b82ff;
  --kya-border: #dfe8f4;
  --kya-border-soft: #e9eff7;
  --kya-shadow: 0 10px 26px rgba(24, 45, 82, .055);
}

html,
body,
button,
input,
select,
textarea,
table {
  font-family: var(--kya-font) !important;
  letter-spacing: 0 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.kaoya-final-layout {
  background:
    radial-gradient(circle at 84% -12%, rgba(67, 132, 255, .09), transparent 28%),
    linear-gradient(180deg, #fbfdff 0%, var(--kya-bg) 55%, #eef5fd 100%) !important;
  color: var(--kya-text) !important;
}

#kaoya-final-sidebar {
  width: 280px !important;
  height: 100vh !important;
  display: block !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 18px 22px !important;
  background: rgba(255, 255, 255, .96) !important;
  border-right: 1px solid rgba(223, 232, 244, .95) !important;
  box-shadow: 8px 0 28px rgba(20, 42, 77, .045) !important;
  scrollbar-width: thin;
  scrollbar-color: #9aa3ad transparent;
}

.kaoya-final-brand {
  position: relative !important;
  min-height: 112px !important;
  padding: 28px 0 24px 88px !important;
  border-bottom: 0 !important;
  text-align: left !important;
}

.kaoya-final-brand::before {
  left: 2px !important;
  top: 24px !important;
  width: 70px !important;
  height: 70px !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 26px rgba(0, 128, 96, .18) !important;
}

.kaoya-final-brand-title {
  color: var(--kya-ink) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

.kaoya-final-brand-sub {
  margin-top: 6px !important;
  color: #6f7f96 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

.kaoya-final-menu {
  display: block !important;
  overflow: visible !important;
  padding: 0 !important;
  min-height: auto !important;
}

.kaoya-final-system {
  padding: 18px 0 0 !important;
  margin-top: 18px !important;
  border-top: 1px solid #e5edf6 !important;
  background: rgba(255,255,255,.96) !important;
}

.kaoya-final-group {
  padding: 10px 0 0 !important;
}

.kaoya-final-group-title {
  margin: 12px 10px 8px !important;
  color: #8a99ad !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.kaoya-final-link {
  min-height: 42px !important;
  margin: 3px 0 !important;
  padding: 0 14px 0 46px !important;
  color: #52627a !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.kaoya-final-link:hover {
  color: var(--kya-blue) !important;
  background: #f1f6ff !important;
}

.kaoya-final-link.active {
  color: var(--kya-blue) !important;
  background: #edf4ff !important;
  font-weight: 650 !important;
}

.kaoya-nav-icon {
  left: 14px !important;
}

.kaoya-ops-bell::after {
  content: none !important;
  display: none !important;
}

.kaoya-ops-notice {
  position: relative !important;
  display: block !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  border: 1px solid var(--kya-border) !important;
  background: #fff !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.kaoya-ops-notice::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 10px !important;
  width: 14px !important;
  height: 16px !important;
  border: 2px solid #64748b !important;
  border-bottom: 0 !important;
  border-radius: 9px 9px 4px 4px !important;
}

.kaoya-ops-notice::after {
  content: none !important;
  display: none !important;
}

.kaoya-ops-badge {
  position: absolute !important;
  right: -8px !important;
  top: -6px !important;
  min-width: 28px !important;
  height: 18px !important;
  padding: 0 4px !important;
  border-radius: 999px !important;
  background: #e54848 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 18px !important;
  text-align: center !important;
  pointer-events: none !important;
}

.dashboard-page .hero .page-title {
  display: none !important;
}

.dashboard-page .hero .page-sub {
  margin-top: 0 !important;
}

#kaoya-final-topbar {
  height: 76px !important;
  background: rgba(255, 255, 255, .88) !important;
  border-bottom: 1px solid rgba(223, 232, 244, .9) !important;
  box-shadow: none !important;
}

#kaoya-final-content {
  padding-top: calc(76px + 26px) !important;
}

.kaoya-ops-crumb,
.breadcrumb,
.crumb {
  color: #6f7f96 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

.kaoya-ops-title,
.page-title,
.header h1,
.hero h1,
.hero-title,
h1 {
  color: var(--kya-ink) !important;
  font-size: 26px !important;
  line-height: 1.22 !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
}

.card-title,
.panel-title h2,
.panel h2,
.card h2,
.section-title,
h2 {
  color: var(--kya-ink) !important;
  font-size: 21px !important;
  line-height: 1.28 !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
}

.page-sub,
.header p,
.hero p,
.card-sub,
.panel-sub,
.desc,
.muted,
.small {
  color: var(--kya-muted) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  font-weight: 500 !important;
}

.hero,
.card,
.panel,
.section-card,
.form-card,
.table-wrap,
.notice,
.metric,
.stat-card,
.activity-card,
.list,
.question-guide,
.q-clean-note {
  background: var(--kya-card) !important;
  border: 1px solid var(--kya-border) !important;
  border-radius: 10px !important;
  box-shadow: var(--kya-shadow) !important;
}

.card-head,
.panel-head,
.section-head {
  background: rgba(255, 255, 255, .92) !important;
  border-bottom: 1px solid var(--kya-border-soft) !important;
}

label,
.label,
.form-item label,
.form-row label {
  color: #2c3a54 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

input,
select,
textarea {
  min-height: 38px !important;
  border: 1px solid #dce5f1 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--kya-text) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

textarea {
  line-height: 1.65 !important;
}

input::placeholder,
textarea::placeholder {
  color: #9aa8bb !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(23, 105, 255, .55) !important;
  box-shadow: 0 0 0 3px rgba(23, 105, 255, .10) !important;
  outline: none !important;
}

button,
.btn,
.primary-btn,
.tool-btn,
.quick-btn,
.small-btn,
.cancel-btn,
.minor-btn,
a.btn,
a.primary-btn {
  min-height: 36px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 5px 14px rgba(24, 45, 82, .055) !important;
}

.btn-primary,
.primary-btn,
button.primary,
button[data-primary="true"] {
  background: linear-gradient(135deg, var(--kya-blue), var(--kya-blue-2)) !important;
  color: #fff !important;
  border-color: transparent !important;
}

.btn-secondary,
.tool-btn,
.quick-btn,
button:not(.primary):not([data-primary="true"]) {
  background: #fff !important;
  color: var(--kya-text) !important;
  border: 1px solid #dce5f1 !important;
}

.small-btn.danger,
.btn-danger,
button.danger {
  background: #fff1f2 !important;
  color: #e11d48 !important;
  border: 1px solid #fecdd3 !important;
}

table {
  color: var(--kya-text) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

thead th,
.table th,
th {
  background: #f7faff !important;
  color: #5d6f89 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  border-bottom: 1px solid var(--kya-border-soft) !important;
}

tbody td,
.table td,
td {
  color: #26354f !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border-bottom: 1px solid #edf2f8 !important;
}

tbody tr:hover,
.table tr:hover {
  background: #f9fbff !important;
}

.badge,
.tag,
.pill,
.status-pill,
.status-on,
.status-off {
  border-radius: 999px !important;
  min-height: 23px !important;
  padding: 3px 9px !important;
  font-size: 12px !important;
  font-weight: 750 !important;
}

.status-on {
  color: #059669 !important;
  background: #ecfdf5 !important;
}

.status-off {
  color: #e11d48 !important;
  background: #fff1f2 !important;
}

.toast,
.error,
.login-error,
.alert-error,
.message-error {
  position: static !important;
  width: auto !important;
  max-width: none !important;
  min-height: 38px !important;
  margin: 12px 0 16px !important;
  padding: 11px 15px !important;
  border-radius: 8px !important;
  transform: none !important;
  background: #fff1f2 !important;
  color: #e11d48 !important;
  border: 1px solid #fecdd3 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

.status.success,
.alert-success,
.message-success {
  background: #ecfdf5 !important;
  color: #059669 !important;
  border: 1px solid #a7f3d0 !important;
}

.dashboard-page .hero {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0 16px !important;
}
