:root{--rood:#c5161d;--wit:#fff;--bg:#f5f6fb;--tekst:#1d2230;--muted:#6d7687;--rand:#e6e8f0;--shadow:0 24px 60px rgba(18,24,40,.12);--kaart:#fcfcfe}
*{box-sizing:border-box}
body{margin:0;font-family:"Trebuchet MS","Segoe UI",sans-serif;background:radial-gradient(circle at top right,rgba(197,22,29,.12),transparent 18%),linear-gradient(180deg,#fff8f8 0%,var(--bg) 100%);color:var(--tekst)}
.page{width:min(1220px,calc(100% - 24px));margin:12px auto 24px}
.hero,.card,.stat,.nav-card,.vocab-card,.placeholder,.jump-card{background:var(--wit);border:1px solid var(--rand);border-radius:30px;box-shadow:var(--shadow)}
.hero{display:grid;grid-template-columns:130px 1fr auto;gap:24px;align-items:center;padding:26px;background:linear-gradient(135deg,var(--rood),#e23845);color:var(--wit);border:none}
.hero img{width:130px;height:130px;object-fit:contain;background:rgba(255,255,255,.94);border-radius:24px;padding:10px}
.hero h1{margin:0 0 10px;font-size:clamp(2rem,4vw,3.2rem);line-height:.98}
.hero p{margin:0;max-width:720px;color:rgba(255,255,255,.92);line-height:1.65}
.hero-actions{display:grid;gap:12px;justify-items:end}
.back-link,.cta{display:inline-flex;justify-content:center;align-items:center;padding:14px 18px;border-radius:16px;text-decoration:none;font-weight:800}
.back-link{background:var(--wit);color:var(--rood)}
.cta{background:linear-gradient(135deg,var(--rood),#e23845);color:var(--wit)}
.badge{display:inline-flex;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.section{margin-top:20px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.stat{padding:18px}.stat strong{display:block;font-size:1.35rem;margin-bottom:4px}.stat span{display:block;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.jump-card{display:grid;gap:8px;padding:18px 20px;text-decoration:none;color:var(--tekst);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.jump-card:hover{transform:translateY(-1px);border-color:rgba(197,22,29,.24);box-shadow:0 14px 28px rgba(18,24,40,.1)}
.jump-card strong{font-size:1.05rem}
.jump-card span{color:var(--muted);font-size:.9rem;line-height:1.55}
.card{padding:22px}.card h2{margin:0 0 14px;font-size:1.2rem}.card p{margin:0;color:var(--muted);line-height:1.7}
.exam-grid,.tul-grid,.vocab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nav-card,.vocab-card,.placeholder{display:grid;gap:14px;padding:22px}
.nav-card{background:linear-gradient(180deg,#fff 0%,#fff8f8 100%)}
.nav-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.nav-head h3{margin:0;font-size:1.35rem}
.mini-badge,.status{padding:8px 12px;border-radius:999px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.status.band-wit-geel{background:linear-gradient(90deg,#ffffff 0 50%,#ffe26f 50% 100%);color:#554100;border:1px solid #ead98a}
.status.band-geel{background:#ffe26f;color:#554100}
.status.band-geel-groen{background:linear-gradient(90deg,#ffe26f 0 50%,#59b86c 50% 100%);color:#214d17}
.status.band-groen{background:#59b86c;color:#ffffff}
.status.band-groen-blauw{background:linear-gradient(90deg,#59b86c 0 50%,#3d7df0 50% 100%);color:#ffffff}
.status.band-blauw{background:#3d7df0;color:#ffffff}
.status.band-blauw-rood{background:linear-gradient(90deg,#3d7df0 0 50%,#d82d3d 50% 100%);color:#ffffff}
.status.band-rood{background:#d82d3d;color:#ffffff}
.status.band-rood-zwart{background:linear-gradient(90deg,#d82d3d 0 50%,#1f2430 50% 100%);color:#ffffff}
.mini-badge{background:#fff0f1;color:var(--rood)}
.nav-meta{display:flex;flex-wrap:wrap;gap:10px}
.nav-meta span{padding:8px 12px;border-radius:999px;background:#f4f6fb;color:var(--muted);font-size:.82rem;font-weight:700}
.list{display:grid;gap:12px}
.list-item{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:16px;border-radius:20px;background:var(--kaart);border:1px solid var(--rand)}
.list-item strong{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:#fff0f1;color:var(--rood);font-size:.95rem}
.list-item p{margin:0;color:var(--tekst);line-height:1.6}
.vocab-card h3,.placeholder h3{margin:0;font-size:1.05rem}
.vocab-shell{display:grid;grid-template-columns:280px 1fr;gap:18px}
.category-panel,.detail-panel{display:grid;gap:12px;padding:18px;border-radius:24px;background:var(--kaart);border:1px solid var(--rand)}
.category-panel h3,.detail-panel h3{margin:0;font-size:1.05rem}
.category-list{display:grid;gap:10px}
.category-button{width:100%;text-align:left;padding:14px 16px;border-radius:16px;border:1px solid var(--rand);background:var(--wit);color:var(--tekst);font:inherit;font-weight:800;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background-color .15s ease}
.category-button:hover{transform:translateY(-1px);border-color:rgba(197,22,29,.24)}
.category-button.active{background:#fff0f1;border-color:#ffcdd3;color:var(--rood)}
.category-button small{display:block;margin-top:4px;color:var(--muted);font-size:.8rem;font-weight:600}
.vocab-list{display:grid;gap:10px}
.vocab-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;border-radius:16px;background:var(--kaart);border:1px solid var(--rand)}
.vocab-row strong{display:block;font-size:.95rem}
.vocab-row span{display:block;color:var(--muted);font-size:.85rem;margin-top:2px}
.placeholder p{margin:0;color:var(--muted);line-height:1.7}
.actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px
    }

    .actie {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      padding: 14px 18px;
      border-radius: 16px;
      font-weight: 800;
      text-decoration: none
    }

    .actie.start {
      background: linear-gradient(135deg, var(--rood), #e23845);
      color: var(--wit)
    }

    .actie.secondary {
      background: #fff3f4;
      color: var(--rood);
      border: 1px solid #ffd7dc
    }

    .actie.disabled {
      background: #f3f5f9;
      color: var(--muted)
    }

    .actie.tuls {
      margin-top: 16px
    }

@media (max-width:960px){.hero{grid-template-columns:110px 1fr}.hero-actions{grid-column:1 / -1;justify-items:start}.grid,.exam-grid,.tul-grid,.vocab-grid,.vocab-shell{grid-template-columns:1fr}}
@media (max-width:720px){.page{width:min(100% - 16px,1220px)}.hero{grid-template-columns:1fr;padding:20px}.hero img{width:110px;height:110px}.list-item,.vocab-row{grid-template-columns:1fr}.list-item strong{width:42px;height:42px}}
