*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#020812,#06111c);color:#f5f7fa;font-family:"Segoe UI",Arial,sans-serif}.login-body,.member-page{display:grid;place-items:center;min-height:100vh;padding:20px}.login-shell,.member-shell{width:min(500px,100%)}.login-card,.member-card{border:1px solid rgba(213,169,77,.42);background:#091b2b;border-radius:15px;padding:32px;box-shadow:0 18px 60px rgba(0,0,0,.32)}.eyebrow{color:#f1cc76;font-size:.74rem;font-weight:700;letter-spacing:.1em}.field{display:flex;flex-direction:column;gap:6px;margin-top:14px}.field span,p{color:#aab7c4}input{width:100%;padding:11px 12px;background:#07131e;color:white;border:1px solid rgba(213,169,77,.42);border-radius:8px}.primary-button,.primary-link{display:inline-block;margin-top:18px;padding:12px 17px;border:1px solid #d5a94d;border-radius:9px;background:#d5a94d;color:#08111a;font-weight:800;text-decoration:none}.login-card .primary-button{width:100%}.text-link{display:inline-block;margin-top:16px;color:#f1cc76;text-decoration:none}.alert.error{margin-top:18px;padding:13px;background:rgba(255,81,72,.1);border:1px solid rgba(255,81,72,.35);border-radius:10px;color:#ffd4d2}

