.fds-portal{max-width:1100px;margin:30px auto;font-family:inherit}.fds-portal section{background:#fff;border:1px solid #ddd;border-radius:12px;padding:22px;margin:20px 0}.fds-portal-head,.fds-document-list article{display:flex;justify-content:space-between;align-items:center;gap:20px}.fds-auth-grid,.fds-contact-form,.fds-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fds-contact-form label,.fds-auth-grid label{display:flex;flex-direction:column;gap:6px}.fds-contact-form input,.fds-contact-form textarea,.fds-auth-grid input{padding:10px;border:1px solid #bbb;border-radius:6px}.fds-wide{grid-column:1/-1}.fds-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.fds-card{border:1px solid #ddd;border-radius:9px;padding:16px}.fds-document-list article{border-bottom:1px solid #eee;padding:14px 0}.fds-document-list small{display:block}.fds-btn,.fds-contact-form button,.fds-auth-grid button{background:#2271b1;color:#fff;border:0;border-radius:6px;padding:10px 15px;text-decoration:none;cursor:pointer}.fds-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:99999;padding:5vh 5vw}.fds-modal-box{background:#fff;max-width:900px;max-height:90vh;overflow:auto;margin:auto;border-radius:10px;padding:28px;position:relative}.fds-modal-close{position:absolute;right:12px;top:8px;font-size:28px;border:0;background:none;cursor:pointer}.fds-success,.fds-error{padding:12px;border-radius:6px;margin:10px 0}.fds-success{background:#e6f5ea}.fds-error{background:#fde8e8}@media(max-width:700px){.fds-auth-grid,.fds-contact-form{grid-template-columns:1fr}.fds-portal-head,.fds-document-list article{align-items:flex-start;flex-direction:column}.fds-wide{grid-column:auto}}

.fds-new-request summary,.fds-thread summary{cursor:pointer;font-weight:600;padding:12px 0}.fds-new-request form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:15px}.fds-new-request label{display:flex;flex-direction:column;gap:6px}.fds-new-request input,.fds-new-request select,.fds-new-request textarea,.fds-thread textarea{padding:10px;border:1px solid #bbb;border-radius:6px}.fds-thread{border-top:1px solid #ddd}.fds-thread summary{display:flex;justify-content:space-between;gap:15px}.fds-thread-body{padding:5px 0 18px}.fds-message{padding:12px 14px;border-radius:8px;margin:10px 0;background:#f2f4f6}.fds-message.staff{background:#e8f3fb}.fds-message small{display:block;opacity:.7}.fds-message p{margin-bottom:0}.fds-message-admin{display:grid;grid-template-columns:minmax(280px,35%) 1fr;gap:20px}.fds-message-admin aside table a{text-decoration:none}.fds-message-admin .fds-card{background:#fff}@media(max-width:800px){.fds-new-request form,.fds-message-admin{grid-template-columns:1fr}}

.fds-auth-links{margin-top:14px}.fds-auth-links a,.fds-account-grid a{font-weight:600}.fds-password-label{display:flex;flex-direction:column;gap:6px}.fds-password-wrap{display:flex;position:relative}.fds-password-wrap input{width:100%;padding-right:48px!important}.fds-password-toggle{position:absolute!important;right:3px;top:3px;bottom:3px;width:42px!important;min-width:42px!important;padding:0!important;border:0!important;background:transparent!important;color:#1d2327!important;font-size:18px}.fds-password-toggle.is-visible{background:#eef5ee!important}.fds-password-hint{grid-column:1/-1;margin:0;font-size:.9rem}.fds-account-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:24px}.fds-password-form{display:grid;gap:14px}.fds-btn-secondary{background:#50575e}.fds-portal input:focus,.fds-portal textarea:focus,.fds-portal select:focus{outline:3px solid rgba(34,113,177,.25);border-color:#2271b1}@media(max-width:700px){.fds-account-grid{grid-template-columns:1fr}.fds-password-toggle{min-height:auto!important}.fds-auth-grid button,.fds-contact-form button,.fds-password-form button,.fds-btn{min-height:44px}}
.fds-register-form,.fds-login-form,.fds-resend-form{display:grid;gap:14px}.fds-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px!important}.fds-check input{width:auto!important;margin-top:3px}.fds-required,.fds-optional{font-size:.76rem;font-weight:600;margin-left:5px}.fds-required{color:#a00}.fds-optional{color:#646970}.fds-auth-actions{display:flex;gap:10px;flex-wrap:wrap}.fds-resend-form{margin-top:24px;padding-top:20px;border-top:1px solid #ddd}.fds-welcome{padding:18px;border-radius:12px;background:#eef7ee;border:1px solid #b8d8b8;margin:18px 0}.fds-welcome p{margin:6px 0 0}.fds-dashboard .fds-progress{display:grid;gap:8px;margin-bottom:18px}.fds-progress>div{display:flex;justify-content:space-between;gap:15px}.fds-progress progress{width:100%;height:16px}.fds-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fds-dashboard-card{display:flex;min-height:125px;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;border:1px solid #dcdcde;border-radius:12px;padding:17px;text-decoration:none;color:inherit;background:#fff;transition:transform .15s ease,box-shadow .15s ease}.fds-dashboard-card:hover,.fds-dashboard-card:focus{transform:translateY(-2px);box-shadow:0 5px 18px rgba(0,0,0,.09)}.fds-dashboard-icon{font-size:28px}.fds-dashboard-card small{color:#646970}.fds-caps-warning,.fds-password-strength{font-size:.84rem;margin-top:5px}.fds-caps-warning{color:#9a6700}.fds-password-strength[data-strength="weak"]{color:#b32d2e}.fds-password-strength[data-strength="medium"]{color:#996800}.fds-password-strength[data-strength="strong"]{color:#008a20}@media(max-width:900px){.fds-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.fds-dashboard-grid{grid-template-columns:1fr}.fds-dashboard-card{min-height:92px}.fds-progress>div{flex-direction:column;gap:3px}}

/* FreiDeCa Kundenkonto Basis */
.fds-auth-portal{--fds-green:#315f45;--fds-green-dark:#244936;--fds-lime:#8aad45;--fds-cream:#f5f3eb;--fds-ink:#24302a;max-width:1120px;color:var(--fds-ink)}
.fds-auth-hero{overflow:hidden;position:relative;padding:32px clamp(20px,5vw,48px);border-radius:20px;background:linear-gradient(135deg,var(--fds-green-dark),var(--fds-green));color:#fff;box-shadow:0 18px 45px rgba(36,73,54,.2)}
.fds-auth-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;top:-130px;background:rgba(138,173,69,.23)}
.fds-auth-brand{display:flex;align-items:center;gap:20px;position:relative;z-index:1}.fds-auth-mark{display:grid;place-items:center;width:64px;height:64px;border:2px solid rgba(255,255,255,.72);border-radius:18px;font-size:32px;color:var(--fds-lime);background:rgba(255,255,255,.08)}
.fds-auth-kicker{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;opacity:.82}.fds-auth-hero h2{color:#fff;margin:3px 0 6px;font-size:clamp(1.65rem,3.5vw,2.55rem)}.fds-auth-hero p{margin:0;max-width:680px;opacity:.9}
.fds-auth-portal .fds-auth-grid{align-items:start;margin-top:22px}.fds-auth-portal .fds-auth-grid>section,.fds-auth-single{border:0;border-radius:18px;padding:clamp(20px,3vw,30px);box-shadow:0 10px 35px rgba(36,48,42,.09);background:#fff}
.fds-auth-portal .fds-auth-grid>section:first-child{border-top:5px solid var(--fds-green)}.fds-auth-portal .fds-auth-grid>section:last-child{border-top:5px solid var(--fds-lime)}
.fds-auth-portal h3{color:var(--fds-green-dark);margin-top:0}.fds-auth-portal label{font-weight:600;color:#34463d}.fds-auth-portal input{min-height:48px;border:1px solid #bdc9c1;border-radius:10px;background:#fbfcfb;padding:11px 13px}.fds-auth-portal input:hover{border-color:#799183}.fds-auth-portal input:focus{outline:3px solid rgba(138,173,69,.24)!important;border-color:var(--fds-green)!important;background:#fff}
.fds-auth-portal .fds-login-form>button,.fds-auth-portal .fds-register-form>button,.fds-auth-portal .fds-reset-request-form>button,.fds-auth-portal .fds-password-form>button{min-height:48px;border-radius:10px;background:var(--fds-green);font-weight:700;font-size:1rem;transition:background .15s ease,transform .15s ease}.fds-auth-portal form>button:hover,.fds-auth-portal form>button:focus{background:var(--fds-green-dark);transform:translateY(-1px)}
.fds-auth-portal .fds-btn-secondary{background:#eef2ee;color:var(--fds-green-dark);border:1px solid #c8d4cc}.fds-auth-portal .fds-auth-links a{color:var(--fds-green);text-decoration-thickness:1px;text-underline-offset:3px}.fds-auth-single{max-width:620px;margin:24px auto!important;border-top:5px solid var(--fds-lime)!important}.fds-reset-request-form{display:grid;gap:16px}.fds-reset-request-form label{display:flex;flex-direction:column;gap:7px}.fds-auth-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--fds-cream);font-size:28px;margin-bottom:16px}.fds-auth-portal .fds-success{border-left:5px solid var(--fds-lime);background:#edf6e5}.fds-auth-portal .fds-error{border-left:5px solid #b44;background:#fff0ef}
@media(max-width:700px){.fds-auth-portal{margin:12px auto}.fds-auth-hero{border-radius:14px;padding:24px 18px}.fds-auth-brand{align-items:flex-start}.fds-auth-mark{width:50px;height:50px;border-radius:13px;font-size:25px;flex:0 0 auto}.fds-auth-portal .fds-auth-grid>section,.fds-auth-single{border-radius:14px;padding:20px 16px}}

/* FreiDeCa Bild-Login 0.5.2-dev.5.3 */
.fds-auth-portal{max-width:1500px;margin:0 auto;padding:20px;box-sizing:border-box}
.fds-auth-shell{display:grid;grid-template-columns:minmax(420px,1.12fr) minmax(420px,.88fr);min-height:820px;border-radius:24px;overflow:hidden;background:#f7f5ef;box-shadow:0 24px 70px rgba(22,38,26,.18)}
.fds-auth-visual{min-height:820px;background-image:url('freideca-login-visual.jpg');background-size:cover;background-position:center center;background-repeat:no-repeat;position:relative}
.fds-auth-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 75%,rgba(247,245,239,.3))}
.fds-auth-main{padding:clamp(26px,4vw,58px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#fbfaf7,#f1eee6)}
.fds-auth-main .fds-auth-hero{padding:0 0 24px;background:none;color:#18251d;box-shadow:none;border-radius:0}
.fds-auth-main .fds-auth-hero:after{display:none}.fds-auth-main .fds-auth-brand{align-items:flex-start}.fds-auth-main .fds-auth-mark{background:#315f45;color:#fff;border:0;box-shadow:0 8px 20px rgba(49,95,69,.22)}
.fds-auth-main .fds-auth-kicker{color:#315f45;font-weight:800;opacity:1}.fds-auth-main .fds-auth-hero h2{color:#17241c;font-size:clamp(2rem,3.2vw,3rem)}.fds-auth-main .fds-auth-hero p{color:#526057;opacity:1}
.fds-auth-portal .fds-auth-grid{display:block;margin:0}.fds-auth-portal .fds-auth-grid>section{margin:0;padding:clamp(24px,3vw,38px);border-top:5px solid #315f45;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 36px rgba(36,48,42,.1)}
.fds-auth-portal .fds-login-form{gap:17px}.fds-auth-portal .fds-login-form>button{background:linear-gradient(90deg,#315f45,#446f27);font-size:1.08rem;text-transform:uppercase;letter-spacing:.04em}
.fds-auth-portal .fds-register-panel{margin-top:18px;border:1px solid #d9d6cc;border-radius:16px;background:rgba(255,255,255,.72);overflow:hidden}
.fds-auth-portal .fds-register-panel summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#24302a}.fds-auth-portal .fds-register-panel summary::-webkit-details-marker{display:none}.fds-auth-portal .fds-register-panel summary:after{content:"+";display:grid;place-items:center;width:34px;height:34px;border:1px solid #315f45;border-radius:50%;font-size:24px;color:#315f45}.fds-auth-portal .fds-register-panel[open] summary:after{content:"−"}.fds-auth-portal .fds-register-panel summary span{margin-left:auto;color:#315f45;font-weight:700}.fds-register-inner{padding:4px 22px 24px;border-top:1px solid #e5e1d7}.fds-register-inner h3{margin-top:22px}
.fds-auth-portal .fds-auth-actions{display:none}.fds-auth-portal .fds-auth-links{display:flex;justify-content:flex-end;margin:-2px 0 2px}.fds-auth-portal .fds-check{font-weight:400}
.fds-auth-main .fds-auth-single{max-width:none;width:auto;margin:0!important}
@media(max-width:1050px){.fds-auth-shell{grid-template-columns:.9fr 1.1fr;min-height:760px}.fds-auth-visual{min-height:760px;background-position:43% center}.fds-auth-main{padding:32px}}
@media(max-width:820px){.fds-auth-portal{padding:0}.fds-auth-shell{display:block;min-height:0;border-radius:0}.fds-auth-visual{min-height:330px;background-size:cover;background-position:center 31%}.fds-auth-visual:after{background:linear-gradient(0deg,rgba(247,245,239,.85),transparent 45%)}.fds-auth-main{padding:24px 18px 38px}.fds-auth-main .fds-auth-hero{padding-bottom:18px}.fds-auth-main .fds-auth-mark{display:none}}
@media(max-width:520px){.fds-auth-visual{min-height:245px;background-position:center 28%}.fds-auth-main{padding:20px 12px 30px}.fds-auth-portal .fds-auth-grid>section{padding:22px 16px}.fds-auth-portal .fds-register-panel summary{padding:17px 16px;align-items:flex-start;flex-wrap:wrap}.fds-auth-portal .fds-register-panel summary span{order:3;width:100%;margin:0}.fds-register-inner{padding:2px 16px 20px}}


/* Sicherer roter Abmelde-Button im Kundenportal */
.fds-portal-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.fds-portal-head .fds-logout-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 17px;border:1px solid #a51e25;border-radius:11px;background:#c62828;color:#fff!important;font-weight:800;text-decoration:none;box-shadow:0 6px 16px rgba(198,40,40,.22)}.fds-portal-head .fds-logout-button:hover,.fds-portal-head .fds-logout-button:focus{background:#9f1f1f;color:#fff!important;transform:translateY(-1px)}
@media(max-width:620px){.fds-portal-head{align-items:stretch;flex-direction:column}.fds-portal-head .fds-logout-button{width:100%}}
/* FreiDeCa Studio 017.2.2 inspired unified customer workspace */
.fds-portal:not(.fds-auth-portal){position:relative;max-width:1500px!important;margin:24px auto!important;padding:28px 28px 40px 292px!important;min-height:850px;background:#f4f7f2!important;border-radius:24px;box-shadow:0 22px 60px rgba(17,45,31,.14);overflow:hidden}.fds-portal:not(.fds-auth-portal):before{content:"FreiDeCa\A STUDIO\A\A HAUPTMENÜ\A  Übersicht\A  Meine Fahrzeuge\A  Mein Profil\A  Dokumente\A  Nachrichten\A  Serviceanfragen\A\A FreiDeCa\A Freizeit · Design · Camping";white-space:pre-line;position:absolute;inset:0 auto 0 0;width:220px;padding:34px 26px;background:linear-gradient(180deg,#173a2a,#102b20);color:#fff;font-size:15px;line-height:2.2;font-weight:650;letter-spacing:.01em;border-right:5px solid #d4aa28}.fds-portal:not(.fds-auth-portal):after{content:"KUNDENPORTAL";position:absolute;left:26px;top:108px;color:#a9bea9;font-size:10px;font-weight:800;letter-spacing:.17em}.fds-portal-head{margin:-28px -28px 28px!important;padding:20px 28px!important;background:#fff!important;border-bottom:1px solid #dde6da;box-shadow:0 5px 18px rgba(26,55,38,.06)}.fds-portal-head h2{color:#173a2a!important}.fds-logout-button{background:#c83232!important;border-radius:11px!important;box-shadow:0 7px 16px rgba(200,50,50,.22)}.fds-dashboard,.fds-portal section{border-radius:18px!important;border:1px solid #dfe7dc!important;box-shadow:0 8px 24px rgba(24,57,39,.06)!important}.fds-dashboard-card{border-radius:15px!important;border:1px solid #dde7d8!important}.fds-dashboard-card:hover{border-color:#8fa75d!important;transform:translateY(-2px)}@media(max-width:980px){.fds-portal:not(.fds-auth-portal){padding:100px 18px 30px!important}.fds-portal:not(.fds-auth-portal):before{inset:0 0 auto 0;width:auto;height:54px;padding:18px 20px;white-space:normal;content:"FreiDeCa Studio · Kundenportal"}.fds-portal:not(.fds-auth-portal):after{display:none}.fds-portal-head{margin:-46px -18px 24px!important}}
