/* Auftraggeberportal — helles, ruhiges Layout auf Basis von theme.css */
.plogin { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: var(--sp-6);
  background: linear-gradient(160deg, var(--brand-primary), var(--brand-primary-dark)); }
.plogin__card { width: 100%; max-width: 400px; padding: var(--sp-8); }
.plogin__brand { display: flex; align-items: center; gap: var(--sp-3); font-size: var(--fs-h2); font-weight: 700; margin-bottom: var(--sp-2); }

.ptop { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
  height: var(--topbar-h); padding: 0 var(--sp-6); background: var(--color-surface); border-bottom: 1px solid var(--color-line); }
.ptop__brand { display: flex; align-items: center; gap: var(--sp-3); font-weight: 700; font-size: var(--fs-h3); }
.ptabs { display: flex; gap: var(--sp-1); padding: 0 var(--sp-6); background: var(--color-surface); border-bottom: 2px solid var(--color-line); }
.pmain { max-width: 1040px; margin: 0 auto; padding: var(--sp-6) var(--sp-5); }
.empty { padding: var(--sp-10); text-align: center; color: var(--color-ink-3); }
.skeleton { padding: var(--sp-10); text-align: center; color: var(--color-ink-3); }

.toasts { position: fixed; right: var(--sp-5); bottom: var(--sp-5); display: flex; flex-direction: column; gap: var(--sp-2); z-index: 50; }
.toast { background: var(--color-ink); color: #fff; padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-md); box-shadow: var(--shadow-2); font-weight: 600; }
.toast--danger { background: var(--color-danger); }
