:root {
  --bg: #071124;
  --bg-soft: #0c1831;
  --panel: #0f1e3a;
  --panel-2: #142646;
  --line: #263f65;
  --line-soft: #1d3354;
  --text: #e5efff;
  --muted: #9ab1d3;
  --accent: #3c96d9;
  --accent-soft: #183b67;
  --danger: #da6a6a;
  --warning: #e0b65b;
  --success: #54c7a2;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  background: radial-gradient(circle at 15% 0%, #102144 0%, var(--bg) 35%, #050c1b 100%);
  color: var(--text);
  font: 14px/1.5 'Segoe UI', Tahoma, Arial, sans-serif;
}

a { color: #8fd0ff; text-decoration: none; }
a:hover { color: #b8e2ff; }
.icon {
  width: 16px;
  height: 16px;
  stroke-width: 2;
  flex-shrink: 0;
}
code {
  color: #a7ccff;
  background: #0b1a33;
  border: 1px solid var(--line-soft);
  border-radius: 6px;
  padding: 1px 6px;
}

.layout { display: flex; min-height: 100vh; }
.sidebar {
  width: 260px;
  flex-shrink: 0;
  border-right: 1px solid var(--line-soft);
  background: linear-gradient(180deg, #07142b 0%, #050f21 100%);
  padding: 16px 12px;
}
.brand-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 6px;
}
.brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #1c4a7e, #2f8bce);
  font-size: 12px;
  font-weight: 700;
}
.brand { font-size: 20px; font-weight: 700; line-height: 1.1; }
.brand-sub { color: var(--muted); font-size: 12px; }
.nav-title {
  color: #7fa2d1;
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 12px 8px 10px;
}
.nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  color: var(--text);
  margin-bottom: 5px;
  border: 1px solid transparent;
}
.icon-nav {
  width: 17px;
  height: 17px;
}
.nav-link:hover {
  background: #0f2343;
  border-color: #22467a;
}
.nav-link.active {
  background: linear-gradient(90deg, #17355d, #143156);
  border-color: #3165a8;
}

.main { flex: 1; min-width: 0; }
.topbar {
  height: 68px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--line-soft);
  padding: 0 18px;
  background: rgba(8, 20, 42, 0.6);
  backdrop-filter: blur(4px);
}
.search-box {
  min-width: min(520px, 62vw);
  border: 1px solid #2c4d7a;
  background: #0b1a33;
  border-radius: 11px;
  padding: 8px 12px;
  display: flex;
  gap: 8px;
  align-items: center;
}
.icon-search {
  width: 15px;
  height: 15px;
  color: #7da4d5;
}
.search-label {
  font-size: 11px;
  color: #7da4d5;
  text-transform: uppercase;
  letter-spacing: .6px;
}
.search-placeholder { color: var(--muted); }
.topbar-right { display: flex; align-items: center; gap: 10px; }
.env-badge {
  border: 1px solid #2f5f95;
  background: #0f2847;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .4px;
  color: #9dc7f2;
}
.admin-meta { text-align: right; }
.admin-name { font-weight: 600; }
.admin-email { color: var(--muted); font-size: 12px; }

