
:root {
  --accent:#5c3d3d;
  --text:#1f1f1f;
  --muted:#666;
  --light-bg:#f4f5f7;
  --card-border:#e2e0d8;
  --soft:#f0ede6;
  --white:#ffffff;
  --green:#0b8b4f;
}

* { box-sizing:border-box; }

html { scroll-behavior:smooth; }

body {
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:var(--light-bg);
  color:var(--text);
  line-height:1.55;
}

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

.container {
  max-width:1280px;
  margin:0 auto;
  background:var(--white);
  min-height:100vh;
}

.header {
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--card-border);
  padding:20px 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  position:sticky;
  top:0;
  z-index:50;
}

.logo {
  font-size:28px;
  font-weight:650;
  letter-spacing:-1px;
}

.nav {
  display:flex;
  gap:18px;
  align-items:center;
  color:var(--muted);
  font-size:14px;
  flex-wrap:wrap;
}

.nav a:hover { color:var(--text); }

.layout { display:flex; }

.sidebar {
  width:280px;
  background:var(--white);
  border-right:1px solid var(--card-border);
  min-height:calc(100vh - 84px);
  padding:32px 20px;
  flex-shrink:0;
}

.sidebar a {
  display:block;
  padding:11px 20px;
  border-radius:8px;
  margin-bottom:4px;
  color:#333;
}

.sidebar a:hover,
.sidebar a.active {
  background:var(--soft);
  color:var(--accent);
  font-weight:500;
}

.main {
  flex:1;
  padding:56px 40px;
}

.hero {
  padding:110px 40px;
  text-align:center;
  background:var(--white);
}

.hero h1 {
  font-size:clamp(42px,6vw,82px);
  line-height:1.02;
  letter-spacing:-.06em;
  max-width:980px;
  margin:0 auto 28px;
}

.hero p {
  max-width:760px;
  margin:0 auto 36px;
  color:var(--muted);
  font-size:20px;
}

.section {
  padding:80px 40px;
  border-top:1px solid var(--card-border);
}

.section h2 {
  font-size:42px;
  line-height:1.05;
  letter-spacing:-.04em;
  margin:0 0 28px;
}

.grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
}

.card {
  background:var(--white);
  border:1px solid var(--card-border);
  border-radius:14px;
  padding:28px;
  transition:.22s ease;
}

.card:hover {
  transform:translateY(-3px);
  box-shadow:0 12px 24px -8px rgba(0,0,0,.07);
}

.card-title {
  margin:0 0 18px;
  font-size:18px;
}

.text-muted { color:var(--muted); }
.text-small { font-size:13px; }

.status-live {
  font-size:13px;
  color:var(--accent);
}

.eid-verified {
  font-size:14px;
  color:var(--green);
}

.avatar {
  width:42px;
  height:42px;
  border-radius:50%;
  background:#d1d1d1;
  display:grid;
  place-items:center;
  font-size:11px;
  color:#555;
  font-weight:600;
}

.btn {
  display:inline-block;
  padding:12px 22px;
  border-radius:8px;
  font:inherit;
  cursor:pointer;
}

.btn-outline {
  border:1px solid #444;
  background:white;
}

.btn-primary {
  border:none;
  background:#2c2c2c;
  color:white;
}

.metric-number {
  font-size:28px;
  font-weight:600;
}

.metric-label {
  color:var(--muted);
  font-size:14px;
}

.footer {
  border-top:1px solid var(--card-border);
  padding:36px 40px;
  color:var(--muted);
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  justify-content:space-between;
  background:var(--white);
}

.footer a { margin-left:12px; }

.tabs {
  display:flex;
  gap:8px;
  border-bottom:1px solid var(--card-border);
  margin:32px 0 24px;
}

.tab {
  padding:10px 20px;
  border-bottom:2px solid transparent;
  font-weight:500;
}

.tab.active {
  border-bottom-color:var(--accent);
  color:var(--accent);
}

.message-item {
  padding:12px;
  border-radius:8px;
  margin-bottom:8px;
  transition:background .18s ease;
}

.message-item:hover { background:#f7f6f3; }

.chat-bubble {
  max-width:680px;
  padding:14px 16px;
  border-radius:14px;
  background:white;
  border:1px solid var(--card-border);
  margin-bottom:14px;
}

@media(max-width:800px){
  .header { flex-direction:column; align-items:flex-start; padding:18px 22px; }
  .layout { flex-direction:column; }
  .sidebar { width:auto; min-height:auto; border-right:0; border-bottom:1px solid var(--card-border); }
  .main, .section { padding:32px 22px; }
  .hero { padding:72px 22px; }
}

/* Internal module extensions */
.module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px}
.module-title{font-size:32px;font-weight:650;letter-spacing:-.03em;margin:0 0 8px}
.module-subtitle{margin:0;color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#f0e6e6;color:var(--accent);font-size:13px;font-weight:500}
.badge-green{background:#e7f4ed;color:#0b8b4f}.badge-gray{background:#eee;color:#555}
.list{display:grid;gap:14px}.list-item{background:#fff;border:1px solid var(--card-border);border-radius:12px;padding:18px}
.row{display:flex;justify-content:space-between;align-items:center;gap:16px}
.progress{height:8px;background:#eee;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent)}
.form-grid{display:grid;gap:18px}.field label{display:block;margin-bottom:8px;font-weight:600}
.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid var(--card-border);border-radius:8px;font:inherit;background:#fff}.field textarea{min-height:120px}
.timeline{display:grid;gap:18px;border-left:1px solid var(--card-border);padding-left:22px}.timeline-item{position:relative}.timeline-item:before{content:"";position:absolute;left:-28px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--accent)}
@media(max-width:800px){.module-head{display:block}.row{align-items:flex-start;flex-direction:column}}


/* Public login and participation extensions */
.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.login-panel{background:var(--white);border:1px solid var(--card-border);border-radius:16px;padding:32px;box-shadow:0 18px 45px -30px rgba(0,0,0,.22)}
.notice-box{background:#f8f7f4;border:1px solid var(--card-border);border-radius:14px;padding:26px}
.kicker{color:var(--accent);font-weight:650;margin:0 0 14px;font-size:14px;letter-spacing:.02em;text-transform:uppercase}
.check-list{color:#555;line-height:1.9;padding-left:20px;margin:0}
.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
@media(max-width:900px){.header-actions{justify-content:flex-start}.header nav{gap:14px!important}.login-panel{padding:24px}}
