/* ==== GW E‑Rechnung – Modern UI (RAL2009) ==== */
.gw-wrap{
  --brand: var(--brand,#F54021);
  --bg:#fff; --text:#111827; --muted:#6b7280; --border:#e5e7eb;
  --radius:16px; --radius-sm:12px; --shadow:0 12px 30px rgba(0,0,0,.08);
  max-width: 880px; margin: 24px auto; padding: 24px; background: var(--bg);
  border-radius: var(--radius); box-shadow: var(--shadow);
  position: relative; overflow: hidden;
}
.gw-wrap:before{content:""; position:absolute; inset:0 0 auto 0; height:6px; background: var(--brand);}
.gw-logo img{max-height:44px; display:block; margin-bottom: 8px}
.gw-wrap h2{margin:10px 0 6px; font-size: 26px; line-height:1.2; color:var(--text)}

.gw-success{background:#e7f7ec; border-left:4px solid #2f9e44; padding:12px 14px; border-radius: var(--radius-sm); margin:12px 0;}
.gw-error-summary{background:#fff4d6; border:1px solid #ffd77a; padding:10px 12px; border-radius:12px; margin-bottom:12px}

.gw-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.gw-grid-2 .full{grid-column:1 / -1}

.gw-form label{display:block; font-weight:600; font-size:13px; letter-spacing:.2px; color:var(--text); margin-bottom:6px}
.gw-form input[type="text"], .gw-form input[type="email"], .gw-form select{
  width:100%; border:1.5px solid var(--border); border-radius:12px; background:#fff;
  padding:11px 12px; font-size:15px; line-height:1.3; color:var(--text);
  transition: border .12s ease, box-shadow .12s ease, background .12s ease;
  box-shadow: 0 1px 0 rgba(0,0,0,.02) inset;
}
.gw-form input:focus, .gw-form select:focus{
  outline: none; border-color: rgba(245,64,33,.9);
  box-shadow: 0 0 0 4px rgba(245,64,33,.16);
}

.gw-err{display:inline-block; margin-top:6px; font-size:12px; font-weight:600; color:#a10000; background:#fff1f1; border:1px solid #ffd1d1; padding:4px 8px; border-radius:999px;}
.gw-privacy{margin:16px 0}
.gw-privacy-label{display:flex; gap:8px; align-items:flex-start}
.gw-impressum{margin-top:24px; font-size:13px; color:#374151}

.gw-form .button, .gw-form button{
  background:var(--brand); color:#fff; border:none; border-radius:14px;
  padding:12px 18px; font-weight:700; letter-spacing:.2px; cursor:pointer;
  box-shadow: 0 6px 20px rgba(245,64,33,.22);
  transition: transform .06s ease, box-shadow .12s ease, opacity .12s ease;
}
.gw-form .button:hover, .gw-form button:hover{ transform: translateY(-1px); box-shadow: 0 10px 28px rgba(245,64,33,.26); }

@media (max-width: 820px){
  .gw-grid-2{grid-template-columns:1fr}
  .gw-wrap{padding:18px}
  .gw-wrap h2{font-size:22px}
}

/* Admin cards */
.gw-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px 16px;margin:18px 0}
.gw-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px}
.gw-table td, .gw-table th{vertical-align:middle}
.drag-handle{cursor:move;opacity:.6}
.gw-footnote{margin-top:14px;color:#666}
