:root{
  --bg-page:#f4efe7;
  --bg-page-alt:#eae2d5;
  --glass-bg:rgba(255,255,255,.78);
  --glass-strong:rgba(255,255,255,.88);
  --surface-gold:rgba(201,166,70,.12);
  --color-dark:#111111;
  --color-gold:#c6a143;
  --color-text:#1a1a1a;
  --color-text-dim:#6c655b;
  --color-border:rgba(17,17,17,.08);
  --color-border-gold:rgba(201,166,70,.38);
  --shadow-soft:0 12px 28px rgba(17,17,17,.08);
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  min-height:100%;
  color:var(--color-text);
  background:
    radial-gradient(circle at top, rgba(255,255,255,.78), transparent 44%),
    linear-gradient(180deg, var(--bg-page) 0%, var(--bg-page-alt) 100%);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

body{
  padding:32px 18px;
}

a{
  color:inherit;
  text-decoration:none;
}

.site-shell{
  width:min(1180px, 100%);
  margin:0 auto;
}

.site-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:24px;
}

.site-brand{
  font-size:18px;
  font-weight:800;
  color:var(--color-dark);
}

.site-nav-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.site-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid var(--color-border);
  border-radius:999px;
  background:var(--glass-bg);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.site-pill.is-accent{
  border-color:var(--color-border-gold);
  background:var(--surface-gold);
  color:#9b751f;
}

.hero{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
  margin-bottom:18px;
}

.panel,
.metric-card,
.table-card,
.notice-card{
  border:1px solid var(--color-border);
  border-radius:20px;
  background:var(--glass-bg);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.panel{
  padding:24px;
}

.hero-title{
  margin:0 0 12px;
  color:var(--color-dark);
  font-size:40px;
  line-height:1.1;
}

.hero-subtitle{
  margin:0 0 18px;
  color:var(--color-text-dim);
  font-size:15px;
  line-height:1.75;
}

.hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border:none;
  border-radius:14px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}

.btn-dark{
  background:var(--color-dark);
  color:#fff;
}

.btn-gold{
  background:var(--color-gold);
  color:#171717;
}

.btn-soft{
  background:rgba(17,17,17,.06);
  color:var(--color-dark);
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  margin-bottom:18px;
}

.metric-card{
  padding:18px;
}

.metric-label{
  color:var(--color-text-dim);
  font-size:12px;
}

.metric-value{
  margin-top:8px;
  color:var(--color-dark);
  font-size:30px;
  font-weight:800;
}

.metric-desc{
  margin-top:8px;
  color:var(--color-text-dim);
  font-size:12px;
  line-height:1.5;
}

.section-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.table-card,
.notice-card{
  padding:18px;
}

.section-title{
  margin:0 0 12px;
  color:var(--color-dark);
  font-size:18px;
  font-weight:800;
}

.section-tip{
  margin:0 0 14px;
  color:var(--color-text-dim);
  font-size:12px;
  line-height:1.6;
}

.kv-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.kv-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:rgba(255,255,255,.58);
}

.kv-key{
  color:var(--color-text-dim);
  font-size:13px;
}

.kv-value{
  color:var(--color-dark);
  font-size:14px;
  font-weight:700;
  text-align:right;
}

.table-wrap{
  overflow:auto;
}

table{
  width:100%;
  border-collapse:collapse;
}

th,
td{
  padding:10px 8px;
  border-bottom:1px solid var(--color-border);
  text-align:left;
  font-size:13px;
}

th{
  color:var(--color-text-dim);
  font-weight:700;
}

td{
  color:var(--color-dark);
}

.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:var(--surface-gold);
  color:#9b751f;
  font-size:12px;
  font-weight:700;
}

.empty{
  padding:18px;
  text-align:center;
  color:var(--color-text-dim);
  font-size:13px;
}

.admin-banner{
  margin-bottom:14px;
  padding:12px 14px;
  border-radius:14px;
  font-size:13px;
  font-weight:700;
}

.admin-banner.is-success{
  background:rgba(63,123,79,.12);
  color:#2f6b40;
  border:1px solid rgba(63,123,79,.18);
}

.admin-banner.is-error{
  background:rgba(185,83,64,.12);
  color:#9b4234;
  border:1px solid rgba(185,83,64,.18);
}

.admin-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.admin-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.admin-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.admin-label{
  color:var(--color-text-dim);
  font-size:12px;
  font-weight:700;
}

.admin-input,
.admin-textarea{
  width:100%;
  color:var(--color-dark);
  border:1px solid var(--color-border);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  font:inherit;
}

.admin-input{
  min-height:42px;
  padding:0 12px;
}

.admin-textarea{
  padding:10px 12px;
  line-height:1.6;
  resize:vertical;
}

@media (max-width: 960px){
  .hero,
  .section-grid{
    grid-template-columns:1fr;
  }

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

  .hero-title{
    font-size:32px;
  }
}

@media (max-width: 640px){
  body{
    padding:18px 12px 28px;
  }

  .stats-grid{
    grid-template-columns:1fr;
  }

  .admin-grid{
    grid-template-columns:1fr;
  }

  .site-nav{
    align-items:flex-start;
    flex-direction:column;
  }
}
