/* V7 "Soft & elegant" — geteiltes Design-System. Alles ueber body.v7 gescopt,
   damit Seiten ohne diese Klasse (style.css/home.css) unberuehrt bleiben. */
:root{
  --v7-rose:#e8b4c4; --v7-rose-deep:#c25e7e; --v7-rose-bg:#fdf2f4;
  --v7-blue:#eef5fb; --v7-beige:#fff0d9; --v7-ink:#3a2e33; --v7-muted:#6b7480;
  --v7-card-shadow:0 12px 30px rgba(120,140,180,.18);
}
body.v7{margin:0;font-family:-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--v7-ink);background:#fff;box-sizing:border-box;}
body.v7 *{box-sizing:border-box;}

/* ── Buttons ── */
body.v7 .v7-btn{padding:13px 26px;border-radius:40px;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;border:none;display:inline-block;}
body.v7 .v7-btn.p{background:var(--v7-ink);color:#fff;}
body.v7 .v7-btn.s{background:#fff;color:var(--v7-ink);box-shadow:0 4px 14px rgba(120,140,180,.2);}
body.v7 .v7-btn.rose{background:var(--v7-rose);color:#fff;}
body.v7 .v7-btn.sm{padding:8px 16px;font-size:13px;}

/* ── Oeffentliche Nav (sticky Glas) ── */
body.v7 .v7-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;position:sticky;top:0;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);z-index:50;border-bottom:1px solid #f0e6ea;}
body.v7 .v7-nav .logo{font-weight:800;font-size:19px;text-decoration:none;color:var(--v7-ink);}
body.v7 .v7-nav .menu{display:flex;gap:22px;font-size:14px;color:var(--v7-muted);align-items:center;}
body.v7 .v7-nav .menu a{color:inherit;text-decoration:none;transition:color .2s;}
body.v7 .v7-nav .menu a:hover{color:var(--v7-rose-deep);}
body.v7 .v7-nav .menu .login{background:var(--v7-rose);color:#fff;padding:8px 18px;border-radius:14px;}

/* ── Pastell-Karten & Flaechen ── */
body.v7 .v7-card{background:#fff;border-radius:18px;box-shadow:var(--v7-card-shadow);overflow:hidden;}
body.v7 .v7-pad{padding:24px;}
body.v7 .v7-rose-bg{background:var(--v7-rose-bg);}
body.v7 .v7-blue-bg{background:var(--v7-blue);}
body.v7 .v7-beige-bg{background:var(--v7-beige);}
body.v7 .v7-eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--v7-rose-deep);font-weight:700;}
body.v7 h1,body.v7 h2,body.v7 h3{font-weight:800;letter-spacing:-.5px;}

/* ── Tabellen ── */
body.v7 .v7-table{width:100%;border-collapse:collapse;font-size:14px;}
body.v7 .v7-table th{text-align:left;padding:12px 14px;color:var(--v7-muted);font-weight:600;border-bottom:2px solid var(--v7-rose-bg);}
body.v7 .v7-table td{padding:12px 14px;border-bottom:1px solid #f3eef0;}
body.v7 .v7-badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;}
body.v7 .v7-badge.ok{background:#e3f5ec;color:#1f9d63;}
body.v7 .v7-badge.warn{background:var(--v7-beige);color:#a87d2a;}
body.v7 .v7-badge.off{background:#f0eef1;color:#8a8290;}

/* ── Formulare ── */
body.v7 .v7-field{display:block;margin-bottom:16px;}
body.v7 .v7-field label{display:block;font-size:13px;color:var(--v7-muted);margin-bottom:6px;}
body.v7 .v7-input{width:100%;padding:12px 14px;border:1px solid #e6dce0;border-radius:12px;font-size:15px;font-family:inherit;background:#fff;}
body.v7 .v7-input:focus{outline:none;border-color:var(--v7-rose);}

/* ── Admin-Shell: Sidebar + Main ── */
body.v7.admin{display:flex;min-height:100vh;background:#fff;}
body.v7 .v7-side{width:240px;flex-shrink:0;background:var(--v7-rose-bg);border-right:1px solid #f0e2e7;padding:16px 0;position:sticky;top:0;height:100vh;overflow-y:auto;}
body.v7 .v7-side .brand{padding:0 20px 14px;font-weight:800;font-size:15px;border-bottom:1px solid #f0e2e7;margin-bottom:10px;}
body.v7 .v7-side .grp{padding:12px 20px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#b69aa6;}
body.v7 .v7-side a{display:flex;align-items:center;gap:10px;padding:9px 20px;font-size:14px;color:var(--v7-ink);text-decoration:none;cursor:pointer;}
body.v7 .v7-side a:hover{background:rgba(232,180,196,.25);}
body.v7 .v7-side a.active{background:var(--v7-rose);color:#fff;}
body.v7 .v7-side a .lock{margin-left:auto;font-size:10px;}
body.v7 .v7-main{flex:1;padding:26px 30px;overflow-x:auto;}
body.v7 .v7-main .crumb{font-size:12px;color:var(--v7-muted);margin-bottom:6px;}
body.v7 .v7-main h1{font-size:24px;margin:0 0 18px;}

/* ── Footer ── */
body.v7 .v7-foot{background:var(--v7-ink);color:#cbbfc5;padding:26px 5vw;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;align-items:center;}
body.v7 .v7-foot a{color:#cbbfc5;text-decoration:none;margin-left:16px;}
body.v7 .v7-foot a:hover{color:#fff;}

@media(max-width:760px){
  body.v7.admin{flex-direction:column;}
  body.v7 .v7-side{width:100%;height:auto;position:static;display:flex;flex-wrap:wrap;}
  body.v7 .v7-foot{flex-direction:column;text-align:center;}
}
