
:root{--bg:#fbf7f2;--paper:#fffdf9;--ink:#171717;--muted:#6d6660;--gold:#d9b06a;--gold-dark:#aa7c34;--red:#a84a4d;--red-dark:#7d3235;--line:#eadfce}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 10%,rgba(217,176,106,.10),transparent 26%),var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);line-height:1.55}
a{text-decoration:none;color:inherit}.portal-shell{width:min(1120px,calc(100% - 36px));margin:auto}.portal-top{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid rgba(217,176,106,.26)}.portal-brand{font-weight:800;letter-spacing:2px}.portal-brand span{color:var(--gold-dark)}.portal-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.portal-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:0;border-radius:9px;background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;font-weight:700;cursor:pointer}.portal-btn.secondary{background:#fff;color:#222;border:1px solid var(--line)}.portal-main{padding:56px 0 80px}.portal-card{background:var(--paper);border:1px solid rgba(217,176,106,.55);border-radius:18px;padding:28px;box-shadow:0 18px 48px rgba(70,45,30,.07)}.login-card{width:min(470px,100%);margin:40px auto}.portal-title{font-size:34px;line-height:1.1;margin:0 0 10px}.portal-lead{margin:0 0 24px;color:var(--muted)}.field{margin-bottom:15px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.field input{width:100%;padding:11px 12px;border:1px solid #ddd5ca;border-radius:9px;background:#fff;font:inherit}.notice{padding:11px 13px;border-radius:9px;margin-bottom:14px;font-size:13px}.notice.ok{background:#edf7ef;color:#1d6138}.notice.err{background:#fff0ed;color:#8a3028}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.dash-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.dash-card h3{margin:0 0 7px;font-size:17px}.dash-card p{margin:0;color:var(--muted);font-size:13px}.table-wrap{overflow:auto;margin-top:22px}.data-table{width:100%;border-collapse:collapse;background:#fff}.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid var(--line);font-size:13px;text-align:left;vertical-align:top}.data-table th{background:#fff7ec}.inline-form{display:flex;gap:7px;flex-wrap:wrap}.small-btn{border:0;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:700;cursor:pointer}.small-btn.red{background:#a84a4d;color:#fff}.small-btn.gold{background:#d9b06a;color:#241b0e}.small-btn.gray{background:#ece9e4;color:#222}.admin-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:22px;align-items:start}.muted{color:var(--muted)}.footer-note{text-align:center;color:#8a817a;font-size:11px;padding:24px 0}.status-ok{display:inline-block;padding:3px 7px;border-radius:999px;background:#edf7ef;color:#1d6138;font-size:11px}.status-off{display:inline-block;padding:3px 7px;border-radius:999px;background:#f3eeee;color:#7c4d4d;font-size:11px}
@media(max-width:850px){.admin-grid,.dashboard-grid{grid-template-columns:1fr}.portal-title{font-size:29px}}

.admin-welcome{padding:36px}
.admin-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.admin-home-card{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.admin-home-card:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(70,45,30,.09);border-color:var(--gold)}
.admin-home-icon{flex:0 0 48px;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold),#f0d49d);color:#39260e;font-weight:900;font-size:20px}
.admin-home-card h2{margin:0 0 7px;font-size:21px}
.admin-home-card p{margin:0;color:var(--muted);font-size:13px}
.admin-home-link{display:inline-block;margin-top:16px;color:var(--red-dark);font-weight:800;font-size:13px}
.admin-user-note{margin:24px 0 0;font-size:12px}
.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:22px}
@media(max-width:700px){.admin-home-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.admin-welcome{padding:26px}}

.dash-link-card{display:block;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.dash-link-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(70,45,30,.08);border-color:var(--gold)}
.dash-card-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f3e5cc;color:#7b5520;font-weight:900;margin-bottom:12px}
.dash-card-link{display:inline-block;margin-top:13px;color:var(--red-dark);font-size:12px;font-weight:800}

