:root{--drk-blue:#003b7a;--drk-red:#e30613;--ww-dark-blue:#002b5b;--ww-beige:#f5f1e8;--text-main:#1b1b1b;--border:#d9d9d9}*{box-sizing:border-box}body{color:var(--text-main);background-color:#f4f7fb;margin:0;font-family:Inter,Arial,sans-serif}body:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(#e9f1fb 0%,#e9f1fb00 100%);height:220px;position:fixed;inset:0 0 auto}.portal-shell{max-width:900px;min-height:100vh;margin:0 auto;padding:24px 16px 48px}.portal-header{margin-bottom:16px}.portal-header-top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.portal-header-top.compact{align-items:center;gap:8px}.portal-header-title{flex:1;min-width:0}.portal-logo{flex-shrink:0;align-self:flex-start;width:36%;max-width:220px;height:auto;margin:0;display:block}.portal-logo.compact{width:24%;max-width:150px}.portal-header h1{color:var(--ww-dark-blue);margin:0}.brand-kicker{color:var(--drk-red);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.brand-kicker.compact{margin-bottom:2px;font-size:10px}.token-hint{color:#555;font-size:13px}.card{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:14px;padding:16px;box-shadow:0 2px 8px #002b5b0f}.card h2{color:var(--drk-blue);margin-top:0}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.summary-grid span{color:#666;font-size:12px;display:block}.summary-grid strong{font-size:15px}.portal-intro{margin:0 0 16px;font-size:15px;line-height:1.45}.portal-entry-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=720px){.portal-entry-grid{grid-template-columns:1fr 1fr;align-items:stretch}}.portal-entry-card{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;gap:10px;min-height:100%;padding:18px 16px;display:flex;box-shadow:0 2px 10px #002b5b0f}.portal-entry-card h2{color:var(--drk-blue);margin:0;font-size:17px}.portal-entry-card--primary{border-color:#003b7a40;box-shadow:0 4px 14px #003b7a14}.portal-entry-link{color:#fff;background:var(--ww-dark-blue);text-align:center;border-radius:8px;justify-content:center;align-items:center;margin-top:auto;padding:10px 14px;font-weight:600;text-decoration:none;display:inline-flex}.portal-entry-link:hover{opacity:.94}.portal-back-row{margin-bottom:12px}.portal-back-link{color:var(--drk-blue);font-size:14px;font-weight:500;text-decoration:none}.portal-back-link:hover{text-decoration:underline}.portal-doc-list{margin:0;padding:0;list-style:none}.portal-doc-list li{border-bottom:1px solid #e8edf3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.portal-doc-list li:last-child{border-bottom:0}button.portal-doc-download{background:var(--ww-dark-blue);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}button.portal-doc-download:disabled{opacity:.65;cursor:default}.portal-notice{color:#5c4a1a;background:#fff8e6;border:1px solid #f0e0b8;border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.45}.password-form{flex-direction:column;gap:10px;max-width:100%;display:flex}.password-form input{border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:16px}.password-form button{background:var(--ww-dark-blue);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:10px 12px;font-weight:600}.password-form button:disabled{opacity:.7;cursor:default}.muted{color:#666}.verify-pass-banner{background:linear-gradient(135deg,#f0faf3 0%,#e8f4ee 100%);border:1px solid #b8dfc4;border-radius:10px;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.verify-pass-icon{flex-shrink:0;line-height:0}.verify-pass-title{color:#14532a;align-self:center;margin:0;font-size:15px;display:block}.verify-status-line{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.verify-inline-check{vertical-align:middle;line-height:0;display:inline-flex}.verify-chief-card{background:linear-gradient(#f7fbff 0%,#f0f6fc 100%);border:1px solid #c9dbe8;border-radius:10px;margin-top:14px;padding:14px 16px}.verify-chief-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--drk-blue);margin-bottom:6px;font-size:11px;font-weight:700}.verify-chief-name{color:var(--ww-dark-blue);margin-bottom:8px;font-size:17px;font-weight:700}.verify-chief-meta{color:#444;font-size:14px}.verify-lehrschein-mono{color:#1b1b1b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.verify-more-trainers{line-height:1.45}.verify-more-label{color:#555;font-weight:600}.dummy-list{margin:0;padding-left:18px}.dummy-list li{margin-bottom:8px}.error{color:#900;background:#fff4f4;border-color:#eaa}.survey-meta-row{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.survey-progress-wrap{margin-bottom:16px}.survey-progress-label{color:#5a6472;margin-bottom:6px;font-size:12px}.survey-progress-bar{background:#e8edf3;border-radius:999px;height:8px;overflow:hidden}.survey-progress-value{background:linear-gradient(90deg,#003b7a 0%,#2e6db0 100%);border-radius:999px;height:100%;transition:width .2s}.survey-segment-nav{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.survey-segment-chip{color:#22415f;cursor:pointer;background:#f5f9fe;border:1px solid #d1dde9;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:600;display:inline-flex}.survey-segment-chip small{color:#5d728a;font-size:11px;font-weight:600}.survey-segment-chip.active{color:#fff;background:#0b4a8b;border-color:#0b4a8b}.survey-segment-chip.active small{color:#dce9f8}.survey-segment-chip.completed{background:#eefaf1;border-color:#b9e3c5}.question-pagination{color:#516072;margin-bottom:8px;font-size:12px}.survey-page-title{color:#12304f;margin:0 0 10px;font-size:16px}.survey-page-stack{gap:12px;display:grid}.survey-question-card{background:linear-gradient(#fff 0%,#fafcff 100%);border:1px solid #dfe6ef;border-radius:14px;margin-bottom:14px;padding:16px}.survey-question-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.survey-question-scope{color:#4f6074;background:#edf3fb;border-radius:999px;padding:5px 9px;font-size:11px}.survey-required-badge{color:#fff;background:var(--drk-red);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:600}.survey-question-card h3{color:#12304f;margin:0 0 14px;font-size:20px;line-height:1.35}.survey-validation-error{color:#b42318;margin:10px 0 0;font-size:13px;font-weight:600}.rating-group,.choice-group{flex-wrap:wrap;gap:8px;display:flex}.rating-chip,.choice-chip{color:#19395b;cursor:pointer;background:#fff;border:1px solid #c8d5e6;border-radius:10px;padding:9px 12px;font-weight:600}.rating-chip{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:76px;display:inline-flex}.rating-chip-value{font-size:16px;line-height:1}.rating-chip-label{color:#476282;font-size:10px;font-weight:500}.rating-chip.active .rating-chip-label{color:#dce9f8}.rating-chip.active,.choice-chip.active{color:#fff;background:#0b4a8b;border-color:#003b7a}.survey-textarea{resize:vertical;border:1px solid #cdd8e5;border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:15px}.survey-nav-row,.survey-action-row{flex-wrap:wrap;gap:10px;display:flex}.survey-nav-row{margin-bottom:12px}.survey-action-row{border-top:1px solid #ebeff4;padding-top:12px}.survey-action-row button,.survey-nav-row button.secondary{cursor:pointer;border:0;border-radius:10px;padding:10px 14px;font-weight:600}.survey-nav-row button.secondary{color:#24405e;background:#eef3f9}.survey-nav-row button.primary{color:#fff;background:#0b4a8b}.survey-action-row button:first-child{color:#173858;background:#eef3f9}.survey-action-row button:last-child{color:#fff;background:#0b4a8b}.survey-action-row button:disabled,.survey-nav-row button:disabled{opacity:.6;cursor:default}.survey-message{margin-top:10px}.survey-anonymous-note{color:#123b6d;background:#f2f8ff;border:1px solid #cfe3ff;border-radius:10px;margin:10px 0;padding:10px 12px;font-size:13px;font-weight:600}.autosave-hint{margin:-4px 0 10px;font-size:13px}.survey-intro-card{background:#f8fbff;border:1px solid #dfe6ef;border-radius:14px;padding:16px}.survey-intro-card h3{color:#12304f;margin:0 0 8px}.survey-intro-card ul{color:#36516d;gap:6px;margin:0 0 14px 18px;padding:0;display:grid}.survey-intro-card button.primary{cursor:pointer;color:#fff;background:#0b4a8b;border:0;border-radius:10px;padding:10px 14px;font-weight:600}.sticky-actions{z-index:4;background:#fff;border:1px solid #ebeff4;border-radius:12px;padding:12px;position:sticky;bottom:8px}.survey-success-card{background:#f2fbf5;border:1px solid #cde7d5;border-radius:14px;padding:16px}.survey-success-card h3{color:#14532d;margin:0 0 8px}.portal-footer{color:#6b7280;border-top:1px solid #d9e2ec;margin-top:28px;padding:12px 0;font-size:11px}.portal-footer-links{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-impressum-link{color:#6b7280;font-weight:600;text-decoration:none}.portal-impressum-link:hover{text-decoration:underline}.portal-wulffapps-link{color:#6b7280;align-items:center;gap:8px;font-weight:500;text-decoration:none;display:inline-flex}.portal-wulffapps-prefix{color:#9ca3af;font-size:11px}.portal-wulffapps-link:hover{color:#374151}.portal-wulffapps-logo{opacity:.9;object-fit:contain;width:auto;max-width:120px;height:18px;transition:all .2s;display:inline-block}.portal-wulffapps-link:hover .portal-wulffapps-logo{opacity:1}.legal-content{gap:14px;display:grid}.legal-content h3{color:#12304f;margin:0;font-size:18px}.legal-intro{color:#5b6675;margin:-6px 0 0}.legal-block{border-left:3px solid #d6e2f1;padding-left:12px}.legal-block h4{color:#223c58;margin:0 0 6px;font-size:15px}.legal-block p{color:#495567;margin:0 0 8px;line-height:1.55}.wulffapps-page{text-align:center;color:#4b5563}.wulffapps-page-logo{object-fit:contain;width:auto;max-width:320px;height:42px;margin:0 auto 12px;display:block}@media (width<=760px){.portal-header-top{flex-direction:column;align-items:flex-start;width:100%}.portal-logo{align-self:flex-start;width:70%;max-width:200px;margin-left:0}.portal-header-top.compact{flex-direction:row;align-items:flex-start}.portal-header-top.compact .portal-logo{align-self:flex-end;width:120px;max-width:120px;margin-left:auto}.portal-header-top.compact .portal-header-title h1{font-size:1.2rem;line-height:1.2}}
