:root{--bg:#f4f6f8;--card:#fff;--text:#17212b;--muted:#667085;--line:#dde3ea;--pisa:#0c4f78;--ki:#6a3ea1;--ok:#19764b;--warn:#a66b00;--danger:#9e2a2a}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{color:#0b67a3;text-decoration:none}a:hover{text-decoration:underline}.top{background:#fff;border-bottom:1px solid var(--line);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5;gap:15px}.brand{font-size:22px;font-weight:800}.sub{font-size:12px;color:var(--muted)}.wrap{max-width:1700px;margin:0 auto;padding:22px}.cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:18px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 8px rgba(16,24,40,.04)}.kpi{font-size:28px;font-weight:800}.muted{color:var(--muted)}.toolbar,.actions,.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar{margin-bottom:14px}.btn,.tab{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:9px;cursor:pointer;color:var(--text);font-weight:700}.btn.primary{background:#164e70;color:#fff;border-color:#164e70}.tab.active{background:#17212b;color:#fff}.search,input,select,textarea{font:inherit}.search{min-width:320px;padding:10px 12px;border:1px solid var(--line);border-radius:9px}.filters{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:14px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.filter-row select{padding:9px;border:1px solid var(--line);border-radius:8px}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.filter-grid label{font-size:12px;font-weight:700}.filter-grid textarea{width:100%;margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:8px;resize:vertical}.tablebox{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:1000px}th,td{padding:11px 12px;border-bottom:1px solid #edf0f3;text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:#667085;background:#fafbfc;position:sticky;top:0}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}.badge.pisa{background:#e7f3f9;color:#0c4f78}.badge.ki{background:#f0e9f8;color:#60358f}.score{display:inline-block;padding:5px 9px;border-radius:999px;font-weight:800;font-size:12px}.score-high{background:#e5f6ec;color:#17623d}.score-mid{background:#fff3d9;color:#8a5b00}.score-low{background:#f3f4f6;color:#56606b}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}.section h1{margin-top:0}.section h2{margin:0 0 14px;font-size:18px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.field{padding:10px 0}.field b{display:block;font-size:12px;color:#667085;margin-bottom:4px}.alert{padding:12px 14px;border-radius:9px;margin:12px 0}.alert.error{background:#fdecec;color:#8a1f1f}.alert.ok{background:#eaf7ef;color:#17623d}.login-bg{min-height:100vh;display:grid;place-items:center;background:#edf1f5}.install-card,.login-card{width:min(680px,92vw);background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 16px 50px rgba(16,24,40,.10)}.form-grid{display:grid;gap:12px}.form-grid.two-cols{grid-template-columns:1fr 1fr}.span2{grid-column:1/-1}.form-grid label{font-weight:700;font-size:13px}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:8px}.form-grid small{display:block;margin-top:4px;color:var(--muted);font-weight:400}.form-grid hr{border:0;border-top:1px solid var(--line);width:100%}.participant{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.participant-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:16px;margin-top:8px}.small{font-size:12px}.source-list{word-break:break-all}.review{background:#fff7e6}.footer{padding:30px;text-align:center;color:#667085;font-size:12px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#eef2f6;border:1px solid #dce3ea;padding:6px 9px;border-radius:999px;font-size:12px}.note{border-top:1px solid var(--line);padding:10px 0;font-size:13px}.inline select{padding:7px;border:1px solid var(--line);border-radius:7px}code{background:#f2f4f7;padding:2px 5px;border-radius:5px}@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}.grid2,.detail-grid,.participant-grid,.filter-grid,.form-grid.two-cols{grid-template-columns:1fr}.span2{grid-column:auto}.search{min-width:100%}.wrap{padding:12px}.top{align-items:flex-start;flex-direction:column}}
.password-wrap{position:relative;margin-top:5px}.password-wrap input{margin-top:0!important;padding-right:52px!important}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;font-size:20px;line-height:1;padding:7px;border-radius:7px}.password-toggle:hover{background:#eef2f6}.password-toggle:focus{outline:2px solid #164e70;outline-offset:1px}

.user-status{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;line-height:1.2}.status-detail{font-size:11px;color:var(--muted);margin-top:5px}.status-invited{background:#fff3d9;color:#8a5b00}.status-expired{background:#fdecec;color:#8a1f1f}.status-waiting{background:#e8f0fe;color:#2457a7}.status-active{background:#e5f6ec;color:#17623d}.status-new{background:#f3f4f6;color:#56606b}.status-inactive{background:#eceef1;color:#555}.status-failed{background:#fdecec;color:#8a1f1f}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.section-head h2{margin:0}.subsection{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafbfc}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:7px 12px;margin-top:8px}.check-item{display:flex;align-items:flex-start;gap:7px;font-size:13px;font-weight:500!important}.check-item input{width:auto!important;margin:2px 0 0!important}.filter-details{border:0}.filter-details summary{font-weight:800;cursor:pointer;margin:8px 0 12px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.filter-grid>div,.filter-grid>label{border:1px solid #edf0f3;border-radius:9px;padding:10px;background:#fafbfc}.participant-form,.participant-editor{margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}.participant-editor+ .participant-editor{margin-top:14px}.customer-card{border:1px solid var(--line);border-radius:12px;margin:10px 0;background:#fff;overflow:hidden}.customer-card summary{cursor:pointer;padding:14px 16px;display:flex;justify-content:space-between;gap:15px;align-items:center}.customer-card summary span{font-size:12px;color:var(--muted)}.customer-users{padding:0 16px 16px}.postal-choice{display:block;width:100%;margin-top:6px;padding:8px;border:1px solid var(--line);border-radius:8px}.certainty{font-size:12px;color:var(--muted)}h3{margin:10px 0 6px;font-size:15px}@media(max-width:900px){.check-grid{grid-template-columns:1fr}.customer-card summary{align-items:flex-start;flex-direction:column}.filter-grid{grid-template-columns:1fr}}

/* 0.1.7 – gespeicherte Filter */
.saved-filter-box{margin-bottom:14px}.saved-filter-list{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.saved-filter-item{display:flex;gap:5px;align-items:center}.saved-filter-item form{margin:0}.btn-small{padding:7px 10px;font-size:.88rem}.save-filter-form{display:flex;gap:10px;align-items:center;margin:10px 0 18px}.save-filter-form input{min-width:320px;max-width:560px;flex:1}

/* 0.1.9 – Statuslogik, Mehrfachnutzungen, Kundenbearbeitung und Markenbereich */
.brand-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.version-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#eef2f6;border:1px solid #dce3ea;color:#475467;font-size:11px;font-weight:800}.filter-shell{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:18px;overflow:visible}.filter-shell-summary{min-height:52px;display:flex;align-items:center;gap:18px;padding:13px 16px;cursor:pointer;font-weight:700;list-style:none;border-radius:14px}.filter-shell-summary::-webkit-details-marker{display:none}.filter-shell-summary:before{content:'>';font-size:16px;color:#667085;transition:transform .15s ease}.filter-shell[open] .filter-shell-summary:before{transform:rotate(90deg)}.filter-shell-summary .active-filter-name{font-size:12px;color:#0c4f78;background:#e7f3f9;padding:5px 9px;border-radius:999px}.filter-open-hint{margin-left:auto;position:relative;display:inline-flex;align-items:center;gap:8px;color:#fff;background:#155b7c;border:1px solid #155b7c;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:800;white-space:nowrap;box-shadow:0 2px 5px rgba(16,24,40,.10)}.filter-open-hint:hover{background:#0f4e6c;border-color:#0f4e6c}.filter-info-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#fff;color:#155b7c;font-size:12px;font-weight:900;cursor:help;outline:none;flex:0 0 auto}.filter-info-button:focus{box-shadow:0 0 0 3px rgba(255,255,255,.35)}.filter-info-button:after{content:attr(data-tooltip);position:absolute;right:-4px;top:calc(100% + 12px);z-index:40;width:340px;white-space:normal;background:#17212b;color:#fff;padding:11px 13px;border-radius:10px;font-size:12px;font-weight:600;line-height:1.45;box-shadow:0 10px 28px rgba(16,24,40,.24);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease,visibility .12s}.filter-info-button:before{content:'';position:absolute;right:5px;top:calc(100% + 5px);z-index:41;border:7px solid transparent;border-bottom-color:#17212b;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s}.filter-info-button:hover:after,.filter-info-button:focus:after,.filter-info-button.tooltip-open:after,.filter-info-button:hover:before,.filter-info-button:focus:before,.filter-info-button.tooltip-open:before{opacity:1;visibility:visible;transform:translateY(0)}.filter-shell[open] .filter-open-label{font-size:0}.filter-shell[open] .filter-open-label:after{content:'Filter schliessen';font-size:13px}.filter-shell-body{border-top:1px solid var(--line);padding:14px;background:#fff;border-radius:0 0 14px 14px}.saved-filter-inline{padding:2px 0 14px}.saved-filter-inline .section-head{margin-bottom:8px}.saved-filter-inline h2{font-size:16px}.filters-expanded{border:0;border-radius:0;padding:0;margin:0 0 10px;box-shadow:none}.active-saved-filter{background:#e7f3f9;border-color:#a9d3e8;color:#0c4f78}.save-filter-form{margin-bottom:2px}@media(max-width:900px){.filter-shell-summary{align-items:flex-start;flex-wrap:wrap}.filter-open-hint{margin-left:0;width:100%;justify-content:center}.filter-info-button:after{right:auto;left:50%;transform:translate(-50%,-4px);width:min(330px,78vw)}.filter-info-button:hover:after,.filter-info-button:focus:after,.filter-info-button.tooltip-open:after{transform:translate(-50%,0)}.filter-info-button:before{right:auto;left:50%;transform:translateX(-50%)}}

.brand-wrap{display:flex;align-items:center;gap:12px}.pisa-logo{width:52px;height:52px;object-fit:contain;flex:0 0 auto}@media(max-width:800px){.pisa-logo{width:40px;height:40px}}

/* 0.1.9 – Original PISA logos */
.brand-logos{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.pisa-logo-professional{width:78px;height:52px;object-fit:contain}
.pisa-logo-sustainability{width:52px;height:52px;object-fit:contain}
.login-logos{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 18px}
.login-logo{display:block;object-fit:contain}
.login-logo-professional{width:150px;height:100px}
.login-logo-sustainability{width:100px;height:100px}
@media(max-width:800px){.brand-logos{gap:5px}.pisa-logo-professional{width:60px;height:40px}.pisa-logo-sustainability{width:40px;height:40px}.login-logo-professional{width:120px;height:80px}.login-logo-sustainability{width:80px;height:80px}}

/* 0.1.11 – authentifizierter SMTP-Versand und aktualisiertes PISA-Logo */
.top-brand-left{display:flex;align-items:center;gap:12px;min-width:240px}.top-brand-right{display:flex;align-items:center;justify-content:flex-end;min-width:70px}.top-nav{justify-content:center;flex:1}.period-filter{display:grid;grid-template-columns:1fr 110px;gap:8px;margin-top:8px}.period-filter input,.period-filter select{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.master-suggestions{position:relative;z-index:20;margin-top:4px;border-radius:9px;overflow:hidden;box-shadow:0 8px 24px rgba(16,24,40,.12)}.master-suggestion,.master-new{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--line);border-top:0;background:#fff;padding:9px 10px;cursor:pointer;text-align:left}.master-suggestion:first-child{border-top:1px solid var(--line)}.master-suggestion:hover,.master-new:hover{background:#f3f7fa}.master-suggestion span{font-size:11px;color:var(--muted)}.master-new{font-weight:700;color:#0c4f78}
.master-current{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;background:#eef7f2;border:1px solid #cce7d8;border-radius:8px;padding:9px!important}.master-current input{width:auto!important;margin:0!important}
.file-list{display:grid;gap:8px}.file-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}.file-row span{color:var(--muted);font-size:12px}
.support-match-results:empty{display:none}.support-match-list{display:grid;gap:6px;margin-top:8px}.support-match-list a{display:block}.customer-card form{margin-bottom:10px}
@media(max-width:1100px){.top{flex-wrap:wrap}.top-nav{order:3;width:100%;justify-content:flex-start}.top-brand-right{margin-left:auto}}
@media(max-width:700px){.top-brand-right{position:absolute;right:12px;top:12px}.top-brand-left{padding-right:55px}.period-filter{grid-template-columns:1fr}}

/* 0.1.14 Recherchevorschlaege Diagnose */
.research-diagnostics{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 16px}.research-diagnostics span{background:#f3f6f8;border:1px solid #dde5ea;border-radius:999px;padding:7px 11px;font-size:.92rem}.research-diagnostics b{color:#123d56}

/* 0.1.16 – Schnellfilter, Export und API */
.scope-card{display:block;color:var(--text);text-decoration:none;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;cursor:pointer}.scope-card:hover{text-decoration:none;transform:translateY(-1px);border-color:#a9c6d7;box-shadow:0 5px 14px rgba(16,24,40,.08)}.scope-card.active{border:2px solid #155b7c;background:#f0f7fb}.scope-card-hint{margin-top:7px;font-size:11px;color:var(--muted);font-weight:700}.project-scope-filter{border:1px solid #dce5eb;background:#f7fafc;border-radius:10px;padding:12px;margin-bottom:12px}.project-scope-filter>b{display:block;margin-bottom:8px}.scope-tabs{display:flex;gap:8px;flex-wrap:wrap}.scope-option{display:inline-flex!important;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px!important;font-size:13px!important;cursor:pointer}.scope-option input{width:auto!important;margin:0!important}.scope-option.active{background:#155b7c;color:#fff;border-color:#155b7c}.export-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:14px 0}.project-select,#select-all-projects{width:18px;height:18px;cursor:pointer}.research-assignment-form{display:grid;grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) auto;gap:8px;align-items:end}.research-assignment-form label{display:grid;gap:4px;font-size:11px;color:var(--muted);font-weight:700}.research-assignment-form select{min-width:0;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.api-key-reveal{border:2px solid #19764b;background:#eaf7ef;border-radius:12px;padding:14px;margin:14px 0}.api-key-reveal code{display:block;font-size:15px;word-break:break-all;margin:10px 0;padding:12px;background:#fff;border:1px solid #cce7d8}.api-create-form input{padding:9px 12px;border:1px solid var(--line);border-radius:9px;min-width:220px}@media(max-width:900px){.research-assignment-form{grid-template-columns:1fr}.export-toolbar{align-items:flex-start}.scope-tabs{display:grid;grid-template-columns:1fr}.scope-option{width:100%}}

/* 0.1.17 – klarere Filter-/Exportbereiche und Exportdialog */
.filter-shell{background:#fff9df;border-color:#eadf9b}.filter-shell-summary{background:#fff9df}.filter-shell[open] .filter-shell-summary{border-radius:14px 14px 0 0}.filter-shell-body{background:#fffdf4}.export-toolbar-accent{background:#eef6fb;border-color:#cbdfea}.export-open-button{background:#2b6f91;color:#fff;border-color:#2b6f91;box-shadow:0 2px 6px rgba(16,24,40,.10)}.export-open-button:hover{background:#235f7d;border-color:#235f7d}.export-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none}.export-dialog::backdrop{background:rgba(23,33,43,.42)}.export-dialog-card{width:min(720px,92vw);background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 20px 60px rgba(16,24,40,.24)}.export-dialog .section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.export-dialog h2{margin:0 0 4px}.dialog-close{border:0;background:transparent;font-size:30px;line-height:1;color:#667085;cursor:pointer;padding:0 4px}.export-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.export-choice-grid fieldset{border:1px solid var(--line);border-radius:12px;padding:12px}.export-choice-grid legend{font-weight:800;padding:0 6px}.export-choice{display:flex;align-items:flex-start;gap:10px;padding:11px 10px;border-radius:10px;cursor:pointer}.export-choice:hover{background:#f7f9fb}.export-choice input{margin-top:3px}.export-choice span{display:grid;gap:3px}.export-choice small{color:var(--muted);font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media(max-width:700px){.export-choice-grid{grid-template-columns:1fr}.export-toolbar-accent{align-items:stretch}.export-open-button{width:100%}}

/* 0.1.21: kompakte Dialoge und fixierte Projektlisten-Steuerung */
[hidden]{display:none!important}
.project-dialog{border:0;padding:0;background:transparent;max-width:min(1050px,94vw);width:94vw;max-height:90vh;overflow:visible}
.project-dialog::backdrop{background:rgba(15,23,42,.45)}
.project-dialog-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 24px 70px rgba(15,23,42,.24);max-height:88vh;overflow:auto}
.project-dialog .section-head{position:sticky;top:-20px;background:#fff;z-index:2;padding:4px 0 12px;border-bottom:1px solid var(--line);margin-bottom:14px}
.project-dialog .dialog-close{border:0;background:#f3f5f7;border-radius:999px;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer}
@media(min-width:901px){
  .project-scope-cards{position:sticky;top:78px;z-index:4;background:var(--bg);padding-top:8px;margin-bottom:8px}
  details.filter-shell{position:sticky;top:248px;z-index:4;background:var(--bg);padding-top:4px}
  details.filter-shell[open]{position:relative;top:auto;z-index:2}
  .export-toolbar-accent{position:sticky;top:324px;z-index:3;box-shadow:0 4px 12px rgba(15,23,42,.08)}
}

/* 0.1.22: konsistente Anreden-Nachpflege */
.btn.attention{border-color:#c58a00;background:#fff5cf;color:#6d4b00}
.missing-salutation{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;background:#fff1c7;color:#815900;font-size:.74rem;font-weight:700;vertical-align:middle}
.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.crm-cards{grid-template-columns:repeat(3,minmax(180px,1fr))}.crm-review-card{background:#fff7e6;border-color:#efd6a1}.crm-review-row{background:#fffaf0}.crm-warning{display:inline-block;color:#8a5b00;background:#fff3d9;border:1px solid #efd6a1;border-radius:999px;padding:3px 7px;font-weight:700}.crm-change-company{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafbfc}.crm-change-company summary{cursor:pointer;font-weight:800}.master-current{display:flex!important;align-items:center;gap:8px}.master-current input{width:auto!important;margin:0!important}@media(max-width:900px){.crm-cards{grid-template-columns:1fr}}

/* 0.1.27 – Firmen & Ansprechpartner: grosszuegige, skalierbare CRM-Darstellung */
.crm-browser-shell{width:100%}
.crm-browser-head{padding:22px 24px 16px;overflow:visible}
.crm-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:14px}
.crm-title-row h1{font-size:28px;line-height:1.15;margin:0 0 6px;color:#14213d}
.crm-title-row p{margin:0;font-size:15px}
.crm-head-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;flex-wrap:wrap;max-width:620px}
.crm-info-note{display:flex;align-items:center;gap:11px;max-width:390px;padding:11px 14px;border:1px solid #cfe0f3;border-radius:10px;background:#f3f8fe;color:#315985;font-size:13px;line-height:1.4}
.crm-info-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#1769c2;color:#fff;font-size:12px;font-weight:900;flex:0 0 auto}
.crm-tabs{display:flex;gap:8px;border-bottom:1px solid #e7edf4;margin:6px 0 14px}
.crm-tab{display:inline-flex;align-items:center;gap:9px;padding:11px 16px 12px;border:1px solid transparent;border-bottom:0;border-radius:10px 10px 0 0;color:#58667a;font-weight:700;text-decoration:none;background:#f9fbfd}
.crm-tab:hover{text-decoration:none;background:#f4f8fc;color:#1769c2}
.crm-tab.active{background:#fff;color:#1769c2;border-color:#cfe0f3;box-shadow:0 -2px 0 #2f80ed inset}
.crm-tab-icon{font-size:18px;line-height:1}
.crm-searchbar{display:grid;grid-template-columns:minmax(360px,1fr) 170px auto;gap:12px;align-items:center;padding:12px;border:1px solid #e5ebf2;border-radius:12px;background:#fff}
.crm-search-input-wrap{position:relative;min-width:0}
.crm-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:22px;color:#61738a;pointer-events:none}
.crm-search-input{width:100%;height:48px;border:1px solid #d7e0ea;border-radius:10px;padding:0 14px 0 44px;background:#fff;color:#17212b;outline:none}
.crm-search-input:focus{border-color:#7eb3e7;box-shadow:0 0 0 3px rgba(47,128,237,.10)}
.crm-search-button{height:48px;font-size:15px;background:#0d6fdc!important;border-color:#0d6fdc!important}
.crm-reset-button{height:48px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.crm-list-section{padding:0;overflow:hidden}
.crm-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px 12px}
.crm-result-count{font-size:15px;color:#344054}.crm-result-count strong{font-size:18px;color:#17212b}
.crm-sort-form label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:#475467;white-space:nowrap}
.crm-sort-form select{min-width:220px;padding:9px 36px 9px 12px;border:1px solid #d7e0ea;border-radius:9px;background:#fff}
.crm-review-compact{margin:0 18px 12px;padding:9px 12px;border:1px solid #efd6a1;border-radius:9px;background:#fffaf0;color:#7a5700;font-size:13px}
.crm-tablebox{border:0;border-top:1px solid #edf1f5;border-radius:0;overflow-x:auto;overflow-y:visible}
.crm-table{min-width:1040px;table-layout:fixed}
.crm-table th{position:static;background:#f2f6f9;color:#53657a;font-size:12px;letter-spacing:.01em;padding:13px 18px}
.crm-table td{padding:14px 18px;vertical-align:middle;height:66px;background:#fff}
.crm-table tbody tr:hover td{background:#fbfdff}
.crm-table th:nth-child(1),.crm-table td:nth-child(1){width:32%}
.crm-table th:nth-child(2),.crm-table td:nth-child(2){width:18%}
.crm-table th:nth-child(3),.crm-table td:nth-child(3){width:15%}
.crm-table th:nth-child(4),.crm-table td:nth-child(4){width:17%}
.crm-table th:nth-child(5),.crm-table td:nth-child(5){width:18%;min-width:205px}
.crm-person-table th:nth-child(1),.crm-person-table td:nth-child(1){width:24%}
.crm-person-table th:nth-child(2),.crm-person-table td:nth-child(2){width:24%}
.crm-person-table th:nth-child(3),.crm-person-table td:nth-child(3){width:24%}
.crm-person-table th:nth-child(4),.crm-person-table td:nth-child(4){width:12%}
.crm-person-table th:nth-child(5),.crm-person-table td:nth-child(5){width:16%;min-width:205px}
.crm-company-name{font-size:15px;color:#15243b}
.crm-subline{margin-top:3px;color:#7a8797;font-size:11px}
.crm-count-link{font-weight:700;color:#0d6fdc;white-space:nowrap}
.crm-action-col,.crm-action-cell{white-space:nowrap;text-align:left!important}
.crm-open-btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-width:180px;height:46px;padding:0 14px;border:1px solid #c9dff6;border-radius:10px;background:#f4f9ff;color:#0d63bd;font-size:14px;font-weight:800;white-space:nowrap;line-height:1;text-decoration:none!important;overflow:visible}
.crm-open-btn:hover{background:#eaf4ff;border-color:#9fc7ef;text-decoration:none}
.crm-open-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;font-size:17px;line-height:1;flex:0 0 20px}
.crm-open-arrow{margin-left:auto;font-size:24px;font-weight:400;line-height:1;color:#287bcf}
@media(max-width:1100px){
 .crm-title-row{flex-direction:column}.crm-head-actions{width:100%;max-width:none;justify-content:flex-start}.crm-info-note{max-width:none}
 .crm-searchbar{grid-template-columns:minmax(280px,1fr) 150px}.crm-reset-button{grid-column:1/-1;width:max-content}
 .crm-list-toolbar{align-items:flex-start;flex-direction:column}.crm-sort-form{width:100%}.crm-sort-form label{justify-content:space-between}.crm-sort-form select{flex:1;max-width:360px}
}
@media(max-width:720px){
 .crm-browser-head{padding:16px}.crm-title-row h1{font-size:24px}.crm-tabs{overflow-x:auto}.crm-tab{white-space:nowrap}
 .crm-searchbar{grid-template-columns:1fr}.crm-search-button,.crm-reset-button{width:100%}
 .crm-table{min-width:900px}.crm-open-btn{min-width:170px}
}

/* 0.1.28 – Kunden-Dashboard, Firmenlogos und sticky CRM-Suche */
@media(min-width:901px){
  .crm-browser-head{position:sticky;top:82px;z-index:4;box-shadow:0 8px 20px rgba(16,24,40,.06)}
}
.crm-company-cell{display:flex;align-items:center;gap:13px;min-width:0}
.crm-company-logo{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border:1px solid #dce5ee;border-radius:10px;background:#fff;overflow:hidden;color:#60758b;font-size:12px;font-weight:900;letter-spacing:.04em}
.crm-company-logo img{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain;background:#fff}
.crm-company-initials{position:relative;z-index:0}
.crm-company-logo-large{width:76px;height:76px;flex-basis:76px;border-radius:15px;font-size:18px}
.crm-company-detail-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:14px}
.crm-company-detail-title{flex:1;margin:0}
.crm-logo-upload{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;border:1px solid #e5ebf2;border-radius:12px;background:#fafcff}
.crm-logo-upload label{display:grid;gap:6px}.crm-logo-upload input[type=file]{max-width:340px}
.customer-dashboard{margin-bottom:24px}
.customer-dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 14px}
.customer-dashboard-heading h1{margin:2px 0 5px;font-size:28px;color:#14213d}.customer-dashboard-heading p{margin:0}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#6b7f94;font-weight:900}
.dashboard-date{padding:8px 12px;border:1px solid #dce5ee;border-radius:10px;background:#fff;color:#52657a;font-size:13px;font-weight:800}
.dashboard-today-window{background:linear-gradient(135deg,#f6fbff,#fff);border:1px solid #cae0f3;border-radius:16px;padding:16px 18px;box-shadow:0 3px 14px rgba(17,73,117,.06);margin-bottom:14px}
.dashboard-today-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dashboard-today-item{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:'kind title due' '. project due';align-items:center;column-gap:10px;row-gap:3px;padding:11px 12px;border:1px solid #e1eaf2;border-radius:11px;background:#fff;color:inherit;text-decoration:none!important}
.dashboard-today-item:hover{border-color:#b9d2e7;box-shadow:0 2px 8px rgba(16,24,40,.05)}
.dashboard-kind{grid-area:kind;display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900}.dashboard-kind.task{background:#e8f2fb;color:#145f98}.dashboard-kind.reminder{background:#fff2d9;color:#8c5a00}
.dashboard-today-item>strong{grid-area:title}.dashboard-today-item>.small{grid-area:project}.dashboard-due{grid-area:due;font-size:12px;font-weight:800;color:#52657a}.dashboard-due.overdue{color:#a12b2b}
.dashboard-windows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dashboard-window{min-height:220px;background:#fff;border:1px solid #dfe6ee;border-radius:15px;box-shadow:0 3px 12px rgba(16,24,40,.045);overflow:hidden}
.dashboard-window-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid #edf1f5;background:#fbfcfe;font-size:13px}.dashboard-window-head>div{display:flex;align-items:center;gap:8px}.dashboard-window-head a{font-size:12px;font-weight:800}.dashboard-window-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#edf5fb;color:#155f91;font-size:15px}
.dashboard-mini-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #f0f2f5;color:inherit;text-decoration:none!important}.dashboard-mini-list a:last-child{border-bottom:0}.dashboard-mini-list a:hover{background:#fbfdff}.dashboard-mini-list span{min-width:0}.dashboard-mini-list strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-mini-list small{display:block;margin-top:3px;color:#7a8797;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-mini-list time{flex:0 0 auto;font-size:12px;color:#61738a;font-weight:800}.dashboard-notes strong{font-weight:700}
.dashboard-empty{display:flex;align-items:center;justify-content:center;min-height:155px;padding:18px;text-align:center;color:#7b8794;font-size:13px}.dashboard-empty-large{min-height:72px;justify-content:flex-start;text-align:left;gap:12px}.dashboard-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#eaf7ef;color:#19764b;font-size:18px;font-weight:900}
.project-section-title{display:flex;align-items:end;justify-content:space-between;margin:28px 0 10px}.project-section-title h2{margin:2px 0 0;font-size:24px;color:#14213d}
@media(max-width:1100px){.dashboard-windows{grid-template-columns:1fr 1fr}.dashboard-window:last-child{grid-column:1/-1}.dashboard-today-list{grid-template-columns:1fr}}
@media(max-width:720px){.customer-dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-windows{grid-template-columns:1fr}.dashboard-window:last-child{grid-column:auto}.dashboard-today-item{grid-template-columns:auto 1fr;grid-template-areas:'kind due' 'title title' 'project project'}.crm-company-detail-head{align-items:center}.crm-company-logo-large{width:58px;height:58px;flex-basis:58px}}
.dashboard-projects-window{margin-top:14px;background:#fff;border:1px solid #dfe6ee;border-radius:15px;box-shadow:0 3px 12px rgba(16,24,40,.045);overflow:hidden}
.dashboard-projects-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid #edf1f5;background:#fbfcfe}.dashboard-projects-head>div{display:flex;align-items:center;gap:9px}.dashboard-projects-head a{font-size:12px;font-weight:800}
.dashboard-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}.dashboard-project-card{display:block;min-width:0;padding:13px 14px;border:1px solid #e4eaf0;border-radius:12px;background:#fff;color:inherit;text-decoration:none!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.dashboard-project-card:hover{border-color:#b8d0e4;box-shadow:0 5px 16px rgba(16,24,40,.07);transform:translateY(-1px)}.dashboard-project-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.dashboard-project-card>strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.dashboard-project-location{margin-top:5px;color:#6e7d8d;font-size:12px}.dashboard-project-meta{display:flex;justify-content:space-between;gap:8px;margin-top:12px;padding-top:9px;border-top:1px solid #f0f2f5;color:#52657a;font-size:11px}.dashboard-project-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.dashboard-project-grid{grid-template-columns:1fr 1fr}.crm-browser-head{top:145px}}
@media(max-width:720px){.dashboard-project-grid{grid-template-columns:1fr}.dashboard-projects-head{align-items:flex-start;flex-direction:column}}

/* 0.1.29 - Kundenkonto nur bei Bedarf als grosses, schliessbares Arbeitsfenster */
.customer-account-overview>.section-head{align-items:flex-start;margin-bottom:18px}
.customer-account-overview>.section-head h1{margin:0 0 5px}
.customer-account-overview>.section-head p{margin:0;max-width:850px}
.customer-create-open{min-width:190px;height:44px;padding-inline:16px;white-space:nowrap}
.customer-create-dialog{border:0;padding:0;background:transparent;width:min(1180px,96vw);max-width:none;max-height:92vh;overflow:visible}
.customer-create-dialog::backdrop{background:rgba(15,23,42,.48);backdrop-filter:blur(2px)}
.customer-create-card{background:#fff;border:1px solid #dbe4ed;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.28);max-height:90vh;overflow:auto}
.customer-create-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 16px;background:rgba(255,255,255,.98);border-bottom:1px solid #e8edf2;border-radius:18px 18px 0 0}
.customer-create-head h2{margin:3px 0 5px;font-size:24px;color:#14213d}.customer-create-head p{margin:0}
.customer-create-head .dialog-close{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:#f2f5f8}
.customer-create-form{padding:20px 22px 22px;gap:14px 16px}
.customer-create-form>label,.customer-create-form>.span2{min-width:0}
.customer-create-form h3{margin-top:2px}
.customer-create-actions{position:sticky;bottom:-22px;z-index:2;margin:8px -22px -22px;padding:14px 22px;background:rgba(255,255,255,.98);border-top:1px solid #e8edf2;border-radius:0 0 18px 18px}
.customer-create-actions .btn{min-width:150px}
@media(max-width:900px){.customer-account-overview>.section-head{flex-direction:column}.customer-create-open{width:100%}.customer-create-dialog{width:96vw}.customer-create-head{padding:16px}.customer-create-form{padding:16px}.customer-create-actions{margin:8px -16px -16px;padding:12px 16px}.customer-create-actions .btn{flex:1;min-width:0}}

/* 0.1.30 - Premium-Login und einmaliges Kunden-Onboarding */
.password-card{width:min(620px,92vw);background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 18px 55px rgba(16,24,40,.12)}
.login-bg-premium{position:relative;overflow:auto;background:radial-gradient(circle at 50% 15%,#fff 0,#edf6fd 34%,#dbeaf6 72%,#c9dcec 100%);padding:34px 18px}
.login-bg-premium:before,.login-bg-premium:after{content:"";position:fixed;z-index:0;pointer-events:none;border-radius:50%;filter:blur(.2px)}
.login-bg-premium:before{width:70vw;height:38vw;left:-20vw;bottom:-20vw;background:linear-gradient(140deg,rgba(11,82,146,.45),rgba(92,155,210,.08));transform:rotate(12deg)}
.login-bg-premium:after{width:72vw;height:32vw;right:-24vw;bottom:-16vw;background:linear-gradient(215deg,rgba(12,104,178,.35),rgba(225,170,56,.16));transform:rotate(-9deg)}
.login-card-premium{position:relative;z-index:1;width:min(1080px,94vw);padding:44px 64px 38px;border:1px solid rgba(196,211,225,.9);border-radius:28px;box-shadow:0 28px 90px rgba(22,54,86,.17);background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.login-brand-grid{display:grid;grid-template-columns:220px 1fr 220px;gap:30px;align-items:center}
.login-brand-logo{width:100%;height:190px;object-fit:contain}.login-brand-logo-right{height:178px}
.login-brand-center{text-align:center;min-width:0}.login-brand-main{font-size:clamp(50px,5.2vw,76px);line-height:.94;font-weight:900;letter-spacing:.02em;color:#07549a;text-shadow:0 1px 0 #fff}.login-brand-sub{font-size:clamp(18px,1.7vw,25px);font-weight:650;color:#465b74;margin:8px 0 14px;white-space:nowrap}.login-brand-divider{width:210px;height:3px;margin:7px auto 14px;background:linear-gradient(90deg,transparent,#d8a92d 35%,#d8a92d 65%,transparent);border-radius:999px}
.login-welcome{text-align:center;margin:30px 0 24px}.login-welcome h1{font-size:32px;margin:0 0 5px;color:#173c59}.login-welcome p{margin:0;color:#718094;font-size:18px}
.login-form-premium{display:grid;gap:16px;max-width:840px;margin:0 auto}.login-form-premium>label{font-weight:800;font-size:15px}.login-input-wrap{position:relative;margin-top:6px}.login-input-wrap input{width:100%;height:64px;border:1px solid #cfdbe6;border-radius:13px;padding:0 58px;font-size:18px;background:#fff;outline:none;transition:border-color .18s,box-shadow .18s}.login-input-wrap input:focus{border-color:#2479bd;box-shadow:0 0 0 4px rgba(36,121,189,.12)}.login-input-icon{position:absolute;left:19px;top:50%;transform:translateY(-50%);font-size:22px;color:#72879a;z-index:2}.login-eye{right:16px;top:50%;transform:translateY(-50%);position:absolute;width:38px;height:38px;border:0;background:transparent;font-size:19px}.login-submit{height:62px;border-radius:13px;font-size:21px;background:linear-gradient(180deg,#0a7ac8,#07559b)!important;border-color:#07559b!important;box-shadow:0 10px 25px rgba(7,85,155,.18)}.login-submit span{margin-left:12px;font-size:26px}.login-invite-note{text-align:center;margin-top:24px;color:#6a7a8b;font-size:13px;letter-spacing:.03em}

.onboarding-bg{min-height:100vh;background:linear-gradient(145deg,#eef5fb,#f8fbfd 45%,#e8f1f8);padding:34px 18px;color:var(--text)}
.onboarding-dialog{width:min(1180px,96vw);margin:0 auto;background:#fff;border:1px solid #d6e2ec;border-radius:24px;box-shadow:0 26px 80px rgba(19,54,82,.16);overflow:hidden}
.onboarding-head{padding:30px 34px 24px;background:linear-gradient(135deg,#f8fbfe,#edf6fd);border-bottom:1px solid #dde8f0;display:flex;justify-content:space-between;gap:28px;align-items:flex-start}.onboarding-head h1{font-size:30px;margin:5px 0 8px;color:#153b59}.onboarding-head p{max-width:820px;margin:0;color:#63758a;line-height:1.55}.onboarding-progress{display:flex;gap:8px;flex:0 0 auto;padding-top:9px}.onboarding-progress span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7eef4;color:#6f8092;font-weight:800}.onboarding-progress span.active{background:#116fae;color:#fff;box-shadow:0 0 0 4px rgba(17,111,174,.10)}
.onboarding-error{margin:20px 34px 0}.onboarding-step{display:none;padding:30px 34px 10px}.onboarding-step.active{display:block}.onboarding-step h2{font-size:25px;margin:0 0 6px;color:#173b58}.onboarding-step h3{font-size:17px;margin:26px 0 10px;color:#284b66}.step-kicker{text-transform:uppercase;letter-spacing:.09em;color:#1971ad;font-size:12px;font-weight:900;margin-bottom:7px}.onboarding-step .check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 14px}.onboarding-step .check-item{padding:11px 12px;border:1px solid #dde6ee;border-radius:10px;background:#fbfdff;font-size:14px}.onboarding-step .check-item:has(input:checked){border-color:#8cc2e6;background:#eef7fd}.onboarding-step textarea,.onboarding-step input{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #d4e0e9;border-radius:10px;font:inherit}.onboarding-step label{font-weight:700}.onboarding-step small{display:block;margin-top:5px;color:#738294;font-weight:400}.other-field{display:none;margin-top:12px;max-width:720px}.other-field.visible{display:block}.onboarding-prefix,.onboarding-min{display:block;margin-top:24px;max-width:720px}.onboarding-info{margin-top:22px;padding:14px 16px;border:1px solid #cfe2ef;background:#f1f8fd;border-radius:12px;color:#315c78}.onboarding-actions{display:flex;gap:10px;align-items:center;padding:22px 34px 28px;border-top:1px solid #e4ebf1;margin-top:25px;background:#fbfcfd}.onboarding-actions .btn{min-width:130px;height:46px}.onboarding-spacer{flex:1}.profile-group{padding:16px;border:1px solid #e1e8ef;border-radius:13px;background:#fbfcfe}.profile-group h2{font-size:18px;margin:0 0 12px}.profile-group label{margin-top:12px}.profile-status{display:inline-block;margin:8px 0 18px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}.profile-status.ok{background:#e9f7ef;color:#17623d}.profile-status.pending{background:#fff4dd;color:#8a5b00}
@media(max-width:900px){.login-card-premium{padding:30px 24px}.login-brand-grid{grid-template-columns:120px 1fr 120px;gap:16px}.login-brand-logo{height:110px}.login-brand-logo-right{height:102px}.login-brand-sub{white-space:normal;font-size:17px}.login-welcome{margin-top:22px}.onboarding-head{flex-direction:column}.onboarding-step .check-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.login-brand-grid{grid-template-columns:1fr 1fr}.login-brand-center{grid-column:1/-1;grid-row:2}.login-brand-logo{height:100px}.login-brand-main{font-size:46px}.login-card-premium{padding:24px 16px;border-radius:20px}.login-welcome h1{font-size:25px}.login-welcome p{font-size:15px}.onboarding-step,.onboarding-head,.onboarding-actions{padding-left:18px;padding-right:18px}.onboarding-step .check-grid{grid-template-columns:1fr}.onboarding-progress{align-self:center}}

/* 0.1.35: Firmenprofil-Aktionen nur bei echtem Bearbeitungsbedarf */
.company-profile-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:8px}.company-profile-actions .btn{min-width:150px;text-align:center}.company-profile-actions .btn[hidden]{display:none!important}@media(max-width:720px){.company-profile-actions{flex-direction:column-reverse;align-items:stretch}.company-profile-actions .btn{width:100%}}

/* 0.1.37 - Login wirklich auf die geometrische Mitte ausrichten */
.login-bg-premium{display:flex;justify-content:center;align-items:center;width:100%;min-height:100vh}
.login-card-premium{margin-left:auto;margin-right:auto;text-align:center}
.login-brand-grid{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:190px;gap:30px}
.login-brand-logo{flex:0 0 220px;width:220px;max-width:220px}
.login-brand-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(590px,calc(100% - 500px));text-align:center}
.login-welcome{width:100%;margin-left:auto;margin-right:auto;text-align:center}
.login-form-premium>label{text-align:center}
.login-input-wrap input{text-align:center}
.login-card-premium .alert{text-align:center}
@media(max-width:900px){
 .login-brand-grid{display:grid;grid-template-columns:120px minmax(0,1fr) 120px;gap:16px;min-height:0}
 .login-brand-logo{width:100%;max-width:none;flex:none}
 .login-brand-center{position:static;left:auto;top:auto;transform:none;width:auto}
}
@media(max-width:620px){
 .login-brand-grid{grid-template-columns:1fr 1fr}
 .login-brand-center{grid-column:1/-1;grid-row:2}
}

/* 0.1.42 - Login-Untertitel exakt an der geometrischen Mitte ausrichten */
@media(min-width:901px){
 .login-brand-center .login-brand-sub{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:none;
  text-align:center;
 }
}

.badge.sub{background:#fff0d9;color:#8a5700;border:1px solid #f1cf98}.submission-detail-grid h3{margin-bottom:6px}.submission-detail-grid p{line-height:1.55}

/* 0.1.44: reduzierte Login-Seite mit dezentem Rechts-/Kontakt-Footer */
.login-legal-footer{position:relative;z-index:1;width:min(1080px,94vw);display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin:18px auto 0;color:#6a7a8b;font-size:12px;line-height:1.4}
.login-legal-footer a{color:#6a7a8b;text-decoration:none}
.login-legal-footer a:hover{color:#07559b;text-decoration:underline}
.login-legal-footer span[aria-hidden="true"]{color:#a7b2bd}
@media(max-width:620px){.login-legal-footer{gap:7px;font-size:11px;margin-top:14px}}

/* 0.1.45: Login nach Entfernen der Begruessungszeile sauber staffeln; Footer unter der Karte */
.login-bg-premium{
 display:flex;
 flex-direction:column;
 justify-content:center;
 align-items:center;
 gap:16px;
 min-height:100vh;
 width:100%;
}
.login-card-premium{flex:0 0 auto}
.login-brand-grid{
 min-height:260px;
 margin-bottom:22px;
}
.login-legal-footer{
 flex:0 0 auto;
 margin:0 auto;
 width:min(1080px,94vw);
}
@media(max-width:900px){
 .login-brand-grid{min-height:0;margin-bottom:24px}
}
@media(max-width:620px){
 .login-bg-premium{justify-content:flex-start;padding-top:18px;padding-bottom:18px}
 .login-brand-grid{margin-bottom:18px}
}

/* 0.1.47 – interner Recherche- und Kundenfreigabe-Workflow für PISA-Projekte */
.release-panel{border-color:#cbdfea;background:#fbfdff}.release-panel .section-head{align-items:flex-start}.release-state{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;border:1px solid transparent}.release-state.compact{padding:3px 7px;font-size:11px}.release-internal{background:#f2f4f7;color:#475467;border-color:#d0d5dd}.release-in_progress{background:#eef6fb;color:#155b7c;border-color:#cbdfea}.release-ready{background:#fff6df;color:#8a5b00;border-color:#efd79c}.release-released{background:#eaf7ef;color:#17623d;border-color:#b7dfc8}.release-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.release-actions .inline-form label{display:grid;gap:5px;font-size:12px;font-weight:800}.release-actions select{min-width:220px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.release-confirmed{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:10px;background:#eaf7ef;color:#17623d;margin:8px 0}.release-confirmed span{font-size:12px;color:#3d6d55}.release-withdraw{margin-top:10px}.release-log{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.release-log summary{cursor:pointer;font-weight:700;font-size:12px;color:#475467}.release-log p{margin:8px 0;font-size:12px;color:#667085}.release-filter{margin-bottom:10px;padding:10px;border:1px solid #edf0f3;border-radius:9px;background:#fafbfc}.release-filter label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.release-filter select{padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:220px}@media(max-width:700px){.release-panel .section-head{flex-direction:column}.release-actions{align-items:stretch}.release-actions form,.release-actions .btn,.release-actions select{width:100%}}

/* 0.1.48 - Outlook-artiger Lesebereich, feste Tabellenkoepfe, Sortierung und nutzerspezifische Spalten */
.reader-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;min-width:0}
.reader-layout.is-open{grid-template-columns:minmax(0,1fr) minmax(350px,430px)}
.reader-list{min-width:0}
.reader-tablebox{max-height:calc(100vh - 270px);min-height:360px;overflow:auto;overscroll-behavior:contain}
.data-list-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
.data-list-table thead th{position:sticky;top:0;z-index:6;background:#fafbfc;box-shadow:0 1px 0 #e5e9ee;white-space:nowrap}
.data-list-table td{background:#fff}
.data-list-table tr.reader-row{cursor:pointer;outline:none}
.data-list-table tr.reader-row:hover td{background:#f8fbfd}
.data-list-table tr.reader-row:focus-visible td{box-shadow:inset 0 0 0 2px rgba(11,103,163,.22)}
.data-list-table tr.reader-row.is-selected td{background:#edf6fc}
.data-list-table th[hidden],.data-list-table td[hidden]{display:none!important}
.sort-link{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none;font-weight:800}
.sort-link:hover{color:#0b67a3;text-decoration:none}
.sort-link span{font-size:10px;color:#8794a3}

/* Fixierte Kernspalten: Kennzeichen und Projekt bleiben sichtbar. Auswahl/Favorit liegen davor. */

.project-data-table thead .sticky-select,.project-data-table thead .sticky-fav,.project-data-table thead .sticky-code,.project-data-table thead .sticky-project{z-index:10;background:#f7f9fb}
.project-data-table tr.reader-row.is-selected .sticky-select,.project-data-table tr.reader-row.is-selected .sticky-fav,.project-data-table tr.reader-row.is-selected .sticky-code,.project-data-table tr.reader-row.is-selected .sticky-project{background:#edf6fc}
.project-data-table tr.reader-row:hover .sticky-select,.project-data-table tr.reader-row:hover .sticky-fav,.project-data-table tr.reader-row:hover .sticky-code,.project-data-table tr.reader-row:hover .sticky-project{background:#f8fbfd}

.submission-data-table .sub-sticky-code{position:sticky;left:0;width:125px;min-width:125px;max-width:125px;z-index:7;background:#fff}
.submission-data-table .sub-sticky-title{position:sticky;left:125px;width:330px;min-width:330px;max-width:330px;z-index:7;background:#fff;border-right:1px solid #e3e8ed}
.submission-data-table thead .sub-sticky-code,.submission-data-table thead .sub-sticky-title{z-index:10;background:#f7f9fb}
.submission-data-table tr.reader-row.is-selected .sub-sticky-code,.submission-data-table tr.reader-row.is-selected .sub-sticky-title{background:#edf6fc}
.submission-data-table tr.reader-row:hover .sub-sticky-code,.submission-data-table tr.reader-row:hover .sub-sticky-title{background:#f8fbfd}

.list-view-toolbar{align-items:center;justify-content:space-between;gap:12px}
.list-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.column-picker{position:relative;z-index:20}
.column-picker>summary{list-style:none;user-select:none}
.column-picker>summary::-webkit-details-marker{display:none}
.column-picker-menu{position:absolute;right:0;top:calc(100% + 7px);width:min(360px,88vw);max-height:520px;overflow:auto;padding:12px;background:#fff;border:1px solid #d7e0e8;border-radius:12px;box-shadow:0 16px 42px rgba(16,24,40,.16);z-index:30}
.column-picker-title{font-weight:800;margin:2px 3px 9px;color:#35465a}
.column-picker-menu label{display:flex;align-items:center;gap:8px;min-height:34px;padding:5px 6px;border-radius:7px;font-size:13px;cursor:pointer}
.column-picker-menu label:hover{background:#f5f8fa}
.column-picker-menu input{margin:0;flex:0 0 auto}
.column-picker-menu .column-fixed{color:#667085;cursor:default}
.column-picker-menu .column-fixed span{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#98a2b3}
.column-picker-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;padding-top:10px;border-top:1px solid #edf0f3}
.submission-list-head{align-items:center}

.reader-pane{position:sticky;top:86px;max-height:calc(100vh - 108px);overflow:auto;background:#fff;border:1px solid #dbe3ea;border-radius:14px;box-shadow:0 5px 20px rgba(16,24,40,.06);min-width:0}
.reader-pane[hidden]{display:none!important}
.reader-pane-inner{padding:17px 17px 14px}
.reader-pane-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #e9edf1}
.reader-pane-head h2{margin:3px 0 8px;font-size:20px;line-height:1.22;color:#172b3a;overflow-wrap:anywhere}
.reader-code{font-size:12px;font-weight:800;color:#0b67a3;letter-spacing:.02em}
.reader-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.reader-close{flex:0 0 auto;width:34px;height:34px;border:0;border-radius:50%;background:#f2f5f7;color:#405466;font-size:23px;line-height:1;cursor:pointer}
.reader-close:hover{background:#e8eef2}
.reader-keygrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;padding:12px 0}
.reader-keygrid>div{min-width:0;padding:8px 0;border-bottom:1px solid #eef1f4}
.reader-keygrid span{display:block;color:#728092;font-size:11px;margin-bottom:3px}
.reader-keygrid strong{display:block;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.reader-section{padding:12px 0;border-top:1px solid #eef1f4}
.reader-section h3{margin:0 0 7px;font-size:13px;color:#29445a}
.reader-section p{margin:0;font-size:13px;line-height:1.5;color:#44586a}
.reader-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.reader-section-head a{font-size:11px}
.reader-participants{display:grid;gap:7px}
.reader-participants>div{padding:8px 9px;border:1px solid #e8edf1;border-radius:8px;background:#fbfcfd}
.reader-participants strong,.reader-participants span,.reader-participants small{display:block}
.reader-participants strong{font-size:12px;color:#24394b}
.reader-participants span,.reader-participants small{font-size:11px;color:#718092;margin-top:2px}
.reader-source{word-break:break-word}
.reader-full-open{display:block;text-align:center;margin:5px 0 12px}
.reader-actions{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 12px}
.reader-actions .btn{flex:1;text-align:center;min-width:140px}
.reader-loading{padding:28px 20px;color:#667085;text-align:center}
.reader-loading.error{color:#8a1f1f}
.reader-status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}
.reader-status-pill.open{background:#eaf7ef;color:#17623d}.reader-status-pill.closed{background:#f2f4f7;color:#667085}

/* Ruhige, immer gleiche Info-Fussleiste im Lesebereich; keine projektspezifische Pflichtbehauptung. */
.reader-sustainability{margin:14px -3px 0;padding:13px 13px 12px;border:1px solid #d7e8df;border-radius:10px;background:#f7fbf8}
.reader-sustainability-title{font-size:13px;font-weight:800;color:#245b42;margin-bottom:5px}
.reader-sustainability-intro{font-size:12px;line-height:1.45;color:#4d6357}
.reader-sustainability details{margin-top:8px}
.reader-sustainability summary{cursor:pointer;color:#0b67a3;font-size:12px;font-weight:700}
.reader-sustainability details p{font-size:12px;line-height:1.45;color:#51655a;margin:8px 0 0}
.reader-reset-link{display:block;margin-top:10px;padding:9px 10px;border-radius:8px;background:#164e70;color:#fff!important;text-align:center;font-size:12px;font-weight:800;text-decoration:none!important}
.reader-reset-link:hover{background:#123f5b}

@media(max-width:1180px){
 .reader-layout.is-open{grid-template-columns:minmax(0,1fr) minmax(320px,370px)}
 
 .submission-data-table .sub-sticky-title{width:280px;min-width:280px;max-width:280px}
}
@media(max-width:900px){
 .reader-layout.is-open{grid-template-columns:1fr}
 .reader-pane{position:static;max-height:none;grid-row:1;margin-bottom:10px}
 .reader-tablebox{max-height:62vh;min-height:300px}
 .list-view-toolbar{align-items:flex-start;flex-direction:column}
 .list-toolbar-actions{width:100%;justify-content:flex-end}
}

/* 0.1.49 - Korrektur der Projektlisten-Darstellung und robuster Outlook-Lesebereich */
/* Nur die Tabellen-Kopfzeile bleibt innerhalb der Liste stehen. Die bisherigen
   Sticky-Regeln fuer Karten, Filter und Exportleiste werden bewusst aufgehoben. */
@media(min-width:901px){
  .project-scope-cards,
  details.filter-shell,
  details.filter-shell[open],
  .export-toolbar-accent{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    padding-top:0;
  }
  .export-toolbar-accent{box-shadow:none}
}

.reader-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  align-items:start;
  width:100%;
  min-width:0;
}
.reader-layout.is-open{
  grid-template-columns:minmax(0,1fr) clamp(360px,28vw,430px);
}
.reader-list{min-width:0;overflow:hidden}
.reader-tablebox{
  width:100%;
  max-width:100%;
  max-height:calc(100vh - 235px);
  min-height:390px;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.data-list-table{width:max-content;min-width:100%;table-layout:auto}
.data-list-table thead th{
  position:sticky;
  top:0;
  z-index:8;
  background:#f8fafc;
  box-shadow:0 1px 0 #dfe5eb;
}

.reader-pane{
  position:sticky;
  top:82px;
  align-self:start;
  width:100%;
  max-height:calc(100vh - 104px);
  overflow:auto;
  background:#fff;
  border:1px solid #d6e0e8;
  border-radius:13px;
  box-shadow:0 6px 20px rgba(16,24,40,.08);
}
.reader-pane-inner{padding:18px}
.reader-pane-head{padding-bottom:14px}
.reader-pane-head h2{font-size:22px;margin-top:4px}
.reader-keygrid{grid-template-columns:1fr 1fr;gap:0 16px}
.reader-keygrid>div{padding:9px 0}
.reader-section{padding:13px 0}
.reader-sustainability{
  margin:14px 0 0;
  padding:12px 13px;
  border-radius:9px;
  background:#f8fbf9;
}
.reader-row.is-selected td{background:#edf6fc!important}
.reader-row.is-selected .sticky-select,
.reader-row.is-selected .sticky-fav,
.reader-row.is-selected .sticky-code,
.reader-row.is-selected .sticky-project,
.reader-row.is-selected .sub-sticky-code,
.reader-row.is-selected .sub-sticky-title{background:#edf6fc!important}

@media(max-width:760px){
  .reader-layout.is-open{grid-template-columns:1fr}
  .reader-pane{position:static;max-height:none;grid-row:1}
  .reader-tablebox{max-height:58vh}
}

/* 0.1.50 - Lesebereich bleibt auf Desktop/Tablet rechts sichtbar.
   Der Export-Haken darf den Lesebereich ebenfalls oeffnen; Stapelung erst auf kleinen Displays. */
.reader-layout.is-open{grid-template-columns:minmax(0,1fr) clamp(340px,30vw,410px)}
@media(max-width:760px){
  .reader-layout.is-open{grid-template-columns:1fr}
  .reader-pane{position:static;max-height:none;grid-row:1}
  .reader-tablebox{max-height:58vh}
}

/* 0.1.52 - Submission-Spalten bleiben nach Auswahl sofort sichtbar und sinnvoll dimensioniert. */
.submission-data-table{
  width:100%;
  min-width:var(--submission-table-min,1520px);
  table-layout:fixed;
}
.submission-data-table .sub-sticky-code{left:0;width:118px;min-width:118px;max-width:118px}
.submission-data-table .sub-sticky-title{left:118px;width:320px;min-width:320px;max-width:320px}
.submission-data-table th[data-col="authority"],.submission-data-table td[data-col="authority"]{width:270px;max-width:270px}
.submission-data-table th[data-col="location"],.submission-data-table td[data-col="location"]{width:150px;max-width:150px}
.submission-data-table th[data-col="trade"],.submission-data-table td[data-col="trade"]{width:210px;max-width:210px}
.submission-data-table th[data-col="deadline"],.submission-data-table td[data-col="deadline"]{width:175px;max-width:175px}
.submission-data-table th[data-col="type"],.submission-data-table td[data-col="type"]{width:140px;max-width:140px}
.submission-data-table th[data-col="source"],.submission-data-table td[data-col="source"]{width:130px;max-width:130px}
.submission-data-table th[data-col="publication"],.submission-data-table td[data-col="publication"]{width:135px;max-width:135px}
.submission-data-table th[data-col="participation"],.submission-data-table td[data-col="participation"]{width:165px;max-width:165px}
.submission-data-table th[data-col="execution"],.submission-data-table td[data-col="execution"]{width:180px;max-width:180px}
.submission-data-table th[data-col="tender_number"],.submission-data-table td[data-col="tender_number"]{width:170px;max-width:170px}
.submission-data-table th[data-col="state"],.submission-data-table td[data-col="state"]{width:160px;max-width:160px}
.submission-data-table th[data-col="country"],.submission-data-table td[data-col="country"]{width:115px;max-width:115px}
.submission-data-table th[data-col="cpv"],.submission-data-table td[data-col="cpv"]{width:170px;max-width:170px}
.submission-data-table th[data-col="lot"],.submission-data-table td[data-col="lot"]{width:150px;max-width:150px}
.submission-data-table td[data-col]{white-space:normal;overflow-wrap:anywhere;word-break:normal;vertical-align:top}
.submission-data-table td[data-col="deadline"],.submission-data-table td[data-col="publication"],.submission-data-table td[data-col="participation"]{white-space:nowrap}

/* 0.1.56: Login auf Desktop wieder grosszuegig; Datenschutz extern auf pisatf.de */
@media(min-width:901px){
 .login-card-premium{
  width:min(1480px,94vw);
  padding:46px 72px 40px;
 }
 .login-form-premium{max-width:1180px}
 .login-input-wrap input{height:68px;font-size:20px}
 .login-submit{height:66px;font-size:22px}
 .login-legal-footer{width:min(1480px,94vw)}
}

/* 0.1.57: Loginbereich auf grossen Bildschirmen deutlich vergroessert */
@media(min-width:901px){
 .login-card-premium{
  width:min(1900px,97vw);
  padding:62px 92px 54px;
  border-radius:34px;
 }
 .login-brand-grid{min-height:240px;gap:44px}
 .login-brand-logo{flex-basis:280px;width:280px;max-width:280px;height:235px}
 .login-brand-logo-right{height:220px}
 .login-brand-center{width:min(760px,calc(100% - 640px))}
 .login-brand-main{font-size:clamp(68px,6vw,96px)}
 .login-brand-sub{font-size:clamp(23px,2vw,31px);margin:11px 0 18px}
 .login-brand-divider{width:280px;height:4px;margin:10px auto 18px}
 .login-form-premium{max-width:1500px;gap:22px}
 .login-form-premium>label{font-size:19px}
 .login-input-wrap{margin-top:8px}
 .login-input-wrap input{height:82px;border-radius:16px;padding-left:72px;padding-right:72px;font-size:24px}
 .login-input-icon{left:24px;font-size:28px}
 .login-eye{right:20px;width:46px;height:46px;font-size:24px}
 .login-submit{height:80px;border-radius:16px;font-size:28px}
 .login-submit span{margin-left:16px;font-size:34px}
 .login-invite-note{margin-top:30px;font-size:17px}
 .login-legal-footer{width:min(1900px,97vw);font-size:15px;gap:13px;margin-top:22px}
}

/* 0.1.59: Login-Karte nach Korrektur des Browser-Zooms etwa halb so gross wie 0.1.57 */
@media(min-width:901px){
 .login-card-premium{
  width:min(950px,92vw);
  padding:32px 46px 30px;
  border-radius:24px;
 }
 .login-brand-grid{min-height:150px;gap:24px}
 .login-brand-logo{flex-basis:150px;width:150px;max-width:150px;height:130px}
 .login-brand-logo-right{height:122px}
 .login-brand-center{width:min(500px,calc(100% - 348px))}
 .login-brand-main{font-size:clamp(42px,4vw,52px)}
 .login-brand-sub{font-size:clamp(15px,1.35vw,18px);margin:6px 0 10px}
 .login-brand-divider{width:180px;height:2px;margin:6px auto 10px}
 .login-form-premium{max-width:760px;gap:14px}
 .login-form-premium>label{font-size:14px}
 .login-input-wrap{margin-top:5px}
 .login-input-wrap input{height:50px;border-radius:10px;padding-left:48px;padding-right:48px;font-size:16px}
 .login-input-icon{left:16px;font-size:18px}
 .login-eye{right:12px;width:34px;height:34px;font-size:18px}
 .login-submit{height:50px;border-radius:10px;font-size:18px}
 .login-submit span{margin-left:10px;font-size:22px}
 .login-invite-note{margin-top:18px;font-size:12px}
 .login-legal-footer{width:min(950px,92vw);font-size:12px;gap:9px;margin-top:14px}
}

/* 0.1.59 - Nutzer korrigieren, deaktivieren, reaktivieren und sichere Loeschung nicht aktivierter Konten */
.user-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.user-actions form{margin:0}.btn.danger{border-color:#c94b4b;color:#9d1f1f;background:#fff}.btn.danger:hover{background:#fff0f0}

/* 0.1.60 Passwort-zuruecksetzen */
.login-forgot{margin-top:8px;text-align:right;font-size:14px;font-weight:600}.login-forgot a{color:#176eae;text-decoration:none}.login-forgot a:hover{text-decoration:underline}.password-reset-card{max-width:620px}.password-reset-card p{line-height:1.55}

/* 0.1.61 Kundenkonto-Lebenszyklus */
.customer-card-inactive{opacity:.78;background:#fafafa}.customer-card-inactive summary strong:after{content:" · inaktiv";font-weight:700;color:#8a5b00}.customer-account-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.customer-account-actions>.actions,.account-lifecycle-actions{margin:0}.account-lifecycle-actions form,.customer-account-actions form{margin:0}.account-edit-status{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}.account-edit-status .profile-status{margin:0 0 10px}.account-lifecycle-actions{margin:4px 0 20px}

/* 0.1.62 - Vorhabenbezogene Bebauungsplaene (VBP) */
.badge.vbp{background:#eaf5ee;color:#17623d;border:1px solid #bfe0ca}
.vbp-data-table{width:100%;min-width:var(--vbp-table-min,1480px);table-layout:fixed}
.vbp-data-table .vbp-sticky-code{position:sticky;left:0;width:150px;min-width:150px;max-width:150px;z-index:7;background:#fff}
.vbp-data-table .vbp-sticky-title{position:sticky;left:150px;width:330px;min-width:330px;max-width:330px;z-index:7;background:#fff;border-right:1px solid #e3e8ed}
.vbp-data-table thead .vbp-sticky-code,.vbp-data-table thead .vbp-sticky-title{z-index:10;background:#f7f9fb}
.vbp-data-table tr.reader-row.is-selected .vbp-sticky-code,.vbp-data-table tr.reader-row.is-selected .vbp-sticky-title{background:#edf6fc!important}
.vbp-data-table tr.reader-row:hover .vbp-sticky-code,.vbp-data-table tr.reader-row:hover .vbp-sticky-title{background:#f8fbfd}
.vbp-data-table th[data-col="location"],.vbp-data-table td[data-col="location"]{width:160px;max-width:160px}
.vbp-data-table th[data-col="status"],.vbp-data-table td[data-col="status"]{width:230px;max-width:230px}
.vbp-data-table th[data-col="status_date"],.vbp-data-table td[data-col="status_date"]{width:125px;max-width:125px;white-space:nowrap}
.vbp-data-table th[data-col="participation"],.vbp-data-table td[data-col="participation"]{width:145px;max-width:145px;white-space:nowrap}
.vbp-data-table th[data-col="developer"],.vbp-data-table td[data-col="developer"]{width:250px;max-width:250px}
.vbp-data-table th[data-col="asset"],.vbp-data-table td[data-col="asset"]{width:210px;max-width:210px}
.vbp-data-table th[data-col="measure"],.vbp-data-table td[data-col="measure"]{width:210px;max-width:210px}
.vbp-data-table th[data-col="publication"],.vbp-data-table td[data-col="publication"]{width:135px;max-width:135px;white-space:nowrap}
.vbp-data-table th[data-col="source_updated"],.vbp-data-table td[data-col="source_updated"]{width:135px;max-width:135px;white-space:nowrap}
.vbp-data-table th[data-col="authority"],.vbp-data-table td[data-col="authority"]{width:240px;max-width:240px}
.vbp-data-table th[data-col="trades"],.vbp-data-table td[data-col="trades"]{width:260px;max-width:260px}
.vbp-data-table th[data-col="source"],.vbp-data-table td[data-col="source"]{width:130px;max-width:130px}
.vbp-data-table td[data-col]{white-space:normal;overflow-wrap:anywhere;word-break:normal;vertical-align:top}
.vbp-explainer{border-left:4px solid #7aa88a;background:#f5faf7}
.vbp-methodology{margin:0 0 14px;border:1px solid #d7e0e8;border-radius:10px;background:#fbfcfd;padding:10px 12px}
.vbp-methodology>summary{cursor:pointer;font-weight:800;color:#35465a}
.vbp-methodology>div{padding-top:8px;color:#4b5d70;font-size:13px;line-height:1.5}
.vbp-methodology p{margin:6px 0}

/* 0.1.64 – Testkorrekturen */
.logo-home{display:flex;align-items:center}.home-button{white-space:nowrap}.export-toolbar-accent,.project-list-tools{position:static!important;top:auto!important;z-index:auto!important}.project-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.per-page-form select{padding:8px;border:1px solid var(--line);border-radius:8px}.pagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.note-card{border:1px solid var(--line);border-radius:10px;padding:14px;margin:10px 0}.dashboard-project-entry{margin-top:16px}

/* 0.1.65 – Projektliste: echte Seitengröße + sauberes Scroll-/Layer-Verhalten */
/* Die gewählte Seitengröße (50/100/150/250/500) entspricht der Zahl der
   tatsächlich untereinander dargestellten Projekte. Kein zweiter vertikaler
   Scrollbereich innerhalb der Projektliste. Horizontal darf die Tabelle bei
   vielen Spalten weiterhin scrollen. */
.project-tablebox{
  max-height:none!important;
  min-height:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
  scrollbar-gutter:auto;
}
/* Der Spalten-Button darf beim normalen Seitenscroll nie ueber der sticky
   Hauptnavigation liegen. Das Auswahlmenue bleibt ueber der Projektliste,
   aber unterhalb des Haupt-Headers. */
.column-picker{z-index:4!important}
.top{z-index:20!important}

/* 0.1.66 – gebuchter Leistungsumfang */
.access-scope-box{border-width:2px}.access-scope-box>h2{font-size:20px}.access-scope-box .form-grid{margin-top:12px}.access-scope-box h3{margin:18px 0 8px}

/* 0.1.69 – Kundenfeedback bearbeiten */
.feedback-admin-card summary span{display:inline-flex;gap:6px;align-items:center}.feedback-message-box{margin:12px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#f8fbfd}.feedback-message-box p{margin:7px 0 0;white-space:normal}.feedback-admin-card textarea{min-height:120px}

/* 0.1.70 – nachvollziehbarer Antwortstatus bei Kundenfeedback */
.feedback-answer-audit{display:grid;gap:4px;margin-top:12px;padding:12px 14px;border-left:4px solid #2d8568;border-radius:9px;background:#edf7f2;color:#244a3d}.feedback-answer-audit strong{color:#1d604b}.feedback-answer-audit span{font-size:13px}

/* 0.1.77 – feste Kernbreiten, flexible Projektspalte und erreichbare Datenspalten. */
.project-data-table{width:100%;min-width:var(--project-table-min,1484px);table-layout:fixed}
.project-data-table th,.project-data-table td{
  width:var(--project-column-width,145px);padding:11px 8px;vertical-align:top;
  white-space:normal;overflow-wrap:anywhere;word-break:normal;
}
.project-data-table .sort-link{white-space:normal}
.project-data-table .sort-link span{flex:none}
.project-data-table thead th{white-space:normal;line-height:1.3}
.project-data-table .sticky-select{--project-column-width:36px;position:sticky;left:0;z-index:7;text-align:center;padding-inline:7px}
.project-data-table .sticky-fav{--project-column-width:24px;position:sticky;left:36px;z-index:7;text-align:center;padding-inline:3px}
.project-data-table .sticky-code{--project-column-width:112px;position:sticky;left:60px;z-index:7}
.project-data-table .sticky-project{--project-column-width:280px;position:sticky;left:172px;z-index:7;width:auto;border-right:1px solid #e3e8ed}
.project-data-table .sticky-select input{display:block;margin:0 auto}
.project-data-table [data-col="updated"]{--project-column-width:172px}
.project-data-table [data-col="location"]{--project-column-width:112px}
.project-data-table [data-col="measure"]{--project-column-width:138px}
.project-data-table [data-col="status"]{--project-column-width:144px}
.project-data-table [data-col="start"]{--project-column-width:150px}
.project-data-table [data-col="investment"]{--project-column-width:144px;white-space:nowrap}
.project-data-table [data-col="score"]{--project-column-width:96px}
.project-data-table [data-col="source"]{--project-column-width:76px}
.project-data-table [data-col="trades"]{--project-column-width:180px}
.project-data-table .badge,.project-data-table .release-state{white-space:normal}
/* Table layers stay below the column picker; only the table itself scrolls. */
#project-reader-layout .reader-list{overflow:visible}
.project-tablebox{position:relative;z-index:0;isolation:isolate}
.project-tablebox.is-narrow .sticky-project{position:static}
.project-table-scroll-tools{margin:0 0 8px}
.project-table-scroll-tools[hidden]{display:none}
.project-table-scroll-tools>span{display:block;margin-bottom:3px;font-size:12px;color:var(--muted)}
.project-table-top-scroll{width:100%;height:18px;overflow-x:scroll;overflow-y:hidden;overscroll-behavior-x:contain}
.project-table-top-scroll>div{height:1px}
.project-table-top-scroll:focus-visible{outline:2px solid #0b67a3;outline-offset:2px}

.login-remember{display:flex!important;align-items:center;justify-content:center;gap:10px;font-size:14px!important}.login-remember input{width:18px!important;height:18px!important;flex:none}

.pma-chat-grid{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,3fr);gap:18px;align-items:start}.pma-chat-grid>.card,.pma-chat-grid>.section{margin:0}.pma-chat-thread{display:block;padding:14px 8px;border-bottom:1px solid #dde5eb;text-decoration:none}.pma-chat-thread small{display:block;color:#63748a;margin-top:5px}.pma-chat-thread.active{background:#eef6fa}.pma-chat-messages{max-height:55vh;min-height:120px;overflow-y:auto;margin:18px 0;padding:4px}.pma-chat-message{padding:14px;background:#f0f4f7;border-radius:10px;margin:0 24px 12px 0;overflow-wrap:anywhere}.pma-chat-message.own{background:#e6f2f8;margin:0 0 12px 24px}.pma-chat-message-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:8px}.pma-chat-message-head time{color:#607088}.pma-chat-assignment{margin-top:15px}.pma-chat-conversation input,.pma-chat-conversation select,.pma-chat-conversation textarea{max-width:100%}@media(max-width:800px){.pma-chat-grid{grid-template-columns:1fr}.pma-chat-message-head{flex-wrap:wrap}}
.feedback-legacy-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,3fr);gap:18px;align-items:start}.feedback-legacy-threads{max-height:620px;overflow-y:auto}.feedback-legacy-conversation{min-width:0}.feedback-legacy-conversation .pma-chat-messages{max-height:380px}.feedback-legacy-conversation .inline-form{margin-top:18px}@media(max-width:800px){.feedback-legacy-grid{grid-template-columns:1fr}.feedback-legacy-threads{max-height:260px}}

#pma-chat-form{display:flex;flex-direction:column;gap:12px}#pma-chat-form>label{width:100%}#pma-chat-form>button{align-self:flex-start;min-height:42px}.customer-users-head{flex-wrap:wrap;align-items:flex-start}.customer-users-head h1{overflow-wrap:anywhere}

/* 0.1.79: business changes, with readable previous and current values. */
.history-event{padding:16px 0;border-top:1px solid #e0e7ee;overflow-wrap:anywhere}.history-event:first-child{border-top:0}.history-event time{font-size:13px;font-weight:700;color:#586d82}.history-event p{margin:8px 0}.history-event details{margin:10px 0}.history-event summary{cursor:pointer;font-weight:700;color:#175e87}.history-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:14px;background:#f5f8fb;border-radius:10px;margin-top:10px}@media(max-width:700px){.history-values{grid-template-columns:1fr}}

/* 0.1.81 – Arbeitsbereiche, interne Projekte und Projektbearbeitung. */
.top.staff-top{position:relative;flex-wrap:wrap}
.top-nav-staff{order:3;flex:0 0 100%;justify-content:flex-start;gap:8px}
.nav-group{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:6px 8px;border:1px solid;border-radius:11px}
.nav-group .btn{padding:7px 9px;font-size:12px;background:#fff;border-color:rgba(20,52,75,.18)}
.nav-group-label{padding:0 6px;font-size:11px;font-weight:800;letter-spacing:.035em;white-space:nowrap}
.nav-group-projects{background:#eaf4fb;border-color:#b9d6e8;color:#194e72}
.nav-group-contacts{background:#eaf6f0;border-color:#bedfca;color:#265d3d}
.nav-group-work{background:#f4effa;border-color:#d9c7ec;color:#563674}
.nav-group-admin{background:#fff6e6;border-color:#eed4a3;color:#765418}
.top-nav-staff .nav-logout{margin-left:auto}
.draft-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:14px 18px;background:#eaf4fb;border:1px solid #b9d6e8;border-radius:12px}
.draft-banner>div{display:grid;gap:4px}.draft-banner strong{font-size:16px;color:#174d70}.draft-banner span{font-size:13px;color:#40576b}
.draft-search,.draft-pages{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.draft-search input{min-width:min(330px,100%);padding:9px 11px;border:1px solid var(--line);border-radius:8px}
.draft-project-table{min-width:1120px}.draft-project-table td{vertical-align:middle}.draft-import-cell{max-width:230px;overflow-wrap:anywhere}.draft-project-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:190px}.draft-project-actions .btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1.2}
.start-period{display:grid;grid-template-columns:1fr 115px;gap:8px}
.start-period label{min-width:0}
@media(min-width:901px){.staff-top~.wrap .project-scope-cards{top:8px}.staff-top~.wrap details.filter-shell{top:178px}.staff-top~.wrap .export-toolbar-accent{top:254px}}
@media(max-width:700px){.top-nav-staff .nav-logout{margin-left:0}.draft-banner{align-items:flex-start;flex-direction:column}.start-period{grid-template-columns:1fr 105px}}

/* Kundenkonto 0.1.86: lange Maske in kompakte, per Klick zu öffnende Bereiche aufteilen. */
.account-edit-form>.account-panel{min-width:0;border:1px solid #cbd9e7;border-radius:10px;background:#fff;overflow:visible}
.account-edit-form>.account-panel>summary{cursor:pointer;padding:16px 18px;color:#123d60;font-size:17px;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.account-edit-form>.account-panel>summary::-webkit-details-marker{display:none}
.account-edit-form>.account-panel>summary::after{content:'Öffnen  ▾';font-size:13px;font-weight:600;color:#44627d}
.account-edit-form>.account-panel[open]>summary::after{content:'Schließen  ▴'}
.account-edit-form>.account-panel[open]>summary{border-bottom:1px solid #dce6f0;background:#f2f7fc;border-radius:9px 9px 0 0}
.account-edit-form>.account-panel>.account-panel-body{padding:18px;gap:12px}
.account-edit-form>.account-panel .profile-group{margin:0}
.account-edit-form>.account-panel:focus-within{border-color:#6ea5d0}

/* 0.1.88: Datenbereich bei der Kundenfreigabe eindeutig auswählen. */
.project-release-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.project-release-form label{display:grid;gap:5px;min-width:220px;font-weight:700}
.project-release-form label[data-release-source]{flex:1 1 280px}
.project-release-form [hidden]{display:none!important}
.project-release-form .btn{align-self:end}
@media(max-width:650px){.project-release-form label,.project-release-form .btn{width:100%}}

.feedback-message-box.is-pisa{background:#edf7f2;border-left:4px solid #2d8568}

/* 0.1.103: lesbare Navigation der internen PMA-Oberfläche. */
.staff-menu-toggle,.staff-menu-close,.staff-nav-backdrop{display:none}
body.staff-interface .staff-top .top-brand-left{gap:16px}
body.staff-interface .staff-top .brand{font-size:28px;line-height:1.15}
body.staff-interface .staff-top .sub{font-size:15px;line-height:1.4}
body.staff-interface .staff-top .version-badge{font-size:13px;padding:6px 10px}
body.staff-interface .staff-top .pisa-logo-professional{width:96px;height:68px}
body.staff-interface .staff-top .pisa-logo-sustainability{width:68px;height:68px}
@media(min-width:901px){
 body.staff-interface .top.staff-top{margin-left:276px;min-height:104px;flex-wrap:nowrap;align-items:center}
 body.staff-interface .top-nav-staff{position:fixed;inset:0 auto 0 0;z-index:30;width:276px;display:flex;flex-direction:column;align-items:stretch;flex:0 0 auto;gap:15px;overflow-y:auto;overscroll-behavior:contain;padding:20px 14px;background:#f8fafc;border-right:1px solid #dce5ed}
 body.staff-interface .wrap{max-width:none;margin-left:276px;padding:22px 26px}
 body.staff-interface .footer{margin-left:276px}
}
body.staff-interface .top-nav-staff .nav-group{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:12px;border-radius:13px}
body.staff-interface .top-nav-staff .nav-group-label{padding:0 4px 5px;font-size:14px;line-height:1.4;letter-spacing:0}
body.staff-interface .top-nav-staff .nav-group .btn,body.staff-interface .top-nav-staff .nav-logout{display:block;width:100%;min-height:44px;padding:11px 12px;font-size:15px;line-height:1.35;text-align:left;white-space:normal;overflow-wrap:anywhere;border-radius:9px}
body.staff-interface .top-nav-staff .nav-logout{margin:0;background:#fff}
body.staff-interface .top-nav-staff a:hover,body.staff-interface .top-nav-staff a:focus-visible{background:#e1edf6;text-decoration:none;outline-color:#0b67a3}
body.staff-interface .top-nav-staff a[aria-current="page"]{background:#155c8c;color:#fff;border-color:#155c8c}
body.staff-interface .top-nav-staff a[aria-current="page"] .feedback-reply-badge{background:#fff;color:#824006}
@media(max-width:900px){
 body.staff-interface .top.staff-top{position:sticky;top:0;z-index:40;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px}
 body.staff-interface .top-brand-left{min-width:0;flex:1 1 auto;padding-right:0}
 body.staff-interface .top-brand-right{position:static;min-width:40px;margin-left:0}
 body.staff-interface .staff-top .top-brand-left{gap:10px}
 body.staff-interface .staff-top .brand{font-size:21px}
 body.staff-interface .staff-top .sub{font-size:13px}
 body.staff-interface .staff-top .version-badge{font-size:12px}
 body.staff-interface .staff-top .pisa-logo-professional{width:68px;height:50px}
 body.staff-interface .staff-top .pisa-logo-sustainability{width:52px;height:52px}
 body.staff-interface .staff-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:16px;order:3;flex:0 0 100%}
 body.staff-interface .top-nav-staff{position:fixed;inset:0 auto 0 0;z-index:42;width:min(320px,88vw);height:100dvh;display:flex;flex-direction:column;align-items:stretch;gap:14px;overflow-y:auto;overscroll-behavior:contain;padding:16px;background:#f8fafc;border-right:1px solid #dce5ed;box-shadow:10px 0 28px rgba(16,24,40,.16);visibility:hidden;transform:translateX(-105%);transition:transform .2s ease,visibility .2s}
 body.staff-interface.staff-nav-open .top-nav-staff{visibility:visible;transform:translateX(0)}
 body.staff-interface .staff-menu-close{display:block;min-height:44px;font-size:16px;text-align:left}
 body.staff-interface.staff-nav-open{overflow:hidden}
 body.staff-interface.staff-nav-open .staff-nav-backdrop{display:block;position:fixed;inset:0;z-index:39;width:100%;height:100%;border:0;background:rgba(16,24,40,.45);cursor:pointer}
}
@media(prefers-reduced-motion:reduce){body.staff-interface .top-nav-staff{transition:none}}

body.staff-interface .top-nav-staff a.feedback-nav-attention[aria-current="page"]{background:#155c8c!important;color:#fff;border-color:#155c8c!important}

.feedback-nav-attention{border-color:#c57029!important;background:#fff6e9!important}.feedback-reply-badge{display:inline-block;margin-left:8px;padding:4px 9px;border-radius:999px;background:#a34907;color:#fff;font-weight:800;font-size:12px}.feedback-replies-alert{margin:16px 0;padding:17px 19px;border:2px solid #e0a45c!important;background:#fff2db!important;color:#57330e!important}.feedback-replies-alert a{display:inline-block;margin:5px 8px 0 0;padding:5px 9px;border-radius:8px;background:#fff;color:#753e11;font-weight:700}.feedback-reply-pending{border:2px solid #dc8e38!important;background:#fffcf6!important}.feedback-reply-pending summary{background:#fff3df}.feedback-mail-failed{display:block;margin-top:8px;color:#a02e21;font-weight:700}.feedback-mail-accepted{display:block;margin-top:8px;color:#476576}.feedback-admin-card{scroll-margin-top:24px}
.feedback-admin-card summary .feedback-reply-badge{color:#fff;font-size:14px;line-height:1.35;padding:6px 12px}.feedback-admin-card .feedback-latest-message{border:2px solid #83a9ca;padding:16px 18px}.feedback-admin-card .feedback-latest-message p{font-size:16px;line-height:1.5}

/* Abmelden bleibt als letzter Abschnitt innerhalb des internen Seitenmenüs. */
body.staff-interface .top-nav-staff .nav-group-account{width:100%;min-width:0;margin:0;padding:12px;background:#f1f4f7;border-color:#dce5ed}
body.staff-interface .top-nav-staff .nav-group-account .nav-logout{display:block;width:100%;min-width:0;margin:0;padding:11px 12px;text-align:left;white-space:normal}
/* Die allgemeine .actions-Regel erlaubt flex-wrap. Im senkrechten Menü
   würde das nach einem vollen Bildschirm eine zweite Spalte erzeugen. */
body.staff-interface .top-nav-staff{flex-wrap:nowrap;overflow-x:hidden;overflow-y:auto}
body.staff-interface .top-nav-staff>.nav-group{flex:0 0 auto;width:100%;min-width:0}

/* 0.1.117: Freigabe und Abbruch eines Admin-Antrags nebeneinander. */
.admin-approval-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px}
.admin-approval-actions form{margin:0}
.admin-approval-actions .btn{min-height:42px;font-size:14px}
.admin-approval-actions .btn.danger{background:#a92d2d;border-color:#a92d2d;color:#fff}
.admin-approval-actions .btn.danger:hover{background:#8f2020}
.admin-approval-actions .admin-approval-cancel{min-width:130px;border-color:#94a9ba;color:#17436e;background:#fff}
.admin-approval-actions .admin-approval-cancel:hover{background:#eaf2f8}

/* 0.1.126 – Projektkennzeichen direkt in der PISA-Projektliste nachtragen */
.project-code-inline{display:flex;align-items:center;gap:4px;max-width:100%}.project-code-inline input{width:72px;min-width:0;padding:6px 7px;font-size:12px}.project-code-inline .btn{min-width:28px;padding:5px 7px;line-height:1}.project-code-change{display:inline-block;margin-top:3px;white-space:nowrap}


/* 0.1.127 – Vanessa: Recherchevorschläge ohne überlappende Bedienfelder. */
.research-assignment-form{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch;min-width:220px;max-width:360px}
.research-assignment-form label{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;max-width:100%;overflow:visible}
.research-assignment-form select{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.research-assignment-form .btn,.research-assignment-form button{justify-self:start;max-width:100%;white-space:normal}

/* 0.1.188: Tabellenueberlagerung beim horizontalen Scrollen stabilisieren. */
.project-data-table{border-collapse:separate;border-spacing:0}
.project-data-table th,.project-data-table td{background-clip:padding-box}
.project-data-table .sticky-select,.project-data-table .sticky-fav,.project-data-table .sticky-code,.project-data-table .sticky-project{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.project-tablebox{overscroll-behavior-x:contain}