.password-input-wrap{position:relative}
.password-input-wrap input{padding-right:48px}
.password-input-wrap input.password-match-valid{border-color:#4fc784;box-shadow:0 0 0 1px rgba(79,199,132,.2)}
.password-match-icon{position:absolute;top:50%;right:15px;transform:translateY(-50%) scale(.75);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#1d8f55;color:#fff!important;font-size:.95rem;font-weight:900;line-height:1;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}
.password-match-icon.is-visible{opacity:1;transform:translateY(-50%) scale(1)}
.password-visibility{display:flex;align-items:center;gap:9px;width:max-content;margin-top:14px;color:#c5d0da;cursor:pointer;user-select:none}
.password-visibility input{width:18px;height:18px;margin:0;padding:0;accent-color:#d5a94d;cursor:pointer}
.password-visibility span{color:#c5d0da}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Mein Konto */
.account-page{display:block;padding:28px 20px}
.account-shell{width:min(880px,100%);margin:0 auto}
.account-card{padding:38px}
.account-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.account-header h1{margin:12px 0 8px;font-size:clamp(2rem,5vw,2.75rem);line-height:1.08}
.account-intro{margin:0;line-height:1.55}
.membership-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:88px;padding:9px 13px;border:1px solid rgba(213,169,77,.62);border-radius:999px;background:rgba(213,169,77,.1);color:#f1cc76;font-size:.78rem;font-weight:900;letter-spacing:.08em}
.membership-badge--premium{background:#d5a94d;color:#08111a}
.alert.success{margin-top:22px;padding:13px;background:rgba(79,199,132,.1);border:1px solid rgba(79,199,132,.4);border-radius:10px;color:#c8f5dc}
.account-section{margin-top:30px;padding-top:26px;border-top:1px solid rgba(213,169,77,.22)}
.account-section h2{margin:0 0 18px;font-size:1.2rem}
.account-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.account-data-item{min-width:0;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(3,12,21,.32)}
.account-data-item dt{margin-bottom:7px;color:#8292a1;font-size:.8rem}
.account-data-item dd{margin:0;color:#f5f7fa;font-weight:650;overflow-wrap:anywhere}
.status-dot{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:#8896a3;box-shadow:0 0 0 3px rgba(136,150,163,.12)}
.status-dot--active{background:#4fc784;box-shadow:0 0 0 3px rgba(79,199,132,.12)}
.status-dot--pending{background:#e2b34e;box-shadow:0 0 0 3px rgba(226,179,78,.12)}
.status-dot--blocked{background:#ff665f;box-shadow:0 0 0 3px rgba(255,102,95,.12)}
.account-actions{display:grid;gap:12px}
.account-action{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(3,12,21,.32)}
.account-action h3{margin:0 0 5px;font-size:1rem}
.account-action p{margin:0;line-height:1.45}
.account-action form{flex:0 0 auto}
.secondary-button{min-height:42px;padding:10px 14px;border:1px solid rgba(213,169,77,.65);border-radius:8px;background:transparent;color:#f1cc76;font:inherit;font-weight:750;cursor:pointer}
.secondary-button:hover,.secondary-button:focus-visible{background:rgba(213,169,77,.1)}
.secondary-button--danger{border-color:rgba(255,102,95,.62);color:#ffaaa6}
.secondary-button--danger:hover,.secondary-button--danger:focus-visible{background:rgba(255,102,95,.09)}
.account-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px}
.account-home-link{margin-top:0}
.account-logout{margin-top:0}
.account-danger-zone{border-top-color:rgba(255,102,95,.32)}
.account-danger-zone>h2{color:#ffaaa6}
.account-action--danger{border-color:rgba(255,102,95,.26);background:rgba(255,102,95,.045)}
.account-delete-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;text-decoration:none}

/* FREE-Konto löschen */
.delete-account-page{display:block;padding:28px 20px}
.delete-account-shell{width:min(680px,100%);margin:0 auto}
.delete-account-card{padding:38px}
.delete-account-card h1{margin:12px 0 12px;font-size:clamp(2rem,5vw,2.65rem);line-height:1.08}
.delete-account-intro{margin:0;line-height:1.6}
.delete-warning{margin-top:24px;padding:18px;border:1px solid rgba(255,102,95,.5);border-radius:11px;background:rgba(255,102,95,.08)}
.delete-warning strong{display:block;margin-bottom:7px;color:#ffaaa6}
.delete-warning p{margin:0;line-height:1.55}
.delete-warning p+p{margin-top:10px}
.delete-account-form{margin-top:24px}
.delete-confirmation{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin-top:20px;color:#c5d0da;font-size:.9rem;line-height:1.5}
.delete-confirmation input{width:18px;height:18px;margin:2px 0 0;padding:0;accent-color:#ff625b}
.delete-confirmation span{color:#c5d0da}
.danger-button{width:100%;min-height:46px;margin-top:20px;border:1px solid #ff625b;border-radius:9px;padding:12px 17px;background:#b93131;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.danger-button:hover,.danger-button:focus-visible{background:#cf3b3b}
.delete-account-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}
.delete-account-actions .text-link{margin-top:0}
.deletion-complete{text-align:center}
.deletion-complete .status-success-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border:1px solid rgba(79,199,132,.55);border-radius:50%;background:rgba(79,199,132,.12);color:#79d89a;font-size:1.65rem;font-weight:900}
.deletion-complete p{line-height:1.6}

/* PREMIUM-Mitgliedschaft kündigen */
.premium-membership-section>h2{color:#f1cc76}
.premium-cancellation-pending{border-color:rgba(79,199,132,.32);background:rgba(79,199,132,.055)}
.premium-cancellation-pending h3{color:#b8edcc}
.premium-cancellation-pending strong{color:#f5f7fa}
.premium-reference{margin-top:8px!important;color:#8292a1!important;font-size:.86rem}
.premium-cancel-page{display:block;padding:28px 20px}
.premium-cancel-shell{width:min(700px,100%);margin:0 auto}
.premium-cancel-card{padding:38px}
.premium-cancel-card h1{margin:12px 0 12px;font-size:clamp(2rem,5vw,2.65rem);line-height:1.08}
.premium-cancel-intro{margin:0;line-height:1.6}
.premium-contract-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 0}
.premium-contract-data>div{min-width:0;padding:16px;border:1px solid rgba(213,169,77,.24);border-radius:10px;background:rgba(3,12,21,.32)}
.premium-contract-data dt{margin-bottom:7px;color:#8292a1;font-size:.8rem}
.premium-contract-data dd{margin:0;color:#f5f7fa;font-weight:700;overflow-wrap:anywhere}
.premium-cancel-warning,.premium-cancel-notice{margin-top:24px;padding:18px;border:1px solid rgba(213,169,77,.48);border-radius:11px;background:rgba(213,169,77,.07)}
.premium-cancel-warning strong,.premium-cancel-notice strong{display:block;margin-bottom:8px;color:#f1cc76}
.premium-cancel-warning ul{margin:0;padding-left:21px;color:#c5d0da;line-height:1.65}
.premium-cancel-notice{border-color:rgba(79,199,132,.45);background:rgba(79,199,132,.07)}
.premium-cancel-notice strong{color:#b8edcc}
.premium-cancel-notice p{margin:0;line-height:1.55}
.premium-cancel-form{margin-top:22px}
.premium-cancel-confirmation{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;color:#c5d0da;font-size:.9rem;line-height:1.5}
.premium-cancel-confirmation input{width:18px;height:18px;margin:2px 0 0;padding:0;accent-color:#ff625b}
.premium-cancel-confirmation span{color:#c5d0da}
.premium-cancel-button{margin-top:20px}
.premium-cancel-complete{text-align:center}
.premium-cancel-complete .status-success-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border:1px solid rgba(79,199,132,.55);border-radius:50%;background:rgba(79,199,132,.12);color:#79d89a;font-size:1.65rem;font-weight:900}
.premium-cancel-complete>p{line-height:1.6}
.premium-confirmation-data{text-align:left}
.premium-confirmation-data>div:last-child:nth-child(odd){grid-column:1/-1}
.premium-confirmation-note{margin:22px 0 0}
.premium-confirmation-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}
.premium-confirmation-actions .primary-link{margin-top:0}
.print-button{margin:0}

@media (max-width:680px){
  .account-page{padding:14px}
  .account-card{padding:25px 20px}
  .account-header{align-items:flex-start;gap:14px}
  .membership-badge{min-width:auto;padding:7px 10px}
  .account-data-grid{grid-template-columns:1fr}
  .account-action{align-items:stretch;flex-direction:column}
  .account-action form,.account-action button{width:100%}
  .account-action .account-delete-link{width:100%}
  .account-footer{align-items:stretch;flex-direction:column-reverse;text-align:center}
  .account-logout{display:block;width:100%}
  .delete-account-page{padding:14px}
  .delete-account-card{padding:25px 20px}
  .delete-account-actions{align-items:stretch;flex-direction:column-reverse;text-align:center}
  .premium-cancel-page{padding:14px}
  .premium-cancel-card{padding:25px 20px}
  .premium-contract-data{grid-template-columns:1fr}
  .premium-confirmation-data>div:last-child:nth-child(odd){grid-column:auto}
  .premium-confirmation-actions{align-items:stretch;flex-direction:column}
  .premium-confirmation-actions .primary-link,.premium-confirmation-actions .print-button{display:block;width:100%}
}

@media print{
  body{background:#fff!important;color:#111!important}
  .premium-cancel-card{border:1px solid #999;background:#fff;box-shadow:none}
  .premium-cancel-card h1,.premium-contract-data dd,.premium-cancel-complete>p,.premium-confirmation-note{color:#111}
  .eyebrow,.premium-contract-data dt{color:#555}
  .premium-contract-data>div{border-color:#bbb;background:#fff}
  .premium-confirmation-actions,.account-footer,.delete-account-actions{display:none!important}
}