.admin-eyebrow{color:#aa7c34;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}
.abo-admin-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.abo-admin-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.abo-admin-stat span,.abo-admin-stat small{display:block;color:var(--muted);font-size:11px}.abo-admin-stat strong{display:block;font-size:15px;margin:5px 0;word-break:break-word}
.abo-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.abo-admin-tabs a{display:inline-flex;gap:7px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:800}.abo-admin-tabs a.active{background:#2a2521;color:#fff;border-color:#2a2521}.abo-admin-tabs b{background:var(--red);color:#fff;border-radius:999px;padding:1px 6px;font-size:10px}
.abo-request-form{display:grid;gap:7px}.abo-request-form select,.abo-request-form textarea{width:100%;padding:8px;border:1px solid #ddd5ca;border-radius:8px;font:inherit}.abo-request-table td{font-size:12px}
.abo-price-rules,.abo-price-product{margin-bottom:18px}.abo-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.abo-price-group{border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:12px;overflow:hidden}.abo-price-group summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;padding:13px 15px;background:#fff9f0}.abo-price-group summary span{color:var(--muted);font-size:11px}.compact-price-table{margin:0}.compact-price-table .price-input{width:170px;max-width:100%;padding:8px 9px;border:1px solid #ddd5ca;border-radius:8px;text-align:right}
.abo-admin-savebar{position:sticky;bottom:12px;z-index:10;display:flex;justify-content:space-between;gap:18px;align-items:center;background:#211e1b;color:#fff;border-radius:14px;padding:14px 17px;box-shadow:0 18px 45px rgba(0,0,0,.18)}.abo-admin-savebar small{display:block;color:#cfc7bf;margin-top:2px}
.publication-current{display:flex;justify-content:space-between;gap:18px;align-items:center;border-radius:13px;padding:16px;margin:20px 0}.publication-current.live{background:#edf7ef;border:1px solid #bedbc5}.publication-current.offline{background:#f5eeee;border:1px solid #e4cfcf}.publication-current span{display:block;font-size:11px;color:var(--muted)}.publication-current strong{display:block;margin-top:3px}.publication-current>b{font-size:11px;letter-spacing:1px}
.publication-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.publication-options label{cursor:pointer}.publication-options input{position:absolute;opacity:0}.publication-options span{display:block;height:100%;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.publication-options strong{display:block;font-size:13px}.publication-options small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.publication-options input:checked+span{border-color:var(--gold-dark);background:#fff8ec;box-shadow:0 0 0 2px rgba(217,176,106,.15)}
.schedule-box{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fffaf3}
@media(max-width:900px){.admin-home-grid,.abo-admin-overview,.abo-rule-grid,.publication-options{grid-template-columns:1fr}.abo-admin-savebar{position:static;align-items:flex-start;flex-direction:column}}


/* Abo-Admin: eigene Abos */
.abo-create-form{display:grid;gap:18px}
.abo-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.abo-create-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.new-product-box{padding:18px;border:1px solid #e6d6bd;border-radius:14px;background:#fff9ef}
.abo-tier-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-top:4px}
.abo-tier-table input{width:100%;min-width:130px;padding:9px 10px;border:1px solid #ddd5ca;border-radius:8px;background:#fff;font:inherit}
.abo-package-admin-list{display:grid;gap:18px;margin-top:18px}
.abo-package-product{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px}
.abo-package-product-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:13px}
.abo-package-product-head strong{display:block;font-size:16px}
.abo-package-product-head small{display:block;color:var(--muted);margin-top:2px}
.abo-package-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.abo-package-admin-card{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;background:#fffdf9;padding:14px}
.abo-package-admin-card p{margin:5px 0;color:var(--muted);font-size:12px}
.abo-package-admin-card small{color:var(--muted)}
.package-admin-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.custom-pill,.standard-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:900;letter-spacing:.45px;text-transform:uppercase}
.custom-pill{background:#fff0cf;color:#80561d;border:1px solid #ecd095}
.standard-pill{background:#f1f1ef;color:#66615c;border:1px solid #dfddd8}
.small-btn.danger{background:#fff1f1;color:#8d3034;border:1px solid #e8c2c4}
.abo-empty-addons{grid-column:1/-1;border:1px dashed var(--line);border-radius:11px;padding:14px;color:var(--muted);font-size:12px;background:#fff}
@media(max-width:800px){
  .abo-create-grid,.abo-create-grid.three,.abo-package-cards{grid-template-columns:1fr}
  .abo-package-admin-card{flex-direction:column}
}


/* Demeter Sync Hub */
.sync-status-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:12px;
margin-top:18px
}
.sync-status-card{
border:1px solid var(--line);
border-radius:13px;
background:#fff;
padding:15px
}
.sync-status-card>span{
display:block;
color:var(--muted);
font-size:10px;
font-weight:800;
text-transform:uppercase;
letter-spacing:.6px
}
.sync-status-card>strong{
display:block;
font-size:18px;
margin:6px 0 3px
}
.sync-status-card>small{
color:var(--muted);
font-size:10px
}
.sync-health-box{
display:flex;
justify-content:space-between;
gap:16px;
align-items:center;
margin-top:13px;
padding:13px 15px;
border:1px solid var(--line);
border-radius:12px;
background:#fffaf2
}
.sync-health-box>div{
display:flex;
gap:8px;
align-items:center
}
.sync-health-box small{color:var(--muted)}
.sync-dot{
width:10px;
height:10px;
border-radius:50%;
display:inline-block
}
.sync-dot.online{
background:#3d9253;
box-shadow:0 0 0 4px rgba(61,146,83,.12)
}
.sync-dot.waiting{
background:#d2a13f;
box-shadow:0 0 0 4px rgba(210,161,63,.12)
}
.sync-credentials{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
margin:18px 0
}
.sync-credentials input{
width:100%;
padding:10px 11px;
border:1px solid #ddd5ca;
border-radius:8px;
background:#fff;
font:inherit
}
.sync-token-actions{
display:flex;
gap:7px;
flex-wrap:wrap;
margin-top:7px
}
.sync-endpoints{
display:grid;
grid-template-columns:max-content 1fr;
gap:9px 14px;
align-items:center;
margin-top:16px
}
.sync-endpoints code{
background:#24211e;
color:#f1d39a;
border-radius:7px;
padding:7px 9px
}
.sync-endpoints span{
color:var(--muted);
font-size:12px
}
@media(max-width:800px){
.sync-status-grid,.sync-credentials{
grid-template-columns:1fr
}
.sync-health-box{
align-items:flex-start;
flex-direction:column
}
.sync-endpoints{
grid-template-columns:1fr
}
.sync-endpoints span{
margin-bottom:8px
}
}


/* Abo-Admin: Statusfilter & automatisches Archiv */
.abo-request-filterbar{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
flex-wrap:wrap;
margin:18px 0;
padding:14px 16px;
border:1px solid var(--line);
border-radius:13px;
background:#fffaf3
}
.abo-request-filter{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap
}
.abo-request-filter label{
font-size:11px;
font-weight:800;
letter-spacing:.45px;
text-transform:uppercase
}
.abo-request-filter select{
min-width:235px;
padding:10px 12px;
border:1px solid #d8cdbd;
border-radius:9px;
background:#fff;
font:inherit;
font-size:13px
}
.abo-archive-hint{
display:flex;
flex-direction:column;
gap:2px;
max-width:460px
}
.abo-archive-hint strong{
font-size:12px
}
.abo-archive-hint span{
font-size:11px;
color:var(--muted);
line-height:1.45
}
.abo-archived-pill{
display:inline-flex;
align-items:center;
margin-bottom:8px;
padding:4px 8px;
border:1px solid #e0c5c5;
border-radius:999px;
background:#fff3f3;
color:#8b3438;
font-size:10px;
font-weight:800
}
@media(max-width:800px){
.abo-request-filterbar{
align-items:stretch;
flex-direction:column
}
.abo-request-filter{
align-items:stretch;
flex-direction:column
}
.abo-request-filter select{
width:100%;
min-width:0
}
}


/* Vertragsunterlagen – server-sichere statische Variante */
.customer-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.customer-doc-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.customer-doc-card.ready{transition:transform .15s ease,border-color .15s ease}
.customer-doc-card.ready:hover{transform:translateY(-2px);border-color:var(--gold)}
.customer-doc-card h3{margin:10px 0 6px;font-size:17px}.customer-doc-card p{margin:0 0 12px;color:var(--muted);font-size:12px}
.customer-doc-card strong{font-size:12px;color:var(--red-dark)}
.doc-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}
.doc-status.ready{background:#edf7ef;color:#27663d}.doc-status.pending{background:#fff5de;color:#8a611f}
.legal-customer-note{margin-top:18px;background:#fff8e9;color:#6d542d;border:1px solid #ead4a6}
.legal-confirm-box{display:grid;gap:10px;margin:18px 0}.legal-confirm-box a{color:var(--red-dark);text-decoration:underline;text-underline-offset:2px}
.doc-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.doc-admin-summary>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px}
.doc-admin-summary strong{display:block;font-size:25px}.doc-admin-summary span{font-size:11px;color:var(--muted)}
.doc-status-warn,.doc-status-danger,.doc-status-neutral{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800}
.doc-status-warn{background:#fff4d8;color:#80591c}.doc-status-danger{background:#fff0f0;color:#8c3438}.doc-status-neutral{background:#efefed;color:#5e5b57}
@media(max-width:800px){.customer-doc-grid,.doc-admin-summary{grid-template-columns:1fr}}


/* ==========================================================
   Kundencenter Pro – Dashboard Redesign
   ========================================================== */
body{background:linear-gradient(180deg,#fbf8f4 0,#f8f3ed 100%);min-height:100vh}
.portal-shell{width:min(1180px,calc(100% - 40px))}
.portal-main{padding:38px 0 72px}

.customer-topbar{min-height:78px;border-bottom:1px solid #eadfce;background:rgba(251,248,244,.92);position:sticky;top:0;z-index:60;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.customer-brand{display:flex;align-items:center;gap:12px;letter-spacing:0}
.customer-brand-mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #dfbf86;border-radius:10px;background:linear-gradient(145deg,#fff8e9,#f4dfb8);color:#8a5f24;font-weight:900;font-size:15px;box-shadow:0 5px 16px rgba(95,68,31,.07)}
.customer-brand-copy{display:flex;flex-direction:column;font-size:13px;font-weight:900;letter-spacing:1.7px;line-height:1.1}
.customer-brand-copy>span{display:inline;color:var(--gold-dark)}
.customer-brand-copy small{margin-top:5px;color:#8b837b;font-size:9px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase}
.customer-nav{gap:6px;flex-wrap:nowrap}
.customer-nav-link{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 12px;border-radius:9px;color:#5e5852;font-size:12px;font-weight:800;border:1px solid transparent;transition:background .16s ease,color .16s ease,border-color .16s ease}
.customer-nav-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.customer-nav-link:hover{background:#fff;border-color:#eadfce;color:#222}
.customer-nav-link.active{background:#fff;border-color:#dfcfbb;color:#222;box-shadow:0 5px 14px rgba(60,45,30,.04)}
.customer-nav-link.home-link{color:#776f68}
.customer-nav-link.logout-link{margin-left:4px;background:#943b40;color:#fff;border-color:#943b40}
.customer-nav-link.logout-link:hover{background:#7d3235;color:#fff;border-color:#7d3235}

.customer-dashboard{display:grid;gap:22px}
.customer-welcome-card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 36px;border-radius:20px;background:linear-gradient(135deg,#9d4044 0%,#7d3235 100%);color:#fff;box-shadow:0 18px 45px rgba(92,45,45,.14)}
.customer-welcome-card:after{content:"";position:absolute;right:-65px;top:-85px;width:260px;height:260px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.customer-welcome-card:before{content:"";position:absolute;right:75px;bottom:-130px;width:230px;height:230px;border:1px solid rgba(229,196,132,.16);border-radius:50%}
.customer-welcome-copy{position:relative;z-index:2;max-width:760px}
.customer-eyebrow{color:#d3a95f;font-size:10px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}
.customer-welcome-card .customer-eyebrow{color:#f2d79f}
.customer-welcome-card h1{margin:8px 0 9px;font-size:34px;line-height:1.08;letter-spacing:-.7px}
.customer-welcome-card p{margin:0;max-width:690px;color:rgba(255,255,255,.78);font-size:14px}
.customer-session-row{display:flex;align-items:center;gap:8px;margin-top:19px;color:rgba(255,255,255,.82);font-size:11px}
.customer-session-row strong{color:#fff}
.customer-status-dot{width:8px;height:8px;border-radius:50%;background:#8ee19c;box-shadow:0 0 0 4px rgba(142,225,156,.12)}
.customer-welcome-badge{position:relative;z-index:2;flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:78px;height:78px;border-radius:24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.19);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.customer-welcome-badge span{font-size:31px;font-weight:900;color:#fff}

.customer-dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.customer-dashboard-main{display:grid;gap:22px;min-width:0}
.customer-section-block,.customer-software-panel,.customer-side-card{background:#fff;border:1px solid #e9dece;border-radius:18px;box-shadow:0 12px 32px rgba(69,50,33,.045)}
.customer-section-block{padding:25px}
.customer-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}
.customer-section-heading span,.customer-panel-head>div>span{display:block;color:#9c7438;font-size:9px;font-weight:900;letter-spacing:1.1px;text-transform:uppercase;margin-bottom:3px}
.customer-section-heading h2,.customer-panel-head h2{margin:0;font-size:20px;letter-spacing:-.2px}
.customer-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.customer-action-card{display:flex;gap:15px;align-items:flex-start;padding:18px;border:1px solid #e9dece;border-radius:14px;background:#fff;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.customer-action-card:hover{transform:translateY(-2px);border-color:#d8ba85;box-shadow:0 12px 25px rgba(69,50,33,.06)}
.customer-action-card.accent{background:linear-gradient(145deg,#fffaf1,#fff);border-color:#e3c895}
.customer-action-icon{flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#f3e7d2;color:#8d6328}
.customer-action-card.accent .customer-action-icon{background:#9a4044;color:#fff}
.customer-action-icon svg,.customer-side-icon svg,.customer-empty-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.customer-action-copy h3{margin:0 0 5px;font-size:16px}
.customer-action-copy p{margin:0;color:#716a64;font-size:12px;line-height:1.55}
.customer-action-copy strong{display:inline-block;margin-top:13px;color:#85373b;font-size:11px}
.customer-action-copy strong span{display:inline-block;transition:transform .15s ease}.customer-action-card:hover strong span{transform:translateX(3px)}

.customer-software-panel{padding:25px}
.customer-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:17px;border-bottom:1px solid #eee5da}
.customer-product-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}
.customer-product-status.pending{background:#f7f2e8;color:#856634;border:1px solid #e9dbc1}
.customer-empty-product{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:16px;align-items:center;padding:25px 0 2px}
.customer-empty-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:14px;background:#f5efe7;color:#8b6c43}
.customer-empty-product h3{margin:0 0 5px;font-size:15px}
.customer-empty-product p{margin:0;color:#746d67;font-size:12px;line-height:1.55}
.customer-inline-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border:1px solid #e0d1bd;border-radius:9px;background:#fff;color:#7f3539;font-size:11px;font-weight:900;white-space:nowrap}
.customer-inline-btn:hover{border-color:#bd8b8e;background:#fff8f8}

.customer-dashboard-side{display:grid;gap:15px}
.customer-side-card{padding:21px}
.customer-side-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:11px;background:#f2e5d0;color:#8b6129;margin-bottom:17px}
.customer-side-kicker{display:block;color:#9b7540;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}
.customer-side-card h3{margin:0 0 5px;font-size:16px}
.customer-side-card p{margin:0;color:#756e68;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.customer-account-state{display:flex;align-items:center;gap:7px;margin-top:17px;padding-top:14px;border-top:1px solid #eee5db;color:#5f6d62;font-size:10px;font-weight:800}
.customer-account-state span{width:7px;height:7px;border-radius:50%;background:#4b9c61;box-shadow:0 0 0 3px rgba(75,156,97,.10)}
.support-card-pro{background:linear-gradient(145deg,#fff,#fffaf2)}
.customer-support-btn{display:flex;align-items:center;justify-content:center;margin-top:17px;min-height:39px;border-radius:9px;background:#913b40;color:#fff;font-size:11px;font-weight:900}
.customer-support-btn:hover{background:#7d3235}
.customer-support-mail{display:block;margin-top:11px;text-align:center;color:#766c62;font-size:10px;font-weight:700}
.customer-support-mail:hover{color:#7d3235}

.customer-documents-page{padding:31px}
.customer-documents-header{display:flex;align-items:start;justify-content:space-between;gap:22px;margin-top:7px}
.customer-documents-header .portal-lead{margin-bottom:0}
.customer-back-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border:1px solid #e2d6c7;border-radius:9px;background:#fff;color:#665f59;font-size:11px;font-weight:800;white-space:nowrap}
.customer-documents-page .customer-doc-grid{margin-top:25px}
.customer-documents-page .customer-doc-card{border-radius:14px;padding:19px}

@media(max-width:980px){
  .customer-dashboard-layout{grid-template-columns:1fr}
  .customer-dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .portal-shell{width:min(100% - 24px,1180px)}
  .customer-topbar{position:static;align-items:flex-start;padding:14px 0;min-height:0;flex-direction:column}
  .customer-nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .customer-nav-link{justify-content:center;padding:0 8px}
  .customer-nav-link.home-link{display:none}
  .customer-nav-link.logout-link{margin-left:0}
  .portal-main{padding:24px 0 50px}
  .customer-welcome-card{padding:26px 24px;border-radius:17px}
  .customer-welcome-card h1{font-size:28px}
  .customer-welcome-badge{width:60px;height:60px;border-radius:18px}.customer-welcome-badge span{font-size:25px}
  .customer-quick-grid{grid-template-columns:1fr}
  .customer-empty-product{grid-template-columns:44px 1fr}.customer-empty-icon{width:44px;height:44px}.customer-inline-btn{grid-column:1/-1;width:100%}
  .customer-dashboard-side{grid-template-columns:1fr 1fr}
  .customer-documents-header{flex-direction:column}.customer-back-link{align-self:flex-start}
}
@media(max-width:560px){
  .customer-brand-copy small{display:none}
  .customer-nav-link{font-size:10px;gap:5px}.customer-nav-link svg{width:14px;height:14px}
  .customer-welcome-card{align-items:flex-start}.customer-welcome-badge{display:none}
  .customer-session-row{align-items:flex-start;line-height:1.45}
  .customer-section-block,.customer-software-panel,.customer-side-card{border-radius:15px}
  .customer-section-block,.customer-software-panel{padding:19px}
  .customer-dashboard-side{grid-template-columns:1fr}
  .customer-panel-head{align-items:flex-start;flex-direction:column;gap:10px}
  .customer-documents-page{padding:21px}
}


/* ==========================================================
   Kundencenter – Selbstregistrierung
   ========================================================== */
.customer-auth-shell{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);
  gap:32px;
  align-items:stretch;
  max-width:1080px;
  margin:22px auto 0;
}
.customer-auth-intro{
  position:relative;
  overflow:hidden;
  min-height:610px;
  padding:48px 42px;
  border-radius:22px;
  background:linear-gradient(145deg,#963d42 0%,#752e32 100%);
  color:#fff;
  box-shadow:0 20px 48px rgba(92,45,45,.14);
}
.customer-auth-intro:after{
  content:"";
  position:absolute;
  width:330px;
  height:330px;
  right:-175px;
  bottom:-120px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
}
.customer-auth-intro .customer-eyebrow{color:#f0d39a}
.customer-auth-intro h1{
  position:relative;
  z-index:1;
  margin:14px 0 16px;
  max-width:600px;
  font-size:38px;
  line-height:1.08;
  letter-spacing:-.8px;
}
.customer-auth-intro>p{
  position:relative;
  z-index:1;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.65;
}
.customer-auth-benefits{
  position:relative;
  z-index:1;
  display:grid;
  gap:15px;
  margin-top:42px;
}
.customer-auth-benefits>div{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:13px;
  align-items:start;
  padding:15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:13px;
  background:rgba(255,255,255,.055);
}
.customer-auth-benefits>div>span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:9px;
  background:rgba(238,208,148,.16);
  color:#f2d9a8;
  font-size:14px;
  font-weight:900;
}
.customer-auth-benefits p{margin:0}
.customer-auth-benefits strong{display:block;color:#fff;font-size:13px;margin-bottom:3px}
.customer-auth-benefits small{display:block;color:rgba(255,255,255,.65);font-size:11px;line-height:1.45}

.customer-auth-card{
  align-self:stretch;
  padding:31px;
  border:1px solid #e7dac9;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 44px rgba(69,50,33,.07);
}
.customer-auth-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  padding:5px;
  margin-bottom:27px;
  border-radius:12px;
  background:#f5efe7;
}
.customer-auth-tabs a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:41px;
  border-radius:9px;
  color:#777069;
  font-size:12px;
  font-weight:900;
}
.customer-auth-tabs a.active{
  background:#fff;
  color:#85373b;
  box-shadow:0 4px 14px rgba(61,45,31,.07);
}
.customer-auth-heading{margin-bottom:20px}
.customer-auth-heading>span{
  color:#a57835;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.1px;
  text-transform:uppercase;
}
.customer-auth-heading h2{
  margin:5px 0 6px;
  font-size:27px;
  letter-spacing:-.45px;
}
.customer-auth-heading p{
  margin:0;
  color:#756e68;
  font-size:12px;
  line-height:1.55;
}
.customer-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 13px;
}
.customer-form-grid .field.full{grid-column:1/-1}
.customer-auth-card .field{margin-bottom:14px}
.customer-auth-card .field label{font-size:10px;color:#514b46;font-weight:850}
.customer-auth-card .field input{
  min-height:45px;
  background:#fff;
  border-color:#ded2c3;
  border-radius:10px;
}
.customer-auth-card .field input:focus{
  border-color:#b98d4d;
  box-shadow:0 0 0 3px rgba(185,141,77,.10);
}
.customer-register-checks{
  display:grid;
  gap:10px;
  padding:15px;
  margin:4px 0 17px;
  border:1px solid #ebe0d2;
  border-radius:12px;
  background:#fbf8f4;
}
.customer-register-checks label{
  display:grid;
  grid-template-columns:17px 1fr;
  gap:9px;
  align-items:start;
  color:#625c56;
  font-size:10.5px;
  line-height:1.45;
  cursor:pointer;
}
.customer-register-checks input{margin-top:2px;accent-color:#8e393e}
.customer-register-checks a{
  color:#85373b;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}
.customer-auth-submit{
  width:100%;
  min-height:46px;
  border:0;
  border-radius:10px;
  background:#923a3f;
  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  transition:background .15s ease,transform .15s ease;
}
.customer-auth-submit:hover{background:#7c3034;transform:translateY(-1px)}
.customer-auth-small{
  margin:14px 0 0;
  text-align:center;
  color:#827a73;
  font-size:10px;
}
.customer-auth-small a{color:#85373b;font-weight:850}
.customer-auth-register-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:22px;
  padding:16px;
  border:1px solid #e8dccd;
  border-radius:13px;
  background:#fbf7f1;
}
.customer-auth-register-cta strong{
  display:block;
  color:#302c29;
  font-size:11px;
  margin-bottom:3px;
}
.customer-auth-register-cta span{
  display:block;
  color:#7c746d;
  font-size:9.5px;
  line-height:1.4;
}
.customer-auth-register-cta>a{
  flex:0 0 auto;
  color:#87373c;
  font-size:10px;
  font-weight:900;
}
.customer-honeypot{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.customer-success-notice{
  max-width:1080px;
  margin:0 auto 18px;
}
.customer-account-org{
  margin-bottom:4px!important;
  color:#4f4944!important;
  font-weight:800;
}
.self-register-badge{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  background:#edf4ff;
  color:#3f628d;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}

@media(max-width:920px){
  .customer-auth-shell{grid-template-columns:1fr;max-width:680px}
  .customer-auth-intro{min-height:auto;padding:34px}
  .customer-auth-intro h1{font-size:32px}
  .customer-auth-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:28px}
  .customer-auth-benefits>div{grid-template-columns:1fr;padding:12px}
}
@media(max-width:620px){
  .customer-auth-shell{margin-top:8px}
  .customer-auth-intro{padding:26px 23px;border-radius:17px}
  .customer-auth-intro h1{font-size:27px}
  .customer-auth-benefits{grid-template-columns:1fr}
  .customer-auth-benefits small{font-size:10px}
  .customer-auth-card{padding:21px;border-radius:17px}
  .customer-form-grid{grid-template-columns:1fr}
  .customer-form-grid .field.full{grid-column:auto}
  .customer-auth-register-cta{align-items:flex-start;flex-direction:column}
}


/* Registrierung Fix: AGB-Pflicht & bessere Fehlermeldungen */
.customer-register-checks label:has(input:checked){background:#fff;border-radius:8px;padding:6px 7px;margin:-6px -7px}
.customer-register-checks label:has(input:checked) span{color:#3f5143}
.customer-register-checks label:has(input:checked) a{color:#733035}
.customer-register-checks strong{font-weight:900}
