
:root{--navy:#102237;--orange:#fa795a;--line:#dce4ec;--muted:#64748b;--bg:#f1f4f8;--green:#237b56}*{box-sizing:border-box}body{font:14px system-ui,-apple-system,Segoe UI,Arial;margin:0;background:var(--bg);color:#18283b}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.primary{background:var(--orange);color:white;padding:11px 17px;border-radius:9px;font-weight:750}.secondary{padding:10px 14px;border:1px solid var(--line);background:white;border-radius:9px;font-weight:650;color:#20354b}button:disabled{opacity:.5;cursor:not-allowed}header{min-height:67px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 22px;color:white}.brand{font-size:25px;font-weight:800;letter-spacing:-1px}.brand b{color:var(--orange)}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#9cb0c4}.h-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.h-right small{color:#cad8e4}.shell{max-width:1080px;margin:20px auto;padding:0 16px}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:23px;margin-bottom:14px;box-shadow:0 8px 25px #183b5110}h1{font-size:24px;margin:0 0 6px}h2{font-size:20px;margin:0 0 13px}h3{font-size:16px;margin:0 0 8px}.muted{color:var(--muted);font-size:13px}.field{display:flex;flex-direction:column;gap:5px;margin:10px 0}.field label{font-weight:680;font-size:12px;color:#3b4f66}.field input,.field select,.field textarea,input[type=date]{padding:11px 12px;border:1px solid #ccd7e2;border-radius:9px;background:#fff;color:#18283b;width:100%}.field textarea{min-height:83px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.hide{display:none!important}.notice{border:1px solid #cbd9e9;background:#eef5fd;color:#265277;padding:12px 14px;border-radius:9px;font-size:13px;margin:10px 0}.notice.error{background:#fff0ee;color:#9a3325;border-color:#f1c1b9}.notice.ok{background:#e8f7ef;color:#176843;border-color:#b5e2cb}.app{height:calc(100dvh - 67px);display:grid;grid-template-columns:405px minmax(0,1fr)}aside{background:#fff;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}.sidehead{padding:16px 17px 8px}.tabs{display:flex;gap:6px}.tabs button{flex:1;border-radius:8px;padding:11px 8px;background:#edf2f7;color:#30465b;font-weight:700}.tabs button.on{background:#172f49;color:white}.subtabs{display:flex;gap:5px;margin-top:9px;background:#edf2f7;border-radius:9px;padding:4px}.subtabs button{flex:1;padding:9px 6px;border-radius:7px;background:transparent;color:#42576c;font-size:12px;font-weight:750}.subtabs button.on{background:white;color:#142b44;box-shadow:0 2px 7px #1a354019}.maplegend{position:absolute;z-index:500;right:12px;bottom:14px;background:white;border-radius:9px;padding:8px;font-size:11px;box-shadow:0 2px 8px #0002}.gu-filter-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 2px 1px}.gu-filter-row label{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;cursor:pointer;color:#263a51}.gu-filter-row label:has(input:disabled){color:#7d8997;cursor:not-allowed}.gu-filter-row input{width:16px;height:16px;accent-color:#de7a38;cursor:pointer}.gu-filter-row input:disabled{cursor:not-allowed}.gu-lock{font-size:13px}.gu-unlock{border:0;background:transparent;color:#9b5d23;font-size:11px;font-weight:750;padding:4px;cursor:pointer}.gu-box{border:1px solid #d9e2ea;border-radius:10px;background:#fff;padding:12px;margin:12px 0}.gu-pin{display:grid;place-items:center;color:white;border:2px solid white;border-radius:50%;font-weight:800;box-shadow:0 2px 6px #0004}.dot.my-pin{background:#2563a6}.dot.offer-pin{background:#b96b2c}.dot.sent-pin{background:#6952a4}.mapnote{max-width:260px}.filters{padding:11px 17px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.filters input{grid-column:span 2}.filters select,.filters input{padding:10px;border:1px solid var(--line);border-radius:9px;min-width:0}.resulthead{padding:9px 17px;display:flex;justify-content:space-between;align-items:center;color:#627385;font-size:12px}.results{overflow:auto;padding:6px 12px 22px;flex:1}.group{border:1px solid #d6e0ec;border-radius:13px;padding:13px;margin:9px 0 15px;background:#fff;box-shadow:0 4px 10px #0f253309}.group-title{font-weight:800;font-size:14px;margin-bottom:5px}.request{border:1px solid #e0e7ef;background:#f5f8fc;border-radius:10px;padding:12px;text-align:left;width:100%;display:block;margin-top:9px}.request:hover{border-color:var(--orange)}.reqtop{display:flex;justify-content:space-between;gap:10px}.budget{font-weight:800;color:#000;white-space:nowrap}.small{font-size:12px;color:#637386;line-height:1.5}main{position:relative;min-height:0}#map{width:100%;height:100%}.mapnote{position:absolute;z-index:500;right:12px;top:12px;background:white;border-radius:10px;padding:10px 13px;box-shadow:0 3px 16px #0002;font-size:12px}.dot{background:#1a875a;width:25px;height:25px;display:grid;place-items:center;color:white;border:2px solid white;border-radius:50%;box-shadow:0 2px 6px #0004}.modalbg{position:fixed;inset:0;z-index:2000;background:#071527b8;display:flex;align-items:center;justify-content:center;padding:15px}.modal{background:#fff;border-radius:16px;width:min(100%,700px);max-height:93vh;overflow:auto;padding:23px;box-shadow:0 20px 60px #0003}.modal.wide{width:min(100%,990px)}.modalhead{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.section{border:1px solid #d8e1eb;background:#f3f6fa;border-radius:12px;padding:16px;margin:14px 0}.section h3{margin:0 0 10px}.section input,.section textarea,.section select{background:white}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:15px}.offer-chip{display:inline-flex;align-items:center;background:#e9e5f8;color:#6046a0;padding:3px 8px;border-radius:99px;font-size:10px;font-weight:750;white-space:nowrap;margin-left:6px}.inline-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}.badge{display:inline-block;border-radius:50px;padding:4px 9px;background:#e4f3ea;color:#186b47;font-size:11px;font-weight:700}.qa{background:#fff;border:1px solid #dce4ed;border-radius:10px;padding:12px;margin:8px 0}.myitem{background:#f6f8fb;border:1px solid var(--line);border-radius:9px;padding:12px;margin-bottom:10px}input[type=checkbox]{width:auto}.availability-check{display:flex;align-items:flex-start;gap:9px;margin:14px 0 5px;font-weight:650}.availability-check input{margin-top:3px;flex:none}#mapPicker{height:320px;border-radius:10px}.chooser{margin-top:10px;padding:10px;background:#ecf4fd;border-radius:9px}.mutedlink{color:#bdd0de}.spinner{padding:25px;text-align:center;color:#77899c}@media(max-width:800px){header{padding:10px 12px}.app{height:auto;min-height:calc(100dvh - 67px);display:flex;flex-direction:column-reverse}main{height:43vh;min-height:260px}aside{height:57vh;min-height:380px}.two,.three{grid-template-columns:1fr}.shell{margin:12px auto}.h-right small{display:none}.filters{grid-template-columns:1fr 1fr}}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.card-head .group-title{flex:1;min-width:0}.card-menu{position:relative;flex:none}.menu-trigger{border:1px solid transparent;background:transparent;border-radius:8px;width:32px;height:32px;display:grid;place-items:center;font-size:24px;line-height:1;color:#40546b}.menu-trigger:hover,.menu-trigger[aria-expanded="true"]{background:#edf2f7;border-color:#dce4ec}.card-dropdown{position:absolute;top:36px;right:0;z-index:1200;min-width:156px;background:white;border:1px solid #dce4ec;border-radius:10px;padding:5px;box-shadow:0 9px 27px #152d4933}.card-dropdown button{display:block;width:100%;background:transparent;padding:10px 12px;text-align:left;border-radius:6px;color:#192d45}.card-dropdown button:hover{background:#f0f4f9}.card-dropdown .danger{color:#b42f30}.confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.danger-btn{background:#b93434;color:#fff;padding:11px 17px;border-radius:9px;font-weight:700}.danger-btn:hover{background:#942727}.erstangebot-card{background:#fff3e8;border-color:#f3c49d}.erstangebot-card h3{color:#8f481c}.erstangebot-card .small{color:#875d43}.erstangebot-card input[type="date"]:read-only{background:#f4e8dc;color:#705f52;border-color:#e3c9b3;cursor:not-allowed;pointer-events:none}.erstangebot-card .availability-check{color:#6f431e}
.auswahl-panel{margin-top:11px;padding:10px 11px;background:#f7f5ed;border:1px solid #e6ddbf;border-radius:9px}
.auswahl-state{display:inline-block;font-size:12px;font-weight:750;color:#755b2d}
.auswahl-panel .inline-actions{margin:9px 0 0}
/* V19.9: title emphasis and reference-price notice */
#modalTitle.request-title{font-size:clamp(23px,3vw,29px);font-weight:850;line-height:1.2;letter-spacing:-.35px;color:#14283f}
.request .reqtop>strong:first-child{font-size:16px;line-height:1.35}
.richtpreis-overlay{position:fixed;inset:0;z-index:3000;background:#102237a8;display:flex;justify-content:center;align-items:center;padding:18px}
.premium-btn{background:#f8e7c4;color:#653d0e;border:1px solid #e5bd76;padding:9px 13px;border-radius:9px;font-weight:800}
.premium-box{background:#fffaf0;border:1px solid #e8c88b;border-radius:12px;padding:15px;margin:12px 0}
.premium-price{font-size:13px;color:#775d39}
.premium-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.premium-plan{background:white;border:1px solid #e6d9bd;border-radius:10px;padding:13px}
.premium-plan h3{margin:0 0 8px}
.premium-status{background:#eef1f5;border-radius:99px;padding:3px 7px;font-size:11px;display:inline-block}
.richtpreis-dialog{width:min(100%,450px);background:#fff;border-radius:17px;border:2px solid #f1ad63;box-shadow:0 20px 65px #081b344c;padding:25px;color:#26354a}
.richtpreis-dialog .hinweis-icon{display:grid;place-items:center;background:#fff0d9;color:#9d510f;font-size:23px;width:43px;height:43px;border-radius:12px;margin-bottom:12px}
.richtpreis-dialog h2{font-size:22px;line-height:1.25;margin:0 0 10px;color:#803b0e}
.richtpreis-dialog p{font-size:15px;line-height:1.65;margin:0 0 18px}
.richtpreis-dialog label{display:flex;align-items:center;gap:9px;font-size:14px;color:#415368;cursor:pointer;margin-bottom:18px}
.richtpreis-dialog label input{width:17px;height:17px;accent-color:#db7f31}
.richtpreis-dialog button{width:100%}

/* V21.1 — Antwortfeld und Angebots-Detailmodal */
.qa .answer-form{margin-top:13px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.qa .answer-form textarea{display:block;width:100%;min-height:180px;resize:both;max-width:100%;padding:13px 14px;border:1px solid #bccddd;border-radius:10px;background:#fff;font:inherit;line-height:1.55;color:#18283b}
.qa .answer-form textarea:focus{outline:2px solid #f0a07b;outline-offset:1px}
.qa .answer-form .secondary{align-self:flex-end}
.offer-detail-trigger{display:block;width:100%;text-align:left;border:1px solid #dce5ef;border-radius:10px;background:#fff;padding:13px;margin-top:11px;color:#1e354f;font-weight:750}
.offer-detail-trigger:hover,.offer-detail-trigger:focus-visible{border-color:#f09b74;background:#fff9f4}
.offer-detail-trigger span{font-size:12px;font-weight:450;color:#66788a;display:block;margin-top:3px}
.offer-status-chip{display:inline-block;margin:6px 0 4px;border-radius:99px;background:#e6efff;color:#2454a0;font-weight:800;font-size:11px;padding:5px 10px}
.offer-status-chip.confirmed{background:#e4f6ec;color:#176b43}
.offer-status-chip.declined{background:#fbe9e9;color:#9c3434}
.offer-status-chip.cancelled{background:#edf0f4;color:#5e6978}
.offer-detail-heading{font-size:21px;margin:0 0 8px;line-height:1.25}
.offer-detail-section{padding:16px;margin:13px 0;border:1px solid #dce4ee;border-radius:12px;background:#f7f9fc}
.offer-detail-section p{font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.offer-detail-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.offer-detail-info>div{padding:13px;background:#f7f9fc;border:1px solid #e1e8ef;border-radius:10px}
.offer-detail-info b{display:block;margin-top:4px}
@media(max-width:600px){.offer-detail-info{grid-template-columns:1fr}.qa .answer-form textarea{resize:vertical}}

/* V21.2: Angebotsvergleich pro Anfrage */
.comparison-entry{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff5eb;border:1px solid #f0c9a1;border-radius:10px;padding:11px 12px;margin:10px 0;text-align:left;color:#8a481e;font-weight:800}
.comparison-entry:hover{background:#ffedda;border-color:#e5ac70}
.comparison-entry .comparison-count{font-size:11px;border-radius:100px;padding:4px 8px;background:#fff;color:#8a481e;border:1px solid #f0c9a1;white-space:nowrap}
.comparison-group{border-top:2px solid #e4eaf1;padding-top:9px;margin-top:16px}
.comparison-group:first-child{border-top:0;margin-top:0;padding-top:0}
.comparison-group h3{font-size:15px;margin:4px 0}
.comparison-group>.small{margin-bottom:7px}
.comparison-summary{background:#f6f8fb;border:1px solid #dde6f0;padding:13px;border-radius:10px;margin-bottom:13px}
.comparison-scroll{overflow-x:auto;padding-bottom:8px}
.comparison-columns{display:grid;grid-template-columns:repeat(var(--comp-cols),minmax(220px,1fr));gap:12px;min-width:max-content}
.comparison-offer{width:255px;max-width:80vw;border:1px solid #d7e0e9;background:white;border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:10px}
.comparison-offer.is-selected{border:2px solid #71a4cc;background:#f7fbff}
.comparison-offer h3{font-size:14px;margin:0}
.comparison-offer .comparison-price{font-size:18px;font-weight:850;overflow-wrap:anywhere}
.comparison-offer .comparison-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;font-size:13px;max-height:220px;overflow:auto}
.comparison-offer .comparison-actions{margin-top:auto;display:flex;flex-direction:column;gap:7px}
.comparison-offer .comparison-actions button{width:100%}
.comparison-hint{font-size:12px;color:#506479;margin:0 0 14px}

.comparison-table{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content;text-align:left;font-size:13px}
.comparison-table th,.comparison-table td{border-right:1px solid #dde5ed;border-bottom:1px solid #dde5ed;padding:13px 14px;vertical-align:top;min-width:200px;max-width:260px;overflow-wrap:anywhere}
.comparison-table thead th{background:#18314c;color:#fff;position:sticky;top:0;z-index:2}
.comparison-table thead th:first-child{left:0;z-index:4}
.comparison-table tbody th{position:sticky;left:0;z-index:1;background:#f2f6fa;color:#33465c;min-width:160px;max-width:160px}
.comparison-table tbody tr:nth-child(even) td{background:#fafcff}
.comparison-table td .comparison-price{color:#163a60}
.comparison-table .comparison-actions{min-width:180px}
.comparison-table .comparison-description{max-height:180px;overflow:auto;white-space:pre-wrap}

/* V21.4: highlighted premium filter and confirmed requester cards */
.gu-filter-row{border:1.5px solid #d4a33b;background:#fff7dc;border-radius:11px;padding:11px 10px;box-shadow:0 1px 3px #98721e12}
.gu-filter-row label{color:#614915;font-weight:750}
.gu-filter-row label:has(input:disabled){color:#846c3d}
.gu-unlock{border:1px solid #d8af57;background:#ffedb3;color:#755010;border-radius:8px;padding:7px 9px;font-weight:800}
.gu-unlock:hover{background:#ffe39a}
.group.interest-confirmed{background:#e7f8eb;border:2px solid #319a59;box-shadow:0 3px 12px #26834a22}
.group.interest-confirmed .request{background:#f4fff6;border-color:#a7d7b5}
.confirmed-interest-chip{display:inline-block;background:#c9ecd2;color:#176b39;border:1px solid #82c69a;border-radius:99px;font-size:11px;font-weight:800;padding:4px 9px;margin:4px 0 6px}

/* V21.5: abgeschlossene Anfragen */
.closed-filter {display:flex;align-items:center;gap:9px;margin-top:8px;padding:8px 10px;border:1px solid #d2d9dc;border-radius:9px;background:#f5f7f8;font-size:12px}
.closed-filter input {width:16px;height:16px;accent-color:#556c7a}
.group.project-closed {border:1.5px solid #a6adb7;background:#f3f4f6;opacity:.9}
.project-closed .request {background:#f7f7f9}
.closed-chip {display:inline-block;background:#e1e4e9;color:#464e59;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:700;margin:5px 0}

/* V21.6 — Tabellenübersicht */
#overviewButton{background:#fff;color:#1b344b;border:1px solid #cad7e5;padding:9px 13px;white-space:nowrap}
#overviewButton:hover{background:#edf4fa}
.overview-modal{width:min(1250px,98vw)!important;max-height:94vh}
.overview-modal #modalContent{min-height:260px}
.overview-tabs{display:flex;gap:7px;margin:8px 0 15px;background:#edf2f7;border-radius:12px;padding:5px;width:max-content;max-width:100%}
.overview-tabs button{border:0;background:transparent;color:#455b71;border-radius:8px;font-weight:750;padding:10px 25px}
.overview-tabs button.active{background:#17344f;color:#fff}
.overview-table-scroll{overflow:auto;border:1px solid #dce5ef;border-radius:12px;max-height:62vh}
.overview-table{width:100%;min-width:790px;border-collapse:collapse;font-size:13px;text-align:left}
.overview-table th{position:sticky;top:0;background:#f2f6fa;color:#435670;z-index:2;padding:12px 13px;white-space:nowrap;font-size:12px}
.overview-table td{padding:11px 13px;border-top:1px solid #e9eef4;vertical-align:middle}
.overview-table tbody tr:hover{background:#f7fafc}
.overview-table tbody tr.overview-expanded{background:#f4f8fd}
.overview-table .overview-parent{font-weight:750;color:#1b3047}
.overview-table .overview-sub td{background:#f9fbfd}
.overview-table .overview-sub td:first-child{padding-left:27px}
.overview-table .overview-offer td{background:#fffaf5}
.overview-table .overview-offer td:first-child{padding-left:46px}
.overview-table .overview-gu td{background:#fff8e9}
.overview-pill{display:inline-block;padding:4px 9px;border-radius:99px;background:#e8eef5;color:#344a60;font-size:11px;font-weight:760;white-space:nowrap}
.overview-pill.selected{background:#e8eefc;color:#274e9d}
.overview-pill.confirmed{background:#e0f3e6;color:#176a38}
.overview-pill.closed,.overview-pill.withdrawn,.overview-pill.declined{background:#eceef0;color:#515d6a}
.overview-pill.submitted{background:#edf3ff;color:#325890}
.overview-pill.requested{background:#fff0d6;color:#865314}
.overview-muted{color:#6a7c90;font-size:12px}
.overview-trigger{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #cbd8e5;padding:6px 10px;border-radius:7px;color:#21415e;font-weight:700;font-size:12px;white-space:nowrap}
.overview-trigger:hover{background:#e7f2fc}
.overview-empty{padding:28px;text-align:center;color:#64748b}
.overview-count{font-size:12px;color:#64748b;margin:0 0 12px}
@media(max-width:650px){#overviewButton{padding:8px 9px}.overview-tabs{width:100%}.overview-tabs button{flex:1}.overview-modal{padding:14px}}

/* Test company selector (remove before production). */
.test-company-switch{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid #486078;border-radius:10px;background:#203850;flex-wrap:wrap}
.test-company-switch .test-tag{font-size:10px;color:#f6d68d;font-weight:800;padding:0 5px;letter-spacing:.5px}
.test-company-switch button{border:1px solid #68809a;border-radius:7px;background:#304d69;color:#fff;padding:8px 9px;font-size:12px;font-weight:750;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.test-company-switch button:hover{background:#416481}
.test-company-switch button.active{background:#f3cf88;border-color:#f3cf88;color:#28354b}
.test-login-note{padding:10px 12px;background:#fff8e5;border:1px solid #edce90;border-radius:9px;font-size:12px;color:#654918}
@media(max-width:860px){.test-company-switch{order:2;width:100%;justify-content:center}.test-company-switch button{max-width:100px}.h-right{justify-content:flex-end}}

/* V22.2: deutliche Hierarchie der Navigation + einklappbarer Detailfilter */
.tabs button{text-transform:uppercase;letter-spacing:.85px;font-size:13px;font-weight:850;border-radius:9px 9px 5px 5px}
.subtabs-wrap{padding:10px 10px 11px;margin-top:0;border:1px solid #d4e0ed;border-top:3px solid #172f49;border-radius:0 0 11px 11px;background:#f5f8fc}
.subtab-context{font-size:10px;font-weight:850;letter-spacing:1px;color:#536c84;padding:0 5px 3px}
.subtab-context span{font-size:15px;color:#d97855;margin-left:4px}
.subtabs{margin-top:2px;background:#e6edf5}
.subtabs button.on{color:#122d4a;border-bottom:2px solid #fa795a}
#filterArea{overflow-y:auto;min-height:0;flex-shrink:1;max-height:62vh;align-content:start}
.detail-filter{grid-column:1/-1;border:1px solid #cbd8e6;border-radius:11px;background:#f9fbfd;overflow:visible}
.detail-filter summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:12px;cursor:pointer;font-weight:800;font-size:12px;color:#263e59}
.detail-filter summary::-webkit-details-marker{display:none}
.detail-filter summary:after{content:'▾';margin-left:auto;color:#566b80;font-size:14px}
.detail-filter[open] summary:after{content:'▴'}
.detail-filter-content{padding:0 12px 12px;border-top:1px solid #e0e8f0}
.detail-filter-title{font-size:12px;font-weight:750;color:#314e69;margin:12px 0 8px}
.detail-filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.detail-filter-pair label{font-size:11px;font-weight:700;color:#60758b;min-width:0}
.detail-filter-pair input{width:100%;font-size:12px;margin-top:4px;padding:9px 7px;grid-column:auto;min-width:0}
.detail-filter-hint{font-size:11px;line-height:1.45;color:#708094;margin:10px 0}
.detail-filter-reset{border:1px solid #cbd8e6;background:white;color:#3b5470;border-radius:8px;font-size:12px;font-weight:700;padding:9px 12px;width:100%}
.filter-count{border-radius:50px;background:#dcebf8;color:#24537c;font-size:11px;padding:3px 8px;margin-left:8px}
@media(max-width:800px){#filterArea{max-height:35vh}.detail-filter-pair{grid-template-columns:1fr 1fr}}

/* V22.3: zusammenhaengende Haupt-/Unternavigation nach freigegebenem Entwurf */
.sidehead{padding:16px 17px 8px}
.sidehead .tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}
.sidehead .tabs button{
  appearance:none;min-width:0;margin:0;padding:13px 6px 15px;
  background:#dddddf;color:#3e3e3e;border:0;border-radius:14px 14px 8px 8px;
  font-size:15px;line-height:1.2;font-weight:700;letter-spacing:.55px;
  box-shadow:none;position:relative;z-index:1;transition:background .15s,color .15s
}
.sidehead .tabs button.on{
  background:#3b3b3b;color:#fff;z-index:3;
  border-radius:14px 14px 0 0;box-shadow:none
}
.sidehead .tabs button:focus-visible,.sidehead .subtabs button:focus-visible{outline:3px solid #fa795a;outline-offset:2px}
.sidehead .subtabs-wrap{
  margin-top:-1px;padding:15px 12px 13px;background:#3b3b3b;
  border:0;border-radius:0 10px 13px 13px;
  box-shadow:0 3px 9px rgba(0,0,0,.10)
}
.sidehead .subtab-context{display:none}
.sidehead .subtabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;background:transparent}
.sidehead .subtabs button{
  min-width:0;min-height:39px;padding:10px 5px;background:transparent;
  border:1px solid #787878;border-radius:9px;color:#d5d5d5;
  font-size:12px;font-weight:650;line-height:1.2;box-shadow:none
}
.sidehead .subtabs button.on{
  color:#fff;background:#555;border:1px solid #e5e5e5;
  box-shadow:none
}
@media(max-width:440px){.sidehead .tabs button{font-size:13px}.sidehead .subtabs{gap:7px}.sidehead .subtabs button{font-size:11px}}

/* V22.4 – Kartenfokus, zentrale Schnellsuche, rechte Navigations-Sidebar */
.app{grid-template-columns:minmax(0,1fr) 355px;min-width:0}
.app>main{grid-column:1;grid-row:1;position:relative;min-width:0;isolation:isolate}
.app>aside{grid-column:2;grid-row:1;border-right:0;border-left:1px solid var(--line);box-shadow:-5px 0 22px #1022370b;z-index:601}
.header-action-offer{background:#294763;border:1px solid #69819a;border-radius:9px;color:#fff;padding:10px 15px;font-weight:750;white-space:nowrap}
.header-action-offer:hover{background:#345874}
.app aside .sidehead{padding:16px 14px 8px}
.app aside .sidehead .tabs{gap:7px}
.app aside .sidehead .tabs button{background:#e6edf5;color:#17324c;border-radius:11px 11px 0 0;box-shadow:none}
.app aside .sidehead .tabs button.on{background:#102c46;color:#fff}
.app aside .sidehead .subtabs-wrap{background:#102c46;border:0;border-radius:0 0 12px 12px;box-shadow:none;padding:12px 10px}
.app aside .sidehead .subtabs button{border-color:#61788e;color:#dfebf5}
.app aside .sidehead .subtabs button.on{background:#304f6b;border-color:#b6c9d9;color:#fff}
.app aside #filterArea{border-top:1px solid #e6edf4;margin-top:6px}
.quick-search{position:absolute;z-index:650;top:17px;left:50%;transform:translateX(-50%);width:min(670px,calc(100% - 38px));display:grid;grid-template-columns:minmax(150px,1.6fr) minmax(90px,1fr) minmax(90px,1fr);gap:9px;padding:11px;background:#ffffffed;border:1px solid #bdccdc;border-radius:15px;box-shadow:0 8px 28px #0c22353b;backdrop-filter:blur(10px)}
.quick-field{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:11px;font-weight:800;color:#36516b;letter-spacing:.2px}
.quick-field input,.quick-field select{width:100%;height:38px;background:#fff;border:1px solid #c6d4e1;border-radius:8px;padding:7px 10px;color:#152e45;font-size:13px;min-width:0}
.quick-field :is(input,select):focus-visible{outline:2px solid #fa795a;outline-offset:1px}
.app .mapnote{top:100px;left:14px;right:auto;max-width:min(320px,calc(100% - 28px));opacity:.93}
@media(max-width:1080px){.app{grid-template-columns:minmax(0,1fr) 315px}.h-right{gap:7px}header{padding:10px 13px}}
@media(max-width:800px){
 .app{height:auto;min-height:calc(100dvh - 67px);display:flex;flex-direction:column}
 .app>main{order:0;min-height:370px;height:48vh}
 .app>aside{order:1;border:0;border-top:1px solid var(--line);box-shadow:none;height:auto;min-height:400px}
 .quick-search{top:12px;width:calc(100% - 22px);gap:6px;padding:9px;grid-template-columns:minmax(110px,1.4fr) minmax(68px,1fr) minmax(68px,1fr)}
 .quick-field input,.quick-field select{font-size:12px;padding:7px 5px}
 .app .mapnote{top:auto;bottom:60px;left:10px;font-size:11px}
 .h-right{gap:6px}
 .header-action-offer{padding:9px 11px}
}
@media(max-width:520px){header{flex-wrap:wrap}.brand{font-size:22px}.h-right{width:100%;justify-content:flex-start;flex-wrap:wrap}.test-company-switch{max-width:100%;overflow:auto}.app>main{height:45vh}.app aside .sidehead{padding:12px 12px 7px}}

/* V22.5 – klassische rechte Link-Navigation und Ergebnis-Drawer über Karte */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app>aside{z-index:630;overflow-y:auto;box-shadow:-3px 0 15px #10223710}
.sidebar-links{padding:20px 16px 12px;border-bottom:1px solid #dce5ee}
.nav-group{margin:0 0 10px}
.nav-heading{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:transparent;color:#15324d;padding:13px 14px;border-radius:9px;font-size:13px;font-weight:850;letter-spacing:.75px}
.nav-heading.on{background:#102c46;color:#fff}
.nav-heading:not(.on):hover{background:#edf3f8}
.nav-chevron{opacity:.65;font-size:18px;line-height:10px}
.nav-children{display:none;padding:6px 0 4px 19px;margin-left:14px;border-left:2px solid #d4e0eb;flex-direction:column;gap:4px}
.nav-group.active .nav-children{display:flex}
.nav-link{font-size:13px;text-align:left;color:#496078;background:transparent;border-radius:7px;padding:10px 12px;min-height:38px;font-weight:650}
.nav-link.on{background:#e3edf5;color:#102c46;font-weight:800;border-left:3px solid #fa795a;padding-left:9px}
.nav-link:hover:not(.on){background:#f0f5f9}
.app aside #filterArea{border-top:0;overflow-y:visible;max-height:none;flex-shrink:0;padding:14px 16px 22px}
.app aside #filterArea #tradeFilter{display:none}
.quick-search{width:min(760px,calc(100% - 36px));grid-template-columns:minmax(100px,1.2fr) minmax(130px,1.4fr) minmax(105px,1fr) minmax(105px,1fr);gap:8px;padding:10px;top:17px}
.quick-field{display:block}
.quick-field input,.quick-field select{height:42px;font-size:13px;border-radius:9px}
.quick-field input::placeholder{color:#627b94;opacity:1}
.quick-field input[type=date]{padding:7px 7px}
.app .mapnote{top:86px}
.results-drawer{position:absolute;z-index:605;bottom:0;left:15px;right:15px;height:min(42%,360px);min-height:175px;background:#fff;border:1px solid #c5d4e2;border-bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -9px 35px #0e263b36;display:flex;flex-direction:column;transition:height .2s ease;overflow:hidden}
.results-drawer.collapsed{height:54px;min-height:54px}
.drawer-handle{border:0;background:#fff;display:flex;align-items:center;gap:12px;width:100%;padding:12px 18px;color:#19344e;text-align:left;min-height:54px;cursor:pointer;border-bottom:1px solid #e4ebf1}
.drawer-handle strong{font-size:14px}
.drawer-grip{width:38px;height:5px;background:#bbccda;border-radius:99px;flex:none}
#drawerToggleLabel{margin-left:auto;font-size:12px;color:#526c84;font-weight:700}
.drawer-contents{flex:1;min-height:0;overflow-y:auto}
.results-drawer .results{overflow:visible;display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px;align-content:start;padding:13px 16px 25px}
.results-drawer .group{margin:0;min-width:0}
.results-drawer .spinner{grid-column:1/-1}
.results-drawer.collapsed .drawer-contents{display:none}
.leaflet-tooltip{border:1px solid #afc2d2;color:#142f49;font-size:12px;line-height:1.5;border-radius:9px;padding:8px 11px;box-shadow:0 5px 19px #05172f33}
@media(max-width:1100px){.app{grid-template-columns:minmax(0,1fr) 295px}.quick-search{width:calc(100% - 24px);gap:5px;padding:8px;grid-template-columns:minmax(75px,1fr) minmax(105px,1.2fr) minmax(74px,.85fr) minmax(74px,.85fr)}.quick-field input,.quick-field select{font-size:12px;padding:5px}.results-drawer{left:8px;right:8px}}
@media(max-width:800px){
 .app{display:flex;flex-direction:column;min-height:calc(100dvh - 67px);height:auto}
 .app>main{order:0;height:66dvh;min-height:420px}
 .app>aside{order:1;height:auto;min-height:initial;border-top:1px solid #dae5ed;overflow:visible}
 .app aside #filterArea{max-height:none}
 .results-drawer{height:min(43%,330px);left:6px;right:6px}
 .results-drawer .results{grid-template-columns:1fr}
 .quick-search{top:10px}
 .app .mapnote{top:78px;bottom:auto}
}
@media(max-width:530px){.quick-search{grid-template-columns:1fr 1fr;top:8px;width:calc(100% - 16px)}.quick-field input,.quick-field select{height:36px}.app .mapnote{display:none}.app>main{min-height:480px;height:72dvh}.results-drawer{height:45%;max-height:360px}.drawer-grip{width:22px}.drawer-handle{padding:10px}.drawer-handle strong{font-size:12px}}

/* V22.6 – dauerhafte Seitenleiste und einfache Kontonavigation */
.header-auth{background:#294763;color:#fff;border:1px solid #65809b;border-radius:9px;padding:10px 14px;font-weight:750;white-space:nowrap}
.header-auth:hover{background:#365b7c}
.sidebar-user{display:flex;gap:11px;align-items:center;background:#f0f5fa;border-bottom:1px solid #dce5ee;padding:17px 16px;min-width:0}
.sidebar-user-avatar{height:40px;width:40px;border-radius:50%;background:#dce8f3;display:grid;place-items:center;color:#173b59;flex:none;font-size:18px}
.sidebar-user-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.sidebar-user-label{color:#73849a;letter-spacing:1px;font-size:10px;font-weight:800}
#sideUsername{font-size:14px;color:#122d47;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#sideOrganization{font-size:12px;color:#667b90;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app .sidebar-links{padding:12px 13px 16px}
.app .nav-group{margin:0 0 10px}
.app .nav-heading{padding:10px 12px;color:#193a55;background:#eaf0f6;border-radius:9px;font-weight:800;cursor:pointer}
.app .nav-heading.on{background:#163652;color:white}
.app .nav-children,.app .nav-group.active .nav-children{display:flex;flex-direction:column;gap:3px;margin:5px 0 0 13px;padding:3px 0 3px 13px;border-left:2px solid #d5e1ec}
.app .nav-link{display:block;width:100%;text-align:left;min-height:38px;font-size:13px;padding:9px 11px}
.app .nav-link.on{border-left:3px solid #fa795a;padding-left:8px}
.sidebar-shortcuts{display:flex;flex-direction:column;gap:6px;padding:14px 0 0;border-top:1px solid #e1e8f0;margin-top:12px}
.sidebar-shortcut{display:flex;gap:12px;align-items:center;text-align:left;width:100%;min-height:43px;padding:10px 14px;border-radius:9px;border:1px solid #d8e2ec;background:#f8fafc;color:#17324b;font-weight:760}
.sidebar-shortcut:hover{background:#eaf2f8}
.sidebar-premium{background:#fff7e5;border-color:#ead1a1;color:#8e5d13}
.sidebar-premium:hover{background:#fff0c8}
@media(max-width:650px){.header-auth{padding:9px 11px}.sidebar-user{padding:12px 14px}}

/* V22.7 – kompakte Testfirmen unter den Kartenfiltern und globale Kurzbefehle */
.header-shortcut{background:#294763;color:#fff;border:1px solid #65809b;border-radius:9px;padding:10px 13px;font-weight:750;white-space:nowrap}
.header-shortcut:hover{background:#375b7a}
.header-premium{background:#463c2d;border-color:#bda36a;color:#ffe4a1}
.header-premium:hover{background:#574a32}
.map-test-switch{position:absolute;z-index:665;top:94px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;border:1px solid #c5d4e3;border-radius:999px;padding:4px 6px;background:#fffffff0;box-shadow:0 6px 18px #10223725;backdrop-filter:blur(7px)}
.map-test-switch button{display:grid;place-items:center;width:25px;height:25px;padding:0;border-radius:50%;font-size:11px;font-weight:850;color:#31506b;background:#eaf0f7;border:1px solid #bacbdc}
.map-test-switch button:hover{background:#dce8f3}
.map-test-switch button.active{background:#102c46;color:#fff;border-color:#102c46}
.city-search-notice{position:absolute;z-index:670;top:137px;left:50%;transform:translateX(-50%);width:min(640px,calc(100% - 28px));background:#fff8e8;border:1px solid #edcd93;border-radius:11px;color:#70501e;padding:11px 14px;box-shadow:0 5px 18px #10223724;font-size:12px;line-height:1.5;text-align:center}
@media(max-width:1100px){.map-test-switch{top:89px}.city-search-notice{top:129px}}
@media(max-width:800px){.map-test-switch{top:80px}.city-search-notice{top:118px}.header-shortcut{font-size:12px;padding:8px 10px}}
@media(max-width:530px){.map-test-switch{top:92px}.city-search-notice{top:132px}.h-right{gap:5px}}

/* V22.8 – Sidebar labels with icon links + Angebotsauswahl modal */
.app .sidebar-links{padding:16px 14px 18px}
.app .nav-group{margin:0 0 22px}
.app .nav-heading{display:block;padding:0 2px 10px;background:transparent!important;border-radius:0;color:#2b4a41!important;font-size:13px;font-weight:900;letter-spacing:.9px;cursor:default;border-bottom:1px solid #d9e2ea}
.app .nav-group.active .nav-heading{color:#17324c!important}
.app .nav-children,.app .nav-group.active .nav-children{display:flex;flex-direction:column;gap:5px;margin:10px 0 0 6px;padding:0;border-left:0}
.app .nav-link{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:10px;color:#314b44;background:transparent;font-size:14px;font-weight:700;text-align:left}
.app .nav-link .nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:none;color:#6d7d73}
.app .nav-link .nav-icon svg{display:block;width:18px;height:18px}
.app .nav-link.on{background:#eaf0f6;color:#102c46;border-left:0;padding-left:10px;box-shadow:inset 0 0 0 1px #d8e4ef}
.app .nav-link.on .nav-icon{color:#102c46}
.app .nav-link:hover:not(.on){background:#f3f6f8}
.anbieten-choice{display:grid;gap:12px;margin-top:8px}
.anbieten-choice button{display:block;width:100%;text-align:left;padding:15px 16px;border-radius:12px;border:1px solid #d6e1eb;background:#fff;color:#1b3348;font-weight:750}
.anbieten-choice button:hover{background:#f7fafc}
.anbieten-choice button small{display:block;margin-top:4px;color:#697d90;font-weight:600}


/* V22.9 - Suche im Detailfilter, dringend, sortier- und skalierbarer Ergebnis-Drawer */
.app aside #filterArea{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.app aside #filterArea>*{grid-column:auto;width:100%}
.app aside #filterArea .gu-filter-row,.app aside #filterArea .urgent-filter-row{width:100%}
.urgent-filter-row{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 12px;border:1px solid #d6a65b;border-radius:10px;background:#fff7e9}
.urgent-filter-row label{display:flex;align-items:center;gap:9px;color:#62431f;font-weight:750;font-size:13px;cursor:pointer}
.urgent-filter-row input{width:16px;height:16px;accent-color:#d87935;cursor:pointer}
.urgent-hint{font-size:11px;color:#946d37;font-weight:750;white-space:nowrap}
.detail-search-input{display:block;width:100%;padding:10px 11px;border:1px solid #cbd8e6;border-radius:8px;font-size:13px;color:#183049;background:#fff}
.results-drawer{max-height:none;transition:height .15s ease}
.results-drawer.is-resizing{transition:none;user-select:none}
.results-drawer.collapsed{height:54px!important;min-height:54px}
.drawer-toolbar{display:flex;align-items:center;min-height:54px;gap:8px;padding:0 11px 0 12px;background:#fff;border-bottom:1px solid #e4ebf1;flex:none;position:relative}
.drawer-resize{display:flex;align-items:center;justify-content:center;flex:none;width:35px;height:43px;cursor:ns-resize;touch-action:none;border-radius:8px}
.drawer-resize:hover,.drawer-resize:focus-visible{background:#edf3f7;outline:0}
.drawer-resize .drawer-grip{width:29px;height:6px;background:#8da5b9;border-radius:99px}
.drawer-toolbar .drawer-handle{flex:1;min-width:0;padding:7px 4px;border:0;min-height:52px;width:auto;gap:9px}
.drawer-toolbar .drawer-handle strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drawer-toolbar #drawerToggleLabel{margin-left:0;font-size:11px;white-space:nowrap}
.drawer-sort{display:flex;align-items:center;gap:7px;flex:none;font-weight:750;color:#536b80;font-size:11px}
.drawer-sort select{width:178px;max-width:18vw;min-height:34px;border-radius:7px;border:1px solid #cdd9e5;background:#fff;color:#223b52;padding:4px 7px;font-size:12px}
.results-drawer.collapsed .drawer-resize{pointer-events:none;opacity:.35}
@media(max-width:1100px){.drawer-sort select{width:145px;max-width:19vw}.drawer-toolbar{gap:5px;padding:0 8px}}
@media(max-width:650px){.drawer-toolbar{gap:3px}.drawer-resize{width:22px}.drawer-toolbar .drawer-handle{gap:4px}.drawer-toolbar #drawerToggleLabel{font-size:10px}.drawer-sort{gap:3px}.drawer-sort span{display:none}.drawer-sort select{width:117px;max-width:33vw;font-size:11px}.results-drawer{max-height:none}}


/* V23: Karten-Ergebnisdrawer, Seitenmenue und gesicherte Premium-Tests */
.sidebar-tools{border-top:1px solid #d9e2ea;margin-top:8px;padding-top:12px;display:flex;flex-direction:column;gap:4px}
.sidebar-tools .nav-link{display:flex;align-items:center;gap:10px;width:100%;border:0}
.test-premium-box{background:#eef5fb;border:1px solid #b8d1e5;border-radius:11px;padding:14px;margin:13px 0}
.test-premium-actions{display:flex;flex-wrap:wrap;gap:9px}
.urgent-filter-row:has(input:disabled){border-color:#d8c6a2;background:#fffaf0}
.urgent-filter-row input:disabled{cursor:not-allowed}
.urgent-hint{font-size:10px}
.request.pin-focus{outline:3px solid #fa795a;outline-offset:2px;transition:outline-color .2s}


/* V23.1: compact account info, apply-only detail filters, centered drawer triangle */
.detail-filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.detail-filter-actions button{width:100%;font-size:12px;min-height:38px;padding:8px 7px}
.detail-filter-actions .detail-filter-reset{margin:0}
.drawer-toolbar{position:relative;min-height:57px;padding:0 14px;gap:10px;justify-content:space-between}
.drawer-toolbar .drawer-resize{flex:none;width:31px}
.drawer-toolbar .drawer-counter{font-size:13px;font-weight:800;color:#19344e;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:auto}
.drawer-toolbar .drawer-sort{margin-left:auto;padding-left:12px}
.drawer-toolbar .drawer-sort select{width:170px;max-width:24vw}
.drawer-toolbar .drawer-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42px;height:40px;min-height:40px;padding:0;flex:none;justify-content:center;align-items:center;z-index:2;border:0;border-radius:9px;background:transparent}
.drawer-toolbar .drawer-handle:hover,.drawer-toolbar .drawer-handle:focus-visible{background:#eaf0f6;outline:0}
.drawer-toolbar #drawerToggleLabel{margin:0;display:block;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid #28445b;border-bottom:0;transition:transform .15s}
.results-drawer.collapsed .drawer-toolbar #drawerToggleLabel{transform:rotate(180deg)}
@media(max-width:650px){.drawer-toolbar .drawer-sort select{width:110px;max-width:30vw}.drawer-toolbar .drawer-counter{font-size:11px;max-width:33%}.drawer-toolbar .drawer-handle{width:32px}}


/* V23.2: draggable full top border, no separate resize icon */
.results-drawer{overflow:visible}
.drawer-border-resize{position:absolute;z-index:9;top:-9px;left:0;right:0;height:16px;cursor:ns-resize;touch-action:none;user-select:none;border-radius:15px 15px 0 0;background:transparent}
.drawer-border-resize:hover,.results-drawer.is-resizing .drawer-border-resize{border-top:4px solid #fa795a}
.drawer-border-resize:focus-visible{outline:2px solid #fa795a;outline-offset:-3px}
.results-drawer.collapsed .drawer-border-resize{pointer-events:none}
.drawer-toolbar .drawer-border-resize{position:absolute;top:-10px;left:-14px;right:-14px;width:auto;height:17px;min-height:0;padding:0;border:0;border-radius:14px 14px 0 0;cursor:ns-resize;touch-action:none;z-index:12}
.drawer-toolbar .drawer-border-resize:hover,.results-drawer.is-resizing .drawer-border-resize{border-top:4px solid #fa795a;background:#fa795a12}
.results-drawer.collapsed .drawer-toolbar .drawer-border-resize{pointer-events:none}
.drawer-toolbar{overflow:visible}
.drawer-contents{overflow:auto;border-radius:0}
.premium-benefits{margin:12px 0 18px;padding-left:20px;font-size:13px;line-height:1.65;color:#41546b}
.premium-benefits li{margin:6px 0}
.overview-filterbar{display:flex;align-items:center;gap:10px;margin:0 0 14px;flex-wrap:wrap}
.overview-filterbar input{flex:1;min-width:220px;height:42px;padding:10px 13px;border:1px solid #c7d5e3;border-radius:9px;color:#182c41;background:#fff}
.overview-filterbar .overview-filter-hint{color:#698097;font-size:12px}
.overview-table .overview-check{height:17px;width:17px;accent-color:#1a496e;cursor:pointer;vertical-align:middle;margin:0 10px 0 0}
.overview-project-title{display:flex;align-items:center;gap:5px;font-weight:800}
.overview-kebab{position:relative;text-align:right}
.overview-kebab-btn{background:transparent;border:1px solid #d9e3ed;border-radius:7px;width:32px;height:32px;font-size:22px;line-height:1;color:#3e5368}
.overview-kebab-btn:hover,.overview-kebab-btn[aria-expanded="true"]{background:#edf3f8}
.overview-kebab-menu{position:absolute;right:4px;top:37px;z-index:15;min-width:160px;border:1px solid #d5e0eb;border-radius:10px;padding:5px;background:#fff;box-shadow:0 8px 25px #12283d32;text-align:left}
.overview-kebab-menu button{display:block;width:100%;text-align:left;background:transparent;color:#1e354c;padding:9px 11px;border-radius:6px;font-size:12px}
.overview-kebab-menu button:hover{background:#eef4fa}
.overview-kebab-menu button.danger{color:#aa3434}
.overview-table-scroll{overflow:auto;min-height:200px}
.overview-table td:last-child{min-width:105px}


/* V23.3: visible centered primary actions, expandable overview triangles */
header{position:relative;display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);align-items:center;gap:12px}
header>.brand{grid-column:1;justify-self:start}
.header-main-actions{grid-column:2;display:flex;justify-content:center;align-items:center;gap:10px;white-space:nowrap}
header>.h-right{grid-column:3;justify-self:end;justify-content:flex-end}
.header-main-actions .primary,.header-main-actions .header-action-offer{font-size:14px;padding:11px 16px}
.request-card-shell{position:relative;margin-top:9px}
.request-card-shell>.request{margin-top:0;padding-bottom:57px;min-height:130px}
.request-card-shell>.request .reqtop{gap:10px}
.request-offer-action,.request-own-offer-action{position:absolute;right:11px;bottom:11px;border:1.5px solid #e96b43;background:#fff9f6;color:#df623d;font-size:12px;font-weight:800;border-radius:8px;padding:8px 11px;max-width:calc(100% - 22px);box-shadow:none;z-index:1}
.request-offer-action:hover,.request-own-offer-action:hover{background:#fff0e8;border-color:#d75129;color:#c34d2e}
.request-own-offer-action{border-color:#e2ac91;background:#fff5ed;color:#af5d3c}
.request-own-offer-action:focus-visible,.request-offer-action:focus-visible{outline:3px solid #ed926d;outline-offset:2px}
.overview-triangle{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border:1px solid transparent;border-radius:6px;background:transparent;color:#28506f;margin-right:5px;cursor:pointer;flex:none}
.overview-triangle:hover{background:#e4edf5;border-color:#cfdde9}
.overview-triangle span{display:inline-block;font-size:12px;transition:transform .12s ease}
.overview-triangle.expanded span{transform:rotate(90deg)}
.overview-expand-all{padding:10px 13px;white-space:nowrap}
@media(max-width:930px){header{grid-template-columns:auto 1fr;gap:8px 10px}.header-main-actions{grid-column:2;grid-row:1;justify-content:flex-end}header>.h-right{grid-column:1/-1;grid-row:2;justify-self:end}.header-main-actions .primary,.header-main-actions .header-action-offer{padding:9px 12px}}
@media(max-width:530px){header{grid-template-columns:1fr;gap:9px}header>.brand{grid-column:1;grid-row:1}.header-main-actions{grid-column:1;grid-row:2;justify-content:center;width:100%}.header-main-actions button{flex:1}header>.h-right{grid-column:1;grid-row:3;width:100%;justify-self:center;justify-content:center}.overview-filterbar input{min-width:150px}}


 .settings-plan-row{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px 0;border-bottom:1px solid #dbe5ed}.settings-plan-row .small{grid-column:1/-1}
/* V23.6: Angebotsaktion unter dem Budget, dunklere Pins ohne Datum */
.request-card-shell>.request{padding-bottom:16px;min-height:136px;padding-right:12px}
.request-card-shell>.request .reqtop{align-items:flex-start}
.request-card-shell>.request .reqtop .budget{display:block;text-align:right}
.request-card-shell .request-offer-action,.request-card-shell .request-own-offer-action{right:11px;top:44px;bottom:auto}
.request-card-shell:has(>.request-offer-action)>.request .small,.request-card-shell:has(>.request-own-offer-action)>.request .small{padding-right:min(190px,44%)}
@media(max-width:480px){.request-card-shell:has(>.request-offer-action)>.request .small,.request-card-shell:has(>.request-own-offer-action)>.request .small{padding-right:0}.request-card-shell>.request{min-height:150px;padding-bottom:51px}.request-card-shell .request-offer-action,.request-card-shell .request-own-offer-action{top:auto;bottom:10px}}

/* V23.6 Sichtbarkeit pro Arbeitspaket */
.request-visibility{background:#f5f8fc;border:1px solid #d4e0eb;border-radius:10px;margin:13px 0 10px;padding:12px}
.request-visibility-title{font-weight:800;font-size:13px;margin-bottom:8px;color:#213e57}
.visibility-toggle{display:inline-flex;align-items:center;gap:9px;font-weight:750;color:#233e57;cursor:pointer}
.visibility-toggle input{accent-color:#d3744c;transform:scale(1.12)}
.invite-email-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#4e6070;margin-top:9px}
.invite-email-label input{width:100%;padding:10px 12px;border:1px solid #cbd8e4;border-radius:8px;background:#fff}
.visibility-filter{width:100%;padding:10px 12px;border:1px solid #cad6e2;border-radius:9px;background:white;color:#183248}
.visibility-badge{font-size:10px;white-space:nowrap;font-weight:750;background:#e9f0f6;border-radius:5px;padding:2px 5px;color:#4c657b}
.visibility-badge.is-private{background:#fff1e3;color:#995b28}

/* V23.7: Sichtbarkeit direkt in „Meine Anfragen“, Premium-Namensschutz und Anfragefotos */
.urgent-filter-row,.gu-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1.5px solid #d6a65b;border-radius:12px;background:#fff7e9;box-shadow:0 1px 3px #98721e12;min-height:68px}
.urgent-filter-row label,.gu-filter-row label{display:flex;align-items:center;gap:9px;color:#62431f;font-weight:750;font-size:13px;cursor:pointer}
.urgent-filter-row input,.gu-filter-row input{width:16px;height:16px;accent-color:#d87935;cursor:pointer}
.urgent-filter-row:has(input:disabled),.gu-filter-row:has(input:disabled){border-color:#d8c6a2;background:#fffaf0}
.urgent-filter-row input:disabled,.gu-filter-row input:disabled{cursor:not-allowed}
.urgent-hint,.gu-lock-wrap{justify-self:end;text-align:right;font-size:11px;font-weight:700;color:#8a6531;line-height:1.35}
.urgent-hint{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.gu-unlock{border:1px solid #d8af57;background:#ffedb3;color:#755010;border-radius:8px;padding:8px 10px;font-weight:800;min-width:132px;justify-self:end}
.request-card-shell{display:flex;flex-direction:column;gap:8px;margin-top:9px}
.request-card-shell>.request{margin-top:0;padding:12px;min-height:0;padding-right:12px}
.request-card-shell>.request .reqtop{align-items:flex-start}
.request-card-shell>.request .reqtop .budget{display:block;text-align:right}
.request-card-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.request-card-actions .spacer{flex:1 1 auto}
.request-offer-action,.request-own-offer-action{position:static;right:auto;top:auto;bottom:auto;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #e96b43;background:#fff9f6;color:#df623d;font-size:12px;font-weight:800;border-radius:8px;padding:8px 11px;max-width:100%;box-shadow:none;z-index:1}
.request-offer-action:hover,.request-own-offer-action:hover{background:#fff0e8;border-color:#d75129;color:#c34d2e}
.request-own-offer-action{border-color:#e2ac91;background:#fff5ed;color:#af5d3c}
.request-quick-visibility{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d4e0eb;background:#f6f9fc;color:#23435d;border-radius:8px;padding:8px 11px;font-size:12px;font-weight:800}
.request-quick-visibility.is-private{border-color:#e1bc92;background:#fff4e8;color:#8c5622}
.request-quick-visibility:hover{background:#edf4fa}
.project-name-lock{display:inline-flex;align-items:center;gap:6px;border:1px solid #ead8b4;background:#fff8e9;color:#8a6531;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700;margin-top:6px}
.request-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:10px}
.request-photo-item{border:1px solid #dbe4ed;border-radius:12px;background:#fff;padding:9px}
.request-photo-item img{display:block;width:100%;height:140px;object-fit:cover;border-radius:9px;background:#eef3f8}
.request-photo-item figcaption{font-size:12px;color:#576b80;line-height:1.45;margin-top:8px}
.admin-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-photo-list{display:grid;gap:10px}
.admin-photo-row{display:grid;grid-template-columns:84px 1fr auto;gap:12px;align-items:center;border:1px solid #d7e1eb;border-radius:10px;background:#fff;padding:10px}
.admin-photo-row img{width:84px;height:64px;object-fit:cover;border-radius:8px;background:#eef3f8}
.admin-photo-row .small{margin-top:4px}
.photo-remove-btn{border:1px solid #e2c1ba;background:#fff5f2;color:#a34a3a;border-radius:8px;padding:8px 10px;font-weight:700}
@media(max-width:620px){.urgent-filter-row,.gu-filter-row{grid-template-columns:1fr}.urgent-hint,.gu-lock-wrap,.gu-unlock{justify-self:start;text-align:left}.admin-settings-grid{grid-template-columns:1fr}.admin-photo-row{grid-template-columns:1fr}.admin-photo-row img{width:100%;height:180px}}

/* V23.8 Fotoverwaltung: Auftraggeber + globaler Admin-Funktionsschalter */
.request-card-actions{justify-content:flex-end}
.request-card-actions [data-toggle-visibility]{margin-right:auto}
@media(max-width:500px){.request-card-actions [data-toggle-visibility]{margin-right:0}}

/* V23.9: responsive off-canvas right navigation */
.mobile-sidebar-toggle,.mobile-sidebar-close,.mobile-sidebar-backdrop{display:none}
.mobile-sidebar-toggle{height:40px;width:43px;min-width:43px;border-radius:9px;border:1px solid #526980;background:#203a54;color:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:9px}
.mobile-sidebar-toggle span{width:21px;height:2px;border-radius:3px;background:#fff;display:block}
.mobile-sidebar-close{background:#f0f5fa;border:1px solid #dce4ed;border-radius:8px;width:36px;height:36px;font-size:18px;color:#213c54;position:absolute;right:12px;top:12px;z-index:3}
@media(max-width:900px){
 .mobile-sidebar-toggle:not(.hide){display:flex;order:-1}
 .app{display:block!important;height:calc(100dvh - 67px);min-height:0;position:relative}
 .app.hide{display:none!important}
 .app>main{position:relative;display:block;min-height:0;height:100%;width:100%}
 .app>aside{display:flex;position:fixed;top:0;bottom:0;right:0;width:min(370px,88vw);height:100dvh;min-height:0;max-height:100dvh;z-index:1900;overflow:auto;background:#fff;box-shadow:-18px 0 45px #0d243748;border-left:1px solid #cbd8e4;border-top:0;transform:translateX(103%);transition:transform .23s ease;visibility:hidden;pointer-events:none;padding-top:47px}
 body.mobile-sidebar-open .app>aside{transform:translateX(0);visibility:visible;pointer-events:auto}
 .app .mobile-sidebar-close{display:block}
 .mobile-sidebar-backdrop{display:none;position:fixed;inset:0;z-index:1880;background:#071e33a0}
 body.mobile-sidebar-open .mobile-sidebar-backdrop{display:block}
 body.mobile-sidebar-open{overflow:hidden}
 .app aside #filterArea{overflow-y:visible}
 .app>main .quick-search{width:min(760px,calc(100% - 22px))}
}
@media(max-width:530px){
 .app>main{height:calc(100dvh - 135px);min-height:400px}
 .header-main-actions{gap:7px}
 header>.h-right{justify-content:flex-end}
 .mobile-sidebar-toggle:not(.hide){order:0;margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.app>aside{transition:none!important}}
/* GUI GU premium gate explanation */
label:has(>#createGuEnabled:disabled),label:has(>#editGuEnabled:disabled){color:#7a8897;cursor:not-allowed}

/* V24: Optionen direkt nach Leistungsbeschreibung, dezentes Premium-Pokalsymbol */
.leistung-options{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin:4px 0 15px;padding:2px 0 5px}
.leistung-options label{display:inline-flex;align-items:center;gap:7px;color:#344e65;font-size:12px;font-weight:650;cursor:pointer}
.leistung-options input[type="checkbox"]{margin:0;accent-color:#d3744c}
.gu-premium-trophy{display:inline-flex;vertical-align:middle;margin-left:5px;font-size:17px;line-height:1;filter:sepia(.12) saturate(1.3)}

.request-premium-card,.premium-option-card{background:#fff7e9;border:1.5px solid #e29a3b;border-radius:14px;padding:14px 14px 12px;box-shadow:0 1px 3px rgba(226,154,59,.08)}
.request-premium-card .request-visibility-title,.premium-option-card h3{color:#8a5418}
.request-premium-card .small,.premium-option-card .small{color:#8a6531}
.premium-inline-badge{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:#b36b00}
.premium-inline-badge .trophy{font-size:15px}
.visibility-toggle.is-disabled{opacity:.72;cursor:not-allowed}
.visibility-toggle.is-disabled input{cursor:not-allowed}

/* Anfragefotos direkt im Projekt-Bearbeitungsformular */
.edit-photo-panel{background:#f4f8fb;border:1px solid #d7e4ee;border-radius:11px;padding:13px;margin-top:13px}
.edit-photo-panel h4{margin:0 0 7px;font-size:13px;color:#264a69}
.edit-photo-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;margin:10px 0}
.edit-photo-controls input{width:100%;min-width:0;padding:10px;border:1px solid #cad9e6;border-radius:8px}
.edit-photo-controls button{white-space:nowrap}
.edit-photo-list{display:grid;gap:8px}
.edit-photo-item{display:flex;align-items:center;gap:10px;border:1px solid #dfebf3;border-radius:9px;background:#fff;padding:8px}
.edit-photo-item img{width:76px;height:60px;object-fit:cover;border-radius:7px;background:#f0f2f4}
.edit-photo-item span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px}
.photo-unavailable{margin:12px 0 0}
@media(max-width:680px){.edit-photo-controls{grid-template-columns:1fr}.edit-photo-controls button{justify-self:start}}

/* Modular Invitations V24.5 */
.partner-invite-list{display:grid;gap:9px;margin-top:12px}
.partner-invite-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid #dbe3eb;border-radius:10px;background:#fff}
.partner-invite-item strong{font-size:13px;overflow-wrap:anywhere}
.invite-edit-panel{background:#fff7e9;border:1.5px solid #e29a3b;border-radius:12px}
.invite-edit-panel h4{margin:0 0 8px;color:#87500f}

/* V24.6: sichere Test-Premium-Schalter in Einstellungen */
.premium-test-settings{border:1.5px solid #e1b35d;background:#fff9e9}
.premium-test-settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e8dbc2}
.premium-test-settings-row>div{flex:1;min-width:0}
.premium-test-settings-row strong{color:#4e371b}
.premium-test-settings-row .small{margin-top:4px}
.premium-test-switch{position:relative;display:inline-flex;width:46px;height:26px;flex:none;cursor:pointer}
.premium-test-switch input{opacity:0;position:absolute;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.premium-test-slider{position:absolute;inset:0;border-radius:20px;background:#a8b1bc;transition:background .15s ease}
.premium-test-slider:before{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #0003;transition:transform .15s ease}
.premium-test-switch input:checked+.premium-test-slider{background:#dc8c29}
.premium-test-switch input:checked+.premium-test-slider:before{transform:translateX(20px)}
.premium-test-switch input:focus-visible+.premium-test-slider{outline:3px solid #3876ae;outline-offset:3px}
.premium-test-switch input:disabled+.premium-test-slider{opacity:.55}

/* V24.7: privates Netzwerk in Einstellungen */
.private-network-settings{background:#fff8ed;border:1px solid #e3b26d}
.private-network-settings h3{color:#744714}
.private-network-link{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:5px 0;color:#b65a19;font-weight:800;font-size:14px;text-align:left;text-decoration:underline;text-underline-offset:3px}
.private-network-link:hover{color:#8f4211}
.private-network-link:focus-visible{outline:3px solid #e7a35b;outline-offset:3px;border-radius:4px}

/* V24.8 – Mein Netzwerk central sidebar and invitation management */
#navMeinNetzwerkGroup{margin-top:12px}
#navMeinNetzwerkGroup .nav-heading{pointer-events:none;user-select:none}
.network-send-card{border:1.5px solid #e3a05e;background:#fff8ec}
.network-invite-fields{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.network-invite-fields .field{flex:1;min-width:230px;margin:0}
.network-invite-fields button{flex:none;margin-bottom:0;white-space:nowrap}
.network-table-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.network-table-scroll{overflow:auto;max-height:52vh}
.network-table{width:100%;border-collapse:collapse;font-size:13px;min-width:530px}
.network-table th{text-align:left;padding:11px 12px;background:#e9f0f6;color:#29465b;border-bottom:1px solid #cfdeea;white-space:nowrap}
.network-table td{padding:11px 12px;border-bottom:1px solid #e3e9ef;vertical-align:middle}
.network-status{display:inline-block;padding:5px 9px;border-radius:99px;font-weight:800;font-size:11px;white-space:nowrap;background:#edf2f7;color:#3d5a70}
.network-status-accepted{background:#e6f7ef;color:#1c7046}
.network-status-pending{background:#fff1d7;color:#8d5a16}
.network-status-revoked,.network-status-expired{background:#eff1f4;color:#737c85}
.network-status-error{background:#ffeeeb;color:#a44635}
.network-revoke{padding:7px 10px;border-radius:8px;border:1px solid #ebc5b9;background:#fff6f3;color:#aa4c37;font-size:12px;font-weight:750}
.network-revoke:hover{background:#ffece6}
