:root{
  --wm-bg:#f7f8fb;
  --wm-surface:#ffffff;
  --wm-surface-2:#fbfcff;
  --wm-text:#0f172a;
  --wm-muted:#475569;
  --wm-line:rgba(2,6,23,.10);
  --wm-accent:#0ea5e9;
  --wm-accent-2:#14b8a6;
  --wm-gold:#f59e0b;
  --wm-shadow:0 18px 50px rgba(2,6,23,.12);
  --wm-shadow-soft:0 10px 30px rgba(2,6,23,.08);
  --wm-radius:18px;
}

html,body{height:100%}
.wm-body{
  background:radial-gradient(1200px 600px at 15% -10%, rgba(14,165,233,.20), transparent 60%),
             radial-gradient(900px 500px at 90% 0%, rgba(20,184,166,.14), transparent 65%),
             linear-gradient(180deg, var(--wm-bg), #ffffff 40%, var(--wm-bg));
  color:var(--wm-text);
  font-family:"Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.wm-header{
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter:saturate(160%) blur(10px);
  background:rgba(247,248,251,.72);
  border-bottom:1px solid rgba(2,6,23,.06);
}

.wm-navbar .nav-link{
  color:rgba(15,23,42,.78);
  font-weight:600;
  letter-spacing:.01em;
}
.wm-navbar .nav-link:hover{color:rgba(15,23,42,1)}

.wm-brand-title{
  font-family:"Fraunces", serif;
  font-weight:700;
  letter-spacing:-.02em;
}
.wm-mark{
  width:14px;
  height:14px;
  border-radius:6px;
  background:linear-gradient(135deg, var(--wm-accent), var(--wm-accent-2));
  box-shadow:0 8px 20px rgba(14,165,233,.35);
}

.wm-glow{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(14,165,233,.45), rgba(20,184,166,.35), transparent);
  opacity:.7;
}

.wm-main{padding:28px 0 44px}
.wm-alert{
  border-radius:14px;
  border:1px solid rgba(2,6,23,.08);
  box-shadow:0 10px 22px rgba(2,6,23,.06);
}

.wm-btn{
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg, var(--wm-accent), var(--wm-accent-2));
  box-shadow:0 12px 26px rgba(14,165,233,.24);
  font-weight:700;
}
.wm-btn:hover{filter:saturate(115%) brightness(1.02)}
.wm-btn-outline{
  border-radius:14px;
  border:1px solid rgba(14,165,233,.34);
  color:rgba(15,23,42,.92);
  font-weight:700;
  background:rgba(255,255,255,.75);
}
.wm-btn-outline:hover{border-color:rgba(14,165,233,.55); background:#fff}
.wm-btn-ghost{
  border-radius:14px;
  border:1px solid rgba(2,6,23,.10);
  background:rgba(255,255,255,.55);
  font-weight:700;
  color:rgba(15,23,42,.90);
}
.wm-btn-ghost:hover{background:rgba(255,255,255,.92)}

.wm-user-pill{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(2,6,23,.10);
  background:rgba(255,255,255,.65);
}
.wm-user-email{font-size:12px;font-weight:700;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wm-user-role{
  font-size:11px;
  font-weight:800;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(14,165,233,.12);
  border:1px solid rgba(14,165,233,.22);
  color:rgba(15,23,42,.90);
  letter-spacing:.05em;
}

.wm-hero{
  border-radius:var(--wm-radius);
  background:
    radial-gradient(800px 360px at 20% 10%, rgba(14,165,233,.18), transparent 55%),
    radial-gradient(700px 340px at 80% 0%, rgba(20,184,166,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.65));
  border:1px solid rgba(2,6,23,.10);
  box-shadow:var(--wm-shadow);
  padding:28px;
}
.wm-hero-title{
  font-family:"Fraunces", serif;
  font-weight:700;
  letter-spacing:-.03em;
  font-size:42px;
  line-height:1.05;
}
.wm-hero-sub{
  color:rgba(15,23,42,.72);
  font-size:15px;
  line-height:1.6;
  max-width:64ch;
}
.wm-kpi-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.wm-kpi{
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(2,6,23,.10);
  background:rgba(255,255,255,.65);
}
.wm-kpi .label{font-size:11px;color:rgba(15,23,42,.58);font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.wm-kpi .value{font-size:16px;font-weight:800;margin-top:2px}

.wm-section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin:22px 0 12px;
}
.wm-section-title h2{
  margin:0;
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:800;
  color:rgba(15,23,42,.76);
}
.wm-section-title .hint{font-size:12px;color:rgba(15,23,42,.55)}

.wm-grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:14px;
}
.wm-card{
  grid-column:span 4;
  border-radius:18px;
  border:1px solid rgba(2,6,23,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
  box-shadow:var(--wm-shadow-soft);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.wm-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 60px rgba(2,6,23,.14);
  border-color:rgba(14,165,233,.25);
}
.wm-card-cover{
  height:140px;
  background:
    radial-gradient(260px 120px at 18% 20%, rgba(14,165,233,.28), transparent 60%),
    radial-gradient(240px 120px at 82% 0%, rgba(20,184,166,.20), transparent 65%),
    linear-gradient(135deg, rgba(255,255,255,.7), rgba(255,255,255,.4));
  position:relative;
}
.wm-card-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.wm-card-body{padding:14px 14px 16px}
.wm-card-title{
  font-weight:800;
  letter-spacing:-.01em;
  margin:0;
  font-size:16px;
}
.wm-card-meta{
  margin-top:6px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:rgba(15,23,42,.62);
  font-size:12px;
}
.wm-badge{
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(2,6,23,.10);
  background:rgba(255,255,255,.65);
}
.wm-badge.free{border-color:rgba(20,184,166,.25); background:rgba(20,184,166,.12); color:rgba(15,23,42,.9)}
.wm-badge.paid{border-color:rgba(245,158,11,.30); background:rgba(245,158,11,.14); color:rgba(15,23,42,.92)}

.wm-footer{
  padding:26px 0 40px;
  border-top:1px solid rgba(2,6,23,.06);
  background:rgba(255,255,255,.55);
}
.wm-footer-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.wm-footer-title{font-family:"Fraunces", serif;font-weight:700}
.wm-footer-sub{color:rgba(15,23,42,.60);font-size:13px}
.wm-footer-links a{
  display:inline-block;
  margin-left:14px;
  color:rgba(15,23,42,.72);
  text-decoration:none;
  font-weight:700;
  font-size:13px;
}
.wm-footer-links a:hover{color:rgba(15,23,42,1)}
.wm-footer-custom{margin-top:12px}

.wm-panel{
  border-radius:18px;
  border:1px solid rgba(2,6,23,.10);
  background:rgba(255,255,255,.75);
  box-shadow:var(--wm-shadow-soft);
  padding:16px;
}

.wm-table{border-radius:16px;overflow:hidden;border:1px solid rgba(2,6,23,.10)}
.wm-table table{margin:0}
.wm-table thead th{background:rgba(15,23,42,.04);font-size:12px;letter-spacing:.08em;text-transform:uppercase}

@media (max-width: 992px){
  .wm-card{grid-column:span 6}
  .wm-hero-title{font-size:34px}
}
@media (max-width: 576px){
  .wm-card{grid-column:span 12}
  .wm-hero{padding:18px}
  .wm-hero-title{font-size:30px}
  .wm-user-email{max-width:120px}
}