.content { padding: 20px; }
.page-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.page-head h1 {
  margin: 0;
  font-size: 28px;
  letter-spacing: .2px;
}
.page-head p {
  margin: 4px 0 0;
  color: var(--muted);
}
.page-meta {
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.kpi-grid {
  margin: 12px 0 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.kpi {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #122345 0%, #0e1f3c 100%);
  border-radius: var(--radius-md);
  padding: 14px;
}
.kpi span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 8px;
}
.kpi strong {
  display: block;
  font-size: 34px;
  line-height: 1;
  margin-bottom: 4px;
}
.kpi small { color: #83a7d6; font-size: 12px; }

.panel {
  border: 1px solid var(--line-soft);
  background: linear-gradient(180deg, #101f3d 0%, #0d1a33 100%);
  border-radius: var(--radius-md);
  padding: 14px;
  margin-top: 12px;
}
.panel h2 {
  margin: 0 0 8px;
  font-size: 17px;
}
.panel-subtitle {
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 10px;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  min-width: 720px;
}
thead th {
  color: #9ec0eb;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-bottom: 1px solid var(--line);
  padding: 10px 8px;
  text-align: left;
}
tbody td {
  border-bottom: 1px solid #1f3557;
  padding: 10px 8px;
  vertical-align: top;
}
tbody tr:hover td { background: #102243; }
.table-wrap { overflow-x: auto; }

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #3a5f91;
  background: #112a4b;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 12px;
}
.badge-success { border-color: #2d8a6f; background: #113a31; color: #8de7c8; }
.badge-warning { border-color: #8c6d2b; background: #3b3115; color: #f0d696; }
.badge-danger { border-color: #935050; background: #3b1c1c; color: #f6b6b6; }
.badge-neutral { border-color: #3a5f91; background: #112a4b; color: #b6cff1; }

.btn {
  background: linear-gradient(180deg, #3189ca, #2a74a8);
  color: #f4faff;
  border: 1px solid #4ea3e0;
  border-radius: 9px;
  padding: 7px 11px;
  cursor: pointer;
  font-size: 12px;
}
.btn-icon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.btn:hover { filter: brightness(1.08); }
.btn-ghost {
  background: transparent;
  border: 1px solid #325986;
  color: #dbeaff;
}
.btn-danger {
  background: #5b2626;
  border: 1px solid #9b4848;
  color: #ffd0d0;
}

.inline-form, .action-group {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.inline-block { display: inline-block; }

input, select {
  background: #0b1a34;
  color: var(--text);
  border: 1px solid #2a4a75;
  border-radius: 9px;
  padding: 7px 9px;
}
input::placeholder { color: #7f9cc4; }
label { display: block; margin: 6px 0; }
h3 {
  margin: 14px 0 6px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: #8eadd4;
}
textarea {
  background: #0b1a34;
  color: var(--text);
  border: 1px solid #2a4a75;
  border-radius: 9px;
  padding: 8px 9px;
}
small.muted { display: block; margin-top: 4px; font-size: 12px; }

.filter-row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.user-cell-name { font-weight: 600; }
.user-cell-email { color: var(--muted); font-size: 12px; }

.users-head h1 {
  margin: 0;
  font-size: 44px;
  line-height: 1;
  letter-spacing: 0.4px;
}
.users-head p {
  margin: 8px 0 0;
  color: var(--muted);
}
.users-summary-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.users-summary-item {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  background: linear-gradient(180deg, #112346 0%, #0d1f3d 100%);
}
.users-summary-item span {
  display: block;
  font-size: 11px;
  letter-spacing: .4px;
  color: var(--muted);
  text-transform: uppercase;
}
.users-summary-item strong {
  display: block;
  margin-top: 4px;
  font-size: 25px;
  line-height: 1;
}
.users-panel { padding: 0; overflow: hidden; }
.users-toolbar {
  padding: 14px;
  border-bottom: 1px solid var(--line-soft);
  background: linear-gradient(180deg, #102242 0%, #0f1f3c 100%);
}
.users-filter-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr)) minmax(240px, 1.3fr) auto;
  gap: 10px;
  align-items: end;
}
.users-filter-form label {
  display: block;
  margin: 0 0 5px;
  color: #91b2db;
  font-size: 11px;
  letter-spacing: .4px;
  text-transform: uppercase;
}
.users-filter-form select,
.users-filter-form input {
  width: 100%;
  height: 37px;
}
.filter-search { min-width: 220px; }
.filter-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.users-table {
  min-width: 1320px;
  font-size: 12.5px;
}
.users-table thead th {
  background: #0d1b36;
  border-bottom: 1px solid var(--line-soft);
}
.users-table tbody td { vertical-align: middle; }
.users-table .name-cell a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.users-table .name-cell a:hover {
  color: #a8d8ff;
}
.users-actions {
  display: flex;
  align-items: stretch;
  gap: 5px;
}
.ua-btn {
  min-width: 55px;
  height: 38px;
  border-radius: 8px;
  border: 1px solid #325986;
  background: transparent;
  color: var(--text);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 10px;
  line-height: 1;
  cursor: pointer;
  padding: 3px 6px;
}
.icon-action {
  width: 14px;
  height: 14px;
}
.ua-btn em {
  font-style: normal;
  font-size: 10px;
  color: #a8c0e0;
}
.ua-btn:hover {
  background: #133056;
  border-color: #4d87c4;
}

.plans-overview-panel .panel-subtitle { margin-bottom: 12px; }
.plans-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.plan-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(180deg, #112346 0%, #0d1f3d 100%);
  padding: 14px;
}
.plan-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.plan-card-head h3 {
  margin: 0;
  color: var(--text);
  font-size: 26px;
  text-transform: none;
  letter-spacing: 0;
}
.plan-card-sub {
  color: var(--muted);
  font-size: 12px;
  margin: 4px 0 10px;
  text-transform: uppercase;
}
.plan-metrics {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 10px;
  margin: 0;
}
.plan-metrics dt {
  color: var(--muted);
  margin: 0;
}
.plan-metrics dd {
  margin: 0;
  font-weight: 600;
}
.plan-feature-note {
  margin-top: 10px;
  color: #9cb9da;
  font-size: 12px;
}
.plan-editor-panel h2 {
  margin: 0;
  font-size: 24px;
}
.plan-editor-form { margin-top: 8px; }
.plan-editor-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 10px;
}
.plan-feature-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.feature-group {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #0d1d39;
  padding: 10px;
}
.feature-group h3 {
  margin: 0 0 8px;
  font-size: 12px;
  color: #a7c4e5;
}
.feature-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.feature-check {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  font-size: 12px;
}
.feature-check span { color: var(--text); }
.plans-table td { vertical-align: middle; }
.plans-table code {
  font-size: 11px;
  word-break: break-word;
}
.plan-add-details > summary {
  list-style: none;
}
.plan-add-details > summary::-webkit-details-marker { display: none; }

.override-panel {
  margin-top: 14px;
}
.override-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}
.override-header h2 {
  margin: 0 0 4px;
}
.override-current-grid {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #0d1d39;
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px 12px;
  margin-bottom: 12px;
}
.override-current-grid > div {
  min-width: 0;
}
.override-current-grid > div span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .45px;
}
.override-current-grid > div strong {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  word-break: break-word;
}
.override-current-grid .full {
  grid-column: 1 / -1;
}
.override-form {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #0d1d39;
  padding: 12px;
}
.override-basic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
}
.override-number-grid {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
}
.override-reason {
  grid-column: 1 / -1;
}
.override-reason input,
.override-basic-grid select,
.override-basic-grid input,
.override-number-grid input {
  width: 100%;
}

.empty-state {
  border: 1px dashed #345a8a;
  border-radius: var(--radius-sm);
  padding: 18px;
  text-align: center;
  color: var(--muted);
  background: #0c1d38;
}

.flash {
  margin: 12px;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
}
.flash-success { color: #a7f0d8; border-color: #2f8a70; background: #0f3128; }
.flash-error { color: #ffc5c5; border-color: #954949; background: #381a1a; }

.login-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 20% 0%, #102144 0%, var(--bg) 40%, #050c1b 100%);
}
.login-card {
  width: 430px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #101f3d 0%, #0d1a33 100%);
  border-radius: 14px;
  padding: 20px;
}
.login-card h1 { font-size: 30px; margin-bottom: 4px; }
.login-card p { color: var(--muted); margin-top: 0; }
.login-card input { width: 100%; margin: 4px 0 10px; }
.login-card .btn { width: 100%; }
.check-row { display: flex; align-items: center; gap: 6px; }

.two-col-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.dashboard-wrap .page-head h1 {
  font-size: 38px;
  letter-spacing: .4px;
}
.dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.metric-card {
  border: 2px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(180deg, #121f39 0%, #0f1a30 100%);
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.metric-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.08);
  color: #dcecff;
}
.icon-metric {
  width: 18px;
  height: 18px;
}
.metric-label {
  color: var(--muted);
  font-size: 13px;
}
.metric-value {
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
}
.metric-blue { border-color: #3f86bd; }
.metric-green { border-color: #57af82; }
.metric-lime { border-color: #78b86e; }
.metric-amber { border-color: #b6944c; }
.metric-cyan { border-color: #59b3c7; }
.metric-purple { border-color: #8963b7; }

.dashboard-panels {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 12px;
}
.dashboard-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.dashboard-panel-head h2 {
  margin: 0;
  font-size: 23px;
}
.panel-link {
  color: #9cc7ef;
  font-size: 13px;
}

html[data-theme="light"] .metric-card {
  background: linear-gradient(180deg, #fff 0%, #f7fbff 100%);
}
html[data-theme="light"] .metric-icon {
  background: #edf5ff;
}

html[data-theme="light"] .users-summary-item {
  background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
  border-color: #d0def0;
}
html[data-theme="light"] .users-toolbar {
  background: linear-gradient(180deg, #f9fbff 0%, #f1f7ff 100%);
  border-bottom-color: #d7e2f2;
}
html[data-theme="light"] .users-filter-form label { color: #5f7898; }
html[data-theme="light"] .users-table thead th {
  background: #f6f9ff;
  border-bottom-color: #d8e3f1;
}
html[data-theme="light"] .ua-btn {
  border-color: #bfd2ea;
  color: #26415e;
}
html[data-theme="light"] .ua-btn em { color: #567492; }
html[data-theme="light"] .ua-btn:hover {
  background: #edf4ff;
  border-color: #9dbde2;
}
html[data-theme="light"] .plan-card {
  background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
  border-color: #d0def0;
}
html[data-theme="light"] .feature-group {
  background: #f8fbff;
  border-color: #d5e2f2;
}
html[data-theme="light"] .plan-feature-note { color: #5f7794; }
html[data-theme="light"] .feature-group h3 { color: #4d6c8d; }
html[data-theme="light"] .feature-check span { color: #1f334b; }
html[data-theme="light"] .override-form,
html[data-theme="light"] .override-current-grid {
  background: #f8fbff;
  border-color: #d5e2f2;
}

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

@media (max-width: 1360px) {
  .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .search-box { min-width: 300px; }
  .users-filter-form {
    grid-template-columns: repeat(3, minmax(130px, 1fr));
  }
  .filter-search {
    grid-column: span 2;
  }
  .filter-actions {
    grid-column: 1 / -1;
  }
}
@media (max-width: 1080px) {
  .sidebar { width: 220px; }
  .kpi-grid { grid-template-columns: 1fr; }
  .two-col-grid { grid-template-columns: 1fr; }
  .plans-card-grid { grid-template-columns: 1fr; }
  .plan-editor-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan-feature-groups { grid-template-columns: 1fr; }
  .override-current-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .override-basic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .override-number-grid { grid-template-columns: 1fr; }
  .users-summary-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .users-filter-form { grid-template-columns: 1fr 1fr; }
  .filter-search { grid-column: span 2; }
}
@media (max-width: 760px) {
  .plan-editor-fields { grid-template-columns: 1fr; }
  .feature-check-grid { grid-template-columns: 1fr; }
  .override-current-grid { grid-template-columns: 1fr; }
  .override-basic-grid { grid-template-columns: 1fr; }
  .users-summary-row { grid-template-columns: 1fr; }
  .users-filter-form { grid-template-columns: 1fr; }
  .filter-search { grid-column: auto; }
}

html[data-theme="light"] {
  --bg: #eef3fa;
  --bg-soft: #f7f9fd;
  --panel: #ffffff;
  --panel-2: #f6f9ff;
  --line: #d8e3f1;
  --line-soft: #d0ddeb;
  --text: #1d3048;
  --muted: #5f7794;
}

html[data-theme="light"] body {
  background: radial-gradient(circle at 15% 0%, #f8fbff 0%, #edf3fb 45%, #e7eef8 100%);
}

html[data-theme="light"] a { color: #2f6fae; }
html[data-theme="light"] a:hover { color: #1e5f9f; }
html[data-theme="light"] code {
  color: #2f6fae;
  background: #eef4ff;
  border-color: #d6e2f2;
}

html[data-theme="light"] .sidebar {
  background: linear-gradient(180deg, #f8fbff 0%, #edf3fc 100%);
  border-right-color: #d5e2f2;
}
html[data-theme="light"] .brand-mark {
  background: linear-gradient(135deg, #2d74b7, #4ea5e2);
  color: #fff;
}
html[data-theme="light"] .nav-title { color: #6f89a8; }
html[data-theme="light"] .nav-link { color: #223a56; }
html[data-theme="light"] .nav-link:hover {
  background: #e7f0fc;
  border-color: #b8cfee;
}
html[data-theme="light"] .nav-link.active {
  background: linear-gradient(90deg, #d7e8fb, #e5f0fc);
  border-color: #9cc0ea;
}

html[data-theme="light"] .topbar {
  background: rgba(244, 248, 254, 0.95);
  border-bottom-color: #d5e2f2;
}
html[data-theme="light"] .search-box {
  background: #fff;
  border-color: #c8d9ee;
}
html[data-theme="light"] .search-label { color: #6684a8; }
html[data-theme="light"] .env-badge {
  background: #e9f2ff;
  border-color: #b9d2f0;
  color: #2f628f;
}

html[data-theme="light"] .kpi {
  background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
  border-color: #d7e2f2;
}
html[data-theme="light"] .kpi small { color: #6d86a4; }

html[data-theme="light"] .panel {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-color: #d7e2f2;
}

html[data-theme="light"] thead th {
  color: #476481;
  border-bottom-color: #d8e3f1;
}
html[data-theme="light"] tbody td {
  border-bottom-color: #e4ebf5;
}
html[data-theme="light"] tbody tr:hover td {
  background: #f2f7ff;
}

html[data-theme="light"] .badge {
  border-color: #b9cde6;
  background: #eef5ff;
  color: #315170;
}
html[data-theme="light"] .badge-success {
  border-color: #72b8a2;
  background: #e8f8f2;
  color: #1f6a53;
}
html[data-theme="light"] .badge-warning {
  border-color: #ceb06b;
  background: #fff8e5;
  color: #88661d;
}
html[data-theme="light"] .badge-danger {
  border-color: #d39b9b;
  background: #fdeeee;
  color: #8f3c3c;
}
html[data-theme="light"] .badge-neutral {
  border-color: #b9cde6;
  background: #eef5ff;
  color: #315170;
}

html[data-theme="light"] .btn-ghost {
  border-color: #b9cde6;
  color: #27435f;
}
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  background: #fff;
  color: #1f334b;
  border-color: #c6d8ee;
}
html[data-theme="light"] input::placeholder { color: #7f95af; }

html[data-theme="light"] .empty-state {
  background: #f6faff;
  border-color: #b9cde6;
  color: #5f7794;
}
html[data-theme="light"] .flash-success {
  color: #1f6a53;
  border-color: #7dbba7;
  background: #e8f8f2;
}
html[data-theme="light"] .flash-error {
  color: #8f3c3c;
  border-color: #d39b9b;
  background: #fdeeee;
}

html[data-theme="light"] .login-body {
  background: radial-gradient(circle at 20% 0%, #f8fbff 0%, #edf3fb 40%, #e7eef8 100%);
}
html[data-theme="light"] .login-card {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-color: #d7e2f2;
}
