/* Doybit Shop: Designrunde 3 – Kundenkonto, Formulare und Admin-Dashboard.
   Nur progressive Oberflächenverbesserungen, keine Backend- oder Verkaufsfreigabe. */
body.public-body .account-shell {
  background:radial-gradient(ellipse at 15% 0%,#e9f2ff 0,transparent 45%),
             linear-gradient(155deg,#f8fbff,#eef4fc 85%);
}
body.public-body .account-shell .account-grid {column-gap:clamp(24px,5vw,78px)}
body.public-body .account-shell .account-intro h1 {
  color:#10264b;
  letter-spacing:-.048em;
  line-height:1.08;
  text-wrap:balance;
}
body.public-body .account-shell .account-intro>p {
  color:#4b5f79;
  line-height:1.7;
  max-width:54ch;
}
body.public-body .account-shell .account-points span {
  border:1px solid #d7e6f7;
  background:rgba(255,255,255,.72);
  border-radius:13px;
  padding:10px 12px;
}
body.public-body .account-shell .account-card {
  border:1px solid #d9e5f2;
  border-radius:25px;
  box-shadow:0 19px 46px rgba(30,65,110,.095);
  background:linear-gradient(170deg,#fff,#fafdff);
}
body.public-body .account-shell .account-card-head h2 {
  color:#142d51;
  letter-spacing:-.04em;
}
body.public-body .dx-account-form-intro {
  font-size:13px;
  line-height:1.6;
  color:#516884;
  margin:0 0 14px;
}
body.public-body .account-shell .account-form,
body.public-body .sg-contact-form .sg-form {gap:17px}
body.public-body .account-shell .account-form label,
body.public-body .sg-contact-form .sg-form label.sg-field {
  color:#243f63;
  font-size:13px;
  line-height:1.45;
  font-weight:750;
}
body.public-body .account-shell .account-form :is(input,select,textarea),
body.public-body .sg-contact-form .sg-form :is(input:not([type=checkbox]),select,textarea) {
  min-height:48px;
  width:100%;
  border:1px solid #cddded;
  border-radius:12px;
  background:#fff;
  color:#183653;
  font-size:16px;
  box-shadow:inset 0 1px 2px rgba(42,77,110,.025);
  transition:border-color .16s ease,box-shadow .16s ease;
}
body.public-body .account-shell .account-form :is(input,select,textarea):focus-visible,
body.public-body .sg-contact-form .sg-form :is(input,select,textarea):focus-visible {
  outline:3px solid rgba(27,110,212,.19);
  outline-offset:1px;
  border-color:#1975d6;
  box-shadow:0 0 0 3px rgba(27,110,212,.10);
}
body.public-body .account-shell .account-form input:not([type=checkbox]):user-invalid,
body.public-body .sg-contact-form .sg-form input:not([type=checkbox]):user-invalid,
body.public-body .sg-contact-form .sg-form textarea:user-invalid {
  border-color:#c45f60;
}
body.public-body .account-shell .account-form label>small,
body.public-body .sg-contact-form .sg-form .sg-field-hint {
  font-size:12px;
  line-height:1.55;
  color:#61748b;
}
body.public-body .account-shell .account-form .button.primary,
body.public-body .sg-contact-form .sg-form .button.primary {
  min-height:48px;
  font-weight:750;
  border-radius:13px;
}
body.public-body .account-shell .account-form .button.primary:disabled,
body.public-body .sg-contact-form .sg-form .button.primary:disabled {
  cursor:not-allowed;
}
body.public-body .account-shell :is(.alert.error,.alert.success),
body.public-body .sg-contact-form :is(.alert.error,.alert.success) {
  border-radius:12px;
  padding:13px 16px;
  line-height:1.5;
}
body.public-body .sg-contact-form {
  border:1px solid #dce9f7;
  box-shadow:0 10px 30px rgba(32,72,113,.065);
}
body.public-body .sg-contact-form h2 {text-wrap:balance;letter-spacing:-.04em}
body.public-body .sg-contact-form .dx-form-helper {
  font-size:12px;
  line-height:1.5;
  color:#476682;
  padding:8px 11px;
  border-left:3px solid #2375ce;
  background:#edf6ff;
  border-radius:0 8px 8px 0;
  margin:11px 0;
}
body.public-body .sg-contact-form .sg-form textarea {
  min-height:175px;
  padding-top:14px;
  line-height:1.55;
  resize:vertical;
}
body.public-body .sg-contact-form .sg-form .consent-row {
  padding:11px 12px;
  border-radius:12px;
  background:#f3f8fe;
  border:1px solid #dce8f6;
  font-size:13px;
  line-height:1.55;
}
body.public-body .sg-contact-form .sg-form .consent-row input {
  min-width:19px;
  width:19px;
  height:19px;
  margin-top:2px;
}
body.public-body .customer-hero-premium .customer-hero-copy h1 {
  letter-spacing:-.046em;
  line-height:1.11;
  text-wrap:balance;
}
body.public-body .customer-hero-premium .customer-hero-copy>p {line-height:1.7;max-width:62ch}
body.public-body .customer-hero-premium .customer-hero-pills span {
  border-radius:100px;
  border:1px solid rgba(226,237,255,.28);
}
body.public-body .customer-toolbar-wrap .customer-toolbar {
  align-items:center;
  gap:8px;
  scrollbar-width:thin;
}
body.public-body .dx-customer-nav-label {
  color:#54708d;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
  margin-right:5px;
}
body.public-body .customer-toolbar-wrap .customer-toolbar a {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  flex:0 0 auto;
  border:1px solid #dce7f3;
  border-radius:12px;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
}
body.public-body .customer-toolbar-wrap .customer-toolbar a:hover {
  background:#e8f3ff;
  border-color:#acd4fb;
  color:#085fb9;
}
body.public-body .customer-toolbar-wrap .customer-toolbar a:focus-visible,
body.public-body .customer-overview-card a:focus-visible,
body.public-body .customer-profile-card button:focus-visible {
  outline:3px solid #0d6cdb;
  outline-offset:2px;
}
body.public-body .customer-overview-grid>.customer-overview-card {
  border-radius:18px;
  border:1px solid #dce8f4;
  box-shadow:0 6px 18px rgba(33,67,112,.055);
  background:linear-gradient(170deg,#fff,#f9fbff);
}
body.public-body .customer-overview-card small {
  color:#4d6584;
  font-size:13px;
  font-weight:750;
}
body.public-body .customer-overview-card strong {
  color:#132e56;
  font-variant-numeric:tabular-nums;
}
body.public-body .customer-section-heading h2 {letter-spacing:-.035em;text-wrap:balance}
body.public-body .customer-empty-premium {
  border-radius:20px;
  background:linear-gradient(115deg,#f8fbff,#eef6ff);
  border:1px solid #d4e8f9;
}
@media(max-width:850px) {
  body.public-body .account-shell .account-grid {gap:28px}
  body.public-body .customer-toolbar-wrap .customer-toolbar {
    padding-block:12px;
    scroll-padding-inline:14px;
    -webkit-overflow-scrolling:touch;
  }
}
@media(max-width:600px) {
  body.public-body .account-shell {padding-block:22px 42px}
  body.public-body .account-shell .account-card {padding:19px 16px;border-radius:20px}
  body.public-body .account-shell .account-intro h1 {
    font-size:clamp(29px,8.3vw,40px)!important;
  }
  body.public-body .account-shell .account-intro>p {font-size:14px;line-height:1.6}
  body.public-body .sg-contact-form .sg-form .consent-row {align-items:flex-start}
  body.public-body .sg-contact-form .sg-form textarea {min-height:155px}
  body.public-body .customer-toolbar-wrap .customer-toolbar a {
    min-height:44px;
    padding:10px 12px;
    font-size:12px;
  }
  body.public-body .dx-customer-nav-label {display:none}
  body.public-body .customer-hero-premium .customer-hero-copy h1 {
    font-size:clamp(28px,8vw,36px)!important;
  }
  body.public-body .customer-overview-grid>.customer-overview-card {padding:14px}
}
/* Private Admin-CSS scope: never change customer or payment state. */
body.admin-body .admin-dashboard-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
body.admin-body .admin-dashboard-header h1 {
  color:#162946;
  letter-spacing:-.04em;
}
body.admin-body .dx-admin-header-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
}
body.admin-body .dx-admin-header-actions>a {
  min-height:43px;
  white-space:nowrap;
  border-radius:12px;
}
body.admin-body .admin-dashboard-jump {
  display:flex;
  align-items:center;
  gap:8px;
  border-radius:16px;
  box-shadow:0 5px 18px rgba(31,63,97,.04);
}
body.admin-body .dx-admin-nav-icon {
  display:grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  border-radius:10px;
  background:#e1edff;
  color:#235b9c;
  font-size:18px;
}
body.admin-body .admin-dashboard-jump a {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
body.admin-body .admin-dashboard-jump a:focus-visible,
body.admin-body .admin-gate-card:focus-visible,
body.admin-body .admin-attention-item a:focus-visible,
body.admin-body .admin-mobile-menu summary:focus-visible {
  outline:3px solid #0970db;
  outline-offset:3px;
}
body.admin-body .admin-operations-panel {
  border:1px solid #dce5f2;
  background:linear-gradient(140deg,#fff,#f8fbff);
  box-shadow:0 13px 34px rgba(28,64,109,.07);
}
body.admin-body .admin-operations-panel .admin-gate-card,
body.admin-body #verwaltung .admin-gate-card {
  border:1px solid #d6e5f4;
  border-radius:14px;
  box-shadow:0 4px 14px rgba(34,62,90,.04);
  transition:border-color .15s ease,transform .15s ease;
}
body.admin-body .admin-operations-panel .admin-gate-card:hover,
body.admin-body #verwaltung .admin-gate-card:hover {
  transform:translateY(-2px);
  border-color:#9dc6ef;
}
body.admin-body .admin-gate-card>span {font-size:12px;color:#4e6484}
body.admin-body .admin-gate-card>strong {font-variant-numeric:tabular-nums;line-height:1.28}
body.admin-body .admin-gate-card>small {line-height:1.5}
body.admin-body .admin-status-grid .metric {
  border:1px solid #dce5f2;
  border-radius:17px;
  box-shadow:0 5px 16px rgba(38,65,100,.05);
}
body.admin-body .admin-attention-item {
  border-radius:13px;
  border-color:#dae5f1;
  background:#fbfdff;
  gap:13px;
}
body.admin-body .admin-attention-item>div {min-width:0}
body.admin-body .admin-attention-item p {line-height:1.5}
body.admin-body .admin-mobile-menu nav {overscroll-behavior:contain}
@media(max-width:1100px) {
  body.admin-body .admin-dashboard-header {flex-wrap:wrap}
}
@media(max-width:700px) {
  body.admin-body .admin-dashboard-header {display:grid;gap:12px}
  body.admin-body .dx-admin-header-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  body.admin-body .dx-admin-header-actions>a {
    white-space:normal;
    text-align:center;
    justify-content:center;
    padding-inline:8px;
  }
  body.admin-body .dx-admin-nav-icon {display:none}
  body.admin-body .admin-dashboard-jump {gap:7px;padding:9px}
  body.admin-body .admin-dashboard-jump a {min-height:44px}
  body.admin-body .admin-attention-item {grid-template-columns:10px minmax(0,1fr);align-items:start}
  body.admin-body .admin-attention-item>a {grid-column:2;justify-self:start}
}
@media(prefers-reduced-motion:reduce) {
  body.admin-body .admin-operations-panel .admin-gate-card,
  body.admin-body #verwaltung .admin-gate-card,
  body.public-body .account-shell .account-form :is(input,select,textarea),
  body.public-body .sg-contact-form .sg-form :is(input,select,textarea) {
    transition:none;
  }
  body.admin-body .admin-operations-panel .admin-gate-card:hover,
  body.admin-body #verwaltung .admin-gate-card:hover {transform:none}
}
