:root {
  color-scheme: light;
  --bg: #f2f6fb;
  --panel: #ffffff;
  --panel2: #f7f9fc;
  --line: #dbe4ef;
  --text: #172235;
  --muted: #5e6b7e;
  --cyan: #087f78;
  --violet: #6b4ed6;
  --gold: #a96500;
  --red: #c83d55;
}

body {
  color: var(--text);
  background: radial-gradient(circle at 76% -8%, #dceaff 0, transparent 34%), linear-gradient(135deg, #f7fbff, #edf3f9);
}

.sidebar {
  border-color: #d8e2ed;
  background: rgba(255, 255, 255, .96);
  box-shadow: 8px 0 30px rgba(71, 97, 122, .06);
}

.admin-brand > span {
  border-color: rgba(14, 147, 135, .35);
  color: #087f78;
  background: #e4f8f5;
  box-shadow: 0 8px 25px rgba(8, 127, 120, .1);
}

.admin-brand strong { font-size: 19px; }
.admin-brand small { color: #728095; font-size: 10px; }
.nav-item { color: #536176; font-size: 14px; font-weight: 700; }
.nav-item i { color: #5f6e82; background: #edf2f7; font-size: 13px; }
.nav-item:hover, .nav-item.active { color: #086e69; background: linear-gradient(90deg, #dff5f2, transparent); }
.nav-item.active i { color: #fff; background: #118e85; }
.sidebar-note { color: #68768a; font-size: 12px; line-height: 1.8; }

.eyebrow, .section-heading p, .panel-title p {
  color: #65758b;
  font-size: 12px;
  letter-spacing: .14em;
}

.admin-topbar h1 { font-size: 31px; }
.save-state { color: #657287; font-size: 13px; }
.save-state.dirty { color: #9c6000; }
.ghost-action, .save-button { padding: 11px 16px; font-size: 14px; }
.ghost-action { border-color: #d4deea; color: #445267; background: #fff; box-shadow: 0 4px 14px rgba(53, 77, 102, .06); }
.ghost-action.danger { color: #b4374e; }
.save-button { border-color: #0c8b82; color: #fff; background: linear-gradient(135deg, #12a399, #087d76); box-shadow: 0 8px 22px rgba(11, 139, 129, .16); }

.summary-card {
  border-color: #dce5ef;
  background: linear-gradient(145deg, #fff, #f6f9fc);
  box-shadow: 0 10px 28px rgba(57, 83, 110, .05);
}
.summary-card small { color: #59697f; font-size: 14px; font-weight: 700; }
.summary-card strong { font-size: 34px; }
.summary-card span { color: #6a788c; font-size: 12px; line-height: 1.5; }

.panel { border-color: #dbe4ee; background: #fff; box-shadow: 0 14px 38px rgba(49, 80, 110, .06); }
.panel-title h2 { font-size: 20px; }
.section-heading h2 { font-size: 27px; }
.section-heading > span { color: #627187; font-size: 13px; }
.tag, .live-dot { padding: 6px 10px; font-size: 11px; }
.tag { background: #eef2f7; }
.tag.cyan { color: #087f78; background: #e2f5f2; }
.tag.violet { color: #6748cc; background: #eee9ff; }
.tag.gold { color: #9a6007; background: #fff2d8; }
.tag.red { color: #be3e52; background: #ffe9ed; }
.live-dot { color: #087f78; background: #e2f5f2; }
.live-dot::before { background: #0e9a8e; box-shadow: 0 0 8px rgba(14, 154, 142, .4); }

.floor-chip { border-color: #dce5ef; background: #f7f9fc; }
.floor-chip b { font-size: 15px; }
.floor-chip small { color: #617086; font-size: 13px; line-height: 1.7; }
.field span { margin-bottom: 8px; color: #526177; font-size: 13px; font-weight: 700; }
.field em { color: #7b899c; font-size: 12px; }
.field input, .table-input, .table-select {
  height: 43px;
  border-color: #d2ddea;
  color: #1e2b3d;
  background: #f9fbfd;
  font-size: 14px;
}
.field input:focus, .table-input:focus, .table-select:focus { border-color: #16968b; box-shadow: 0 0 0 3px rgba(21, 152, 142, .1); background: #fff; }
.skill-group { border-color: #dde5ef; background: #f8fafc; }
.skill-group h3 { font-size: 16px; }

th, td { padding: 13px 11px; border-color: #e5ebf2; }
th { color: #54637a; background: #f6f8fb; font-size: 13px; letter-spacing: .03em; }
td { color: #354359; font-size: 14px; }
.table-input, .table-select { height: 40px; font-size: 14px; }
.enemy-name i { color: #b9384f; background: #ffe9ed; }
.product-code { color: #738197; font-size: 11px; }
.disabled-row { opacity: .48; }
.shop-toggle { width: 20px; height: 20px; }
.toast { border-color: #9cd7d1; color: #174d49; background: #effcf9; box-shadow: 0 13px 40px rgba(53, 86, 109, .15); font-size: 14px; }

@media (max-width: 980px) {
  .nav-item:not(.active) { font-size: 0; }
  .admin-topbar h1 { font-size: 27px; }
}

@media (max-width: 680px) {
  .admin-topbar h1 { font-size: 25px; }
  .admin-brand strong { display: none; }
  .section-heading h2 { font-size: 23px; }
  .summary-card small { font-size: 13px; }
  .sidebar nav { gap: 3px; }
}
